Mundarija:

Infinity Clock - Arduino - WS2813 va DS3231: 5 qadam (rasmlar bilan)
Infinity Clock - Arduino - WS2813 va DS3231: 5 qadam (rasmlar bilan)

Video: Infinity Clock - Arduino - WS2813 va DS3231: 5 qadam (rasmlar bilan)

Video: Infinity Clock - Arduino - WS2813 va DS3231: 5 qadam (rasmlar bilan)
Video: Making the best Arduino Clock for beginners 2024, Noyabr
Anonim
Image
Image
Infinity Clock - Arduino - WS2813 va DS3231
Infinity Clock - Arduino - WS2813 va DS3231

Infinity Clock - Arduino - WS2813 va DS3231

Men soat qurmoqchi edim va Arduino bilan cheksiz soat yasashda o'zimni sinab ko'rish g'oyasi yoqdi. Men uni umumiy elementlardan qurishni va dasturni o'zim yozishni xohlardim.

Infinity soati nima?

3D illyuziya oynasi effekti yorug'lik nurini oldinga va orqaga cheksiz (nazariy cheksiz) marta takrorlaydigan ikkita parallel aks etuvchi yuzasi bo'lganda paydo bo'ladi. Ko'zgular uzoqqa chekinayotganga o'xshaydi, chunki yorug'lik aslida masofani bosib o'tadi. Rangli LEDlarni Infinity oynasiga qo'shib, biz analog soatni taqlid qilib, chap qo'llar kabi rangli chiroq yordamida taqlid qilishga harakat qilamiz.

Men sizga "Infinity Clock" ni yaratish bo'yicha bosqichma -bosqich ko'rsatma beraman va keyin dasturning sozlanishi parametrlarini ko'rib chiqaman.

1 -qadam: Ushbu loyiha uchun zarur bo'lgan qismlar

Ushbu loyiha uchun zarur bo'lgan qismlar
Ushbu loyiha uchun zarur bo'lgan qismlar

Qismlar ro'yxati:

  1. Taydaelektronikada Arduino Uno 6 dollar
  2. Arduino uno uchun protoshild. Siz Amazon -da 2,50 ga sotib olishingiz mumkin.
  3. Batareya DS3231 plus. bu erda Amazonda taxminan 3.00 ga sotib olishingiz mumkin.
  4. 1 metr uchun WS2813 LED 144. Bu erda Amazonda 20 dollar.
  5. Taydaelektronikada 470 OHM 1 Vt uglerod plyonkali rezistor.
  6. 1000uf 16V elektrolitik kondansatkich Taydaelektronikada 9 sent
  7. 5V quvvat manbai- Men eski BlackBerry zaryadlovchisini ishlatardim.
  8. 6 dumaloq oyna. Amazonda 5 dollar atrofida
  9. Amazonda 10 atrofida 6in akril disk
  10. Amazonda 2-6 dyuymli yog'och kashtado'zlik (to'g'ri) har biri 2 dollar
  11. Kumush bir tomonlama oynali plyonka. Ebay eng arzonga o'xshaydi.
  12. Turli xil simlar.
  13. 3/8 dyuymli yog'och kvadrat dübel HomeDepot $ 1,27
  14. eski yog'och soat bazasi yoki boshqa stend.
  15. 2 ta kichik fermuar bog'ichlari.

Prototip qalqoni shart emas, lekin agar siz Arduino -dan foydalanishni yoqtirsangiz, bu loyihalarni qurishda juda qulay bo'ladi. Agar kerak bo'lsa, prototip qalqonini non paneli bilan almashtiring.

Sizga lehimlantiruvchi temir ham kerak bo'lishi mumkin.

Men loyihaning narxi 40,00 dollarga tushishini kutardim

2 -qadam: shaxsiy kompyuterni sozlash

Kompyuteringizni sozlash
Kompyuteringizni sozlash
Kompyuteringizni sozlash
Kompyuteringizni sozlash
Kompyuteringizni sozlash
Kompyuteringizni sozlash

Agar bu sizning birinchi arduino loyihangiz bo'lsa:

  1. Arduino dasturini arduino.cc saytidan yuklab oling
  2. USB kabel orqali Arduino -ni kompyuterga ulang.
  3. Dasturiy ta'minotni ishga tushirgandan so'ng siz uchta kutubxonani o'rnatishingiz kerak bo'ladi:

    • "Eskiz" menyusini bosing, so'ng "Kutubxonalarni qo'shish" ni, so'ng "Kutubxonalarni boshqarish …" ni bosing.
    • Ikkita kutubxonani o'rnating: FastLED va RTClib. Batafsil ma'lumot uchun rasmlarga qarang.
  4. Gitubimdan Arduino sketchini oling

    • Men kodni oxirida ko'rib chiqaman, shuning uchun uni kerak bo'lganda o'zgartirishingiz mumkin.
    • Bu vaqtda Infinity_Clock_DS3231_WS2813.ino dasturini yuklang
  5. Arduino -ni yuklash uchun Sketch va Yuklash -ga o'ting.
  6. Ko'rsatmalarning oxirgi qismi sozlanishi ba'zi parametrlarni o'z ichiga oladi.

Eskizni hoziroq yuklash yaxshidir, chunki tashqi quvvat qo'shilgandan so'ng uni kompyuteringizga ulamaslik kerak.

3 -qadam: Loyihani sim bilan ulash

Loyihani sim bilan ulash
Loyihani sim bilan ulash
Loyihani sim bilan ulash
Loyihani sim bilan ulash

Agar siz ProtoType Shield -dan foydalanayotgan bo'lsangiz, uni Arduino -ga qo'ying.

Kabel liniyasi loyihaning eng murakkab qismidir. Men nima qilganimni ko'rishingiz uchun rasmlar qo'shdim. Men yoqishdan oldin barcha ulanishlarni ikki marta tekshirishni maslahat beraman.

DS3231 - Haqiqiy vaqtda soat moduli

DS3231 modulini taxtaga joylashtiring va rasmdagi kabi ulang.

  • Arduino Ground - GND
  • Arduino 5V - VCC
  • Arduino A4 dan SDAgacha
  • Arduino A5 - SCL

Rasmda men 5v va Ground -ni non panelida ishlashga ulayman, chunki keyinchalik biz tashqi quvvatni ulashni xohlaymiz.

WS2813 LED tasmasini ulang

  • arduino 5V sizning 5V kuchingizga.
  • O'rta ikkita ulagich - bu ortiqcha ma'lumot pinlari. ular 7 -pinga o'tadilar

    Pin7 va ikkita ma'lumot uzatgichi orasiga 470 OHM rezistorni qo'yganingizga ishonch hosil qiling

  • Arduino Ground oxirgi ulagichgacha.

Tashqi 5V quvvat manbaini ulang (LED chizig'ini arduino quvvatidan uzoq vaqt ishlatish tavsiya etilmaydi).

  • Qo'rg'oshinlar orasiga 1000uf elektrolitik kondansatör qo'ying.
  • Quvvat va erni Arduino Power (5V) va Ground (GND) ga ulang.

Men tashqi quvvat va USB -ni Arduino -ga bir vaqtning o'zida ulashni tavsiya etmayman.

4 -qadam: Cheksizlik oynasini yarating

Cheksizlik oynasini yarating
Cheksizlik oynasini yarating

Infinity oynasini yaratish bosqichlari:

  1. Filmni akril lakka qo'llang. Bu sizning bir tomonlama oynangiz bo'ladi.
  2. Akril diskni kashta tikish halqasiga joylashtiring. Qoplamaslik uchun vintni torting
  3. Ko'zguni boshqa Embroiery halqasiga joylashtiring. Vintni pastga torting.
  4. Kvadrat dübelni kichik bo'laklarga bo'ling. taxminan 1/2"
  5. LED chizig'ini aylana ichkarisiga yo'naltirgan holda, chiziqni aylantiring.

    1. Qo'rg'oshinni ushlab turish uchun fermuar bog'ichlaridan foydalaning.
    2. Fermuar taqish joyini kesishingiz kerak bo'lishi mumkin.
  6. Ignani oynaga qo'ying

    1. Yog'och bloklardan ajratgich sifatida foydalaning
    2. Bloklarni joyiga yopishtiring. Ular etakchini joyida ushlab turadigan darajada ishonchli bo'lishi kerak.
  7. Akril oynani oynaning ustiga qo'ying/LED va joyiga yopishtiring.

5 -qadam: Kod

Kodeks
Kodeks
Kodeks
Kodeks

Dastur Real Time Clock kutubxonasi va Fastled kutubxonasidan foydalanadi.

Xulq -atvorni sozlash uchun ba'zi kod parchalari.

  • OFFSET - bu bir -birining ustiga chiqish. Dastur bir -biriga mos kelishini LED0 dan kutadi. Menda 3 LEDli ofset bor.
  • CLOCKSTART - bu erda peshin soat ustida. LED 30 uni elektr aloqasidan farq qiladi.

Men HTML ranglarini ishlatish uchun dastur yozdim. Siz ularni https://htmlcolorcodes.com/ saytidan olishingiz mumkin, dasturdagi # raqamini 0x ga almashtiring.

Siz fonni ertalab/kechqurun o'zgartirishingiz mumkin

  • fon AM = 0x070707;
  • fonPM = 0x646D7E;

LED soat qo'llari:

  • hourHand = 0x000FFF;
  • minHand = 0x00CC00;
  • sekHand = 0xcc0000;

Buni ajratib ko'rsatish uchun men soat qo'li uchun 3 ta LEDga ega bo'lish variantini qo'shdim, lekin uni ajratib ko'rsatish uchun o'rtaning ikkala tomonidagi rangni o'zgartirishga ruxsat berdim.

  • teeledhour = rost; // siz buni rost yoki noto'g'ri qilishingiz mumkin
  • qo'shimchaHourHand = 0x00001F;

Yana bir yaxshi xususiyat shundaki, RTClib sizning DS3231 batareyangizni olib tashlanganligini aniqlaydi va kompyuterni kompilyatsiya qilish vaqtini belgilaydi. Bu yangi DS3231 uchun yaxshi xususiyat.

Agar siz hujjatning boshida eskizni olmagan bo'lsangiz, uni GitHub -da topishingiz mumkin

Ushbu ko'rsatmalarni o'qiganingiz uchun tashakkur. O'g'lim yordam berdi va bu biz uchun qiziqarli loyiha bo'ldi. Umid qilamanki, bizni optik tanlovda ko'rib chiqishadi.

Tavsiya: