Obsah:
- Krok 1: Pouzdro na hodiny
- Krok 2: Neopixely
- Krok 3: Úprava předního textu
- Krok 4: Plný duhový efekt
- Krok 5: Různé součásti
- Krok 6: Kód pro hodiny
- Krok 7: Popis hardwaru
- Krok 8: LDR pro ovládání jasu neopixelů
- Krok 9: Snížení spotřeby energie WS2812B
- Krok 10: Smajlík na hodinách slov
- Krok 11: Které knihovny se používají
- Krok 12: Jednoduché IR dálkové ovládání
- Krok 13: Jaké další?
Video: Hodiny duhy s plným efektem duhy a více: 13 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
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
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
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
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
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
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
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ů
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
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á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í
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ší?
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:
Kostky duhy: 6 kroků (s obrázky)
Rainbow Dice: Díky tomu je hrací kostka s 5 kostkami složená ze smd LED v 5 barvách. Software, který to umožňuje, umožňuje různé herní režimy s několika kostkami. Jeden hlavní přepínač umožňuje výběr her a házení kostkami. Jednotlivé přepínače vedle eac
Usměrňovač s plným vlnovým mostem (JL): 5 kroků
Usměrňovač s plným vlnovým můstkem (JL): Úvod Tato neřešitelná stránka vás provede všemi kroky nezbytnými k vybudování plného vlnového usměrňovacího můstku. Je to užitečné při převodu střídavého proudu na stejnosměrný proud. Díly (s odkazy na nákup) (Obrázky součástí jsou součástí Corresp
Joystick USB s Hallovým efektem: 7 kroků (s obrázky)
Joystick USB s efektem Hall Effect: Tento návod ukazuje, jak použít průmyslový joystick s efektem Hall Effect k vytvoření vysoce přesného USB joysticku. Existují další související instruktabely Tiny USB Joystick, které mohou poskytovat levné řešení; >
Pěstování více salátu na menším prostoru nebo Pěstování salátu ve vesmíru, (více či méně) .: 10 kroků
Pěstování více salátu na menším prostoru Nebo … Pěstování salátu ve vesmíru ((více či méně)): Toto je profesionální příspěvek do soutěže Growing Beyond Earth, Maker Contest, podané prostřednictvím Instructables. Nemohl jsem být více nadšený, že navrhuji vesmírnou produkci plodin a zveřejňuji svůj první Instructable. Na začátku nás soutěž požádala, abychom
Použití více než 4 motorů - skládání více štítů motoru: 3 kroky
Použití více než 4 motorů - stohování více motorových štítů: Instruktabilní vibrotaktilní senzorické substituční a augmentační zařízení (https: //www.instructables.com/id/Vibrotactile-Sens …) ukazuje způsob, jak vytvořit zařízení, které překládá senzorické vstup do vibračních podnětů. Tyto vibrační podněty jsou