Obsah:

Hodiny duhy s plným efektem duhy a více: 13 kroků (s obrázky)
Hodiny duhy s plným efektem duhy a více: 13 kroků (s obrázky)

Video: Hodiny duhy s plným efektem duhy a více: 13 kroků (s obrázky)

Video: Hodiny duhy s plným efektem duhy a více: 13 kroků (s obrázky)
Video: TOP 15 – Skryté funkce na iPhone (iOS), které musíte znát! 🔥 2024, Červenec
Anonim
Duhové hodiny s plným duhovým efektem a další
Duhové hodiny s plným duhovým efektem a další

Cíle

1) Jednoduché

2) Není drahý

3) Energeticky nejúčinnější, jak je to možné

Rainbow Word Clock s plným duhovým efektem.

Smajlík na hodinách slova.

Jednoduché IR dálkové ovládání

Aktualizujte 03. listopadu-18 LDR pro ovládání jasu neopixelů

Aktualizace 01-led-19 Snížení spotřeby energie WS2812B.

Aktualizujte 15. ledna 19 Smiley.

Aktualizujte kód 23. ledna 19

Aktualizujte odkazy na knihovny 10-mar-19

Aktualizace verze 14, duben-19, 1.7 Volba smajlíků zapnout/vypnout barvu duhy/opravit enz.

Poslední aktualizace 01-červen-19 verze 2.0 IR dálkové ovládání a přepracování kódu

Krok 1: Pouzdro na hodiny

Pouzdro na hodiny
Pouzdro na hodiny
Pouzdro na hodiny
Pouzdro na hodiny
Pouzdro na hodiny
Pouzdro na hodiny

S některými jednoduchými nástroji a trochou dovednosti není těžké vyrobit listové hodiny Použil jsem materiály, které mám k dispozici.

Pro případ jsem použil hrubou borovicovou lištu, ve které jsem vyřezal několik rámů. To by vytvořilo čtyři strany pouzdra, které byly slepeny dohromady a v rozích vyztuženy malým kouskem dřeva. Potom dřevo potřebuje brousit a natřít.

Písmena jsou vystřižena z fólie tiskárnou zrcadlovým písmem. Fólie je v zadní části skleněné desky a je pokryta dvouvrstvým vzorovým papírem pro lepší distribuci světla. Sklo je fixováno silikonovým tmelem.

Krok 2: Neopixely

Neopixely
Neopixely
Neopixely
Neopixely
Neopixely
Neopixely
Neopixely
Neopixely

LED diody Neopixels jsou uspořádány na dřevěné desce. Nejprve vyvrtejte 3 mm otvory. Vpředu jsou zvětšeny na velikost písmene do 3/4 hloubky. Poté se 3 mm vzadu zvětší na 10 mm, to je velikost Neopixelu. U některých postav, mimo jiné W, by měla být díra mírně upravena.

Použil jsem překližku, která se rychle roztříštila, MDF může být lepší.

U jednotlivých LED diod nejste vázáni na pevnou vzdálenost, což je případ LED pásků. LED diody musí být navzájem spojeny. Můžete to udělat se všemi krátkými kousky drátu. Ale dvě min (-) připojení jsou stejná jako dvě plus (+) připojení interně spojená, takže stejné připojení.

Pájením kousku drátu na levou LED a poté na pravou LED si můžete ušetřit spoustu práce. Poté pájejte meziprodukty.

Datové připojení musí být samozřejmě krátké, protože výstup dat jde do vstupu dat.

Krok 3: Úprava předního textu

Úprava předního textu
Úprava předního textu
Úprava předního textu
Úprava předního textu
Úprava předního textu
Úprava předního textu

Přední deska je nyní v holandštině, ale lze ji jednoduše převést v jakémkoli jazyce.

LED diody NeoPixels se zde přepínají postupně od 0 do 167. Číslování probíhá z první řady vlevo nahoře vpravo a poté do druhé řady zprava doleva atd. Úpravu lze provést podle vlastních potřeb. Počet NeoPixelů je určen počtem znaků. V následujícím řádku lze upravit méně nebo více Neopixelů

#define NUMPIXELS 168 // Kolik NeoPixelů je připojeno k Arduinu?

168 je více než jiné číslo. Číslování začíná na 0. Můžete vytvořit libovolný text. Pokud změníte text, budete muset také upravit odpovídající slova. Číslování zůstává stejné.

Například DRIE minut je určen v kódu

void zetmDrie () {

Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // min-drie

}

Pokud chcete vytvořit slovo Arduino, pak to vypadá 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

}

Takže mezi nimi můžete dělat slova.

U hodinových slov je užitečné, pokud tvoří souvislé slovo, ale není to nezbytně nutné. Nepoužitá písmena nepotřebují Neonpixely. Nechal jsem je všechny naplnit pro využití budoucích možností, kromě zobrazování času.

Pokud změníte počáteční bod nebo změníte posloupnost posloupnosti, mělo by se číslování odpovídajícím způsobem změnit.

Krok 4: Plný duhový efekt

Plný duhový efekt
Plný duhový efekt

Hodiny jsou nyní naprogramovány tak, že se počítá, kolikrát za sekundu je zapnuto mnoho neopixelů.

Celkové spektrum je o počtu rozdělených a poté mírně posunutých. Výsledkem je, že každý Neopixel má jinou barvu, která se plynule mění. Neopixel č. 1 a č. 167 na sebe navazují v některých barvách.

Pokud dáváte přednost méně různým barvám současně, lze to snadno upravit. Barva se stále posouvá v celém spektru, ale s jeho menší částí. Neopixel č. 1 a č. 167 již na sebe nenavazují.

Jas lze nastavit v následujícím řádku, pixely.setBrightness (150);

Menší číslo je menší a větší číslo větší jas.

Krok 5: Různé součásti

Různé komponenty
Různé komponenty
Různé komponenty
Různé komponenty
Různé komponenty
Různé komponenty

Následující komponenty jsem použil

Arduino Pro Mini ATMEGA328 5V/16MHz

Hodinový modul DS3231

168 kusů Neopixelů LED WS2812 LED čip a chladič 5V 5050 RGB WS2811 IC vestavěný

Fóliová šablona dopisu

Přijímač DCF77

Krok 6: Kód pro hodiny

Zde je kód. Přidáno ovládání jasu a vypnutí, když není nikdo přítomen a v noci.

Přidán RCWL-0516 radarový mikrovlnný pohybový senzor (hledat RADAR)

Po 10 minutách bez pohybu NeoPixels zhasnou.

O verzi 2.0

Využití paměti bylo příliš mnoho, protože v kompilátoru dochází varování o paměti. Proto jsem úplně změnil kód, ale operace zůstala stejná a byl přidán IR přijímač.

Existuje kus kódu, který poskytne EEPROM data. Spusťte to jednou dočasným odstraněním / * a * /. Hledejte => spusťte toto jednou, abyste získali data do EEPROM

Na začátku prázdné smyčky je kód pro čtení kódu z vašeho vlastního dálkového ovladače. Můžete to spustit dočasným odstraněním / * a * /, nezapomeňte je poté vrátit zpět. Můžete také definovat vlastní tlačítka. Přečtený kód je třeba zadat v => Zde definujte vlastní tlačítka

Dálkové ovládání Samsung funguje lépe než (velmi levné) jednoduché.

Krok 7: Popis hardwaru

Popis hardwaru
Popis hardwaru
Popis hardwaru
Popis hardwaru
Popis hardwaru
Popis hardwaru

Existují různé verze Arduino Pro Mini. Upozorňujeme, že připojení se mohou lišit.

Přidán mikrovlnný snímač pohybu RCWL-0516.

Dokud se v blízkosti hodin pohybuje, NeoPixel zůstane zapnutý

a jakmile již není žádný pohyb, NeoPixel se po několika minutách vypne.

Ve verzi 2.0 je přijímač DCF77 napájen pinem 13. Tento pin je definován jako výstup a nastaven vysoko, když je adresována rutina DCF77. Přijímač DCF77 používá 0,28 mA a je potřeba pouze několik minut denně.

Vypnutí šetří

5 voltů * 0,28 mA / 1000 * 24 hodin * 365 dní * 1 / 0,85 účinný napájecí zdroj = 14,4 wattů za rok.

Nezdá se to moc, ale každý kousek pomůže.

Krok 8: LDR pro ovládání jasu neopixelů

LDR pro ovládání jasu neopixelů
LDR pro ovládání jasu neopixelů
LDR pro ovládání jasu neopixelů
LDR pro ovládání jasu neopixelů

Přidán LDR pro ovládání jasu neopixelů.

Vlepil jsem LDR do prostoru neopixelu 103. Ten se nepoužívá v zobrazení času, a proto neovlivňuje regulaci. Papír tlumí dopadající světlo, ale to není problém.

Dělič napětí LDR a odporu 20 kohm jde do A0 Arduino Pro Mini. Napětí je indikátorem intenzity světla a tedy také indikátorem množství světla, které musí neopixely vydat.

Vzorec, který používám, mi dává dobrou kontrolu světla, lze jej upravit v závislosti na okolnostech. V závislosti na množství světla se napětí může pohybovat mezi 0 a 5 volty, které jsou převedeny na 0 až 1024 počtů, které jsou v „LDRValue“.

Pokud je nová naměřená hodnota větší než poslední vypočítaná hodnota, intenzita se zvýší o 1, pokud je nižší než snížená o 1 a pokud je stejná, nic se neprovede. Aby hodnota postupovala pomalu, aby nedocházelo k blikajícímu efektu, pouze 1 se zvýší nebo sníží, a protože výpočet je ve smyčce, přepočítá se pouze po 25krát procházení smyčky.

Intenzita je teoreticky minimálně 20 a maximálně 1024/7 + 45 = 191. Maximální hodnota, kterou jsem změřil, byla 902, což odpovídá intenzitě 173. To dobře odpovídá 150, které jsem nastavil jako výchozí hodnotu. (viz pixely.setBrightness (150))

Ve verzi 2.0 můžete nastavit ovládání pomocí dálkového ovladače. Byly přidány následující parametry: Brightness_min jako minimum a Brightness_max jako maximální nastavení a Brightness_Offset jako parametr nastavení. Brightness_min a _max jsou hodnoty, které mohou záviset na vaší vlastní situaci. Brightness_Offset je hodnota, kterou lze nastavit pomocí dálkového ovladače a pomocí které lze nastavit více či méně jasu.

Mezi naměřenými hodnotami LDRValue a vypočítanými hodnotami BerLDRValue je také mrtvé pásmo 3.

Ke kontrole nastavení jasu použijte tiskové příkazy v neplatném BrightnessControl.

Krok 9: Snížení spotřeby energie WS2812B

Snížení spotřeby energie WS2812B
Snížení spotřeby energie WS2812B

Ovladače adresovatelných neopixelů WS2812B odebírají proud, i když jsou neopixely vypnuté, nastavené na barvu 0 (nesvítí žádné prvky neopixelů).

Když je všech 169 neopixelů venku, naměřím 69 mA k neopixelům. Za předpokladu, že jsou hodiny vypnuté 12 hodin denně, úplné vypnutí pak ušetří: 5 (Napájecí zdroj) * 69/1000 (Miliampér / 1000 = Ampér) * 12 (Počet hodin denně) * 365 (Počet dní v rok) = 1511 watthodin. Ročně tedy 1,5 Kwh. Souhlasím, není to samo o sobě moc, ale mnoho malých dělá velký.

Obvod je jednoduchý. Plus napájení je spínán P-kanálem MosFet. Radarový senzor určuje, zda jsou neopixely zapnuté nebo vypnuté. Dal jsem dva paralelní MosFet, aby byl ON odpor co nejnižší kvůli ztrátě MosFetů. Při běžném používání měřím nad MosFety 4, 5 milivoltů. Brána je ovládána výstupem 4 z Arduina přes odpor 470 Kohm. Pokud výstup digitálně klesne na minimum (0), neopixely jsou zapnuty a při vysoké (1) jsou vypnuty.

Krok 10: Smajlík na hodinách slov

Smajlík na hodině slova
Smajlík na hodině slova
Smajlík na hodině slova
Smajlík na hodině slova

Smajlík na hodinách slova.

Na hodinách se občas objeví Smiley, což vám však dělá radost.

Smiley je aktivován radarovým senzorem. Počet pohybů (nastavitelných) je měřítkem vzhledu Smiley. Znaky % ukazují, že byl detekován pohyb. S každým desátým (nastavitelným) pohybem přichází Smiley s Winky Face a po třikrát s Winky Face přichází počtvrté, když Smiley Face vyplazuje jazyk.

Smiley je malá změna v kódu.

Krok 11: Které knihovny se používají

Které knihovny se používají.

Používám je ve Windows 7 s Arduino IDE 1.6 a byly také testovány ve Windows 10 s Adruino IDE 1.8.8

RTClib-master

Arduino-DS3231-master

Adafruit_NeoPixel-master

Arduino-DCF77-master

Knihovna IRremote Ken Shirriffa

Protože o použité knihovně je vždy zmatek, přidávám tu, kterou používám.

Knihovna IRremote využívá spoustu paměti. V IRremote.h je uvedeno, že můžete deaktivovat jakýkoli nepoužívaný protokol

// Každý protokol, který zahrnete, stojí paměť a během dekódování stojí čas // Zakázat (nastavit na 0) všechny protokoly, které nepotřebujete/nechcete!

Mám zakázáno vše kromě protokolu NEC a Samsung. Tím se ušetří paměť 10%. V tuto chvíli již není problém s množstvím paměti, takže prozatím není deaktivace nutná.

Krok 12: Jednoduché IR dálkové ovládání

Jednoduché IR dálkové ovládání
Jednoduché IR dálkové ovládání
Jednoduché IR dálkové ovládání
Jednoduché IR dálkové ovládání
Jednoduché IR dálkové ovládání
Jednoduché IR dálkové ovládání

Shromáždění

Jak vidíte na fotografiích, otvor pro LED 132 se ukázal být příliš velký. Dobře jsem toho využil a přidal jsem k tomu IR přijímač. Připojte datový pin IR přijímače VS1838 k pinu 7 Arduina. Dále připojte napájecí zdroj plus a mínus. IR přijímač využívá 0,21 mA a lze jej také připojit k plusovému napájení po přepínači FET. To má za následek úsporu, pokud jsou hodiny na 50% času, 5 voltů * 0,21 mA / 1000 * 12 hodin * 365 dní * napájecí zdroj s účinností 1 / 0,85 = 5,4 W za rok. Nezdá se to moc, ale každý kousek pomůže.

Operace je následující

Stiskněte libovolnou klávesu na IR dálkovém ovládání a poté klávesu OK. Při prvním stisknutí skončíte ve zpracování IR a podruhé zjistíte, zda šlo o oprávněný požadavek. Podruhé OK musí rychle následovat první stisknutí klávesy, protože jinak se vrátí zpět. Tuto konstrukci jsem vytvořil tak, že jsem jen stěží správně dekódoval první kód, a proto neskončil v IR manipulaci.

Poté, co jste v IR ovládání, pak se rozsvítí řada LED pro informace, pro vysvětlení si přečtěte dále a podívejte se na první obrázek.

Popis je pro jednoduché dálkové ovládání, ale můžete použít libovolné dálkové ovládání a definovat vlastní klíče. Také jsem použil dálkové ovládání Samsung.

První čtyři klávesy odpovídají horním čtyřem řadám LED diod. Čtyři diody LED se podle nastavení otáčejí doleva nebo doprava. Po stisknutí kláves 1 až 4 se stav obrátí a uloží se do paměti.

1 fixní barevný nebo duhový efekt

2sekundový blesk vypnutý nebo druhý blesk zapnutý

3 smajlík smajlík zapnutý

4 DCF77 vypnuto nebo DCF77 zapnuto

Číslo klíče je zobrazeno na následujících klíčích

5 smajlíků

6 šířka duhového spektra

7 opravit červené nastavení

8 opravit zelené nastavení

9 opravit modré nastavení

Řádek 6, 7 a 8 diod LED nyní odpovídá nastavené hodnotě, řádek 6 označuje jednotky, řádek 7 desítky a řádek 8 stovku. Každý řádek začíná hodnotou nula. Takže první LED v řadě je 0, druhá je 1 atd.

0 nastavení času

/\ nastavení jasu

Po stisknutí tlačítka 0 se rozsvítí LED „deset“, které indikují, že chcete nastavit čas, a když podruhé stisknete 0, nastavený čas se zobrazí na displeji.

Nyní lze nastavit čas a zobrazuje se na displeji.

Nastavte správný čas a poté, pokud je minuta na referenčních hodinách stejná, stiskněte tlačítko OK.

Čas je upraven.

Pokud tlačítko minut nebo hodin nepoužijete, nebude provedena žádná změna času. Pokud je stisknete, čas se nastaví okamžitě.

Hodnotu pro klíče 5 až 9 lze změnit pomocí kláves

vpravo je plus 1

vlevo je minus 1

vpřed je plus 10

obráceně je minus 10.

a pro nastavení času

vpravo je plus 1 minuta

vlevo je minus 1 minuta

dopředu je plus 1 hodina

zpětný chod je minus 1 hodina

Někdy se stane, že stisknutí klávesy není rozpoznáno nebo je provedeno dvakrát. Dávejte tedy pozor, pokud nastavení proběhne dobře, jinak to zkuste nebo opravte znovu. Dálkové ovládání Samsung, které jsem také testoval, fungovalo mnohokrát lépe než (velmi levné) jednoduché dálkové ovládání.

Při nastavování barvy vidíte změnu přímo na celém displeji. Web s přehledem barev naleznete na adrese https://www.helderester.nl/kleurentabel.html. Samozřejmě můžete nastavit libovolnou hodnotu.

Pokud má šířka duhového spektra hodnotu 0, je spektrum velmi úzké a displej má jednu barvu, která se neustále mění.

Nevýhodou nastavení času tímto způsobem je, že nemůžete vypočítat přechod léto / zima, protože máme nesprávné datum. Na samotných hodinách to nevadí, protože je nyní nepoužíváme.

Krok 13: Jaké další?

Jaké Nexts?
Jaké Nexts?

Co následuje, zní, pokud je volná paměť stále dostačující.

Reproduktorové boxy už mám. Jsou ze starého notebooku.

Doporučuje: