Arduino LOL Shield je rozšiřovací modul pro desky formátu Arduino UNO. Tento shield obsahuje celkem 126 modrých LED diod, které jsou rozmístěné v matici 9x14. V balení se pak nachází navíc 10 náhradních LED diod pro případ, že by se nějaká zničila při osazování. Shield totiž obdržíte v neosazeném stavu, kdy v balení najdete samotný plošný spoj, 136 LED diod a pinové lišty pro propojení s Arduino deskou.
Pro řízení LED diod se využívají datové piny D2-D13, takže pokud byste chtěli připojit ještě jiný Shield společně s tímto, můžete používat pouze analogové piny.
Pro úspěšné propojení LOL Shieldu ho stačí zapojit do desky Arduino UNO či jiné kompatibilní. LED diody jsou pak napájeny z 5V větve.
Pro úspěšné nahrání uvedeného ukázkového kódu je nutné stáhnout a naimportovat knihovnu LOLShield, návod, jak na to, je uveden zde.
Ukázkový kód obsahuje na svém začátku připojení potřebné knihovny a vytvoření stavové proměnné pro řízení svitu LED diod.
Funkce setup v tomto programu obsahuje pouze inicializaci komunikace s LOL Shieldem.
Nekonečná smyčka loop začíná vždy překlopením stavové proměnné na opačnou hodnotu, abychom docílili pravidelného rozsvícení a zhasnutí LED diod. V následující dvojici for smyček totiž projdeme postupně všech 9 řádku po 14 diodách a pomocí set funkce jim vždy přiřadíme aktuální stav. Mezi jednotlivými set funkcemi je krátká pauza, která je ale pouze pro efekt postupného rozsvícení či zhasnutí. Po ukončení obou for smyček pak ještě uděláme delší pauzu, abychom věděli, kde začíná nový běh smyčky loop.
// Arduino LOL Shield test // navody.dratek.cz // připojení potřebné knihovny #include <Charliplexing.h> // stavová proměnná pro LED diody bool stavLed = 0; void setup() { // inicializace komunikace s LOL Shieldem LedSign::Init(); } void loop() { // přepnutí stavu na opačnou hodnotu stavLed = !stavLed; // for smyčka pro 9 řádků (y) a 14 diod (x) for (int y = 0; y < 9; y++) { for (int x = 0; x < 14; x++) { // nastavení LED [x,y] na stav dle proměnné LedSign::Set(x, y, stavLed); // krátká pauza mezi diodami delay(20); } } // delší pauza před novým během smyčky delay(500); }
Po nahrání ukázkového kódu do Arduino desky s připojeným LOL Shieldem můžeme pozorovat například tento výsledek:
Arduino LOL Shield je zajímavý shield, který nám umožňuje vytvářet různá zobrazení stavů, údajů či například herního pole. Zároveň díky nutnosti zapájení celého kitu je tento shield vhodný pro začátečníky, kteří si chtějí vyzkoušet práci s páječkou. Mě zabralo pájení celého kitu necelou hodinu, přičemž jsem při něm testoval páječku uvedenou v předchozím článku.
Seznam použitých komponent:
https://dratek.cz/arduino/974-arduino-uno-r3-atmega328p.html
https://dratek.cz/arduino/1205-arduino-lol-shield-led-matice-modra.html