Vánoční RGB LED světla s WS281x řízená Raspberry Pi

 

 <- Návrat na předchozí stranu – Instalace Linuxu

Pokračovat teď budeme nastavením samotného testovacího souboru. K tomuto účelu použijeme editor textových souborů ” nano ” , který podporuje barevné rozlišování. Stačí napsat ” nano nazev.souboru “, tak se vám otevře soubor připravený k editaci. Uložit změny lze současným stiskem kláves ” CTRL + O ” a potvrdit zápis souboru. Práci v editoru ukončíte stiskem ” CTRL + X “. Otevřeme tedy soubor a budeme editovat počet našich LED k ovládání – ” nano strandtest.py ” a v souboru najdeme následující řádky

Pro nás je použitelný pouze první řádek, kde je nutné zapsat počet ovládaných LED. To je také jediné, co před testem musíme udělat, nyní můžeme spustit ukázkový soubor ” strandtest.py “. Protože jsme přihlášeni jako uživatel, musíme zajistit spuštění souboru s větším oprávněním, tedy ideálně jako ” root “. K tomuto účelu slouží příkaz ” sudo “, který už jsme používali v předchozích příkazech.

Zastavení spuštěného programu zajistíte společným stiskem kláves ” ctrl + c ” , jen mějte na paměti, že LED vám zůstanou svítit ve stavu před přerušením. K rychlému zhasnutí můžete vytvořit soubor ” stop.py “, a to tímto příkazem ” nano stop.py ” a vložením následujících řádků.

Kdo nechce prográmek pro zhasnutí spouštět ručně, může si vytvořit jednoduchý skript, který po ukončení programu řídícího LED pásek, sám odešle program pro zhasnutí. Můžeme ho nazvat třeba ” LedOn.sh “, už známe jak ” nano LedOn.sh ” a vložíme následující příkazy.

A ještě musíme zajistit atribut spuštění. K tomuto účelu použijeme následující příkaz ” sudo chmod a+x LedOn.sh “. Testování pak pustíme pomocí našeho skriptu ” sudo LedOn.sh “.

Ukázkový program je napsán v Pythonu. Python je interpretovaný, interaktivní a objektově orientovaný programovací jazyk. Často je srovnáván s Tcl, Perl, Scheme nebo Javou. Nezvyklou zajímavostí je, že struktura programu se řídí odsazováním příkazů, místo používání závorek jako třeba v C. Kdo se bude cítit na vyzkoušení si programování vlastních efektů, bude využívat připravené funkce a některé si v rychlosti popíšeme, celkový popis najdete na už zmíněné stránce Adafruit.com.

setPixelColor(strip, n, color)   >  n – udává pozici LED a color 24 bit hodnotu barvy.
setPixelColorRGB(strip, n, red, green, blue)  > n – udává pozici LED a následují barvy v desítkové soustavě v rozmezí 0-255.
numPixels(strip)  >  vrací počet zapojených LED
getPixelColor(strip, n)  > n – udává pozici LED a bude vám vrácena 24bit hodnota barvy zvolené pozice
show(strip)  > zobrazí změny na LED pásku, ostatní příkazy jsou jinak prováděny na pozadí a budou provedeny až po vyvolání této funkce
Color(red, green, blue)  > konvertuje barvy v des. soustavě (rozsah 0-255) na 24bit, příklad: setPixelColor(strip, n, Color(255, 0, 0))
setBrightness(strip, brightness)  > brightness udává jas v rozsahu 0-255

Většina funkcí je jednoznačných, jen u poslední funkce setBrightness dochází ke změně hodnot, tedy ovlivňuje to i barevnost.
Na konec přikládám i rozšířený zkušební soubor pod názvem vanoce.py, kde je několik dalších ukázek různých efektů. Pokud by se chtěl někdo podělit i o své vytvořené efekty, rád je do článku přidám, stačí je poslat na e-mail  dccmm.elektromm(za.vi.nač)seznam.cz

 

————————————————————————————————————————————————-
Soubory ke stažení:

ukázkový soubor
Titul : ukázkový soubor
Název souboru : vanoce.py (8 kB)

————————————————————————————————————————————————-

Strana 3 z 3123

______________________________________________________________________________________

______________________________________________________________________________________