Агуулгын хүснэгт:
- Алхам 1: Энэхүү төсөлд шаардлагатай эд ангиуд
- Алхам 2: Компьютерээ тохируулна уу
- Алхам 3: Төслийг холбох
- Алхам 4: Хязгааргүй толь бүтээх
- Алхам 5: Код
Видео: Хязгааргүй цаг - Arduino - WS2813 ба DS3231: 5 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Хязгааргүй цаг - Arduino - WS2813 ба DS3231
Би цаг бүтээхийг хүсч байсан бөгөөд Arduino -той хязгааргүй цаг хийх талаар гараа туршиж үзэх санаа надад таалагдсан. Би үүнийг нийтлэг зүйлүүдээс бүтээж, програмыг өөрөө бичихийг хүссэн юм.
Хязгааргүй цаг гэж юу вэ?
3D төсөөллийн толин тусгал эффект нь гэрлийн цацрагийг тодорхойгүй (онолын хувьд хязгааргүй) удаа урагш хойш харуулах хоёр зэрэгцээ цацруулагч гадаргуутай байх үед гарч ирдэг. Гэрэл үнэхээр зайг туулж байгаа тул тусгал нь алс руу ухарч байгаа мэт харагдаж байна. Infinity толин тусгал дээр өнгөт LED нэмж оруулснаар бид аналог цагийг өнгөт гэрэл ашиглан цагийн гар шиг дуурайхыг хичээдэг.
Энэхүү зааварчилгаанд би танд Infinity цагийг бий болгох алхамуудыг зааж өгөх бөгөөд дараа нь програмын тохируулж болох зарим параметрүүдийг авч үзэх болно.
Алхам 1: Энэхүү төсөлд шаардлагатай эд ангиуд
Сэлбэгийн жагсаалт:
- Taydaelectronics дээр Arduino Uno 6 доллар
- Arduino uno -д зориулсан protoshield. Та эндээс Амазон дээрээс 2.50 -аар худалдаж авах боломжтой.
- DS3231 нэмэх батерей. Та эндээс Амазон дээрээс 3.00 орчим үнэтэй авах боломжтой.
- WS2813 LED 144 нь 1 метрийн зайтай. Энд Amazon дээр 20 доллар байна.
- Taydaelectronics дээр 470 OHM 1 W нүүрстөрөгчийн хальсны эсэргүүцэл.
- 1000uf 16V электролитийн конденсатор Taydaelectronics дээр 9 цент
- 5V цахилгаан хангамж- Би хуучин блэйкбер цэнэглэгч ашигласан.
- 6 инчийн дугуй толь. Амазон дээр ойролцоогоор 5 доллар
- 6in нийлэг диск Амазон дээр 10 орчим байдаг
- Амазон дээр 2 - 6 "модон хатгамал цагираг (тиймээ зөв) тус бүр 2 доллар
- Мөнгөн нэг талын толин тусгал хальс. Ebay хамгийн хямд байх шиг байна.
- Төрөл бүрийн утас.
- 3/8 "модон дөрвөлжин алчуур HomeDepot 1.27 доллар
- хуучин модон цагны суурь эсвэл бусад дэлгэцийн тавиур.
- 2 жижиг зип зангиа.
Бамбайны прототип шаардлагагүй, гэхдээ хэрэв та Arduino ашиглах дуртай бол эдгээр төслүүдийг бүтээхэд маш хялбар байх болно. Шаардлагатай бол прототипийн бамбайг талхны хавтангаар солино.
Мөн танд гагнуурын төмөр хэрэгтэй байж магадгүй юм.
Төслийн өртөг ойролцоогоор 40.00 доллар болно гэж би бодож байна
Алхам 2: Компьютерээ тохируулна уу
Хэрэв энэ бол таны анхны arduino төсөл бол:
- Arduino програмыг arduino.cc дээрээс татаж аваарай
- Arduino -г USB кабелиар компьютерт холбоно уу.
-
Програм хангамжийг эхлүүлсний дараа та гурван номын сан суулгах шаардлагатай болно.
- "Ноорог" цэс дээр дараад "Номын санг оруулах", "Номын санг удирдах …" дээр дарна уу.
- FastLED ба RTClib гэсэн хоёр номын санг суулгаарай. Илүү дэлгэрэнгүйг зургуудаас үзнэ үү.
-
Миний github -аас Arduino схемийг аваарай
- Би кодыг эцэст нь хянаж үзэх болно, ингэснээр та шаардлагатай бол өөрчлөх боломжтой болно.
- Энэ үед Infinity_Clock_DS3231_WS2813.ino програмыг ачаална уу
- Arduino -г ачаалахын тулд Sketch and Upload руу очно уу.
- Зааварчилгааны сүүлийн хэсэг нь тохируулж болох зарим параметрүүдийг хамарна.
Ноорогоо одоо байршуулах нь хамгийн сайн арга юм, учир нь гадны хүчийг нэмсэний дараа үүнийг компьютер дээрээ холбохгүй байх нь дээр.
Алхам 3: Төслийг холбох
Хэрэв та ProtoType Shield ашиглаж байгаа бол Arduino дээр тавь.
Цахилгааны утас нь төслийн хамгийн төвөгтэй хэсэг юм. Би юу хийснийг тань харахын тулд зургуудыг оруулсан. Би асаахаасаа өмнө бүх холболтыг дахин шалгаж үзэхийг зөвлөж байна.
DS3231 - Бодит цагийн цагийн модуль
DS3231 модулийг талхны самбар дээр байрлуулж, зураг дээрх шиг холбоно уу.
- Arduino Ground -аас GND хүртэл
- Arduino 5V -ээс VCC хүртэл
- Arduino A4 - SDA
- Arduino A5 - SCL
Зураг дээр би 5v ба Ground -ийг талхны самбар дээр ажиллуулахын тулд утастай холбож өгдөг, учир нь дараа нь бид гадны хүчийг холбохыг хүсэх болно.
WS2813 LED туузыг хавсаргана уу
- arduino 5V -ийг таны 5V хүчдэлд шилжүүлнэ.
-
Дунд хоёр холбогч нь илүүдэл өгөгдлийн зүү юм. тэд 7 -р зүү рүү очно
Pin7 ба хоёр өгөгдлийн дамжуулагчийн хооронд 470 OHM эсэргүүцэл тавихаа мартуузай
- Arduino Ground -ийг сүүлчийн холбогч хүртэл.
5V -ийн гадаад тэжээлийн эх үүсвэрийг холбох (LED зурвасыг arduino тэжээлээс удаан хугацаагаар ажиллуулахыг зөвлөдөггүй).
- Цахилгаан дамжуулагчийн хооронд 1000uf электролитийн конденсатор тавь.
- Цахилгаан ба газардуулгыг Arduino Power (5V) ба Ground (GND) -д холбоно уу.
Би гадаад хүч болон USB -ийг Arduino -т нэгэн зэрэг холбохыг зөвлөдөггүй.
Алхам 4: Хязгааргүй толь бүтээх
Хязгааргүй толь бүтээх алхамууд:
- Киног нийлэг хавтан дээр түрхээрэй. Ингэснээр таны нэг талын толь болно.
- Нийлэг дискийг хатгамалын цагираг дээр тавь. Боолтыг гулсуулахгүйн тулд чангална уу
- Толинг нөгөө хатгамалын цагираг руу хий. Боолтыг доошлуул.
- Дөрвөлжин алчуурыг жижиг хэсгүүдэд хуваана. ойролцоогоор 1/2"
-
LED зурвасыг тойрог дотор зааж чиглүүл.
- Цахилгаан утсыг бэхлэхийн тулд цахилгаан товчийг ашиглана уу.
- Та зип зангиа зүсэх хэрэгтэй байж магадгүй.
-
Гогцоог толин тусгал дээр тавь
- Модон блокуудыг тусгаарлагч болгон ашигла
- Блокуудыг байрлуул. Тэд удирдагчийг байрлуулахад хангалттай найдвартай байх ёстой.
- Нийлэг толин тусгалыг толин тусгал/LED дээр тавиад цавуугаар байрлуул.
Алхам 5: Код
Хөтөлбөр нь Real Time Clock номын сан болон Fastled номын санг ашигладаг.
Зан үйлийг тохируулах зарим кодын хэсгүүд энд байна.
- OFFSET - давхцал юм. Програм нь давхцал нь LED0 -тэй байна гэж тооцоолж байна. Надад 3 LED офсет байна.
- CLOCKSTART - энэ бол үд дунд байрлах цаг юм. LED 30 нь цахилгаан холболтын эсрэг байрлуулдаг.
Би HTML өнгийг ашиглах програмыг бичсэн. Та тэдгээрийг https://htmlcolorcodes.com/ дээрээс авах боломжтой. Хөтөлбөрт байгаа # -г 0хээр солиход л болно.
Та арын дэвсгэрийг оройн/оройн цагаар өөрчилж болно
- дэвсгэр AM = 0x070707;
- backgroundPM = 0x646D7E;
Цагийн LED гар:
- hourHand = 0x000FFF;
- minHand = 0x00CC00;
- secHand = 0xcc0000;
Үүнийг тодруулахын тулд би цагийн гараар 3 LED -тэй байх сонголтыг нэмж оруулсан боловч дунд талын хоёр талын өнгийг өөрчилж, тод харагдуулах болно.
- theeledhour = үнэн; // та үүнийг үнэн эсвэл худал болгож чадна
- extraHourHand = 0x00001F;
Өөр нэг онцлог шинж чанар бол RTClib нь таны DS3231 -ийн батерейг салгасан болохыг олж мэдэх бөгөөд компьютерийг хөрвүүлэх хугацааг тохируулах болно. Энэ нь шинэ DS3231 -ийн хувьд сайн шинж чанар юм.
Хэрэв та ноорогыг баримт бичгийн эхэнд аваагүй бол үүнийг GitHub дээрээс олж болно
Энэхүү зааврыг уншсанд баярлалаа. Хүү маань тусалсан бөгөөд энэ нь бидний хувьд хөгжилтэй төсөл байсан. Бид оптикийн тэмцээнд оролцоно гэж найдаж байна.
Зөвлөмж болгож буй:
Цаг хэмжих (соронзон хальсны цаг): 5 алхам (зурагтай)
Цаг хэмжих (соронзон хальсны хэмжих цаг): Энэхүү төслийн хувьд бид (Алекс Фиел & Анна Линтон) өдөр тутмын хэмжих хэрэгслийг аваад цаг болгон хувиргасан. Анхны төлөвлөгөө нь одоо байгаа соронзон хальсны хэмжүүрийг моторжуулах явдал байв. Үүнийг хийхдээ бид өөрсдийнхөө бүрхүүлийг бүтээхэд илүү хялбар байх болно гэж шийдсэн
Хязгааргүй толь цаг хийх: 15 алхам (зурагтай)
Хязгааргүй толь цаг хийх: Өмнөх төсөл дээр би эцэс төгсгөлгүй толь бүтээсэн бөгөөд түүний эцсийн зорилго бол цаг болгох явдал байв. (Өнгөлөг хязгааргүй толь хий) Би үүнийг хийснийхээ дараа үүнийг хөөцөлдөөгүй, учир нь энэ нь дажгүй харагдаж байсан ч хэд хэдэн зүйл байсан
Ухаалаг гар утасны хяналттай хязгааргүй цаг: 5 алхам (зурагтай)
Ухаалаг гар утасны хяналттай хязгааргүй цаг: Би Infinite Mirrors болон Infinity Clock -ийн олон төслүүдийг Instructables дээр үзсэн тул өөрийн болгохоор шийдлээ. Энэ нь бусад зүйлээс огт өөр зүйл биш байж магадгүй … гэхдээ би өөрөө үүнийг хийсэн, тийм л байна! Хэрэв та үүнийг мэдэхгүй бол: хязгааргүй гэж юу вэ?
3D хэвлэсэн хязгааргүй цаг: 3 алхам (зурагтай)
3D хэвлэмэл хязгааргүй цаг: Тиймээс энэ цагийн гол санаа бол хязгааргүй байдлын бэлгэдэл хэлбэртэй болгохын тулд хэлбэрийн нэг талд цагийн зүү, нөгөө талд нь минутыг харуулах болно. дизайн эсвэл сагамхайны хувьд
Өөрийн BT програмтай RGB хязгааргүй цаг: 15 алхам (зурагтай)
Өөрийн BT програмтай RGB хязгааргүй цаг: Энгийн дижитал ба аналог цаг нь уйтгартай байдаг тул Dial, Hour hand, Minute hand, Second hand зэрэгт тохируулсан өнгө бүхий сэрүүн цаг бүтээхээр төлөвлөж байна. Үүнийг хийхийн тулд эхлээд Addressable RGB LED зурвас ашиглан цагийг хөгжүүлэхийг хүсч байна. Дараа нь А -тай холбоо тогтоохын тулд