Blikající hvězda
Předvánoční čas je již tradičně spojen s tematickou výzdobou oken. Pokud chcete, aby ji zpestřovala blikající hvězda se zajímavými efekty, je toto konstrukce právě pro vás. Pro zjednodušení stavby jsou všechny součástky typu THT, žádná není typu SMD. Konstrukce je proto vhodná i pro méně zkušené konstruktéry.
Základem šesticípé hvězdy je 48 LED diod, které jsou rozčleněny do 6 samostatně ovládaných skupin. Každou skupinu ovládá jeden pin mikrořadiče ATtiny. Pro posílení je využíváno tranzistorové pole ULN2003A (7 samostatných okruhů s tranzistory v Darlingtonově zapojení), přičemž plošný spoj umožňuje použít i ULN2803A (dtto, ale 8 samostatných okruhů). Obvod ULN2803A je totiž u některých prodejců levnější a dostupnější.
Plošný spoj je rozměrově optimalizován na velikost 10x10 cm, tak aby jej bylo možné zadat do výroby za zvýhodněnou cenu. Doporučuji použít černou masku pokud chceme hvězdu umístit do okna, na vánočním stromečku se naopak bude lépe vyjímat klasické zelené provedení.
Hodnoty omezovacích rezistorů je potřeba vyzkoušet podle použitých LEDek a napájecího napětí. Protože LEDky jsou ve skupinách po čtyřech, nemůže být napájecí napětí nižší než čtyřnásobek napětí nutného pro rozsvícení jedné LEDky, tj. cca 8V. Já používám starý adaptér 9V/0,5A, lze ale použít i např. 12V adaptéry pro napájení LED pásků.
Hvězda má napájecí konektor nahoře i dole, je tedy možné zřetězit i několik hvězd.
Program
ATtiny je v pouzdře DIP8 a má k dispozici celkem 6 funkčních vývodů. Každý z nich je připojen na jednu skupinu LED diod, zbývající dva jsou napájecí. Nutně tedy dochází k slučování funkcí jednotlivých pinů. Většinou je to bez problémů, ale určité komplikace nastávají při využití pinu PB5, který slouží i pro Reset. Pro jeho plnohodnotné použití je potřeba nastavit fuse bit RSTDSBL, čímž ale přestane fungovat ISP programování z Arduino IDE prostředí (např. pomocí USB ASP).
Pro zrušení tohoto nastavení při přeprogramování obvodu budete muset použít režim tzv. High Voltage Programming. Není to složité, budete potřebovat ale další ATtiny85, NPN tranzistor a několik pasivních součástek. V případě potřeby zadejte v google frázi "ATtiny High Voltage Programmer" a najděte si vhodnou konstrukci, která vám RSTDSBL bit vynuluje, např. https://www.hackster.io/sbinder/attiny85-powered-high-voltage-avr-programmer-3324e1.
Já jsem programy ladit bez šesté skupiny LEDek. Mezi pin 1 a pin 8 jsem umístil rezistor 10k tak, aby Reset mikrořadiče normálně fungoval. Program jsem odladil a až u finální verze programu jsem nastavil fuse bit RSTDSBL. I když je PB5 využíván jako Reset, můžete jej bez obav softwarově přestavit na výstup a zapisovat na něj, fuse bit RSTDSBL totiž tyto operace hardwarově blokuje. Pro nastavení RSTDSBL je potom program normálně plně funkční.
Pro inspiraci naleznete pod článkem dva programy : demonstrační program je pro mikrořadič ATtiny85 a ve smyčce zobrazuje několik různých efektů. Můžete jej použít tak, jak je, anebo si vybrat některý z efektů a ostatní smazat, případně si naprogramovat svůj vlastní. Pro překlad použijte Arduino IDE https://www.arduino.cc/en/software doplněné o jádra ATTinyCore pro ATtiny 25/45/85 a MicroCore pro ATtiny13A https://github.com.
Druhý program mění jas hvězdy, která se rozsvěcuje a opět zhasíná. Tato funkce by šla normálně realizovat pomocí PWM a funkce analogWrite, ale nikoliv na všech pinech. ATtiny85 toto umí pouze u 3 pinů z celkových 6, proto přiložený program ukazuje jednu z možný cest. Tento program je trochu více optimalizovaný na pohled, než prostá smyčka v demonstračním programu. Změna jasu je totiž zřetelnější při malých jasových hladinách, než v případech, kdy LED diody svítí téměř naplno. V zip archivu naleznete kromě zdrojového kódu i již přeložený kód pro ATtiny13 a ATtiny85 v Intel HEX formátu.
Přeji mnoho úspěchů při stavbě a v případě potřeby jsem k dispozici na mailu kaspar(taková zatočená věc)pk.cz
Pavel Kašpar