So'z soati: 11 qadam (rasmlar bilan)
So'z soati: 11 qadam (rasmlar bilan)
Anonim

Bir necha yil oldin, men mavjud bo'lgan Instructables -dan ilhomlanib, birinchi Word Clock -ni yaratishni boshladim, endi men har safar takomillashtirishga harakat qiladigan sakkizta Word soatini yaratdim, menimcha, o'z tajribam bilan bo'lishish vaqti keldi!

Mening tajribamning afzalligi shundaki, mening Word Clock -ning so'nggi versiyasi juda oddiy: agar sizda barcha komponentlar bo'lsa, uni bir kunda qurishingiz kerak.

Birinchidan, Soat Soatining ichki qismi

Hozirgi versiyamda RGB svetodiodli tasma ishlatiladi: bu har bir "lampochka" qizil, yashil va ko'k chiroqdan tashkil topgan. Uch rangni birlashtirib, (deyarli) har qanday rangni yaratish mumkin. RGB LED tasmasi bitta kirish bilan boshqariladi (men uchun hali ham sehrli). Shunday qilib, bitta simni ulash orqali siz chiziqdagi barcha LEDlarni boshqarishingiz mumkin!

So'z soati oldidagi har bir harfning orqasida (iltimos, keyinroq qarang) RGB chizig'ining bitta chizig'ini yashiradi. Shunday qilib, bitta chiroq yoqilganda, bitta harf yonishi kerak. Buni amalga oshirish uchun men yog'och taxta panjarasini kesish uchun lazer kesgichdan foydalandim. Boshqa yo'riqnomalarda, bu panjara ko'pikli chiziqlar yordamida birlashtirilgan. Men ham buni sinab ko'rdim, lekin bu men uchun ishlamadi. Ammo, birinchi versiyamda, men yopishtirgan ingichka yog'och chiziqlardan panjara yasadim. Bu juda yaxshi ishlaydi, lekin uni qurish uchun ko'p vaqt kerak bo'ladi!

So'z soatining miyasi - Arduino Nano. Bu kichkina kompyuter RGB chizig'ini boshqarishga qodir. Internetda siz chalkashtirib yuboradigan juda ko'p dasturlarni topishingiz mumkin, bu juda qiziqarli!

Lehimlashning oldini olish uchun (bu vaqt talab etadi va juda hunarmandchilik), men Arduino Nano uchun terminal adapteridan foydalanaman. Terminal adapterining barcha ishi - bu simlarni Arduino -ga vintlar yordamida ulash imkonini beradi.

Albatta, har qanday soatning maqsadi chiroyli bo'lishdan tashqari, vaqtni ko'rsatishdir. Mening so'z soatlarimda Real Time Clock moduli (RTC) vaqtni kuzatib boradi. Ushbu modulning g'oyasi shundaki, siz to'g'ri vaqtni belgilaganingizdan so'ng, u (batareyasi tugagunga qadar) yonib turadi. Men DS3231 RTC bilan ishlayman, bu juda arzon va Internetda juda ko'p yordam mavjud.

Endi Soat Soatining ichki qismi aniq, biz tashqariga o'tamiz

Tajribamdan bilamanki, loyihangizni qulay bazadan boshlash muhim. Shuning uchun men deyarli barcha so'z soatlarimni IKEA -ning RIBBA ramkasi yordamida quraman. Buning afzalligi shundaki, siz barcha burchaklari 90 graduslik, tashqi qismi esa uzluksiz bo'lgan ramkadan boshlaysiz, agar xohlasangiz, o'z ramkangizni qurishingiz mumkin, lekin men RIBBA ramkasiga yopishib olaman.

So'z soatining yuzi yorug'lik vaqtni ko'rsatadigan harflar bilan belgilanadi. Men bu yuzni yaratishning ikkita usulini topdim:

  1. Shaffof folga chop etish. Harflarning salbiyini folga chop etishingiz mumkin. Qora siyoh yorug'likdan kelib chiqadi. Ushbu variantning kamchiliklari shundaki, siyoh shaffof bo'lmasligi uchun etarlicha zich bo'lishi kerak. Mumkin bo'lgan yechim - yuzni ikki marta chop etish va ularni bir -birining ustiga yopishtirish.
  2. Qog'ozni lazer bilan kesish. Agar siz lazerli kesgichdan foydalana olsangiz, qog'ozdan harflarni kesib tashlashingiz mumkin. Agar qog'oz etarlicha qalin bo'lsa, yorug'lik o'tmaydi. Biroq, siz "stencil" shriftidan foydalanishingiz kerak. Bunday shriftlar yaqin doiralarga ega emas. Masalan, "o" faqat qog'ozdagi teshik emas, balki aslida "o" bo'ladi.

Word Clock nima qiladi?

Albatta, Word Clock sizga vaqtni aytib berishi kerak. Bundan tashqari, biz RGB LED chizig'idan foydalanayotganimiz uchun, siz xohlagan har qanday rangdagi har qanday harfni yoqishingiz mumkin! Siz Arduino Nano -ni dasturlash orqali individual RGB chiroqlarining rangini belgilashingiz mumkin. Agar siz LEDlarning ranglarini real vaqtda o'zgartira olmoqchi bo'lsangiz, buni siz uchun bajaradigan tugmani qo'shishingiz mumkin. Ammo, hozircha men buni soddalashtirmoqchi bo'lganim uchun, bu ko'rsatmaga kiritilmagan.

Yaqinda men ranglar va vaqtni sozlash uchun Bluetooth -dan foydalanadigan Word Soatini ishlab chiqdim. Vaqt topsam, bu haqda yangilik yuboraman!

1 -qadam: Materiallar va uskunalarni yig'ish

Kerakli materiallar:

- RGB bilan boshqariladigan chiziq, 5 voltli, har bir metr uchun 60 lampali, alohida-alohida. Sizga 3 metrga yaqin lenta kerak bo'ladi. Masalan, bu shunday bo'ladi: RGB LED tasmasi. "IP" suvga qarshilik darajasini bildiradi. Biz ishlatadigan komponentlarning hech biri suvga chidamli emas, ip30 versiyasi yaxshi. Narxi: har bir metr uchun 4 evro, shuning uchun 12 evro.

- Arduino Nano: Arduino Nano. E'tibor bering, bu pinlar Arduino -ga lehimlangan Arduino -ga juda mos. Narxi: 3 evro.

- Arduino Nano uchun terminal adapteri. Terminal adapteridan foydalanish ko'p vaqtni tejaydi! Ular ancha arzon: Terminal adapteri Narxi: 1 evro.

- RTC DS3231: RTC DS3231. Siz boshqa RTC -dan foydalanishingiz mumkin, lekin bu juda yaxshi ishladi! Narxi: 1 evro.

- RIBBA-ramka: RIBBA ramkasi (23x23 sm), qora yoki oq. Narxi: 6 evro.

- Yuz uchun sizga kerak:

  1. Bosib chiqarishga yaroqli shaffof folga (mahalliy bosmaxonadan so'rang!)
  2. Karton lazer bilan kesish uchun mos keladi (lazer kesgichdan so'rang!)

Narxi: 5 evro.

- Komponentlarni ulash uchun o'tish simlari. Menga qanchasi kerakligini bilmayman, lekin ular arzon va keng tarqalgan: o'tish simlari. Erkak-erkak, erkak-urg'ochi va urg'ochi-ayol simlari bo'lishi qulay, lekin erkak-erkak simlari ham shunday qiladi (biroz lehim bilan). Narxi: 3 evro.

- Quvvatlantirish manbai. RGB LED tasmasi 5V dan foydalanadi. Bu kuchlanishdan oshib ketmaslik juda muhim, chunki RGB chiziqli chiziqlar osonlikcha shikastlanadi. Har bir LED 20-60 mA quvvat sarflaydi. Biz 169 LEDni ishlatganimiz uchun, chiroqlarni quvvatlantirish uchun zarur bo'lgan amper juda katta. Shuning uchun men kamida 2000 mA quvvat manbaidan foydalanishni tavsiya qilaman, masalan: Elektr ta'minoti Narxi: 5 evro.

- Bitta 400-500 ohmli qarshilik. Narxi: ahamiyatsiz.

- 1000 UF kondansatör. Narx: ahamiyatsiz.

- Bitta prototip taxtasi, masalan: Protoboard. Narxi: 1 evro.

- Soatning orqa qismini yaratish uchun yog'och (taxta). Narxi: 2 evro.

- Taxminan 3x2 sm uzunlikdagi yog'och tasma, Word Soatining orqa qismini ramkaga ulash uchun. Narxi: 1 evro.

- Ikki simli yong'oq (5 ta simga ulanish uchun), mahalliy DIY do'konida. Narxi: 2 evro.

Umumiy narxi: taxminan 40 evro.

Kerakli uskunalar:

- Qalam- Lehimlash stantsiyasi- Tozalash vositasi- Tornavidalar- Qaychi- Ikki tomonlama lenta (komponentlarni tuzatish uchun)- Arra (So'z soatining orqa qismidagi taxtani ko'rish uchun)- Bir parcha mato (RIBBA chizilmasligi uchun) ish paytida ramka)

2 -qadam: Umumiy nuqtai

Endi bizda barcha materiallar bor, Soat soati haqida umumiy tasavvurga ega bo'lish juda yoqimli.

So'z soatining yuzi harflardan iborat (yoki shaffof folga bosilgan yoki kartondan kesilgan lazer). Har bir xat ortida RGB chizig'ining bitta chizig'i yashiringan. RIBBA ramkasining o'lchami 23x23 sm va biz har bir metr uchun 60 leddan iborat RGB LED tasmasini ishlatganimiz uchun (har bir LED uchun 100 sm/60 l = 1.67 sm), biz bir qatorga 23 sm/1.67 = 13.8 lampani joylashtira olamiz. 0,8 LED biroz noqulay bo'lishi mumkinligi sababli, biz har bir satrda 13 ta chiroqni ushlab turamiz. RIBBA ramkasi to'rtburchaklar bo'lgani uchun, biz (keyinroq) 13x13 LEDli "LED-matritsani" quramiz.

Oddiy qilib aytganda, "Soat soati" kichik soatlardan (DS3231 RTC) iborat bo'lib, u bir marta o'rnatiladi va doimiy ravishda yonib turadi. Bu kichkina soat vaqtni kichkina kompyuterga (Arduino Nano) etkazadi. Kichkina kompyuter qaysi lampalar ma'lum vaqt yonishi kerakligini biladi. Shunday qilib, kichkina kompyuter ma'lumot uzatish simini RGB chizig'iga uzatadi va chiroqlarni yoqadi.

Bu juda oddiy ko'rinadi, shunday emasmi?!:)

3 -qadam: Soat soati yuzi

Biz bir qatorda 13 ta LED va 13 ta qatordan foydalanamiz, bu esa 13x13 LEDli matritsani qo'shadi.

RGB LED tasmasini kesish

13 ta uzunlikdagi RGB LED tasmasining 13 tasini kesib oling. Siz uchta mis tasvirlar o'rtasida RGB chizig'ini kesib olishingiz kerak.

13 ta RGB chiziqli lentalarni yig'ish

Biz 13 ta chiziqni RIBBA ramkasiga kiritilgan yog'och taxtaga yopishtiramiz. Taxtaga yopishtirilgan ilgak bor, uni tornavida yordamida osongina olib tashlash mumkin. Tarmoqdan foydalanib (oldingi qadamda), har bir chiziqning taxtadagi o'rnini osongina belgilashingiz mumkin. RGB chizig'ining ko'p qismi orqa tomonga yopishqoq bo'lib, ularni taxtaga osongina yopishtirish mumkin. RGB LED chizig'ining yo'nalishini ta'kidlash kerak. RGB chiziq chizig'idagi o'qlar oqimning qaysi tomonga yo'nalishini ko'rsatadi. Biz 13 ta RGB chizig'ini ulashni xohlaganimiz uchun, biz oqimning uzluksiz yo'lini yaratishimiz kerak, yaqinda IKEA taxtaning bir burchagini kesib tashladi, shunda taxtani ramkadan chiqarish osonroq. Simlarni taxtaning bir tomonidan ikkinchisiga o'tkazish uchun bu kesilgan burchakdan foydalanish qulay. Boshqacha qilib aytganda, birinchi chiziq kesilgan burchakda joylashganligiga ishonch hosil qiling.

13 ta RGB chizig'ini lehimlash

Endi 13 ta RGB chiziqli chiziqlar taxtaga yopishtirilgan, biz ularni lehimlantiruvchi temir yordamida ulashimiz mumkin. Birinchidan, mis ovallarning har yarmiga ozgina lehim quying. Ikkinchidan, o'tish simlarining bir uchini kesib oling. Shunga qaramay, simning yirtilgan uchiga ozgina lehim soling. Endi simning yirtilgan uchi mis ovalga tegib, lehim temiridan foydalanib, lehimni eritib, ulang. Bir RGB svetodiodli tasmasini GND -ni keyingi RGB chizig'ining GND -ga ulang. 5V va ma'lumot uzatish simlari uchun ham xuddi shunday qiling.

Led matritsani tugatish

RGB birinchi matritsali uchta mis ovalning har biriga o'tish simini lehimlang. Aytilganidek, taxtaning kesilgan burchagida birinchi svetodiodni joylashtirish qulay, shunda siz uchta simni taxtaning boshqa tomoniga osongina olishingiz mumkin.

6 -qadam: elektronika

Endi biz bosh matritsani tugatdik, biz komponentlarni ulashni boshlashimiz mumkin.

Biz komponentlarni (Arduino Nano terminal adapterida, RTC DS3231, simli yong'oqlar) biz bosh matritsani o'rnatgan taxtaning orqa tomoniga yopishtiramiz. Komponentlarni tuzatish uchun siz ikki tomonlama lentadan foydalanishingiz mumkin.

RGB chizig'i

Birinchidan, Arduino Nano -ni terminal adapteriga joylashtiring. Terminal adapterini kartaning o'rtasiga joylashtirish qulay, chunki terminal adapteriga bir nechta simlarni ulash lozim. RGB chizig'ining ma'lumot simini (o'rta sim) Arduino Nano raqamli portlaridan biriga ulang (odatda men D6 portidan foydalanaman). RGB chizig'ini kuchlanishdan himoya qilish uchun siz ma'lumotlar simlari va Arduino orasiga 400-500 ohmli rezistor qo'yishingiz mumkin.

RTC DS3231

Ikkinchidan, RTC DS3231 -ni taxtaga yopishtiring. Ushbu modulga to'rtta ulanish kerak: bitta tuproq, bitta 5V, bitta SCL va bitta SDA. Biz SQW va 32K portidan foydalanmaymiz. RTC DS3231 pinlariga ulanish uchun siz ayol simdan foydalanishingiz mumkin. SCL -ni Arduino Nano -ning beshinchi analog portiga (A5), SDA -ni Arduino Nano -ning to'rtinchi analog portiga (A4) ulang.

7 -qadam: Quvvat manbai

Qanday elektr ta'minotidan foydalanish kerak?

Voltaj Siz Arduino Nano -ni keng kuchlanishli g'azab yordamida quvvatlantirishingiz mumkin. "Vin" porti 7-12 V ni, 5 V porti 5 V ni boshqarishi mumkin (ajablanarli joyi yo'q) va siz USB mini kabelidan foydalanib Arduino Nanoni quvvatlantirishingiz mumkin. Biroq, RGB etakchi chizig'i talablarga ko'ra ko'proq tanlangan. Aksariyat ishlab chiqaruvchilar RGB svetodiodli tasmalariga 5V +/- 5% kirishni belgilaydilar (qo'shimcha ma'lumot uchun Neopixellarni quvvatlantirish bo'limiga qarang). Shuning uchun biz 5V quvvat manbasidan foydalanamiz.

Hozirgi bitta RGB LED uchta alohida LEDni (qizil, yashil va ko'k) o'z ichiga oladi, ular birgalikda kerakli rangni hosil qiladi. Uch chiroqdan biri taxminan 20 mA quvvat sarflaydi. Shunday qilib, qizil, yashil va ko'k chiroqni qo'yish orqali oq rangni chiqaradigan RGB LED bir vaqtning o'zida 3*20mA = 60mA ni ishlatadi. Agar siz bir vaqtning o'zida barcha 169 RGB LEDlarini oq rangda yoqsangiz, sizga 169*60mA = 10140mA = 10A*kerak bo'ladi. Eng keng tarqalgan quvvat manbalari taxminan 2000 mA. Boshqacha aytganda, barcha RGB LEDlarini birdaniga oq rangda yoqish unchalik yorqin fikr emas **.

Men 5V, 2000mA quvvat manbalaridan foydalanishni tavsiya qilaman, chunki ular keng tarqalgan va juda arzon.

* Iltimos, yuqori oqimlar (5mA dan yuqori) xavfli ekanligiga e'tibor bering! Shuning uchun, iltimos, Soat so'zini yoqishda juda ehtiyot bo'ling!

** Bir vaqtning o'zida barcha RGB chiroqlarini yoqish uchun bir nechta fokuslar mavjud, masalan, quvvat manbaini RGB chizig'ining har ikki uchiga ulash yoki RGB chiroqlarini pastroq nashrida ishlatish.

Elektr ta'minotini ulash

Biz quvvat manbaini komponentlarga ulaymiz. Quvvat manbasining musbat va manfiy simiga 1000 uF kondansatkichni ulaymiz. Ulanishni ta'minlash uchun siz protobarddan foydalanishingiz mumkin (rasmga qarang). Quvvatga muhtoj bo'lgan ba'zi tarkibiy qismlarga ega bo'lganimiz uchun, biz 5V kuchlanishli ikkita simni bitta simli yong'oqqa ulaymiz: biz ularni musbat simli (elektr manbaining musbat simiga ulangan) va manfiy deb ataymiz. simli non (u elektr manbaining manfiy simiga ulangan). Endi, RGB LED tasmasi va RTC DS3231 ning 5V simlarini musbat simli gaykaga ulang. Xuddi shunday, RGB LED chizig'ining topraklama simlarini (GND) va RTC DS3231 -ni manfiy simli nonga ulang. Biz Arduino Nano -ni 5V porti va er usti portlaridan biri orqali quvvatlantiramiz. Buning uchun Arduino -ning 5V portini musbat simli yong'oqqa va GND portlaridan birini manfiy simli nonga ulang.

Elektr ta'minotini ta'minlash

Chiroyli simli barcha elektronikalarni uzib yubormaslik uchun quvvat manbai simini RIBBA ramkasining ichki qismiga mahkamlash tavsiya etiladi. Buning uchun siz elektr simini "Soat soati" ning orqa qismidan chiqib ketguncha tugun yasash orqali qilishingiz mumkin. Biroq, yanada oqlangan usul - simni RIBBA ramkasining ichki qismiga mahkamlab mahkamlash. Kichkina yog'ochdan foydalanib, uni ikkita vint yordamida RIBBA ramkasining ichki qismiga burab, buni osongina qilishingiz mumkin. Yog'och bo'lagi va RIBBA ramkasi orasidagi quvvat simini mahkamlang. Word Clock -ning so'nggi versiyasida men elektr simini mustahkamlash uchun ozgina menteşadan (taxminan 3 sm) foydalanardim. Buning afzalligi shundaki, siz ozgina yog'ochni kesishingiz shart emas.

8 -qadam: Hammasini bir joyga to'plash

Endi biz Word Clock -ning yuzini chop etamiz yoki kesib tashladik, bosh matritsani tugatdik va elektron komponentalarni uladik, Word Clock -ning barcha qatlamlarini birlashtirish vaqti keldi.

  1. Word Clock yuzini RIBBA ramkasiga qo'ying.
  2. Yorug'likni harf bo'ylab yaxshi taqsimlash uchun (yarim) shaffof bo'lmagan qog'ozni (oddiy bosma qog'oz yoki kuzatuv qog'ozi) qo'ying.
  3. Tarmoqni RIBBA ramkasiga joylashtiring.
  4. Bir tomonida etakchi matritsali, boshqa tomonida elektron komponentli taxtani ehtiyotkorlik bilan RIBBA ramkasiga qo'yish mumkin.

9 -qadam: So'z soatining orqa qismini yaratish

Soatning orqa qismini yog'och taxtadan yasash mumkin, buning eng yaxshi usuli - RIBBA ramkasida taqdim etilgan taxta bilan bir xil o'lchamdagi (taxminan 22,5x22,5 sm) taxtani ko'rish. So'z soatining orqasida ikkita teshikni burang: biri uni devorga mahkamlash uchun (agar xohlasangiz) va ikkinchisi - so'z soatlaridan chiqib ketish uchun.

Taxminan 20 sm uzunlikdagi yog'och chiziqdan ikkita bo'lakni ko'rdim. Bu ikkita chiziq ikkita funktsiyaga ega:

  1. Yog'och taxtani ushlab turing, uning bir tomonida RGB chizig'i, boshqa tomonida elektron komponentlar
  2. So'z soatining orqa qismini mahkamlash mumkin bo'lgan sirtni yaratish.

Endi bu chiziqlarni RIBBA ramkasining ichki qismiga mahkamlang, ularni elektr komponentlarini ushlab turadigan taxtaga mahkam bosganingizga ishonch hosil qiling, so'ngra siz yog'och arqonlarning ustiga yog'och taxtani qo'yishingiz va vintlar yordamida mahkamlashingiz mumkin..

Agar siz Word Soatini devorga o'rnatmoqchi bo'lsangiz, Soat Soatining orqa qismi mahkam o'rnatilganligiga ishonch hosil qiling.

10 -qadam: Arduino Nano dasturlash

Agar siz Arduino -ni dasturlashda yangi bo'lsangiz, men avval juda ma'lumotli (va qiziqarli!) Bir nechta darslarni (masalan, Blink) bajarishni tavsiya qilaman.

Men faqat Mashinasozlik talabasi bo'lganim uchun, dasturlash - bu mening eng sevimli qismim emas. Yaxshiyamki, mening akam - informatika magistri, shuning uchun Arduino dasturlash u uchun bir bo'lak tort edi. Shunday qilib, dasturlash uchun barcha kreditlar u uchun (rahmat Lorens)!

Asosiy fikr shundaki, siz qaysi LEDlar qaysi so'zning bir qismi ekanligini ko'rsatasiz. E'tibor bering, birinchi LED 0 raqami sifatida ko'rsatilgan. Shunday qilib, bizda 0-168 led bor. Keyin, siz Arduino -ga ma'lum bir vaqtda qaysi so'zlar yonishi kerakligini aytasiz. Siz vaqtni RTC DS3231 ga o'rnatasiz, shunda Arduino hozirgi vaqt nima ekanligini biladi.

RGB LED chizig'ining ranglari qizil, yashil va ko'k uchun 0-255 qiymat bilan belgilanadi. Shunday qilib, qizil chiroq (qizil, yashil, ko'k) = (255, 0, 0) va binafsha rang (reg, yashil, ko'k) = (255, 0, 255) bilan belgilanadi. Ishlatilmaydigan svetodiod (qizil, yashil, ko'k) = (0, 0, 0) rangga ega.

Siz so'zlarni maqsadiga qarab guruhlashingiz mumkin:

  • Har doim yonib turadigan guruh ("Bu", "bu", ismingiz va boshqalar)
  • Daqiqalarni ko'rsatadigan so'zlar guruhi
  • Birlashtiruvchi so'zlar guruhi ("o'tmish", "to", "yarim", "chorak" va boshqalar).
  • Soatlarni ko'rsatadigan so'zlar guruhi
  • Hozirda ishlatilmaydigan barcha harflarni o'z ichiga olgan guruh

Har bir so'z guruhi uchun siz rangni belgilashingiz mumkin (bu har bir so'z yoki hatto harf uchun rangni alohida belgilashdan ko'ra osonroqdir).

Arduino Nano -ni USB -kabel orqali kompyuterga ulash orqali dasturni yuklashingiz mumkin.

YANGILASH (2019 yil yanvar):

Men Arduino faylini ko'rsatmaga qo'shdim. Faylni qaynotam yozgan, shuning uchun barcha kreditlar unga tegishli! Fayl ma'lum bir rang rejimlari va raqamli rejim o'rtasida o'tish uchun tugmalar yordamida Word Soatiga asoslangan. Albatta, siz tugmalarni xohlaganingizcha dasturlashingiz mumkin

11 -qadam: tugatish

Agar hamma narsa rejaga muvofiq amalga oshsa, siz faqat o'zingizning so'z soatingizni yaratdingiz!

Iltimos, agar sizda biron bir maslahat bo'lsa, sharh berishga shubha qilmang! Men ularga javob berishga harakat qilaman, lekin vaqtim cheklanganligi uchun biroz vaqt ketishi mumkin.