Teda, nejde o chytré vánoční LED svíčky ve smyslu, že by uměly mluvit nebo samy zpívat koledy podle nálady. Chytré jsou proto, že umí o něco víc než běžné vánoční řetězy, které jsou v obchodech k mání za 300 korun a hlavně proto, že pouhou změnou firmwaru lze docílit dalších světelných kreací, nebo třeba i možnost nastavit barvu každé svíčky zvlášť až na stromečku, tak aby to celé hezky ladilo. No ale jak to vlastně všechno začalo…
Mám rád vánoce. Ne tak jako dřív, když jsem byl malý a nemohl se dočkat štědrovečerní večeře, abych si dal kapra a pak jsem vždycky seděl potichu jako pěna, jenom abych uslyšel zvoneček, který znamenal, že Ježíšek už pod stromeček přinesl dárky. Zůstal mi už jen ten mlsný jazyk, takže se těším hlavně na toho kapříka a hlavně – na rozsvícený vánoční stromeček. Už několik roků mám zdobení stromečku ve své režii. A každý rok se potýkám s obrovským problémem 🙂 – barva žároviček, jaká barva bude letos na stromečku dominantní a aby obojí spolu ladilo. Takže jeden rok jsem vánoční řetěz tunil, aby převažovaly červené žárovičky, další rok zelené, atd.. Nakonec jsem přišel na myšlenku, že bílé LED svíčky by mohly být univerzální. Takže předloni jsem našel na ebay řetěz s 200 vysoce svítivými LED a několika jakože efekty a ten s dostatečným předstihem v létě koupil. Občas jsem ho rozmotal a rozsvítil a medil si u toho, že s takovýma svíčkama omotám stromek 10x a osvětlení bude dokonalé a už jsem se nemohl dočkat vánoc, opět jako malý kluk 🙂
A přišel 23. prosinec. Natěšený, vyzdobil jsem stromek a se zatajeným dechem jsem na něm poprvé rozsvítil svíčky. Byl to jedinečný umělecký zážitek 🙂
Celý štědrý den jsem pak chodil okolo a nemohl se vynadívat, až do večeře. Pochutnal jsem si na kapříkovi, polil jsem ho deckem dobrého vína (protože ryba musí plavat 🙂 ) a šlo se ke stromečku rozdávat dárky… v tuto dobu už na stromku svítily jen dvě třetiny LED. Než se rozbalily všechny dárky, svítila už jen třetina a se zajímavým efektem brzy zhasnuly i tyto LEDky. Šťastné a veselé!!! Ale to už jsem ze skříně vytahoval staré dobré barevné LED svíčky.
Po této zkušenosti jsem si řekl, že takhle rozhodně už nikdy a přemýšlel jsem, jak si vyrobit vánoční svíčky na stromek podle vlastních, ne úplně skromných, představ. Úkol tedy zněl jasně, postavit svíčky s těmito hlavními vlastnostmi:
- aby řetěz měl dostatečnou délku s dostatečným počtem LEDek
- větší výběr a pestrost barev
- možnost výběru z několika efektů, od mixu barev až po řetěz stejné barvy
- abych po každém zapnutí nemusel znova vybírat oblíbený efekt
Původně jsem uvažoval, že použiju 40 kusů RGB LED alespoň v 8 samostatných větvích, ale nelíbilo se mi, že vzhledem k počtu vodičů k jednotlivým LED se z řetězu stane spíš lodní lano. Navíc, protože jsem chtěl, aby jeden z efektů simuloval jiskření, potřeboval jsem k tomu ovládat ideálně každou LEDku samostatně, aby se v jeden okamžik ukázala jen jedna jiskra v řetězu. Tím bežné RGB LED vypadly ze hry a myšlenku, že budu mít luxusní osvětlení stromečku jsem zařadil do sekce sci-fi.
Po nějaké době jsem narazil na web, který se věnoval projektům nositelné elektroniky s Arduinem, kde byl v jednom projektu použitý jakýsi tištěný plošný spoj ve tvaru kroužku s několika barevnými LED, připojený bez jakéhokoliv řadiče přímo k Arduinu. Ze zdrojového kódu bylo patrné, že se v jednoduchém cyklu postupně nastavuje barva každé diody. Jednalo se o zvláštní LEDky, kterým se taky říká NeoPixel a existuje několik druhů. Jedná se o RGB LED s vestavěným řadičem. Tyto diody se dají snadno řetězit za sebe a komunikují spolu pomocí jednoduchého protokolu. K propojení mezi jednotlivými LED tedy stačí 3 dráty – dva pro napájení 5V a jeden pro data.
Zjednodušeně nastavení barev probíhá tak, že na vstup první LED se pošle barva a pak se dioda přepne do režimu, kdy další data přeposílá výstupem dál, na vstup další LEDky v řadě. Takto se postupně nastaví všechny diody v řetězu. Celé to probíhá velice rychle a tímto způsobem je možné 50x za sekundu nastavit až 600 diod v řadě (na Youtube je spousta videí, jak se z LED pásků těchto diod dá vyrobit i velkoplošný displej).
To je ta dioda, kterou jsem hledal! Použil jsem WS2812B. V provedení SMD se 4 vývody, z nichž 2 jsou napájení, jeden je datový vstup a jeden datový výstup, pomocí nichž se dají diody snadno řetězit (výstup-vstup-výstup-vstup…atd). Na ebay se mi podařilo koupit 50ks za cenu, o které si můžeme na českých obchodech nechat jen zdát (pokud už tuto LED přeci jen někdo prodává). Největší problém bylo vyrobit samotný řetěz, protože na součástku velkou asi 5×5 milimetrů se musí vlézt kondenzátor a celkem 6 drátů. Nakonec jsem získal ten správný grif a vyrobil jsem 4 řetězy po 10ti LED, v rozestupu asi 22cm.
Dalším krokem bylo nějaké rozumné zapouzdření takto připájených LED. Původně jsem chtěl každou diodu zafouknout do průhledné smrštitelné bužírky, kterou jsem si objednal na ebay (u nás na eshopech se mi zdála drahá a navíc to ještě prodražovala pošta). Bohužel, z ebay nepřišla, takže jsem zkusil z transparetního PLA vytisknout na 3D tiskárně tenkostěnné trubičky, do kterých jsem diody vsunul a z obou stran zalil tavnou pistolí.
Elektroniku jsem postavil stylem “vrabčí hnízdo” na univerzální prototypovací desce. Deska nese Arduino Nano s USB portem (kvůli snadnější úpravě firmwaru LED řetězu), LED diodu jako kontrolku napájení a signalizaci provozu, dva mikrospínače (power, mode), čtveřici RJ45 konektorů, napájecí Jack a nakonec jsem osadil i bluetooth modul, abych mohl svíčky ovládat jednoduchými příkazy z mobilu. Pro elektroniku jsem si navrhl kompaktní krabičku a vytiskl na 3D tiskárně.
Celý řetěz napájím 5V/3A zdrojem. U prototypu jsem k propojení neopixelů použil drát z toho ebay-kaput-řetězu a tento drát díky slabému průřezu všech 40 LED za sebou v takové délce už nedával (docházelo k chybám při přenosu dat a posledních asi 20 LED si barvu cucalo z prstu). Proto jsem použil 4 porty RJ45 ze starého routeru, kterými připojuju a napájím každou větev 10ti LED samostatně. Toto řešení se při zdobení stromku ukázalo jako docela praktické, protože čtyři krátké řetězy se na stromek dávají snadněji.
Co se firmwaru týče, původně jsem při programování využíval knihovnu neopixel a v průběhu vývoje jsem několikrát kód přepisoval od základu, podle toho jak jsem si vymýšlel další a další funkce a vylepšení. Nakonec jsem usoudil, že by bylo fajn stihnout to do vánoc, aby to alespoň něco dělalo a bylo to použitelné. Jakákoliv další vylepšení můžu doprogramovat později. Začal jsem zase odznova, místo knihovny neopixel jsem použil fastled, která mi přišla jednodušší na obsluhu diod, umí kromě nastavování barvy i nastavovat samostatně jas a obsahuje několik funkcí pro práci s barevným spektrem. Jako základ kódu jsem použil ukázkový příklad DemoReel100, ve kterém jsem nechal jen efekty, které se mi líbily a zbytek modifikoval nebo si doprogramoval vlastní. Postupně jsem ještě dopsal obsluhu tlačítek, signalizační diody a ukládání stavu do EEPROM, tak aby po zapnutí řetěz dělal to, co dělal před vypnutím – pamatuje si, který efekt běžel naposled.
Momentálně (a asi na dlouho 🙂 ) tedy mají svíčky tyto funkce:
- červeným tlačítkem jdou zapnout a vypnout. Při vypínání se uloží vybraný efekt do paměti EEPROM, aby po zapnutí mohl pokračovat. Signalizační LED svícením indikuje, že napájení je zapnuto (kdybych to náhodou nepoznal podle rozsvícených svíček 🙂 )
- bílým tlačítkem jdou přepínat efekty svíček. Podržením po dobu 5s se aktivuje demo režim, kdy se všechny dostupné efekty střídají dokola. Přepnutí na demo ukáže signalizační LED zablikáním.
- na výběr mám 12 efektů
- spárováním mobilu s bluetooth modulem a připojením pomocí sériové konzole mi řetěz zobrazuje stavové informace a můžu ovládat napájení i volbu efektů jednoduchými příkazy.
K funkcím bych jen dodal, že vzhledem ke spotřebě celého obvodu, při vypnutí nedojde ke skutečnému odpojení napájení. Prostě se jen zhasnou LEDky a adruino čeká na další akci tlačítek.
Kromě tohoto prototypu jsem vyrobil ještě jednu verzi “lite”. Zapojení jsem zjednodušil, Arduino Nano jsem nahradil verzí Mini a vynechal bluetooth modul. K propojení LED jsem použil vodič o větším průřezu, takže všech 40 diod tvoří souvislý řetěz, připájený přímo na desku. Na krabičce tak zůstal už jen napájecí konektor.
Moje LED svíčky už mají první vánoce úspěšně za sebou, k mé plné spokojenosti. Ještě bych chtěl vyrobit jednu verzi pro venkovní výzdobu s alespoň 100ks LED, ale vzhledem k tomu, že poslední pájení LEDek na mě zanechalo dlouhodobé psychické následky, moc se do toho nehrnu 🙂
Jo abych nezapomněl, kdo by si chtěl takové osvětlení na stromeček vyrobit, kód pro arduino je zde.
Hracicko, ale dobre