Përmbajtje:

LEDura - Ora LED Analog: 12 hapa (me fotografi)
LEDura - Ora LED Analog: 12 hapa (me fotografi)

Video: LEDura - Ora LED Analog: 12 hapa (me fotografi)

Video: LEDura - Ora LED Analog: 12 hapa (me fotografi)
Video: LEDura (Demonstration) : LED clock using Arduino and addressable LED ring 2024, Korrik
Anonim
LEDura - Orë LED Analog
LEDura - Orë LED Analog
LEDura - Orë LED Analog
LEDura - Orë LED Analog
LEDura - Orë LED Analog
LEDura - Orë LED Analog

Projektet Tinkercad »

Pas një kohe të gjatë të krijimit të projekteve të ndryshme, vendosa të bëj një udhëzues vetë. Për të parën, unë do t'ju udhëheq përmes procesit të krijimit të orës tuaj analoge të bërë me unazë të mrekullueshme LED të adresueshme. Unaza e brendshme tregon orët, unaza e jashtme tregon minuta dhe sekonda.

Përveç shfaqjes së orës, ora mund të shfaqë edhe temperaturën e dhomës dhe mund të jetë një dekorim shumë i bukur në dhomë. Çdo 15 minuta, ora gjithashtu bën disa efekte speciale - video i tregon të gjitha, sigurohuni që ta kontrolloni. Me ndihmën e 2 butonave dhe potenciometrit, përdoruesi mund të zgjedhë midis modeleve dhe ngjyrave të ndryshme sipas dëshirës së tij. Unë gjithashtu e përmirësova atë për të zbehur automatikisht LED -të nëse dhoma errësohet, kështu që përdoruesi nuk do të shqetësohet gjatë natës.

Ora mund të vendoset në tavolinën e punës, tryezën e shtratit ose të varet në mur.

Shënim: Fotografitë nuk janë aq të mira sa pamja në realitet për shkak të shkëlqimit të lartë.

Hapi 1: Si ta lexoni?

Si ta lexoni?
Si ta lexoni?

Ora ka 2 unaza - një më e vogël për shfaqjen e orëve dhe një më e madhe për shfaqjen e minutave dhe sekondave. Disa LED shkëlqejnë gjatë gjithë kohës - një e ashtuquajtur busull që tregon pozicionet kryesore të orës. Në zilen e orës përfaqëson orën 3, 6, 9 dhe 12'o, në zile minutore përfaqëson 15, 30, 45 dhe 0 minuta.

Hapi 2: Çfarë do t'ju duhet

Çfarë do t'ju duhet
Çfarë do t'ju duhet

Materiale:

  • 1x Arduino Nano (mund të përdorni edhe ndonjë Arduino tjetër)
  • 1x modul DS3231 RealTimeClock
  • 1x unazë led e adresueshme - 60 LED
  • 1x unazë led e adresueshme - 24 LED
  • 2x butona (JO - normalisht e hapur)
  • Potenciometër 1x 100kOhm
  • Furnizimi me energji 1x 5V (i aftë të japë 1 Amp)
  • 1x lidhës furnizimi
  • Disa tela
  • Rezistencë 1x 10kOhm
  • 1x fotorezistor

  • Parafjalë (opsionale)
  • Lidhëset e telit të bllokut të terminalit (opsionale)
  • Druri i trashë 25 mm, madhësia së paku 22cmx22cm
  • Mat 1 mm e hollë PVC me madhësi plastike 20cmx20xm

Mjetet:

  • Mjetet themelore për ndërtimin e elektronikës (hekur bashkues, pincë, kaçavidë, …)
  • Makinë shpuese
  • Armë me zam të nxehtë
  • Letër rëre dhe pak llak druri
  • Makinë CNC (mbase e ka ndonjë shok)

Hapi 3: Komponentët Elektronikë - Sfondi

Komponentët Elektronikë - Sfondi
Komponentët Elektronikë - Sfondi
Komponentët Elektronikë - Sfondi
Komponentët Elektronikë - Sfondi
Komponentët Elektronikë - Sfondi
Komponentët Elektronikë - Sfondi

GJ5231

Ne mund të përcaktojmë kohën duke përdorur Arduinos të ndërtuar në oshilator dhe një kohëmatës, por vendosa të përdor modulin e dedikuar Ora e Kohës së Vërtetë (RTC), i cili mund të mbajë gjurmët e kohës edhe nëse e shkëputim orën nga burimi i saj i energjisë. Pllaka DS3231 ka një bateri, e cila siguron energji kur moduli nuk është i lidhur me furnizimin me energji. Alsoshtë gjithashtu më e saktë në periudha më të gjata kohore sesa burimi i orës Arduinos.

DS3231 RTC përdor ndërfaqen I2C për të komunikuar me mikrokontrollues-shumë e thjeshtë për t'u përdorur dhe na duhen vetëm 2 tela për të komunikuar me të. Moduli gjithashtu siguron sensorin e temperaturës, i cili do të përdoret në këtë projekt.

E rëndësishme: Nëse jeni duke planifikuar të përdorni bateri të pa rimbushshme për modulin RTC, duhet të çlidhni rezistencën 200 ohm ose diodën 1N4148. Përndryshe, bateria juaj mund të shpërthejë. Më shumë informacion mund të gjenden në këtë lidhje.

Unaza LED WS2812

Vendosa të përdor 60 unaza LED për të mbajtur minutat dhe 24 unaza LED për orë të tëra. Mund t'i gjeni në Adafruit (unaza neoPixel) ose disa versione të lira në eBay, Aliexpress ose dyqane të tjera në internet. Ekziston një larmi e madhe midis shiritave të adresueshëm dhe nëse është hera e parë që luani me to, ju rekomandoj të lexoni disa përshkrime të përdorimit - këtu janë disa lidhje të dobishme:

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

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

Shiriti LED i adresueshëm ka 3 lidhje: 5V, GND dhe DI/DO. Dy të parat janë për fuqizimin e LED -ve, e fundit është për të dhënat. Kini kujdes kur lidhni unazën me Arduino - linja juaj e të dhënave duhet të jetë e lidhur me pinin DI (data IN).

Arduino

Unë jam duke përdorur Arduino Nano sepse është i vogël dhe mjaftueshëm i mjaftueshëm për këtë projekt. Ju mund të përdorni pothuajse çdo Arduino tjetër, por atëherë duhet të jeni të kujdesshëm ndërsa lidhni gjithçka me të. Butonat dhe unazat LED mund të jenë në të njëjtat kunja, por lidhësit I2C (për modulin RTC) mund të ndryshojnë nga platforma në platformë - shikoni fletën e të dhënave të tyre.

Hapi 4: Elektronikë - Furnizimi me energji elektrike

Elektronikë - Furnizimi me energji elektrike
Elektronikë - Furnizimi me energji elektrike

Arduino dhe shiriti LED duhet të furnizohen të dy me burim energjie 5V, kështu që ne e dimë se cili tension është i nevojshëm. Meqenëse LED -i bie tërheq shumë amper, ne nuk mund ta furnizojmë drejtpërdrejt me Arduino, i cili mund të përballojë maksimum 20mA në daljen e tij dixhitale. Sipas matjeve të mia, unazat LED së bashku mund të tërheqin deri në 500 mA. Kjo është arsyeja pse bleva një përshtatës i cili është i aftë të furnizojë deri në 1A.

Me të njëjtën furnizim me energji ne duam të fuqizojmë Arduino dhe LED - këtu duhet të jeni të kujdesshëm.

Paralajmërim! Jini shumë të kujdesshëm kur jeni duke testuar shiritin LED - përshtatësi i rrymës NUK duhet të jetë i lidhur me Arduino, kur Arduino është gjithashtu i lidhur me PC me lidhës USB (mund të dëmtoni portën USB të kompjuterit tuaj).

Shënim: Në skemat më poshtë kam përdorur çelësin normal për të zgjedhur nëse Arduino mundësohet nëpërmjet furnizimit me energji elektrike ose nëpërmjet lidhësit USB. Por në tabelën e sipërme mund të shihni që shtova një kokë pin për të zgjedhur nga cili burim energjie mundësohet Arduino.

Hapi 5: Elektronikë - Saldim

Elektronikë - Saldim
Elektronikë - Saldim
Elektronikë - Saldim
Elektronikë - Saldim
Elektronikë - Saldim
Elektronikë - Saldim
Elektronikë - Saldim
Elektronikë - Saldim

Kur mblidhni të gjitha pjesët, është koha t'i bashkoni ato së bashku.

Për shkak se doja ta bëja instalimet elektrike të rregullta, unë përdorja dërrasën e dërrasës dhe disa lidhës të bllokut të terminalit për telat, kështu që mund t'i shkëpus ato nga priza në rast të modifikimeve. Kjo është opsionale - gjithashtu mund t'i lidhni telat drejtpërdrejt në Arduino.

Një këshillë: është më e lehtë nëse printoni skemat në mënyrë që ta keni para jush gjatë bashkimit. Dhe kontrolloni dy herë gjithçka para se të lidheni me furnizimin me energji elektrike.

Hapi 6: Softuer - Sfond

Arduino IDE

Ne do të programojmë Arduino me programin e tij të dedikuar: Arduino IDE. Nëse jeni duke luajtur me Arduino për herë të parë, ju rekomandoj të kontrolloni disa udhëzime se si ta bëni atë. Tashmë ka shumë mësime në internet, kështu që nuk do të hyj në detaje.

Librari

Vendosa të përdor bibliotekën FastLED në vend të Adafruit popullor. Ka disa funksione të rregullta matematikore me të cilat mund të bëni efekte të shkëlqyera (Thumbs up to developers!). Ju mund ta gjeni bibliotekën në depon e tyre GitHub, por shtova skedarin.zip të versionit që po përdor në kodin tim.

Nëse po pyesni, si të shtoni bibliotekë të jashtme në Arduino IDE mund të kontrolloni disa udhëzime të bëra tashmë

Për modulin e orës kam përdorur bibliotekën Arduino për orën në kohë reale DS3231 (RTC) (lidhje), të cilën lehtë mund ta instaloni në Arduino IDE. Kur jeni në IDE, klikoni për të Skicuar → Përfshi bibliotekën → Menaxhoni bibliotekat … dhe pastaj filtroni kërkimin tuaj me emrin e mësipërm.

Shënim: Për disa arsye aktualisht nuk mund të shtoj skedarë.zip. Ju mund ta gjeni bibliotekën në depon time GitHub.

Hapi 7: Softueri - Kodi

Softuer - Kodi
Softuer - Kodi
Softuer - Kodi
Softuer - Kodi

Struktura

Aplikacioni është ndërtuar me 4 skedarë:

  • LEDclokc.ino Ky është aplikacioni kryesor Arduino, ku mund të gjeni funksione për kontrollimin e të gjithë orës - ato fillojnë me parashtesën CLOCK_.
  • LEDclokc.h këtu janë përcaktimet e lidhjes pin dhe disa konfigurime të orës.
  • ring.cpp dhe ring.h këtu është kodi im për kontrollin e unazave LED.

Ora LED.h

Këtu do të gjeni të gjitha përkufizimet e orës. Në fillim, ka përkufizime për instalime elektrike. Sigurohuni që ato janë të njëjta me lidhjet tuaja. Pastaj ka konfigurime të orës - këtu mund të gjeni makro për numrin e mënyrave që ka ora.

Ora LED.ino

Në diagram, laku kryesor është i përfaqësuar. Kodi së pari kontrollon nëse është shtypur ndonjë buton. Për shkak të natyrës së çelsave, ne duhet të përdorim metodën e debbouncing për të lexuar vlerat e tyre (mund të lexoni më shumë për këtë në lidhjen).

Kur shtypet butoni 1, mënyra e ndryshueshme ngrihet me 1, nëse shtypet butoni 2, ngrihet lloji i ndryshores. Ne i përdorim këto ndryshore për të përcaktuar se cilën mënyrë të orës duam të shohim. Nëse të dy butonat shtypen në të njëjtën kohë, funksioni CLOCK_setTime () thirret në mënyrë që të mund të ndryshoni kohën e orës.

Kodi i mëvonshëm lexon vlerën e potenciometrit dhe e ruan atë në ndryshore - me këtë përdorues të ndryshueshëm mund të ndryshojë ngjyrat e orës, shkëlqimin etj.

Pastaj ka një deklaratë të rastit ndërrues. Këtu përcaktojmë se në cilën mënyrë është aktualisht ora, dhe në atë mënyrë, quhet funksioni përkatës, i cili vendos ngjyrat e LED -ve. Mund të shtoni mënyrat tuaja të orës dhe të rishkruani ose modifikoni funksionet.

Siç përshkruhet në bibliotekën FastLED, duhet të thërrisni funksionin FastLED.show () në fund, i cili i kthen LED -et në ngjyrën që i kemi vendosur më parë.

Ju mund të gjeni përshkrime shumë më të hollësishme midis rreshtave të kodit

Kodi i plotë është i bashkangjitur më poshtë në skedarët më poshtë.

Këshillë: ju mund të gjeni të gjithë projektin në depon time GitHub. Këtu kodi gjithashtu do të përditësohet nëse do të shtoj ndonjë ndryshim në të.

Hapi 8: Bëni Orën

Bëni Orë
Bëni Orë
Bëni Orë
Bëni Orë
Bëni Orë
Bëni Orë

Korniza e orës

Kam ndërtuar kornizën e orës duke përdorur makinë CNC dhe dru të trashë 25 mm. Skicën e vizatuar në ProgeCAD mund ta gjeni më poshtë. Vendet për unazën LED janë pak më të mëdha, sepse prodhuesit japin vetëm matjet e diametrit të jashtëm - pjesa e brendshme mund të ndryshojë shumë… Në pjesën e pasme të orës, ka shumë hapësirë për elektronikë dhe tela.

Unaza PVC

Meqenëse LED janë mjaft të ndritshëm, është mirë t'i shpërndani ato disi. Së pari u përpoqa me silikon transparent, i cili bën punën e shpërndarjes, por është mjaft i çrregullt dhe është e vështirë ta marrësh atë të qetë në krye. Kjo është arsyeja pse unë porosita një copë plastike PVC "qumështi" 20x20 cm dhe prera dy unaza në të me makinë CNC. Ju mund të përdorni letër zmerile për të zbutur skajet në mënyrë që unazat të rrëshqasin në çarë.

Vrima anësore

Atëherë është koha për të shpuar vrimat për butonat, potenciometrin dhe lidhësin e furnizimit me energji. Së pari, vizatoni çdo pozicion me një laps, pastaj stërviteni në vrimë. Këtu varet se çfarë lloj butonash keni - shkova me butona shtytës me kokë pak të lakuar. Ata kanë 16 mm diametër, kështu që unë përdor stërvitje druri të asaj madhësie. E njëjta gjë vlen edhe për potenciometrin dhe lidhësin e energjisë. Sigurohuni që të fshini të gjitha vizatimet e lapsit më pas.

Hapi 9: Vizatoni në dru

Vizatoni në dru
Vizatoni në dru
Vizatoni në dru
Vizatoni në dru
Vizatoni në dru
Vizatoni në dru

Vendosa të vizatoja disa tregues të orës në dru - këtu mund të përdorni imagjinatën tuaj dhe të krijoni tuajin. Kam djegur dru duke përdorur hekur bashkues, të nxehtë në temperaturën maksimale.

Që qarqet të jenë bukur të rrumbullakëta, unë përdor një copë alumini, shpova një vrimë në të dhe ndoqa skajet e vrimës me hekur bashkues (shiko figurën). Sigurohuni që e mbani fort aluminin, në mënyrë që të mos rrëshqasë gjatë vizatimit. Dhe jini të kujdesshëm ndërsa e bëni këtë për të parandaluar dëmtimet.

Nëse jeni duke bërë vizatime dhe dëshironi që ato të jenë të përafruara mirë me pikselët e orës, mund të përdorni "Mënyra e mirëmbajtjes" e cila do t'ju tregojë se ku do të vendosen pikselët (shkoni te kapitulli Assemble).

Mbroni drurin

Kur të jeni të kënaqur me orën është koha ta lyeni me rërë dhe ta mbroni me llak druri. Kam përdorur letër zmerile shumë të butë (vlera 500) për të zbutur skajet. Unë ju rekomandoj të përdorni llak druri transparent, kështu që ngjyra e drurit nuk ndryshon. Vendosni një sasi të vogël llak në furçë dhe tërhiqeni atë në drejtim të vjetarëve në dru. Përsëriteni të paktën 2 herë.

Hapi 10: Asamble

Asamble
Asamble
Asamble
Asamble
Asamble
Asamble

Bredhat vendosin butonat dhe potenciometrin në pozicionet e tyre - nëse vrimat tuaja janë shumë të mëdha, mund të përdorni zam të nxehtë për t'i rregulluar ato në vend. Pastaj vendosni shiritin e unazës në çarjet e tij dhe lidhni telat e tij me Arduino. Para se të ngjitni unazën LED në vendin e saj, është mirë të jeni të sigurt, se pikselët LED janë në vendin e duhur - të përqendruar dhe të përafruar me vizatimin. Për atë qëllim shtova të ashtuquajturën modalitet Mirëmbajtje i cili do të shfaqë të gjithë pikselët e rëndësishëm (0, 5, 10, 15,… në zile minutash dhe 3, 6, 9 dhe 12 në zile ore). Ju mund të hyni në këtë mënyrë duke shtypur dhe mbajtur të dy butonat, para se të lidhni furnizimin me energji elektrike në lidhësin. Ju mund të dilni nga kjo mënyrë duke shtypur ndonjë buton.

Kur i keni rreshtuar unazat LED, aplikoni pak zam të nxehtë dhe mbajini derisa zamja të bëhet e fortë. Pastaj merrni unazat tuaja PVC dhe përsëri: aplikoni disa zam të nxehtë në LED, vendosini shpejt ato dhe mbajini ato për disa sekonda. Në fund, kur të jeni të sigurt se gjithçka funksionon, mund të ngjitni nxehtësisht pllakën (ose Arduino) në dru. Këshillë: mos aplikoni në shumë zam. Vetëm një sasi e vogël në mënyrë që të mbahet në një vend, por lehtë mund ta hiqni nëse dëshironi të ndryshoni diçka më vonë.

Në fund, futni baterinë e qelizës së monedhës në mbajtësin e saj.

Hapi 11: Përmirësoni - Photoresistor

Përmirësimi - Photoresistor
Përmirësimi - Photoresistor
Përmirësimi - Photoresistor
Përmirësimi - Photoresistor
Përmirësimi - Photoresistor
Përmirësimi - Photoresistor

Efektet e orës janë veçanërisht të këndshme në errësirë. Por kjo mund të shqetësojë përdoruesin e saj gjatë natës, ndërsa ai ose ajo fle. Kjo është arsyeja pse vendosa të përmirësoj orën me funksionin e korrigjimit automatik të shkëlqimit - kur dhoma errësohet; ora fik LED -et e saj.

Për këtë qëllim, kam përdorur sensorin e dritës - rezistencë fotografike. Rezistenca e saj do të rritet ndjeshëm; deri në disa mega Ohm kur është errësirë dhe do të ketë vetëm disa qindra Ohm kur ka dritë që shkëlqen mbi të. Së bashku me një rezistencë normale ata formojnë ndarësin e tensionit. Pra, kur ndryshon rezistenca e sensorit të dritës, ndryshon edhe tensioni në kunjin analog Arduino (të cilin mund ta masim).

Para se të bashkoni dhe montoni çdo qark, është e mençur ta simuloni atë së pari, në mënyrë që të shihni sjelljen dhe të bëni korrigjime. Me ndihmën e Autocad Tinkercad mund ta bëni pikërisht këtë! Me vetëm disa klikime shtova përbërësit, i lidha dhe shkrova kodin. Në simulim mund të shihni se si ndryshon shkëlqimi i LED -ve sipas vlerës së rezistencës së fotografisë. Isshtë shumë e thjeshtë dhe e drejtpërdrejtë - jeni të mirëpritur të luani me qarkun.

Pas simulimit ishte koha për të shtuar veçorinë në orë. Unë shpova një vrimë në qendër të orës, ngjita rezistencën e fotografisë, e lidha atë siç mund të shihet në qark dhe shtova disa rreshta të kodit. Në skedarin LEDclock.h ju duhet ta aktivizoni këtë veçori duke deklaruar USE_PHOTO_RESISTOR si 1. Ju gjithashtu mund të ndryshoni në cilën shkëlqim të dhomës ora do të zbehë LED -të duke ndryshuar vlerën CLOCK_PHOTO_TRESHOLD.

Hapi 12: Shijoni

Kur ta aktivizoni atë për herë të parë, ora do të tregojë një kohë të rastësishme. Mund ta konfiguroni duke shtypur të dy butonat në të njëjtën kohë. Kthejeni çelësin për të zgjedhur kohën e duhur dhe konfirmojeni atë me shtypjen e ndonjë butoni.

Kam gjetur frymëzim në një projekt shumë të zoti në internet. Nëse vendosni ta krijoni orën vetë, kontrolloni ato gjithashtu! (NeoClock, Wol Clock, Arduino Colorful Clock) Nëse ndonjëherë vendosni të përpiqeni të ndiqni udhëzimet, shpresoj se do ta gjeni të kënaqshme si unë.

Nëse hasni ndonjë telashe gjatë procesit të bërjes së tij, mos ngurroni të më bëni ndonjë pyetje në komente - me kënaqësi do të përpiqem t'i përgjigjem!

Recommended: