Kazalo:

LEDura - analogna LED ura: 12 korakov (s slikami)
LEDura - analogna LED ura: 12 korakov (s slikami)

Video: LEDura - analogna LED ura: 12 korakov (s slikami)

Video: LEDura - analogna LED ura: 12 korakov (s slikami)
Video: Женский Casio G-Shock White GMAS130 Step Tracker | Обзор 10 лучших вещей GMAS... 2024, Julij
Anonim
LEDura - analogna LED ura
LEDura - analogna LED ura
LEDura - analogna LED ura
LEDura - analogna LED ura
LEDura - analogna LED ura
LEDura - analogna LED ura

Tinkercad projekti »

Po dolgem času samo ustvarjanja različnih projektov sem se odločil, da bom sam naredil pouk. Za prvega vas bom vodil skozi postopek izdelave lastne analogne ure, izdelane s čudovitim naslovljivim LED obročem. Notranji obroč prikazuje ure, zunanji obroč prikazuje minute in sekunde.

Poleg ure lahko prikaže tudi sobno temperaturo in je lahko zelo lepa dekoracija v sobi. Vsakih 15 minut ura naredi tudi nekaj posebnih učinkov - video jih prikazuje vse, preverite. S pomočjo 2 gumbov in potenciometra lahko uporabnik izbira med različnimi načini in spreminja barve po lastni želji. Nadgradil sem ga tudi tako, da samodejno zatemni LED, če je soba temna, tako da uporabnika ne motijo ponoči.

Uro lahko postavite na mizo, posteljno mizo ali obesite na steno.

Opomba: Slike zaradi visoke svetlosti niso tako dobre kot pogled v realnosti.

1. korak: Kako ga prebrati?

Kako ga prebrati?
Kako ga prebrati?

Ura ima 2 obroča - manjši za prikaz ur in večji za prikaz minut in sekund. Nekatere LED svetijo ves čas - tako imenovani kompas, ki označuje glavne položaje ure. Pri urnem obroču predstavlja uro 3, 6, 9 in 12'o, pri minutnem obroču 15, 30, 45 in 0 minut.

2. korak: Kaj boste potrebovali

Kaj boste potrebovali
Kaj boste potrebovali

Materiali:

  • 1x Arduino Nano (lahko uporabite tudi kateri koli drug Arduino)
  • 1x modul DS3231 RealTimeClock
  • 1x naslovljiv LED obroč - 60 LED
  • 1x naslovljiv LED obroč - 24 LED
  • 2x gumba (NO - normalno odprto)
  • 1x potenciometer 100kOhm
  • 1x 5V napajalnik (zmožen oddajati 1 Amp)
  • 1x napajalni priključek
  • Nekaj žic
  • 1x 10kOhm upor
  • 1x fotootpornik
  • Montažna plošča (neobvezno)
  • Priključki za žice priključnih blokov (neobvezno)
  • 25 mm debel les, velikosti najmanj 22 cm x 22 cm
  • 1 mm tanka podloga iz PVC plastike velikosti 20cmx20xm

Orodja:

  • Osnovna orodja za gradnjo elektronike (spajkalnik, klešče, izvijač, …)
  • Vrtalni stroj
  • Pištola za vroče lepilo
  • Brusni papir in nekaj laka za les
  • CNC stroj (mogoče ga ima kak prijatelj)

3. korak: Elektronske komponente - ozadje

Sestavine elektronike - ozadje
Sestavine elektronike - ozadje
Sestavine elektronike - ozadje
Sestavine elektronike - ozadje
Sestavine elektronike - ozadje
Sestavine elektronike - ozadje

DS3231

S pomočjo vgrajenega oscilatorja in časovnika Arduinos smo lahko določili čas, vendar sem se odločil za namenski modul za uro v realnem času (RTC), ki lahko spremlja čas, tudi če uro odklopimo od vira napajanja. Plošča DS3231 ima baterijo, ki napaja, ko modul ni priključen na napajanje. Prav tako je natančnejši v daljših časovnih obdobjih kot vir ure Arduinos.

DS3231 RTC uporablja vmesnik I2C za komunikacijo z mikrokrmilnikom-zelo enostaven za uporabo in za komunikacijo z njim potrebujemo le 2 žici. Modul vsebuje tudi temperaturni senzor, ki bo uporabljen v tem projektu.

Pomembno: Če nameravate uporabiti baterijo za ponovno polnjenje za modul RTC, morate odpojiti 200 ohmski upor ali 1N4148 diodo. V nasprotnem primeru lahko pride do eksplozije baterije. Več informacij najdete na tej povezavi.

WS2812 LED obroč

Odločil sem se, da bom s 60 LED obročki spremljal minute in 24 LED obročki ure. Najdete jih na Adafruit (prstan neoPixel) ali nekaj poceni različic na eBayu, Aliexpressu ali drugih spletnih trgovinah. Med naslovljivimi LED trakovi je velika raznolikost in če se prvič igrate z njimi, vam priporočam, da preberete nekaj opisov uporabe - tukaj je nekaj uporabnih povezav:

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

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

Naslovljivi LED trak ima 3 priključke: 5V, GND in DI/DO. Prvi dve sta za napajanje LED, zadnja za podatke. Pri priključevanju obroča na Arduino bodite previdni - vaša podatkovna linija mora biti povezana z vtičem DI (podatkovni vhod).

Arduino

Uporabljam Arduino Nano, ker je majhen in dovolj za ta projekt. Uporabite lahko skoraj kateri koli drug Arduino, vendar morate biti pri povezovanju vsega z njim previdni. Gumbi in LED obroči so lahko na istih zatičih, vendar se lahko priključki I2C (za modul RTC) razlikujejo od platforme do platforme - preverite njihov podatkovni list.

4. korak: Elektronika - napajanje

Elektronika - Napajanje
Elektronika - Napajanje

Arduino in LED trak morata biti opremljena s 5V napajalnikom, da vemo, katera napetost je potrebna. Ker LED obroči črpa precej ojačevalnikov, ga ne moremo neposredno napajati z Arduinom, ki lahko prenese največ 20 mA na svojem digitalnem izhodu. Po mojih meritvah lahko LED obroči skupaj porabijo do 500 mA. Zato sem kupil adapter, ki lahko napaja do 1A.

Z istim napajalnikom želimo napajati Arduino in LED - tukaj morate biti previdni.

Opozorilo! Bodite še posebej previdni pri preskušanju LED traku - napajalnik NE sme biti priključen na Arduino, če je Arduino povezan tudi z osebnim računalnikom s priključkom USB (lahko poškodujete vrata USB računalnika).

Opomba: V spodnjih shemah sem z običajnim stikalom izbral, ali se Arduino napaja prek napajalnika ali prek priključka USB. Toda na perfboard -u lahko vidite, da sem dodal glavo zatiča, da izberem, iz katerega vira energije se napaja Arduino.

5. korak: Elektronika - spajkanje

Elektronika - spajkanje
Elektronika - spajkanje
Elektronika - spajkanje
Elektronika - spajkanje
Elektronika - spajkanje
Elektronika - spajkanje
Elektronika - spajkanje
Elektronika - spajkanje

Ko zberete vse dele, je čas, da jih spajkate.

Ker sem želel ožičenje okrasiti, sem za žice uporabil perfboard in nekaj priključnih sponk, tako da jih lahko v primeru sprememb odklopim. To ni obvezno - žice lahko tudi spajkate neposredno na Arduino.

Namig: lažje je, če sheme natisnete tako, da jih imate med spajkanjem pred seboj. Preden se priključite na električno omrežje, vse še enkrat preverite.

6. korak: Programska oprema - ozadje

Arduino IDE

Programirali bomo Arduino z namensko programsko opremo: Arduino IDE. Če se prvič igrate z Arduinom, vam priporočam, da preverite nekaj navodil, kako to storiti. V spletu je že veliko vaj, zato ne bom šel v podrobnosti.

Knjižnica

Odločil sem se, da bom namesto priljubljenega Adafruit uporabil knjižnico FastLED. Ima nekaj čednih matematičnih funkcij, s katerimi lahko naredite odlične učinke (palec do razvijalcev!). Knjižnico lahko najdete v njihovem skladišču GitHub, vendar sem dodal datoteko.zip različice, ki jo uporabljam v svoji kodi.

Če se sprašujete, kako dodati zunanjo knjižnico v Arduino IDE, lahko preverite nekaj že narejenih navodil

Za modul ure sem uporabil knjižnico Arduino za uro realnega časa DS3231 (RTC) (povezava), ki jo lahko enostavno namestite v Arduino IDE. Ko ste v IDE, kliknite na Skica → Vključi knjižnico → Upravljanje knjižnic … in nato filtrirajte iskanje z zgornjim imenom.

Opomba: Iz nekega razloga trenutno ne morem dodati datotek.zip. Knjižnico najdete v mojem skladišču GitHub.

7. korak: programska oprema - koda

Programska oprema - Koda
Programska oprema - Koda
Programska oprema - Koda
Programska oprema - Koda

Struktura

Aplikacija je sestavljena iz 4 datotek:

  • LEDclokc.ino To je glavna aplikacija Arduino, kjer najdete funkcije za nadzor celotne ure - začnejo se s predpono CLOCK_.
  • LEDclokc.h tukaj določa pin povezavo in nekatere konfiguracije ure.
  • ring.cpp in ring.h tukaj je moja koda za nadzor LED obročev.

LED ura.h

Tu boste našli vse definicije ure. Na začetku obstajajo definicije ožičenja. Prepričajte se, da so enake kot vaše povezave. Potem so še nastavitve ure - tukaj lahko najdete makro za število načinov, ki jih ima ura.

LED ura.ino

Na diagramu je predstavljena glavna zanka. Koda najprej preveri, ali je pritisnjen kateri koli gumb. Zaradi narave stikal moramo za branje njihovih vrednosti uporabiti metodo debbouncing (več o tem lahko preberete na povezavi).

Ko pritisnete gumb 1, se spremenljivi način dvigne za 1, če pritisnete gumb 2, se dvigne vrsta spremenljivke. S temi spremenljivkami določimo, kateri način ure želimo videti. Če hkrati pritisnete oba gumba, se pokliče funkcija CLOCK_setTime (), tako da lahko spremenite čas ure.

Kasneje koda prebere vrednost potenciometra in jo shrani v spremenljivko - s tem uporabnikom lahko spremenite barve ure, svetlost itd.

Potem je podana izjava o stikalu. Tu določimo, v katerem načinu delovanja je ura trenutno in s tem načinom se pokliče ustrezna funkcija, ki nastavi barve LED. Dodate lahko svoje načine ure in ponovno napišete ali spremenite funkcije.

Kot je opisano v knjižnici FastLED, morate na koncu poklicati funkcijo FastLED.show (), ki LED sveti v barvo, na katero smo jih prej nastavili.

Med kodnimi vrsticami lahko najdete veliko podrobnejše opise

Celotna koda je priložena spodaj v spodaj navedenih datotekah.

NAMIG: celoten projekt najdete v mojem skladišču GitHub. Tukaj se bo koda tudi posodobila, če ji bom dodal kakršne koli spremembe.

8. korak: Naredite uro

Naredite uro
Naredite uro
Naredite uro
Naredite uro
Naredite uro
Naredite uro

Okvir ure

Okvir ure sem izdelal s CNC strojem in lesom debeline 25 mm. Skico, narisano v ProgeCAD -u, je priložena spodaj. Reže za LED obroč so nekoliko večje, ker proizvajalci ponujajo samo meritve zunanjega premera - notranji se lahko precej razlikujejo … Na zadnji strani ure je veliko prostora za elektroniko in žice.

PVC obroči

Ker so LED diode precej svetle, jih je dobro nekako razpršiti. Najprej sem poskusil s prozornim silikonom, ki se razprši, vendar je precej grdo in težko ga je zgladiti. Zato sem naročil kos "mlečne" PVC plastike velikosti 20x20 cm in vanj s CNC strojem izrezal dva obroča. Za mehčanje robov lahko uporabite brusni papir, da obroči zdrsnejo v reže.

Stranske luknje

Potem je čas, da izvrtate luknje za gumbe, potenciometer in priključek za napajanje. Najprej narišite vsak položaj s svinčnikom, nato izvrtajte luknjo. Tukaj je odvisno, kakšne vrste gumbov imate - šel sem z gumbi z rahlo ukrivljeno glavo. Imajo premer 16 mm, zato sem uporabil vrtalnik za les te velikosti. Enako velja za potenciometer in priključek za napajanje. Po tem izbrišite vse risbe s svinčnikom.

9. korak: Narišite v gozdu

Nariši v gozdu
Nariši v gozdu
Nariši v gozdu
Nariši v gozdu
Nariši v gozdu
Nariši v gozdu

Odločil sem se, da v lesu narišem nekaj kazalcev ur - tukaj lahko uporabite svojo domišljijo in si sami oblikujete. Les sem zažgal s spajkalnikom, segretim na največjo temperaturo.

Da so bili krogi lepo okrogli, sem uporabil kos aluminija, vanj sem izvrtal luknjo in s spajkalnikom sledil robom luknje (poglejte sliko). Prepričajte se, da aluminij držite trdno, da med risanjem ne zdrsne. Pri tem bodite previdni, da preprečite poškodbe.

Če rišete in želite, da so lepo poravnane s slikovnimi pikami ure, lahko uporabite »Način vzdrževanja«, ki vam bo pokazal, kje se bodo slikovne pike nahajale (pojdite na poglavje Sestavi).

Zaščitite les

Ko ste zadovoljni z uro, je čas, da jo pobrusite in zaščitite z lakom za les. Za mehčanje robov sem uporabil zelo mehak brusni papir (vrednost 500). Priporočam, da uporabite prozoren lak za les, da se barva lesa ne spremeni. Na čopič nanesite majhno količino laka in ga potegnite v smeri enoletnic v lesu. Ponovite vsaj 2 -krat.

10. korak: Sestavite

Assamble
Assamble
Assamble
Assamble
Assamble
Assamble

Jele so postavile gumbe in potenciometer na njihova mesta - če so vaše luknje prevelike, jih lahko pritrdite z vročim lepilom. Nato obročni trak vstavite v reže in žice povežite z Arduinom. Preden lepilni obroč prilepite na svoje mesto, je dobro, da se prepričate, da so LED -pike na pravem mestu - centrirane in poravnane z risbo. V ta namen sem dodal tako imenovani način vzdrževanja, ki bo prikazal vse pomembne slikovne pike (0, 5, 10, 15,… pri minutnem zvonjenju in 3, 6, 9 in 12 pri urnem zvonjenju). V ta način lahko vstopite tako, da pritisnete in držite oba gumba, preden priključite napajalnik na priključek. Ta način lahko zapustite s pritiskom na kateri koli gumb.

Ko poravnate LED obroče, nanesite nekaj vročega lepila in jih držite, dokler se lepilo ne strdi. Nato vzemite svoje PVC obroče in še enkrat: na LED nanesite nekaj vročega lepila, jih hitro postavite in jih držite nekaj sekund. Na koncu, ko ste prepričani, da vse deluje, lahko vroče lepite ploščo (ali Arduino) na les. Nasvet: ne nanašajte na veliko lepila. Le majhna količina, tako da lahko ostane na enem mestu, vendar jo lahko enostavno odstranite, če želite kasneje kaj spremeniti.

Na samem koncu vstavite gumbasto baterijo v držalo.

11. korak: Nadgradnja - fotorezistor

Nadgradnja - fotorezistor
Nadgradnja - fotorezistor
Nadgradnja - fotorezistor
Nadgradnja - fotorezistor
Nadgradnja - fotorezistor
Nadgradnja - fotorezistor

Učinki ure so še posebej lepi v temi. Toda to lahko moti uporabnika ponoči, medtem ko spi. Zato sem se odločil, da uro nadgradim s funkcijo samodejnega popravljanja svetlosti - ko se v temi zatemni; ura ugasne LED diode.

V ta namen sem uporabil svetlobni senzor - foto upor. Njegov odpor se bo znatno povečal; do nekaj mega ohmov, ko je temno, in bo imel le nekaj sto ohmov, ko na njem sije svetloba. Skupaj z običajnim uporom tvorijo delilnik napetosti. Torej, ko se upor svetlobnega senzorja spremeni, se spremeni tudi napetost na analognem zatiču Arduino (kar lahko izmerimo).

Pred spajkanjem in sestavljanjem katerega koli vezja ga je pametno najprej simulirati, tako da lahko vidite obnašanje in popravite. S pomočjo Autocad Tinkercada lahko storite točno to! Z le nekaj kliki sem dodal komponente, jih povezal in napisal kodo. V simulaciji lahko vidite, kako se svetlost LED diod spreminja glede na vrednost foto upora. Je zelo preprost in enostaven - vabljeni k igranju s tokokrogom.

Po simulaciji je bil čas, da funkcijo dodamo uri. Na sredini ure sem izvrtal luknjo, zlepil foto upor, ga povezal, kot je vidno na vezju, in dodal nekaj vrstic kode. V datoteki LEDclock.h morate to funkcijo omogočiti tako, da označite USE_PHOTO_RESISTOR kot 1. S spreminjanjem vrednosti CLOCK_PHOTO_TRESHOLD lahko spremenite tudi, pri kateri svetlosti prostora bo ura zatemnila LED.

12. korak: Uživajte

Ko ga prvič vklopite, bo ura pokazala nekaj naključnega časa. Nastavite ga lahko tako, da hkrati pritisnete oba gumba. Z obračanjem gumba izberite pravi čas in ga potrdite s pritiskom na kateri koli gumb.

Navdih sem našel v nekem zelo čednem projektu na internetu. Če se odločite, da boste uro izdelali sami, si jih oglejte! (NeoClock, Wol Clock, Arduino Colorful Clock) Če se kdaj odločite, da boste sledili navodilom, upam, da vam bo všeč tako kot meni.

Če naletite na kakršne koli težave v procesu priprave, mi v komentarjih postavite kakršno koli vprašanje - z veseljem vam bom poskušal odgovoriti!

Priporočena: