Po co? - dla zabawy
Znalazłem coś takiego w swojej stercie układów - czego to człowiek nie kupował na początku mikroprocesorowej przygodyTo moduł 4 diod RGB połączonych równolegle zasilanych z układu WS2801. Pozwala on na ustawienie i zapamiętanie dowolnego poziomu świecenia każdej z trzech diod umieszczonych w obudowie zintegrowanego LEDa. Układy (a więc i diody) można łączyć szeregowo w fantazyjnie sterowane łańcuchy czy matryce LED. Układy WS2801 komunikują się jakiś rodzajem protokołu SPI, przy czym wpisywanie danych do połączonych LED jest szeregowe i sekwencyjne tzn dana jest wpisywana do pierwszego układu w następnym cyklu z pierwszego do drugiego w trzecim z drugiego do trzeciego itd. Mam jeden układ WS2801 więc nie przetestuję funkcji łańcucha LED - dziś tylko próba sterowania kolorami.
Schemat prosty
Kod
Jak zawsze nieocenione w Arduino biblioteki do wszystkiego wspomagają pracę "programisty"
Tym razem ściągnąłem bibliotekę Adafruit-WS2801-Library-master i mała zagwostka - niewiele z tego rozumiem. Pomocny okazał się artykuł p. Jarzębskiego a w zasadzie jego początek. To co zrozumiałem z działania biblioteki "Adafruit_WS2801.h" umieściłem w programie. Jak zawsze gdy korzystamy z gotowych bibliotek sam program to zaledwie kilka linijek teksu. Od siebie dodałem trzy pętle for by uzyskać całą gamę kolorów. Liczba n to maksymalne natężenie poszczególnych diod (z max 255). Najładniej kolory widać przy mniejszej jaskrawości więc mocno ograniczyłem świecenie LEDów. Program przemiata wszystkie możliwe kombinacje nastaw RGB z zakresu jasności świecenia 0-19 co 0,2 sek. LEDy należy obserwować z kilku m by nie widzieć poszczególnych kolorów lub przysłonić je transparentnym lecz matowym materiałem.
Kolory w procedurze strip.setPixelColor winny być kolejno RGB - u mnie są jak raz BGR.
Teraz pozostaje mi kupić niedrogo jakiś łańcuch LEDów ze sterownikiem WS28xx i spróbować wyczarować na nim różne falujące efekty.
Szkoda tylko, że święta już za nami.
cdn........
Brak komentarzy:
Prześlij komentarz