Obsah:

Hodiny s dúhovým slovom s plným efektom dúhy a ďalšie: 13 krokov (s obrázkami)
Hodiny s dúhovým slovom s plným efektom dúhy a ďalšie: 13 krokov (s obrázkami)

Video: Hodiny s dúhovým slovom s plným efektom dúhy a ďalšie: 13 krokov (s obrázkami)

Video: Hodiny s dúhovým slovom s plným efektom dúhy a ďalšie: 13 krokov (s obrázkami)
Video: DAVID, nemoc motýlích křídel (EB), 23 let, srdcedetem.cz 2024, November
Anonim
Hodiny s dúhovým slovom s plným dúhovým efektom a ďalšie
Hodiny s dúhovým slovom s plným dúhovým efektom a ďalšie

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

Puzdro na hodiny
Puzdro na hodiny
Puzdro na hodiny
Puzdro na hodiny
Puzdro na hodiny
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

Neopixely
Neopixely
Neopixely
Neopixely
Neopixely
Neopixely
Neopixely
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

Úprava predného textu
Úprava predného textu
Úprava predného textu
Úprava predného textu
Úprava predného textu
Ú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

Plný dúhový efekt
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

Rôzne komponenty
Rôzne komponenty
Rôzne komponenty
Rôzne komponenty
Rôzne komponenty
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

Popis hardvéru
Popis hardvéru
Popis hardvéru
Popis hardvéru
Popis hardvéru
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

LDR na ovládanie jasu neopixelov
LDR na ovládanie jasu neopixelov
LDR na ovládanie jasu neopixelov
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

Zníženie spotreby energie WS2812B
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 slova
Smajlík na hodinách slova
Smajlík na hodinách slova
Smajlík na hodinách slova

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

Jednoduché IR diaľkové ovládanie
Jednoduché IR diaľkové ovládanie
Jednoduché IR diaľkové ovládanie
Jednoduché IR diaľkové ovládanie
Jednoduché IR diaľkové ovládanie
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 Nexts?
Čo Nexts?

Č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: