Kazalo:
- 1. korak: Ohišje za uro
- 2. korak: Neopiksli
- 3. korak: Prilagajanje sprednjega besedila
- 4. korak: Popoln mavrični učinek
- 5. korak: Različne komponente
- 6. korak: Koda za uro
- 7. korak: Opis strojne opreme
- 8. korak: LDR za nadzor svetlosti neopikslov
- 9. korak: Zmanjšajte porabo energije WS2812B
- 10. korak: Nasmeh na ure Word
- 11. korak: Katere knjižnice se uporabljajo
- Korak: Enostaven IR daljinski upravljalnik
- 13. korak: Kakšni sosedje?
Video: Mavrična besedna ura s popolnim mavričnim učinkom in še več: 13 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Cilji
1) Enostavno
2) Ni drago
3) Čim bolj energetsko učinkovit
Mavrična besedna ura s polnim mavričnim učinkom.
Nasmeh na besedni uri.
Enostaven IR daljinski upravljalnik
Posodobite LDR 03-nov-18 za nadzor svetlosti neopikslov
Posodobitev 01-jan-19 Zmanjšanje porabe energije WS2812B.
Posodobite 15-jan-19 Smiley.
Posodobitev 23-jan-19 Koda 1.6
Posodobite povezave knjižnic 10. marca 19
Posodobitev 14. april-19 različica 1.7 Izbira smeška za vklop/izklop barvnega vzorca mavrica/popravek enz.
Zadnja posodobitev 01-jun-19 različica 2.0 IR daljinski upravljalnik in prenova kode
1. korak: Ohišje za uro
Z nekaj preprostimi orodji in malo spretnosti ni težko narediti ure za črke. Uporabil sem materiale, ki so mi na voljo.
Za primer sem uporabil grobo borovo palico, v katero sem zarezal nekaj okvirjev. Tako bi nastale štiri strani ohišja, ki so bile zlepljene skupaj in ojačane z majhnim kosom lesa v vogalih. Nato les potrebuje brušenje in barvanje.
Črke tiskalnik izreže iz folije v zrcalnem pisanju. Folija je na zadnji strani steklene plošče in je prekrita z dvoslojnim vzorčnim papirjem za boljšo porazdelitev svetlobe. Steklo je pritrjeno s silikonsko tesnilno maso.
2. korak: Neopiksli
LED diode Neopixels so razporejene na leseni plošči. Pri tem najprej izvrtate 3 mm luknje. Spredaj so povečane na črko do globine 3/4. Nato se 3 mm zadaj poveča na 10 mm, to je velikost neopiksela. Za nekatere znake, med drugim W, je treba luknjo nekoliko prilagoditi.
Uporabil sem vezane plošče, ki so se hitro razcepile, MDF je morda boljši.
Pri posameznih LED diodah niste vezani na fiksno razdaljo, kar velja za LED trakove. LED morajo biti povezani med seboj. To lahko storite z vsemi kratkimi kosi žice. Toda dve min (-) povezavi sta podobni dvema plus (+) povezavama, ki sta notranje povezani, torej ista povezava.
Prihranite si lahko veliko dela, tako da kos žice spajkate na levo LED in nato na desno LED. Nato vmesne spajkajte.
Podatkovna povezava mora biti seveda s kratkimi kosi, ker izhod podatkov gre v podatkovni vhod.
3. korak: Prilagajanje sprednjega besedila
Sprednja plošča je zdaj v nizozemščini, vendar jo preprosto pretvorite v kateri koli jezik.
Lučke NeoPixels se tukaj zaporedoma preklopijo od 0-167. Oštevilčenje poteka od prve vrstice zgoraj levo proti desni, nato pa do druge vrstice od desne proti levi itd. Prilagoditev je možna glede na vaše potrebe. Število NeoPixels je določeno s količino znakov. V naslednji vrstici lahko prilagodite manj ali več neopikslov
#define NUMPIXELS 168 // Koliko NeoPixel je priključenih na Arduino?
168 je več kot drugo število. Številčenje se začne pri 0. Ustvarite lahko poljubno besedilo. Če spremenite besedilo, boste morali prilagoditi tudi ustrezne besede. Številčenje ostaja enako.
Kot primer se DRIE zapisnika določi v kodi
void zetmDrie () {
Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // min-drie
}
Če želite izgovoriti besedo Arduino, gre takole:
void zetArduino () {
Led_Aan [38] = 1, Led_Aan [50] = 1, Led_Aan [56] = 1, Led_Aan [93] = 1;
Led_Aan [120] = 1, Led_Aan [135] = 1, Led_Aan [147] = 1; // Beseda-arduino
}
Tako lahko vmes pišete besede.
Za ure z uro je koristno, če tvorijo sosednjo besedo, vendar to ni nujno. Neuporabljene črke ne potrebujejo neonskih slikovnih pik. Vse imam napolnjene za uporabo prihodnjih možnosti, razen prikazanega časa.
Če spremenite začetno točko ali spremenite zaporedje, se bo oštevilčenje ustrezno spremenilo.
4. korak: Popoln mavrični učinek
Ura je zdaj tako programirana, da se šteje število krat na sekundo, koliko neopikslov je vklopljenih.
Celoten spekter je približno število razdeljenih in nato rahlo premaknjenih. Posledično ima vsak Neopixel drugačno barvo, ki se nenehno spreminja. Neopixel nr 1 in nr 167 si sledita pri nekaterih barvah.
Če imate raje manj različnih barv hkrati, je to enostavno prilagoditi. Barva se še vedno premika po celotnem spektru, vendar z manjšim delom. Neopixel nr 1 in nr 167 si ne sledita več neke barve.
Svetlost lahko nastavite v naslednji vrstici, pixels.setBrightness (150);
Manjše število je manj, večje število pa svetlost.
5. korak: Različne komponente
Uporabil sem naslednje komponente
Arduino Pro Mini ATMEGA328 5V/16MHz
Modul ure DS3231
168 kosov LED-čipov WS2812 LED in hladilnika Neopixel 5V 5050 RGB WS2811 IC Vgrajen
Šablona iz črne folije
Sprejemnik DCF77
6. korak: Koda za uro
Tukaj je koda. Dodan je nadzor svetlosti in izklop, ko ni nikogar in ponoči.
Dodan radarski mikrovalovni senzor gibanja RCWL-0516 (poiščite RADAR)
Po 10 minutah brez premikanja NeoPixels ugasne.
O različici 2.0
Uporaba pomnilnika je bila prevelika, opozorila v prevajalniku pa zmanjkajo. Zato sem kodo popolnoma spremenil, vendar je operacija ostala enaka in dodan je IR sprejemnik.
Obstaja del kode, ki EEPROM -u posreduje podatke. To zaženite enkrat tako, da začasno odstranite / * in * /. Poiščite => enkrat zaženite to, da EEPROM -u zagotovite podatke
Na začetku void zanke je koda za branje kode z vašega daljinskega upravljalnika. To lahko zaženete tako, da začasno odstranite / * in * /, nato pa jih ne pozabite postaviti nazaj. Določite lahko tudi svoje gumbe. Prebrano kodo morate vnesti v => Tu določite svoje gumbe
Samsungov daljinski upravljalnik deluje bolje kot (zelo poceni) preprost.
7. korak: Opis strojne opreme
Obstajajo različne različice Arduino Pro Mini. Upoštevajte, da se povezave lahko razlikujejo.
Dodan mikrovalovni senzor gibanja RCWL-0516.
Dokler se giblje v bližini ure, NeoPixel ostane vklopljen
in takoj, ko ni več gibanja, se NeoPixel po nekaj minutah ugasne.
V različici 2.0 se napajalnik DCF77 napaja prek zatiča 13. Ta zatič je definiran kot izhod in je nastavljen visoko, ko je naslovljena rutina DCF77. Sprejemnik DCF77 uporablja 0,28 mA in je potreben le nekaj minut na dan.
Izklop shrani
5 voltov * 0,28 mA / 1000 * 24 ur * 365 dni * 1 / 0,85 učinkovito napajanje = 14,4 vata na leto.
To se ne zdi veliko, a vsak delček pomaga.
8. korak: LDR za nadzor svetlosti neopikslov
Dodan LDR za nadzor svetlosti neopikslov.
LDR sem zlepil v prostor neopixela 103. Ta se ne uporablja v prikazu časa in zato ne vpliva na regulacijo. Papir duši vpadno svetlobo, vendar to ni problem.
Delilnik napetosti LDR in 20 kohm upor gre na A0 Arduino Pro Mini. Napetost je pokazatelj jakosti svetlobe in zato tudi pokazatelj količine svetlobe, ki jo morajo dati neopiksli.
Formula, ki jo uporabljam, mi omogoča dobro kontrolo svetlobe, ki jo lahko prilagodimo glede na okoliščine. Odvisno od količine svetlobe se lahko napetost giblje med 0 in 5 voltov, kar se pretvori v 0 do 1024 števk, ki so v "LDRValue".
Če je nova izmerjena vrednost večja od zadnje izračunane vrednosti, se intenzivnost poveča za 1, če je nižja od zmanjšane za 1 in če je enaka, se ne naredi nič. Da bi vrednost potekala počasi, tako da ni utripajočega učinka, se samo 1 poveča ali zmanjša in ker je izračun v zanki, se preračuna šele po 25 -kratnem prehodu zanke.
Intenzivnost je teoretično najmanj 20 in največ 1024/7 + 45 = 191. Največja vrednost, ki sem jo izmeril, je bila 902, kar pomeni intenzivnost 173. To se dobro ujema s 150, ki sem jih nastavil kot privzeto vrednost. (glejte slikovne pike. setBrightness (150))
V različici 2.0 lahko nadzor nastavite z daljinskim upravljalnikom. Dodani so bili naslednji parametri: Brightness_min kot minimalna in Brightness_max kot največja nastavitev in Brightness_Offset kot nastavitveni parameter. Svetlost_min in _max sta vrednosti, ki so lahko odvisne od vašega položaja. Brightness_Offset je vrednost, ki jo lahko nastavite z daljinskim upravljalnikom in s katero lahko nastavite več ali manj svetlosti.
Obstaja tudi mrtvi pas 3 med izmerjeno vrednostjo LDRValue in izračunanimi vrednostmi BerLDRValue.
Za preverjanje nastavitve svetlosti uporabite izjave o tiskanju v void BrightnessControl.
9. korak: Zmanjšajte porabo energije WS2812B
Gonilniki na naslovnih neopikslih WS2812B črpajo tok tudi, ko so neopiksli izklopljeni, nastavljeno na barvo 0 (elementi neopikslov ne svetijo).
Ko izgine vseh 169 neopikslov, merim 69 mA na neopiksle. Ob predpostavki, da je ura 12 ur na dan izklopljena, skupni izklop prihrani: 5 (napajanje z voltom) * 69/1000 (miliampere / 1000 = amper) * 12 (število ur na dan) * 365 (število dni v leto) = 1511 vatnih ur. Torej na letni ravni 1,5 kWh. Strinjam se, samo po sebi ni veliko, a veliko majhnih je veliko.
Vezje je preprosto. Plus napajalnika preklopi P-kanalni MosFet. Radarski senzor določa, ali so neopiksli vklopljeni ali izklopljeni. Dva parametra MosFet sem postavil vzporedno, da bi ohranili upor ON čim manjši zaradi izgube MosFetov. Pri normalni uporabi merim 4, 5 milivoltov preko MosFetov. Vrata se upravljajo z izhodom 4 iz Arduina preko upora 470 Kohm. Če se digitalno izhod spusti na (0), so neopiksli vklopljeni, na visoki (1) pa izklopljeni.
10. korak: Nasmeh na ure Word
Nasmeh na besedni uri.
Na uri se občasno pojavi smehljaj, ki pa vas razveseli.
Nasmeh sproži radarski senzor. Število premikov (nastavljivo) je merilo videza smeška. Znaki % kažejo, da je bilo zaznano gibanje. Z vsakim desetim (nastavljivim) gibom se Smiley prikaže z Winky Faceom in po treh krat Winky Face prihaja četrtič Smiley Face, ki drži jezik ven.
Nasmeh je majhna sprememba kode.
11. korak: Katere knjižnice se uporabljajo
Katere knjižnice se uporabljajo.
Uporabljam jih v sistemu Windows 7 z Arduino IDE 1.6, testirani pa so bili tudi v sistemu Windows 10 z Adruino IDE 1.8.8
RTClib-master
Arduino-DS3231-master
Adafruit_NeoPixel-master
Arduino-DCF77-master
Knjižnica IRremote Kena Shirriffa
Ker je glede uporabljene knjižnice vedno zmeda, dodam tisto, ki jo uporabljam.
Knjižnica IRremote uporablja veliko pomnilnika. V IRremote.h je navedeno, da lahko onemogočite kateri koli neuporabljen protokol
// Vsak vključen protokol stane pomnilnik in med dekodiranjem stane čas // Onemogoči (nastavljeno na 0) vse protokole, ki jih ne potrebujete/ne želite!
Onemogočil sem vse razen protokola NEC in Samsung. Tako prihranite 10%pomnilnika. Trenutno ni več težav s količino pomnilnika, zato onemogočanje zaenkrat ni potrebno.
Korak: Enostaven IR daljinski upravljalnik
Montaža
Kot lahko vidite na fotografijah, se je izkazalo, da je luknja za LED 132 malo prevelika. To sem dobro izkoristil in ji dodal IR sprejemnik. Priključite podatkovni zatič IR sprejemnika VS1838 na pin 7 Arduina. Nadalje priključite plus in minus napajanje. IR sprejemnik porabi 0,21 mA in bi ga lahko po stikalu FET priključili tudi na plus napajanje. S tem prihranite 5 V * 0,21 mA / 1000 * 12 ur * 365 dni * 1 / 0,85 učinkovitosti napajanja = 5,4 W na leto, če ura deluje na 50% časa. To se ne zdi veliko, a vsak delček pomaga.
Delovanje je naslednje
Pritisnite katero koli tipko na daljinskem upravljalniku IR in nato tipko OK. Ko prvič pritisnete, boste končali v IR obdelavi, drugič pa boste ugotovili, ali je bila to upravičena zahteva. Drugič mora OK hitro slediti prvemu pritisku tipke, ker se drugače vrne nazaj. To konstrukcijo sem naredil tako, da prve kode skoraj nisem pravilno dekodiral in zato ni končal pri IR obdelavi.
Ko ste v IR -upravljanju, se za informacije vklopijo nekatere LED diode, za pojasnilo preberite več in si oglejte prvo sliko.
Opis je za preprost daljinski upravljalnik, lahko pa uporabite kateri koli daljinski upravljalnik in določite svoje ključe. Uporabil sem tudi daljinski upravljalnik Samsung.
Prve štiri tipke ustrezajo zgornjim štirim vrstam LED. Štiri LED svetijo levo ali desno, odvisno od nastavitve. Ko pritisnete tipke 1 do 4, se stanje obrne in shrani v pomnilnik.
1 fiksna barva ali mavrični učinek
2 sekundi izklopljena ali druga vklopljena bliskavica
3 smeh izklop smeško naprej
4 DCF77 izklopljen ali DCF77 vklopljen
Številka ključa je prikazana na naslednjih tipkah
5 števec smeškov
6 širina mavričnega spektra
7 popravi rdečo nastavitev
8 Popravi zeleno nastavitev
9 popravi modro nastavitev
Vrstice 6, 7 in 8 LED sedaj ustrezajo nastavljeni vrednosti, vrstica 6 označuje enote, vrstica 7 desetice in vrstica 8 sto. Vsaka vrstica se začne z vrednostjo nič. Torej je prva led v vrsti 0, druga je 1 itd.
0 nastavitev časa
/\ nastavitev svetlosti
Ko pritisnete gumb 0, zasvetijo "deset" LED, ki označujejo, da želite nastaviti čas, in ko drugič pritisnete 0, se na zaslonu prikaže nastavljeni čas.
Zdaj lahko nastavite čas in se prikaže na zaslonu.
Nastavite pravilen čas in nato, če so minute enake na referenčni uri, pritisnite gumb OK.
Čas je prilagojen.
Če ne pritisnete gumbov minut ali ur, se čas ne spremeni. Če jih pritisnete, bo čas nastavljen takoj.
Vrednost tipk 5 do 9 lahko spremenite s tipkami
desno je plus 1
levo je minus 1
naprej je plus 10
vzvratno je minus 10.
in za nastavitev časa
desno je plus 1 minuta
levo je minus 1 minuta
naprej je plus 1 ura
vzvratna vožnja je minus 1 ura
Včasih se zgodi, da pritisk tipke ne prepozna ali se izvede dvakrat. Zato bodite pozorni, če je nastavitev v redu, sicer poskusite ali popravite znova. Samsungov daljinski upravljalnik, ki sem ga tudi preizkusil, je deloval velikokrat bolje kot (zelo poceni) preprost daljinski upravljalnik.
Pri nastavljanju barve vidite spremembo neposredno na celotnem zaslonu. Za spletno mesto s pregledom barv glejte https://www.helderester.nl/kleurentabel.html. Seveda lahko nastavite katero koli vrednost.
Če ima širina mavričnega spektra vrednost 0, je spekter zelo ozek in zaslon ima eno barvo, ki se nenehno spreminja.
Pomanjkljivost nastavitve časa na ta način je, da ne morete izračunati prehoda poletje / zima, ker imamo datum napačen. Za uro samo to ni pomembno, ker je zdaj ne uporabljamo.
13. korak: Kakšni sosedje?
Sledi zvok, če je prostega pomnilnika še dovolj.
Škatle za zvočnike že imam. So iz starega prenosnika.
Priporočena:
Proračunska besedna ura Arduino RGB!: 7 korakov (s slikami)
Proračunska besedna ura Arduino RGB!: Pozdravljeni vsi, tukaj je moj vodnik, kako narediti preprosto & poceni besedna ura! Orodja, ki jih potrebujete za ta projekt Spajkalnik & Spajkalne žice (v idealnem primeru vsaj 3 različne barve) 3D tiskalnik (ali dostop do enega, lahko tudi
Sinhronizirana besedna ura NTP: 6 korakov (s slikami)
NTP Sinhronizirana Word ura: Sinhronizirajte uro s časovnim strežnikom NTP, da bodo lahko preverili pravi čas, če je prišlo do zatemnitve, če niste doma :-)
Mavrična ura iz matematike in fizike: 3 koraki (s slikami)
Mavrična ura Math-Physics: Pred časom sem imel idejo ustvariti svojo fizično/matematično uro, zato sem jo začel oblikovati v Inkscapeu. Vsako uro, od 1 do 12, sem zamenjal s formulo za fiziko/matematiko: 1 - Eulerjeva enačba 2 - Integral 3 - Trigonometrična funkcija4 - Integral trigonoma
Okrogla besedna ura (v nizozemščini in angleščini!): 8 korakov (s slikami)
'Okrogla' besedna ura (v nizozemščini in angleščini!): Pred nekaj leti sem prvič videla besedno uro na internetu. Od takrat sem si vedno želel narediti enega sam. Na voljo je veliko Instructables, vendar sem želel narediti nekaj izvirnega. O elektroniki ne vem veliko, zato sem uporabil
Besedna ura z mavričnim učinkom in osvetlitvijo ozadja .: 6 korakov
Besedna ura z mavričnim učinkom in osvetlitvijo ozadja. Začetek je tam. Sprednja plošča je 40 x 40 cm in je pripravljena