
Tata! Zrób mi jakieś fajne lampki w szafie - poprosiła mnie pociecha któregoś dnia - ale takie fajowe.
Dobrze, coś zrobimy.
Miałem akurat pod ręką taśmę LED RGB na układach WS2811 o napięciu 12 V. Dla nieobeznanych krótkie wprowadzenie. Układ WS2811 jest przeznaczony do pasków LED RGB, gdzie każdym LED można sterować indywidualnie. Wtedy pasek ma zasilanie 5 V. W przypadku zasilania 12 V układ steruje trójkami diodek RGB. Pasek ma trzy punkty lutownicze: Zasilanie, masa i dane.

Skąd układ wie, co od niego chcemy? Do tego służy kontroler. Można kupić gotowy, a można też zatrudnić Arduino. Sterowanie polega na wysyłaniu ciągu impulsów - bitów na układ. Układ odczytuje pierwsze 24 bity, usuwa je i resztę wysyła na następny, który robi to samo. W owych 24 bitach pierwsze 8 informuje układ o jasności świecenia czerwieni, następna ósemka o zieleni i ostatnia o kolorze niebieskim. Czyli 16 milionów możliwości. Bardzo sprytne, odpada potrzeba adresacji układów. Nie trzeba sobie także łamać głowy nad sterowaniem diodami - zostały napisane odpowiednie biblioteki. Skorzystałem z „FastLED.h”.
Teraz pogadałem ze „zleceniodawcą” czego oczekuje od układu. Ustaliliśmy, że oświetlenie ma mieć możliwość zmiany jasności, podstawowy ma być biały, ale ma mieć także możliwość zmiany kolorów. Włączanie i wyłączanie guziczkiem. Pokazałem także „chodzącą tęczę”. Spodobała się i także została zaimplementowana do układu. Zmiana jasności będzie się odbywała za pomocą potencjometru, drugi potencjometr jest do nastaw kolorów. Oba liniowe 22k. Znalazłem w "przydasiach” podświetlany wyłącznik. Ponieważ świeci łagodnym pomarańczowym światłem, zostawiłem go podświetlonego na stałe. Dodatkowo zastosowałem stabilizator 7805 oraz dwa kondensatory wymagane przez Datasheet. Płytka to Arduino Pro Mini. Do tego gotowy zasilacz 12 V 10 A z wtykiem 5.5/2.1

Ze sprzętu dodatkowego to pudełko na układ, laminat uniwersalny, 3 listwy zaciskowe po 4 piny - do zasilania i danych, gniazdko zasilania 5.5/2.1. Diody podłączyłem w dwóch równoległych gałęziach, jedna po 45 sekcji druga 42. Odpowiednio 135 i 126 LED. Jeden pin Arduino spokojnie obsługuje dwie gałęzie danych. Kabel połączeniowy to 3x0.75 mm². Kompromis pomiędzy grubością a spadkiem napięcia. Na końcu gałęzi przy ustawionej pełnej jasności jest 10.2 V, więc jeszcze rozsądnie.
Pudełko po zmontowaniu elementów wygląda tak:



A tak w środku:

Z gniazdka kable zasilające są podłączone do listw zaciskowych, tam też są podłączone LED. Z listwy także jest zasilany stabilizator 7805 podający napięcie na Arduino. Potencjometry są przyłączone do portów A0 i A1. Wejście z guziczka to 11 a wyjście danych na paski LED to 10.
Podaję kod, ale tylko referencyjne. Może nie jest napisany zgodnie ze sztuką, ale działa

Code: arduino
Paski LED zostały przycięte i polutowane. W półkach zostały wywiercone otwory 10 mm i mogłem przez nie przeciągnąć polutowane paski.
Świadomie zrezygnowałem ze złącz, bo wprowadzają dodatkowy opór i musiałbym wiercić większe otwory aby przeszły. Tak wygląda po montażu:


Efekt przeszedł najśmielsze oczekiwania, zwłaszcza dodany na końcu efekt „chodzącej tęczy”.



Cool? Ranking DIY