Mundarija:

LEDura - Analog LED soat: 12 qadam (rasmlar bilan)
LEDura - Analog LED soat: 12 qadam (rasmlar bilan)

Video: LEDura - Analog LED soat: 12 qadam (rasmlar bilan)

Video: LEDura - Analog LED soat: 12 qadam (rasmlar bilan)
Video: 3d Led Wall Clock Digital Timer Nightlight Watch Alarm Clock For Warehouse Office Home Living Room 2024, Iyul
Anonim
LEDura - analog LED soat
LEDura - analog LED soat
LEDura - Analog LED soat
LEDura - Analog LED soat
LEDura - analog LED soat
LEDura - analog LED soat

Tinkercad loyihalari »

Uzoq vaqt davomida har xil loyihalarni ishlab chiqqandan so'ng, men o'zim o'qituvchi bo'lishga qaror qildim. Birinchisi, men sizga ajoyib LED -halqali ajoyib analog soatni yaratish jarayonini ko'rsataman. Ichki halqa soatni, tashqi halqa daqiqa va soniyani ko'rsatadi.

Vaqtni ko'rsatish bilan bir qatorda, soat xona haroratini ham ko'rsatishi mumkin va bu xonada juda yaxshi bezak bo'lishi mumkin. Har 15 daqiqada soat maxsus effektlarni yaratadi - video ularning barchasini ko'rsatadi, albatta tekshiring. Ikkita tugma va potansiometr yordamida foydalanuvchi o'z xohishiga ko'ra turli xil rejimlar va ranglarni o'zgartirishi mumkin. Men, shuningdek, agar xona qorong'i bo'lsa, LEDlarni avtomatik ravishda o'chirish uchun yangiladim, shuning uchun foydalanuvchi tunda bezovtalanmaydi.

Soatni stolga, karavotga qo'yish yoki devorga osib qo'yish mumkin.

Eslatma: Rasmlar yuqori yorqinligi tufayli voqelikdagi kabi yaxshi emas.

1 -qadam: uni qanday o'qish kerak?

Buni qanday o'qish kerak?
Buni qanday o'qish kerak?

Soatning ikkita halqasi bor - soatni ko'rsatish uchun kichikroq, daqiqa va soniyani ko'rsatish uchun kattaroq. Ba'zi LEDlar doimo yonib turadi - bu kompas deb ataladi, bu soatning asosiy pozitsiyalarini ko'rsatadi. Soat halqasida u 3, 6, 9 va 12 soatni, daqiqali halqada esa 15, 30, 45 va 0 daqiqalarni ifodalaydi.

2 -qadam: Sizga nima kerak

Sizga nima kerak bo'ladi
Sizga nima kerak bo'ladi

Materiallar:

  • 1x Arduino Nano (siz boshqa Arduino -dan foydalanishingiz mumkin)
  • 1x DS3231 RealTimeClock moduli
  • 1x Manzilli LED halqa - 60 LED
  • 1x Manzilli LED halqa - 24 LED
  • 2x tugmalar (YO'Q - odatda ochiq)
  • 1x 100kOm potentsiometr
  • 1x 5V quvvat manbai (1 Amperni uzatishga qodir)
  • 1x ta'minot ulagichi
  • Ba'zi simlar
  • 1x 10kOm qarshilik
  • 1x Fotoresistor
  • Old panel (ixtiyoriy)
  • Terminal blokli simli ulagichlar (ixtiyoriy)
  • Qalinligi 25 mm bo'lgan yog'och, o'lchamlari kamida 22 sm x 22 sm
  • 1 mm yupqa matli PVX plastmassa o'lchami 20 smx20xm

Asboblar:

  • Qurilish elektronikasi uchun asosiy asboblar (lehimlantiruvchi temir, qisqich, tornavida, …)
  • Burg'ulash mashinasi
  • Issiq yopishtiruvchi qurol
  • Qum qog'oz va yog'och lak
  • CNC dastgohi (ehtimol, bu do'stda bor)

3 -qadam: Elektron komponentlari - Fon

Elektron komponentlar - Fon
Elektron komponentlar - Fon
Elektron komponentlar - Fon
Elektron komponentlar - Fon
Elektron komponentlar - Fon
Elektron komponentlar - Fon

DS3231

Vaqtni osilator va taymerda qurilgan Arduinos yordamida aniqlashimiz mumkin edi, lekin men soatni quvvat manbaidan uzib qo'ysak ham vaqtni kuzatib turadigan Real Time Clock (RTC) maxsus modulidan foydalanishga qaror qildim. DS3231 kartasida batareya bor, u modul quvvat manbaiga ulanmaganida quvvat beradi. Bundan tashqari, Arduinos soat manbaiga qaraganda uzoq vaqt aniqroq.

DS3231 RTC I2C interfeysidan mikrokontroler bilan bog'lanish uchun foydalanadi-ulardan foydalanish juda oddiy va u bilan aloqa qilish uchun bizga atigi 2 ta sim kerak. Modul, shuningdek, ushbu loyihada ishlatiladigan harorat sensori bilan ta'minlaydi.

Muhim: Agar siz RTC moduli uchun qayta zaryadlanmaydigan batareyadan foydalanmoqchi bo'lsangiz, 200 ohmli rezistorni yoki 1N4148 diodini lehimlang. Aks holda, batareyangiz portlashi mumkin. Qo'shimcha ma'lumotni ushbu havolada topishingiz mumkin.

LED halqali WS2812

Men daqiqalarni kuzatib borish uchun 60 LED halqa va soatlab 24 LED halqasidan foydalanishga qaror qildim. Siz ularni Adafruit (neoPixel ring) yoki eBay, Aliexpress yoki boshqa veb -do'konlardagi arzon versiyalarda topishingiz mumkin. Manzil bo'ladigan chiziqlar orasida juda xilma -xillik bor va agar siz ular bilan birinchi marta o'ynayotgan bo'lsangiz, men sizga ba'zi foydalanish tavsiflarini o'qishni maslahat beraman - bu erda foydali havolalar:

https://www.tweaking4all.com/hardware/arduino/adr…

https://randomnerdtutorials.com/guide-for-ws2812b…

Manzil LED tasmasi 3 ta ulagichga ega: 5V, GND va DI/DO. Birinchi ikkita LEDni quvvatlantirish uchun, ikkinchisi - ma'lumot uchun. Ringni Arduino -ga ulashda ehtiyot bo'ling - sizning ma'lumotlar liniyasi DI (data IN) piniga ulangan bo'lishi kerak.

Arduino

Men Arduino Nano -dan foydalanayapman, chunki u kichik va bu loyiha uchun etarli. Siz deyarli har qanday boshqa Arduino -dan foydalanishingiz mumkin, lekin hamma narsani unga ulashda ehtiyot bo'lishingiz kerak. Tugmalar va LED halqalari bir xil pinlarda bo'lishi mumkin, lekin I2C ulagichlari (RTC moduli uchun) platformadan platformaga farq qilishi mumkin - ularning ma'lumotlar jadvaliga qarang.

4 -qadam: Elektronika - quvvat manbai

Elektronika - elektr ta'minoti
Elektronika - elektr ta'minoti

Arduino va LED tasmasi 5V quvvat manbai bilan ta'minlanishi kerak, shuning uchun biz qanday kuchlanish kerakligini bilamiz. LED halqalari juda ko'p kuchaytirgichlarni tortadi, shuning uchun biz uni Arduino bilan to'g'ridan -to'g'ri quvvatlay olmaymiz, u maksimal 20mA raqamli chiqishiga bardosh bera oladi. Mening o'lchovlarimga ko'ra, LED halqalari birgalikda 500 mA gacha chizish mumkin. Shuning uchun men 1A gacha bo'lgan quvvatga ega adapter sotib oldim.

Xuddi shu quvvat manbai bilan biz Arduino va LEDlarni quvvatlantirmoqchimiz - bu erda ehtiyot bo'lish kerak.

Ogohlantirish! LED chizig'ini sinovdan o'tkazishda juda ehtiyot bo'ling - Arduino kompyuterga USB ulagichi bilan ulangan bo'lsa, quvvat adapteri Arduino -ga ulanmasligi kerak (kompyuterning USB portiga zarar etkazishingiz mumkin).

Eslatma: Quyidagi sxemalarda men Arduino quvvat manbai yoki USB ulagichi orqali quvvatlanishini tanlash uchun oddiy kalitdan foydalanardim. Lekin siz Arduino qaysi quvvat manbai bilan ishlashini tanlash uchun pin sarlavhasini qo'shganingizni ko'rishingiz mumkin.

5 -qadam: elektronika - lehim

Elektronika - payvandlash
Elektronika - payvandlash
Elektronika - payvandlash
Elektronika - payvandlash
Elektronika - payvandlash
Elektronika - payvandlash
Elektronika - payvandlash
Elektronika - payvandlash

Agar siz barcha qismlarni yig'sangiz, ularni lehimlash vaqti keldi.

Men simlarni toza qilishni xohlaganim uchun, men perfboard va simlar uchun bir nechta terminal blokli ulagichdan foydalandim, shuning uchun o'zgartirishlar bo'lsa, ularni uzib qo'yaman. Bu ixtiyoriy - siz simlarni to'g'ridan -to'g'ri Arduino -ga lehimlashingiz mumkin.

Maslahat: agar siz sxemalarni chop etsangiz, lehim paytida sizning oldingizda bo'lishi osonroq bo'ladi. Va elektr ta'minotiga ulanishdan oldin hamma narsani ikki marta tekshiring.

6 -qadam: Dasturiy ta'minot - Fon

Arduino IDE

Biz Arduino -ni Arduino IDE uchun maxsus dasturiy ta'minot bilan ta'minlamoqchimiz. Agar siz Arduino bilan birinchi marta o'ynayotgan bo'lsangiz, men sizga buni qanday qilish bo'yicha ko'rsatmalarni tekshirishni maslahat beraman. Internetda ko'plab darsliklar mavjud, shuning uchun men batafsil ma'lumot bermayman.

Kutubxona

Men mashhur Adafruit o'rniga FastLED kutubxonasidan foydalanishga qaror qildim. Bu matematik funktsiyalarga ega, ular yordamida siz ajoyib effektlarni bera olasiz (Ishlab chiquvchilarga barmog'ingiz bilan!). Siz kutubxonani GitHub omboridan topishingiz mumkin, lekin men o'z kodimga ishlatadigan versiya.zip faylini qo'shdim.

Agar siz qiziqsangiz, Arduino IDE -ga tashqi kutubxonani qanday qo'shish mumkin, siz allaqachon tayyorlangan ko'rsatmalarni tekshirishingiz mumkin

Soat moduli uchun men Arduino kutubxonasini DS3231 real vaqtda (RTC) (havola) uchun ishlatardim, uni Arduino IDE-ga osongina o'rnatish mumkin. IDE -da bo'lganingizda, eskiz → Kutubxonani qo'shish → Kutubxonalarni boshqarish -ni bosing va keyin qidiruvingizni yuqoridagi nom bilan filtrlang.

Eslatma: negadir hozircha.zip fayllarini qo'sha olmayapman. Siz kutubxonani GitHub omboridan topishingiz mumkin.

7 -qadam: dasturiy ta'minot - kod

Dasturiy ta'minot - kod
Dasturiy ta'minot - kod
Dasturiy ta'minot - kod
Dasturiy ta'minot - kod

Tuzilishi

Ilova 4 ta fayl bilan tuzilgan:

  • LEDclokc.ino Bu Arduino -ning asosiy ilovasi bo'lib, u erda siz butun soatni boshqarish funktsiyalarini topishingiz mumkin - ular CLOCK_ prefiksidan boshlanadi.
  • LEDclokc.h bu erda pinli ulanish ta'riflari va ba'zi soat konfiguratsiyalari.
  • ring.cpp va ring.h mana bu LED halqalarni boshqarish kodim.

LED soat.h

Bu erda siz soatlarning barcha ta'riflarini topasiz. Dastlab, simlar uchun ta'riflar mavjud. Ular sizning ulanishlaringiz bilan bir xil ekanligiga ishonch hosil qiling. Keyin soat konfiguratsiyasi mavjud - bu erda siz soat rejimlari sonining makrosini topishingiz mumkin.

LEDclock.ino

Diagrammada asosiy halqa ko'rsatilgan. Avval kod biron -bir tugma bosilganligini tekshiradi. Kalitlarning tabiati tufayli biz ularning qiymatlarini o'qish uchun o'chirish usulini qo'llashimiz kerak (bu haqda havolada o'qishingiz mumkin).

1 tugma bosilganda, o'zgaruvchi rejim 1 ga ko'tariladi, agar 2 tugma bosilsa, o'zgarmaydigan turi ko'tariladi. Biz bu o'zgaruvchilardan qaysi soat rejimini ko'rishni xohlayotganimizni aniqlash uchun foydalanamiz. Agar ikkala tugma bir vaqtning o'zida bosilsa, CLOCK_setTime () funktsiyasi chaqiriladi, shuning uchun siz soat vaqtini o'zgartirishingiz mumkin.

Keyinchalik kod potentsiometr qiymatini o'qiydi va uni o'zgaruvchiga saqlaydi - bu o'zgaruvchi foydalanuvchi soat ranglarini, yorqinligini va boshqalarni o'zgartirishi mumkin.

So'ngra, switch-case bayonoti mavjud. Bu erda biz soat qaysi rejimda ekanligini aniqlaymiz va shu rejimda LEDlarning ranglarini o'rnatadigan mos keladigan funksiya chaqiriladi. Siz o'zingizning soat rejimlaringizni qo'shishingiz va funktsiyalarni qayta yozishingiz yoki o'zgartirishingiz mumkin.

FastLED kutubxonasida ta'riflanganidek, siz oxirida FastLED.show () funktsiyasini chaqirishingiz kerak, bu esa LEDlarni biz ilgari o'rnatgan rangga aylantiradi.

Kod satrlari orasidagi batafsil tavsiflarni topishingiz mumkin

Butun kod quyidagi fayllarga biriktirilgan.

Maslahat: butun loyihani GitHub omborimdan topishingiz mumkin. Agar men unga biron bir o'zgartirish kiritsam, bu erda kod ham yangilanadi.

8 -qadam: soatni yarating

Soatni yarating
Soatni yarating
Soatni yarating
Soatni yarating
Soatni yarating
Soatni yarating

Soat ramkasi

Men soat ramkasini CNC dastgohi va qalinligi 25 mm bo'lgan yog'ochdan qurdim. Siz chizilgan eskizni quyidagi ProgeCADda topishingiz mumkin. LED halqali uyalar biroz kattaroq, chunki ishlab chiqaruvchilar faqat tashqi diametrini o'lchaydilar - ichki qismi juda farq qilishi mumkin … Soatning orqa qismida elektronika va simlar uchun joy ko'p.

PVX uzuklar

LEDlar juda yorug 'bo'lgani uchun ularni qandaydir tarzda tarqatish yaxshidir. Birinchidan, men shaffof silikon bilan sinab ko'rdim, u diffuziya vazifasini bajaradi, lekin bu juda tartibsiz va uni tekis qilib olish qiyin. Shuning uchun men 20x20 sm o'lchamdagi "sutli" PVX plastmassalarga buyurtma berdim va CNC mashinasi bilan ikkita halqani kesib oldim. Zımpara qog'ozidan qirralarni yumshatish uchun foydalanishingiz mumkin, shunda halqalar uyalarga tushadi.

Yon teshiklari

Keyin tugmalar, potansiometr va quvvat manbai ulagichlari uchun teshiklarni burish vaqti keldi. Birinchidan, har bir pozitsiyani qalam bilan chizib oling, so'ngra teshikni burang. Bu erda siz qanday tugmachalarga ega bo'lishingizga bog'liq - men bir oz egilgan boshli tugmalar bilan bordim. Ularning diametri 16 mm, shuning uchun men bunday o'lchamdagi yog'och matkapdan foydalandim. Xuddi shu narsa potentsiometr va quvvat ulagichiga ham tegishli. Keyin qalamdan olingan barcha rasmlarni o'chirib tashlaganingizga ishonch hosil qiling.

9 -qadam: Yog'ochga rasm chizish

Yog'ochda chizish
Yog'ochda chizish
Yog'ochda chizish
Yog'ochda chizish
Yog'ochda chizish
Yog'ochda chizish

Men yog'ochga soat ko'rsatkichlarini chizishga qaror qildim - bu erda siz o'z tasavvuringizdan foydalanishingiz va o'zingizning dizayningizni ishlatishingiz mumkin. Men yog'ochni lehimlantiruvchi temir yordamida yoqdim, maksimal haroratgacha qizdirdim.

Davralar yaxshi dumaloq bo'lishi uchun men alyuminiy bo'lagini ishlatdim, ichiga teshik ochdim va teshik chetlarini lehimlantiruvchi temir bilan kuzatdim (rasmga qarang). Alyuminiyni mahkam ushlab turganingizga ishonch hosil qiling, shunda u chizish paytida sirg'alib ketmaydi. Va jarohatlarning oldini olish uchun ehtiyot bo'ling.

Agar siz chizmalar chizayotgan bo'lsangiz va ularni soat piksellariga to'g'ri moslashtirishni xohlasangiz, "Xizmat ko'rsatish rejimi" dan foydalanishingiz mumkin, bu sizga piksellar qaerda joylashishini ko'rsatadi ("Yig'ish" bo'limiga o'ting).

Yog'ochni himoya qiling

Soatdan qoniqsangiz, uni zımparalash va yog'och lak bilan himoya qilish vaqti keldi. Men qirralarni yumshatish uchun juda yumshoq zımpara (500 qiymati) ishlatardim. Men sizga yog'och shaffof lakdan foydalanishni maslahat beraman, shuning uchun yog'och rangi o'zgarmaydi. Cho'tkaga oz miqdordagi lak soling va yog'ochdagi yillik o'simliklar yo'nalishi bo'yicha torting. Buni kamida 2 marta takrorlang.

10 -qadam: Assambleya

Assambleya
Assambleya
Assambleya
Assambleya
Assambleya
Assambleya

Firlar tugmachalarni va potansiyometrni o'z joylariga qo'yadilar - agar sizning teshiklaringiz juda katta bo'lsa, ularni joyiga mahkamlash uchun issiq elimdan foydalanishingiz mumkin. Keyin halqa tasmasini uyalariga joylashtiring va simlarini Arduino -ga ulang. LED halqasini joyiga yopishtirishdan oldin, ishonch hosil qilish kerakki, LED piksellari o'z joyida - markazlashtirilgan va chizilgan chizilgan. Shu maqsadda men texnik xizmat ko'rsatish rejimini qo'shdim, u barcha muhim piksellarni ko'rsatadi (0, 5, 10, 15, … daqiqali halqada va 3, 6, 9 va 12 soatlik qo'ng'iroqda). Quvvat manbasini ulagichga ulashdan oldin ikkala tugmani bosib ushlab turish orqali ushbu rejimga kirishingiz mumkin. Siz xohlagan tugmani bosib bu rejimdan chiqishingiz mumkin.

Qachonki siz LED halqalarni bir hil qilib qo'ysangiz, ozgina issiq elim surting va elim mustahkam bo'lguncha ushlab turing. Keyin PVX uzuklarini oling va yana LEDlarga issiq elim surting, ularni tezda joylashtiring va bir necha soniya ushlab turing. Oxir -oqibat, hamma narsa ishlayotganiga amin bo'lganingizda, taxtani (yoki Arduino) yog'ochga issiq yopishtirishingiz mumkin. Maslahat: ko'p elimga qo'llamang. U oz joyni o'z ichiga oladi, lekin keyinroq biror narsani o'zgartirmoqchi bo'lsangiz, uni osongina olib tashlashingiz mumkin.

Oxirida, tanga batareyali batareyani ushlagichiga joylashtiring.

11 -qadam: modernizatsiya - fotorezistor

Yangilash - fotorezistor
Yangilash - fotorezistor
Yangilash - fotorezistor
Yangilash - fotorezistor
Yangilash - fotorezistor
Yangilash - fotorezistor

Soat effektlari qorong'uda ayniqsa yaxshi. Ammo bu uning foydalanuvchisini kechasi, uxlab yotgan paytda bezovta qilishi mumkin. Shuning uchun men soatni yorug'likni avtomatik tuzatish xususiyati bilan yangilashga qaror qildim - xona qorong'i tushganda; soat o'z LEDlarini o'chiradi.

Shu maqsadda men yorug'lik sensori - foto rezistordan foydalandim. Uning qarshiligi sezilarli darajada oshadi; qorong'i bo'lganda bir necha megohmgacha va yorug'lik bo'lsa, u faqat bir necha yuz ohmga ega bo'ladi. Oddiy rezistor bilan birgalikda ular kuchlanish bo'luvchi hosil qiladi. Yorug'lik sensori qarshiligi o'zgarganda, Arduino analog pinidagi kuchlanish ham o'zgaradi (biz o'lchashimiz mumkin).

Har qanday sxemani lehimlash va yig'ishdan oldin, uni simulyatsiya qilish oqilona bo'ladi, shuning uchun siz xatti -harakatni ko'rishingiz va tuzatishlar kiritishingiz mumkin. Autocad Tinkercad yordamida aynan shunday qila olasiz! Bir necha marta bosish bilan men komponentlarni qo'shdim, uladim va kodni yozdim. Simulyatsiyada siz yorug'lik qarshiligining fotosurat qarshiligiga qarab qanday o'zgarishini ko'rishingiz mumkin. Bu juda sodda va tushunarli - siz sxemada o'ynashingiz mumkin.

Simulyatsiyadan so'ng, bu xususiyatni soatga qo'shish vaqti keldi. Men soat markazida teshik ochdim, rezistorni yopishtirdim, uni sxemada ko'rinadigan qilib uladim va bir nechta kod qatorlarini qo'shdim. LEDclock.h faylida USE_PHOTO_RESISTORni 1 deb e'lon qilish orqali siz ushbu funktsiyani yoqishingiz kerak. CLOCK_PHOTO_TRESHOLD qiymatini o'zgartirib, soat qaysi xonaning yorqinligini o'zgartirishi mumkin.

12 -qadam: Xursand bo'ling

Agar siz uni birinchi marta yoqsangiz, soat tasodifiy vaqtni ko'rsatadi. Siz ikkala tugmani bir vaqtning o'zida bosish orqali sozlashingiz mumkin. To'g'ri vaqtni tanlash uchun tugmachani aylantiring va istalgan tugmani bosib tasdiqlang.

Men Internetdagi juda chiroyli loyihadan ilhom oldim. Agar siz soatni o'zingiz qurishga qaror qilsangiz, ularni ham ko'rib chiqing! (NeoClock, Wol Clock, Arduino Colorful Clock) Agar siz hech qachon ko'rsatmalarni bajarishga qaror qilsangiz, umid qilamanki, siz buni men kabi zavqlantirasiz.

Agar siz biron bir muammoga duch kelsangiz, izohlarda menga biron bir savol berishingiz mumkin - men mamnuniyat bilan javob berishga harakat qilaman!

Tavsiya: