Obsah:
- Krok 1: Puzdro na hodiny
- Krok 2: Neopixely
- Krok 3: Úprava predného textu
- Krok 4: Plný dúhový efekt
- Krok 5: Rôzne komponenty
- Krok 6: Kód pre hodiny
- Krok 7: Popis hardvéru
- Krok 8: LDR na ovládanie jasu neopixelov
- Krok 9: Zníženie spotreby energie WS2812B
- Krok 10: Smajlík na hodinách s hodinami
- Krok 11: Aké knižnice sa používajú
- Krok 12: Jednoduché IR diaľkové ovládanie
- Krok 13: Aké ďalšie?
Video: Hodiny s dúhovým slovom s plným efektom dúhy a ďalšie: 13 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Ciele
1) Jednoduché
2) Nie je to drahé
3) Energeticky najefektívnejšie, ako je to možné
Hodiny Rainbow Word s plným dúhovým efektom.
Smajlík na hodinách slova.
Jednoduché IR diaľkové ovládanie
Aktualizujte 03. novembra-18 LDR na ovládanie jasu neopixelov
Aktualizácia 01-jan-19 Zníženie spotreby energie WS2812B.
Aktualizácia 15. januára-19 Smiley.
Aktualizácia 23. januára-19, kód 1.6
Aktualizujte odkazy na knižnice 10-mar-19
Aktualizácia 14. apríla 19, verzia 1.7, Voľba smajlíka zapnúť/vypnúť farbu dúhy/opraviť enz.
Posledná aktualizácia 01-jún-19 verzia 2.0 IR diaľkové ovládanie a redizajn kódu
Krok 1: Puzdro na hodiny
S niekoľkými jednoduchými nástrojmi a trochou zručnosti nie je ťažké vyrobiť listové hodiny. Použil som materiály, ktoré mám k dispozícii.
Na puzdro som použil hrubú borovicovú lištu, v ktorej som napílil niekoľko rámov. Výsledkom by boli štyri strany puzdra, ktoré boli zlepené a v rohoch vystužené malým kúskom dreva. Potom drevo potrebuje brúsenie a lakovanie.
Písmená sú vystrihnuté z fólie tlačiarňou zrkadlovým písmom. Fólia je na zadnej strane sklenenej platne a je potiahnutá dvojvrstvovým vzorovým papierom pre lepšie rozloženie svetla. Sklo je fixované silikónovým tmelom.
Krok 2: Neopixely
LED diódy Neopixels sú usporiadané na drevenej doske. Najprv vyvŕtajte 3 mm otvory. Vpredu sú zväčšené na veľkosť písmena do 3/4 hĺbky. Potom sa 3 mm vzadu zvýši na 10 mm, to je veľkosť Neopixelu. Pri niektorých postavách, medzi inými na Z, by mala byť diera mierne upravená.
Použil som preglejku, ktorá sa rýchlo odštiepila, MDF môže byť lepšia.
Pri jednotlivých LED diódach nie ste viazaní na pevnú vzdialenosť, čo je prípad LED pásikov. LED diódy musia byť navzájom prepojené. Môžete to urobiť so všetkými krátkymi kusmi drôtu. Ale dve min (-) pripojenia sú rovnaké ako dve plus (+) pripojenia interne prepojené, takže rovnaké spojenie.
Pripájaním kúska drôtu k ľavej LED a potom k pravej LED dióde si môžete ušetriť veľa práce. Potom spájajte medziľahlé.
Dátové pripojenie musí byť samozrejme krátke, pretože výstup údajov smeruje k vstupu údajov.
Krok 3: Úprava predného textu
Predná doska je teraz v holandčine, ale dá sa jednoducho previesť v akomkoľvek jazyku.
Tu sa LED diódy NeoPixels prepínajú postupne od 0 do 167. Číslovanie prechádza z prvého radu vľavo hore vpravo a potom do druhého radu sprava doľava atď. Úpravu je možné vykonať podľa vlastných potrieb. Počet NeoPixelov je určený počtom znakov. V nasledujúcom riadku je možné nastaviť menej alebo viac Neopixelov
#define NUMPIXELS 168 // Koľko NeoPixelov je pripojených k Arduinu?
168 je viac ako iné číslo. Číslovanie začína od 0. Môžete vytvoriť ľubovoľný text. Ak zmeníte text, budete musieť tiež upraviť zodpovedajúce slová. Číslovanie zostáva rovnaké.
V kóde je napríklad určené SUŠENIE zápisu
void zetmDrie () {
Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // min-drie
}
Ak chcete urobiť slovo Arduino, vyzerá to takto:
neplatné 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; // Word-arduino
}
Môžete medzi nimi teda vytvárať slová.
Pre hodinové slová je užitočné, ak tvoria súvislé slovo, ale nie je to nevyhnutné. Nepoužité písmená nepotrebujú neonpixely. Všetky ich mám naplnené na využitie budúcich možností iných, ako je zobrazovaný čas.
Ak zmeníte počiatočný bod alebo zmeníte postupnosť, číslovanie by sa malo zodpovedajúcim spôsobom zmeniť.
Krok 4: Plný dúhový efekt
Hodiny sú teraz tak naprogramované, že sa počíta, koľkokrát za sekundu je zapnutých neopixelov.
Celkové spektrum je o počte rozdelených a potom mierne posunutých. Výsledkom je, že každý Neopixel má inú farbu, ktorá sa priebežne mení. Neopixel č. 1 a č. 167 na seba nadväzujú v niektorých farbách.
Ak dávate prednosť menej rôznym farbám súčasne, je ľahké to prispôsobiť. Farba sa stále posúva v celom spektre, ale s jeho menšou časťou. Neopixel č. 1 a č. 167 už na seba niektoré farby nenadväzujú.
Jas je možné nastaviť v nasledujúcom riadku, pixelov.setJas (150);
Menšie číslo je menšie a väčšie číslo zvyšuje jas.
Krok 5: Rôzne komponenty
Nasledujúce komponenty som použil
Arduino Pro Mini ATMEGA328 5V/16MHz
Hodinový modul DS3231
168 kusov Neopixelov LED vstavaný WS2812 LED čip a chladič 5V 5050 RGB WS2811 IC vstavaný
Fóliová šablóna na list
Prijímač DCF77
Krok 6: Kód pre hodiny
Tu je kód. Pridané ovládanie jasu a vypnutie, keď nie je nikto prítomný a v noci.
Pridaný radarový mikrovlnný snímač pohybu RCWL-0516 (vyhľadajte RADAR)
Po 10 minútach bez pohybu NeoPixels zhasnú.
O verzii 2.0
Využitie pamäte bolo príliš veľa, pretože v kompilátore dochádzalo k upozorneniam na pamäť. Preto som úplne zmenil kód, ale prevádzka zostala rovnaká a bol pridaný IR prijímač.
Na poskytnutie údajov do EEPROM existuje kúsok kódu. Spustite to raz dočasným odstránením súborov / * a * /. Hľadajte => spustite to raz, aby ste získali údaje do EEPROM
Na začiatku prázdnej slučky je kód na čítanie kódu z vlastného diaľkového ovládača. Môžete to spustiť dočasným odstránením / * a * /, nezabudnite ich potom vrátiť späť. Môžete tiež definovať svoje vlastné tlačidlá. Načítaný kód je potrebné zadať v => Tu definujte svoje vlastné tlačidlá
Diaľkové ovládanie Samsung funguje lepšie ako (veľmi lacné) jednoduché.
Krok 7: Popis hardvéru
Existujú rôzne verzie Arduino Pro Mini. Upozorňujeme, že pripojenia sa môžu líšiť.
Pridaný mikrovlnný snímač pohybu RCWL-0516.
Pokiaľ sa v blízkosti hodín pohybuje, NeoPixel zostáva zapnutý
a akonáhle už nie je žiadny pohyb, NeoPixel sa po niekoľkých minútach vypne.
Vo verzii 2.0 je prijímač DCF77 napájaný pinom 13. Tento pin je definovaný ako výstup a je nastavený vysoko, keď je adresovaná rutina DCF77. Prijímač DCF77 používa 0,28 mA a je potrebný iba na niekoľko minút denne.
Vypnutie šetrí
5 voltov * 0,28 mA / 1000 * 24 hodín * 365 dní * napájací zdroj s účinnosťou 1 / 0,85 = 14,4 wattov ročne.
Zdá sa to málo, ale každý kúsok pomôže.
Krok 8: LDR na ovládanie jasu neopixelov
Pridaný LDR na ovládanie jasu neopixelov.
Vlepil som LDR do priestoru neopixelu 103. Tento sa nepoužíva na zobrazenie času, a preto neovplyvňuje reguláciu. Papier tlmí dopadajúce svetlo, ale to nie je problém.
Delič napätia LDR a odporu 20 kohm ide do A0 Arduino Pro Mini. Napätie je indikátorom intenzity svetla a teda aj indikátorom množstva svetla, ktoré musia neopixely vydať.
Vzorec, ktorý používam, mi dáva dobrú kontrolu nad svetlom, dá sa upraviť v závislosti od okolností. V závislosti od množstva svetla sa napätie môže líšiť od 0 do 5 voltov, ktoré sa prevedie na 0 až 1024 impulzov, ktoré sú v „LDRValue“.
Ak je nová nameraná hodnota väčšia ako posledná vypočítaná hodnota, intenzita sa zvýši o 1, ak je nižšia ako znížená o 1 a ak je rovnaká, nič sa neurobí. Aby hodnota postupovala pomaly, aby nedochádzalo k blikaniu, iba 1 sa zvýši alebo zníži a pretože výpočet je v slučke, prepočíta sa iba po 25 -násobnom prechode slučky.
Intenzita je teoreticky minimálne 20 a maximálne 1024/7 + 45 = 191. Maximálna hodnota, ktorú som nameral, bola 902, čo predstavuje intenzitu 173. To sa dobre hodí k 150, ktoré som nastavil ako predvolenú hodnotu. (pozri pixely.setBrightness (150))
Vo verzii 2.0 môžete ovládať pomocou diaľkového ovládača. Boli pridané nasledujúce parametre: Brightness_min ako minimum a Brightness_max ako maximálne nastavenie a Brightness_Offset ako parameter nastavenia. Jas_min a _max sú hodnoty, ktoré môžu závisieť od vašej vlastnej situácie. Brightness_Offset je hodnota, ktorú je možné nastaviť pomocou diaľkového ovládača a pomocou ktorej je možné nastaviť viac alebo menej jasu.
Medzi nameranými hodnotami LDRValue a vypočítanými hodnotami BerLDRValue je tiež mŕtve pásmo 3.
Na kontrolu nastavenia jasu použite tlačové vyhlásenia v neplatnom ovládači BrightnessControl.
Krok 9: Zníženie spotreby energie WS2812B
Ovládače adresovateľných neopixelov WS2812B odoberajú prúd, aj keď sú neopixely vypnuté, nastavené na farbu 0 (nesvietia žiadne prvky neopixelov).
Keď je von všetkých 169 neopixelov, odmeriam 69 mA na neopixely. Za predpokladu, že sú hodiny vypnuté 12 hodín denne, úplné vypnutie potom ušetrí: 5 (napájací zdroj voltov) * 69/1000 (miliampér / 1000 = ampér) * 12 (počet hodín za deň) * 365 (počet dní v rok) = 1511 watthodín. Ročne teda 1,5 Kwh. Súhlasím, nie je to veľa samo o sebe, ale veľa malých robí veľký.
Obvod je jednoduchý. Plus napájania je spínaný P-kanálom MosFet. Radarový snímač určuje, či sú neopixely zapnuté alebo vypnuté. Vložil som dva súbežné prvky MosFet, aby bol odpor ON tak nízky, ako je to možné, kvôli strate MosFets. Pri bežnom používaní meriam nad MosFetami 4,5 a 5 voltov. Brána je ovládaná výstupom 4 z Arduina cez odpor 470 Kohm. Ak sa výstup digitálne zníži na (0), neopixely sú zapnuté a pri vysokej (1) sú vypnuté.
Krok 10: Smajlík na hodinách s hodinami
Smajlík na hodinách s hodinami.
Na hodinách sa občas objaví smajlík. To vás však robí šťastným.
Smiley je spustený radarovým senzorom. Počet pohybov (nastaviteľných) je mierou vzhľadu Smileyho. Znaky % naznačujú, že bol detekovaný pohyb. S každým desiatym (nastaviteľným) pohybom príde Smiley s Winky Face a po troch razoch s Winky Face po štvrtýkrát Smiley Face s vyplazeným jazykom.
Smiley je malá zmena v kóde.
Krok 11: Aké knižnice sa používajú
Aké knižnice sa používajú.
Používam ich vo Windows 7 s Arduino IDE 1.6 a boli testované aj vo Windows 10 s Adruino IDE 1.8.8
RTClib-master
Arduino-DS3231-master
Adafruit_NeoPixel-master
Arduino-DCF77-master
Knižnica IRremote Ken Shirriffa
Pretože ohľadom použitej knižnice je vždy zmätok, pridávam tú, ktorú používam.
Knižnica IRremote používa veľa pamäte. V IRremote.h sa uvádza, že môžete deaktivovať akýkoľvek nepoužívaný protokol.
// Každý protokol, ktorý zahrniete, stojí pamäť a počas dekódovania stojí čas // Vypnite (nastavte na 0) všetky protokoly, ktoré nepotrebujete/nechcete!
Mám zakázané všetko okrem protokolu NEC a Samsung. To ušetrí pamäť 10%. V súčasnosti už nie je problém s veľkosťou pamäte, takže deaktivácia nie je v súčasnosti potrebná.
Krok 12: Jednoduché IR diaľkové ovládanie
Zostava
Ako vidíte na fotografiách, otvor pre LED 132 sa ukázal byť príliš veľký. Toto som dobre využil a pridal som k tomu IR prijímač. Pripojte dátový pin IR prijímača VS1838 k pinu 7 Arduina. Ďalej pripojte plusové a mínusové napájanie. IR prijímač používa 0,21 mA a môže byť tiež pripojený k plusovému zdroju napájania po prepínači FET. To znamená, že ak sú hodiny zapnuté na 50% času, ušetríte 5 voltov * 0,21 mA / 1000 * 12 hodín * 365 dní * napájací zdroj s účinnosťou 1 / 0,85 = 5,4 wattu za rok. Zdá sa to málo, ale každý kúsok pomôže.
Prevádzka je nasledovná
Stlačte ľubovoľné tlačidlo na infračervenom diaľkovom ovládači a potom tlačidlo OK. Pri prvom stlačení skončíte v IR spracovaní a druhýkrát zistíte, či išlo o oprávnenú požiadavku. Druhýkrát musí OK rýchlo nasledovať po prvom stlačení klávesu, pretože inak sa vráti späť. Túto konštrukciu som vyrobil tak, že som sotva dostal prvý kód správne dekódovaný, a preto som neskončil v IR manipulácii.
Hneď ako začnete pracovať s IR, rozsvieti sa niekoľko LED diód, aby ste získali informácie, pre vysvetlenie si prečítajte ďalej a pozrite sa na prvý obrázok.
Popis je pre jednoduché diaľkové ovládanie, ale môžete použiť akékoľvek diaľkové ovládanie a definovať vlastné kľúče. Použil som aj diaľkové ovládanie Samsung.
Prvé štyri klávesy zodpovedajú horným štyrom radom diód LED. Štyri diódy LED sa v závislosti od nastavenia otáčajú doľava alebo doprava. Po stlačení klávesov 1 až 4 sa stav obráti a uloží sa do pamäte.
1 fixný farebný alebo dúhový efekt
2 sekundový blesk vypnutý alebo druhý zapnutý blesk
3 úsmev mimo úsmev ďalej
4 DCF77 vypnuté alebo DCF77 zapnuté
Číslo kľúča je zobrazené na nasledujúcich klávesoch
Počítadlo smajlíkov 5
6 šírka dúhového spektra
7 opravte červené nastavenie
8 opravte zelené nastavenie
9 opraviť modré nastavenie
Riadky 6, 7 a 8 LED diód teraz zodpovedajú nastavenej hodnote, riadok 6 označuje jednotky, riadok 7 desiatky a riadok 8 stovku. Každý riadok začína hodnotou nula. Prvá dióda v rade je teda 0, druhá je 1 atď.
0 nastavenie času
/\ nastavenie jasu
Po stlačení tlačidla 0 sa rozsvietia diódy LED „desať“, ktoré signalizujú, že chcete nastaviť čas, a keď stlačíte 0 druhýkrát, nastavený čas sa zobrazí na displeji.
Teraz je možné nastaviť čas a zobrazuje sa na displeji.
Nastavte správny čas a potom, ak sú minúty na referenčných hodinách rovnaké, stlačte tlačidlo OK.
Čas je upravený.
Ak nestlačíte tlačidlo minút alebo hodín, nebude sa vykonávať žiadna zmena času. Ak ich stlačíte, čas sa nastaví okamžite.
Hodnotu pre kľúče 5 až 9 je možné zmeniť pomocou klávesov
vpravo je plus 1
vľavo je mínus 1
dopredu je plus 10
spätný chod je mínus 10.
a na nastavenie času
vpravo je plus 1 minúta
vľavo je mínus 1 minúta
dopredu je plus 1 hodina
spätný chod je mínus 1 hodina
Niekedy sa stane, že stlačenie klávesu nie je rozpoznané alebo sa vykoná dvakrát. Ak je nastavenie v poriadku, dávajte pozor, inak to skúste alebo opravte znova. Diaľkové ovládanie Samsung, ktoré som tiež testoval, fungovalo mnohokrát lepšie ako (veľmi lacné) jednoduché diaľkové ovládanie.
Pri nastavovaní farby vidíte zmenu priamo na celom displeji. Web s prehľadom farieb nájdete na stránke https://www.helderester.nl/kleurentabel.html. Môžete samozrejme nastaviť ľubovoľnú hodnotu.
Ak má šírka dúhového spektra hodnotu 0, spektrum je veľmi úzke a displej má jednu farbu, ktorá sa neustále mení.
Nevýhodou nastavenia času týmto spôsobom je, že nemôžete vypočítať prechod leto / zima, pretože máme nesprávny dátum. Na samotných hodinách nezáleží, pretože ich teraz nepoužívame.
Krok 13: Aké ďalšie?
Čo bude nasledovať, zaznie, ak je voľná pamäť stále dostatočná.
Reproduktorové boxy už mám. Sú zo starého notebooku.
Odporúča:
Kocky dúhy: 6 krokov (s obrázkami)
Rainbow Dice: Vďaka tomu je hracia kocka s 5 kockami vytvorená zo smd LED v 5 farbách. Softvérové ovládanie umožňuje rôzne herné režimy so zapojením viacerých kociek. Jeden hlavný prepínač umožňuje výber hry a kocky. Jednotlivé prepínače vedľa eac
Usmerňovač s plným vlnovým mostom (JL): 5 krokov
Usmerňovač s plným vlnovým mostom (JL): Úvod Táto nezvládnuteľná stránka vás prevedie všetkými krokmi potrebnými na zostavenie usmerňovača s plným vlnovým mostom. Je to užitočné pri prevode striedavého prúdu na jednosmerný prúd. Diely (s odkazmi na nákup) (Obrázky dielov sú súčasťou dodávky
Ešte ďalšie hodiny Nixie: 6 krokov (s obrázkami)
Ešte ďalšie Nixie hodiny: Vždy som chcel nixie hodiny, na tých žiarivých číslach je niečo, čo ma fascinuje. Keď som teda na ebay našiel niekoľko nie príliš drahých IN12, kúpil som ich, žasol som nad nimi, keď som ich dostal, ale čoskoro som zistil, že s cieľom
Hodiny Word s efektom dúhy a svetlom na pozadí .: 6 krokov
Hodiny Word s efektom dúhy a svetlom na pozadí: Začiatok je tam. Predná doska má rozmery 40 x 40 cm a je pripravená
Nástenné hodiny RGB LED O-R-A a ďalšie ** aktualizované v júli 2019 **: 6 krokov (s obrázkami)
Nástenné hodiny RGB LED O-R-A s maticou a ďalšie ** aktualizované júla 2019 **: Dobrý deň. Tu som s novým projektom s názvom O-R-AI Jedná sa o nástenné hodiny RGB LED Matrix, ktoré zobrazujú: hodinu: minútu teplotu vlhkosť aktuálnu ikonu počasia Udalosti kalendára Google a 1 hodinu upozornenia na konkrétny čas, ktorý ukazuje: