Mundarija:
- 1 -qadam: Yog'och qismlari
- 2 -qadam: LED halqasini ulash
- 3 -qadam: Arduino Nano va quvvatni ulash
- 4 -qadam: Dastur
Video: Neopixel yordamida LED soat: 4 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
60 neopikselli LED soatni qanday yasash bo'yicha ko'rsatmaga xush kelibsiz.
Siz PDF -ning 3 ta biriktirilgan qismi soat segmentlari uchun, ikkinchisi tayanch uchun va oxirgi qismi bo'limlarni bir -biriga yopishtirishda yordam beradigan shablonni topasiz.
Shunday qilib, buni bajarish uchun sizga quyidagilar kerak bo'ladi
- 60 neopikselli halqa 4 chorakda keladi. "ws2812 ring 60" ni qidiring (£ 12.00)
- "DS3231 moduli" uchun RTC qidiruvi (£ 2.50)
- Arduino Nano (4 funt)
- 3 mm/1/8 dyuymli kontrplak.
- sim bo'laklari. Umid qilamanki, sizda atrofdagilar bormi?
- 5V USB quvvat manbai. Farzandlaringiz ulagichni yo'q qilgan turi.
Quyida Lipo batareyasi bilan ishlaydigan narsalar bor, lekin sinovdan so'ng, soat juda ko'p quvvat sarflagan, shuning uchun batareya USB -quvvat manbaiga ulangan.
- shahar-shahar konvertorini qidirish "konvertorni kuchaytirish" (3 funt)
- TP4056 zaryadlovchi davri "tp4056" qidiruvi (2 funt)
- LiPo 1000Mah bitta hujayrali. "1000mah lipo 3.7" yoki "503450 lipo" (8.00 funt) ni qidiring
LiPo raqami - 503450, shuning uchun uning uzunligi 50 mm, kengligi 34 mm va chuqurligi 5,0 degan ma'noni anglatishini bilish yaxshi bo'lardi.
1 -qadam: Yog'och qismlari
Siz rasmlarda men dizaynni bosib chiqarganimni va uni kontrplakga yopishtirib qo'yganimni ko'rishingiz kerak. Aniq bo'lmasligi mumkinki, men bir vaqtning o'zida 3 qismni kesib tashladim va pastki qismi birinchi navbatda perimetr bo'ylab kesiladi, so'ngra bir qismi (orqa tomondan) chiqariladi, keyin qolgan ikkita bo'lakda, keyin boshqa qismda teshik kesiladi. old qismini qoldirib, simlar uchun uyasi kesilgan.
Hamma bitlar kesib bo'lgach, avval ularning bir -biriga qanday mos kelishini tekshirib, keyin hammasini yopishtirishingiz kerak. Men hamma narsani to'g'ri dumaloq ekanligiga ishonch hosil qilish uchun soat rejasi ustiga 3 ta qatlamni qurdim. Pastki qismlarni to'g'ri yo'nalishda olishingizga ishonch hosil qiling va to'liq o'rta bo'lak teskari tomonga o'rnatiladi, shunda siz bo'g'inlar ustida o'tirasiz.
Old qismdagi teshiklar chorakdagi lehimli bo'g'inlarni o'tirishga imkon beradi, pastki qismi esa simlar orqali o'tadi.
Rasmlar turkumi, shuningdek, bazaning qanday birlashtirilganligini ko'rsatadi.
2 -qadam: LED halqasini ulash
Bu qadam haqida ko'p gapirish mumkin emas, lekin agar siz WS2812LED tasmasini ishlatmagan bo'lsangiz, ular aqlli, shuning uchun har birining kirish va chiqish ma'lumotlari bor. 15 ta LEDli kamonlarda PCB barcha ulanishlarni boshqaradi, lekin siz bo'limlarga kirganingizda siz quvvat ulanishlari va ma'lumotlarni ulashingiz kerak. Siz ulanishlarni noto'g'ri qabul qila olmaysiz, chunki ular doira ichida, lekin siz aylanani tugatganingizda simlarni IN ma'lumotlariga ulashga ruxsat berish uchun IN/OUT ma'lumotlarida bitta havola etishmasligi kerak. Qachon simlar ma'lumotga ulansa IN birinchi LED bo'ladi yoki u noldan to'g'ri raqamlanadi.
O'ylaymanki, LED halqasini yog'och halqaga mahkamlashning eng yaxshi usuli qanday? lekin oxir -oqibat men har safar LEDni o'tkazib yubormaydigan sim va dastgohni ishlatishga qaror qildim.
3 -qadam: Arduino Nano va quvvatni ulash
Men dastlab LiPo -ni ushbu loyihada ishlatishga qaror qildim, lekin sinab ko'rganimda batareya bir kechada zaryadsizlandi. Avvaliga men akkumulyator zaryadsizlangan bo'lishi mumkin deb o'yladim, shuning uchun men oqimni o'lchadim va zanjir 73mA chizilganligini aniqladim, demak u batareyada ko'proq bo'ladi. Aslida men batareyadagi oqimni o'lchadim (kuchaytirgichdan oldin) va uning 110mA dan yuqori ekanligini aniqladim. Ma'lum bo'lishicha, bu soat batareyada ishlamaydi.
Buning o'rniga men 5V USB zaryadlovchidan foydalanishni tanladim. Menda ulagichlar ikkita kichik boladan suiiste'mol qilinganligi sababli, menda o'lik USB zaryadlovchilar ko'p.
Shunday qilib, biz WS2812 LED -laridan foydalanayotganimiz uchun Arduino Nano -ga faqat 3 ta ulanish mavjud.
- Quvvat
- Zamin
- Ma'lumotlar IN. Nano -dagi to'q sariq rang
Keyin bizda RTC bor, u faqat 4 ta simga ega.
- Quvvat 5 volt
- Zamin
- SCL (I2C Clock) Nano -da A5 -dan ko'k ranggacha
- SDA (I2C ma'lumotlari) Nanoda A4 dan sariq ranggacha
Nihoyat, biz kuchga muhtojmiz va bu Nano-dagi 5 V kuchlanishli terminalga to'g'ri keladi. Vin 5 voltdan (ya'ni 7-12 voltsdan) katta kuchlanishga va erga mo'ljallangan.
4 -qadam: Dastur
Men dasturlashni juda yaxshi ko'raman, men unchalik yaxshi emasman.
Muammo 1
Soniya va daqiqalar 0-59 gacha bo'lgan raqam sifatida to'g'ri ko'rsatilgan. Biroq, birinchi LED va shuning uchun nol pastda. Shuning uchun buni tuzatish kerak edi.
void correctPos (int A)
{agar (A 30) {A = A - 31; }} temp = A; }
Muammo 2
Men yangi pozitsiyani ko'rsatishdan oldin barcha LEDlarni tozalashga harakat qildim, lekin bu LEDlarning yonib -o'chishiga olib keldi. Shunday qilib, men keyingi LEDni yoqishga qaror qildim, keyin oldingi chiroqni o'chirib qo'ydim. Bu juda yaxshi ishladi ??? YO'Q, chunki agar yangi pozitsiya nol bo'lsa, u -1ni o'chirib qo'yadi. Shunday qilib, bu bir vaqtning o'zida hal qilindi.
void deletePrevious (int B)
// oldingi ledni o'chiring, agar u nol bo'lsa // 59ni o'chiring, faqat 1ni olib tashlang // o'chiring. {if (B == 0) {strip.setPixelColor (59, 0, 0, 0); // Hammasi o'chirilgan} boshqa {strip.setPixelColor (B - 1, 0, 0, 0); // hammasi o'chirilgan}}
3 -muammo
Yuqorida aytilganlarni bajarish, yangi ikkinchi pozitsiya eski daqiqalar o'rnida bo'lmaguncha, juda yaxshi ishladi. Bu shuni anglatadiki, soniyalardan keyin yangilangan daqiqa o'chirilgan! Soat/daqiqa uchun ham xuddi shunday
agar (sekund == min-1)
{strip.setPixelColor (min-1, 0, 30, 0); }
Muammo 4
Ishlar yaxshi boshlayapti, shuning uchun ular bir xil holatda tushganda ranglarni aralashtiraylikmi?
agar (daqiqa == soniya)
{strip.setPixelColor (min, 15, 13, 0); // yashil va qizil rangdan sariq ranggacha. }
Muammo 5
Ish vaqti 24 soat formatida boshlanadi. shuning uchun bu birinchi navbatda tuzatishni talab qiladi
agar (soat> 12)
{soat = soat -12; }
Muammo 6
Va shuni unutmasligimiz kerakki, kuniga 24 soat bor va menda 60 LED bor. Haqiqatan ham, uni 5 ga ko'paytiring
soat = soat * 5;
Muammo 7
Yuqorida aytilganlarni bajarib, bizda hozirda 4 LEDli soatlik sakrash bor, agar u barcha LEDlarni ishlatsa va bir soatlik kasrlarni to'g'ri ko'rsatsa, ancha yaxshi bo'larmidi? Shunga qaramay, bu oson tuzatish edi, men faqat asl daqiqalar sonini soatlarga 12 ga qo'shdim.
soat = soat + (addMin/12);
Muammo 8
Soat yoki minut pastda bo'lsa, sekundlar bir soniya oldin yo'qoladi.
soat = agar (mins == 0)
{if (secs == 59) {strip.setPixelColor (59, 0, 30, 0); // green}} if (hours == 0) {if (secs == 59) {strip.setPixelColor (59, 0), 30, 0); // yashil}}
Muammo 9
Vaqtni sozlash. Men bu tuzilishni juda sodda saqlashga qaror qildim, shuning uchun vaqtni sozlash tugmalari yo'q edi. Demak, bu soatni kompyuterga ulash va yangi vaqtni yuklash. Shunchaki quyidagi bo'limga izoh qoldiring va kerakli vaqtni belgilang, so'ng dasturni yuklang. To'g'ri chiziqni qayta sharhlang va dasturni qayta yuboring, aks holda agar siz quvvatni yo'qotib qo'ysangiz, u sozlamani qayta ishga tushiradi va eski vaqtni qayta yuklaydi.
// 2020 yil 12 aprel, soat 23:20 da siz qo'ng'iroq qilardingiz:
//rtc.adjust(DateTime(2020, 4, 12, 23, 20, 0));
Tavsiya:
LED soat 555 va 4017 yordamida (dasturlash kerak emas): 8 qadam (rasmlar bilan)
LED soat 555 va 4017 (dasturlash kerak emas) yordamida: Bu erda men taxminan 7 yil oldin ishlab chiqqan va ishlab chiqqan loyihani taqdim etaman. Loyihaning g'oyasi 4017 kabi hisoblagichli IClardan foydalanib LEDlarning miltillashini boshqaruvchi signallarni ishlab chiqarishdir. analog soat qo'llari
M5stick-C bilan Neopixel Ws2812 kamalakli LED yoritgichi - Arduino IDE yordamida M5stack M5stick C yordamida Neopixel Ws2812 da kamalakni ishga tushirish: 5 qadam
M5stick-C bilan Neopixel Ws2812 kamalakli LED yoritgichi | Arduino IDE yordamida M5stack M5stick C yordamida Neopixel Ws2812 da Rainbow-ni ishga tushiring: Salom bolalar, biz bu ko'rsatmalarni o'qib beramiz, biz neopixel ws2812 LEDlarini yoki LED tasmasini yoki LED matritsasini yoki LED halqasini m5stack m5stick-C Arduino IDE bilan ishlab chiqish platasi bilan ishlatishni o'rganamiz. u bilan kamalak namunasi
Arduino IDE yordamida M5stick C yordamida soat yasash - M5stack M5stick-C bilan RTC real vaqt soati: 4 qadam
Arduino IDE yordamida M5stick C yordamida soat yasash | M5stack M5stick-C bilan RTC Real Time Clock: Salom bolalar, bu ko'rsatmalarni o'qib, biz Arduino IDE yordamida m5stack-ning m5stick-C rivojlanish taxtasi bilan soat yasashni o'rganamiz.So m5stick sana, vaqt va ampni ko'rsatadi; displeyda oyning haftasi
Arduino bilan 2.4 Gigagertsli NRF24L01 moduli yordamida simsiz masofadan boshqarish - Nrf24l01 4 kanalli / Quadcopter uchun 6 kanalli uzatuvchi qabul qilgich - Rc vertolyoti - Arduino yordamida Rc samolyoti: 5 qadam (rasmlar bilan)
Arduino bilan 2.4 Gigagertsli NRF24L01 moduli yordamida simsiz masofadan boshqarish | Nrf24l01 4 kanalli / Quadcopter uchun 6 kanalli uzatuvchi qabul qilgich | Rc vertolyoti | Arduino yordamida Rc samolyoti: Rc avtomashinasini boshqarish | Kvadrokopter | Drone | RC samolyoti | RC qayig'i, bizga har doim qabul qiluvchi va uzatuvchi kerak bo'ladi, deylik, RC QUADCOPTER uchun bizga 6 kanalli uzatuvchi va qabul qilgich kerak, va bu turdagi TX va RX juda qimmatga tushadi, shuning uchun biz uni o'zimizda ishlab chiqaramiz
C51 4 bitli elektron soat - yog'och soat: 15 qadam (rasmlar bilan)
C51 4 bitli elektron soat - yog'ochdan yasalgan soat: dam olish kunlari bo'sh vaqtim bor edi, shuning uchun men ilgari AliExpress -dan sotib olgan 2,40 dollarlik 4 bitli DIY elektron raqamli soatni yig'dim