Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Jak każda szanująca się sroka uwielbiam wszystkie jasne i błyszczące rzeczy.
I zdecydowanie do tej kategorii należą elektryczne girlandy LED.
Niestety, te światła zwracają moją uwagę, gdy właśnie minął Nowy Rok. Ale hej! Mam nadzieję, że to nie jest nasz ostatni Nowy Rok i mamy wystarczająco dużo czasu, aby lepiej przygotować się do nowego!
Krok 1: O co chodzi?
Niedawno na rynku pojawiła się najlepsza girlanda z oświetleniem elektrycznym.
Jest to girlanda LED, w której kolorem i jasnością każdej diody RGB można sterować indywidualnie za pomocą chipa WS2811. Ten chip może być wszczepiony bezpośrednio w diodę LED. Takie diody można znaleźć pod nazwą APA106 na www.aliexpress.com. Wyglądają jak zwykłe 4-pinowe diody RGB ze wspólną anodą\katodą, ale tak nie jest! Każda dioda LED APA106 zawiera zintegrowany układ WS2811, który należy zaprogramować, aby włączał diodę LED. Jeśli kupujesz diody APA106 na Aliexpress, radzę sprawdzić je od razu - nierzadko zdarza się, że klient zamiast APA106 dostaje zwykłe diody RGB!
Również te układy WS2811 można spakować jako płytkę zewnętrzną z dołączoną do niej zwykłą diodą RGB. Wszystkie te światła występują w różnych formach i liczbach.
Jedyna wspólna rzecz dla nich - nie zapaliłyby się bez kontrolera.
Istnieje pewna modyfikacja chipa WS281x - odtwarzają losowe kolory bez kontrolera, ale nie jest to dla nas interesujące, ponieważ nie można ich zaprogramować.
Krok 2: Niezbędne części
Tak więc części do projektu zostały zamówione i ostatecznie dotarły:
1) Wodoodporny pasek WS2811 z 2 x 50 diodami LED. Paski te można łączyć ze sobą w celu zwiększenia ilości diod LED. Nie zapaliłyby się same, więc potrzebny był jakiś kontroler.
2) Układ ESP8266 w bardzo wygodnym formacie: WeMos D1
Podoba mi się ta deska - jest bardzo kompaktowa i łatwa w obsłudze.
3) Nie jest to konieczne, ale te części również mogą się przydać:
- odbiornik podczerwieni TL1838
- małe rozszerzenia do WeMos
- mała tarcza z przyciskiem dla WeMos
4) Dobrym pomysłem byłoby zaopatrzenie się w mocny zasilacz 5V, ponieważ taśmy LED są prądożerne - zwłaszcza jeśli ustawisz wszystko na jasny biały.
Ten zasilacz może dobrze sobie radzić: Zasilanie 5v 8A. Projekt ten opracowałem z zasilaczem z telefonu komórkowego o prądzie wyjściowym 1A. Działa wystarczająco dobrze, dopóki nie zwiększysz jasności. Przynajmniej ESP8266, taśma LED i zasilacz 5v 1A przetrwały cały mój wysiłek.
Krok 3: Bla Bla Bla
Wszystkie części są w końcu na rękach, ale co z nimi zrobić?
Zaprogramować jeden lub kilka efektów do kontrolera i to wszystko? Zbyt proste.
Jaka jest różnica od wszystkich istniejących girland?
Jak widać z mojego poprzedniego projektu publicznego: PasswordKeeper - KISS dla dziewczyn, nie szukamy łatwych sposobów!
Więc idea girland musi być jakoś skomplikowana. Mam nadzieję, że nie do momentu bezużyteczności;)
Byłoby dobrze, gdybyśmy w jakiś sposób mogli kontrolować nasze zachowanie świateł.
Niemal każdy miał teraz jakiś smartfon, który może łączyć się z internetem.
ESP8266 to moduł obsługujący WiFi. Stąd pomysł sterowania girlandami za pomocą interfejsu WEBowego pochodzi całkiem naturalnie.
Ale nie wszyscy są maniakami komputerowymi i potrafiliby zajmować się programowaniem i interfejsem WEBowym. Szkoda, Ech;) Można więc dołączyć zwykły pilot na podczerwień, aby włączyć zaprogramowany efekt. A jeśli chcesz być śmiertelnie prosty - wystarczy przycisk. W dwóch ostatnich przypadkach i tak potrzebowałbyś geeka, aby najpierw zaprogramować te efekty w twoim urządzeniu;)
Aby uprościć programowanie efektów świetlnych dodatkowo dodałem tryb odtwarzania BMP.
Po prostu wrzuć kolorowe linie na obraz w dowolnym edytorze graficznym, zapisz obraz jako BMP, załaduj je do kontrolera i wybierz tryb odtwarzania BMP. Kontroler załaduje BMP do girlandy linia po linii z opóźnieniem, które można zaprogramować.
Na tej stronie zobaczysz obrazek BMP z 3 kolorowymi liniami i wideo, które pokazują, jak ten obrazek wygląda odtwarzany przez kontroler. Pokazuje, jak możesz stworzyć swój własny wzór.
A kiedy stworzysz coś miłego dla oka - bądź tak miły - podziel się tym z resztą społeczności!
Krok 4: Pomysł
Szybkie wyszukiwanie nie przyniosło żadnych podobnych projektów w sieci.
Oczywiście ludzie mieli ważniejsze rzeczy do zrobienia niż wymyślanie kolejnego bezużytecznego chindogu.
Cóż, naprawmy tę wadę.
Pomysł polega na stworzeniu urządzenia, które może odtwarzać skrypty tekstowe w celu uzyskania różnych efektów na diodach LED.
Skrypt ten można łatwo edytować za pomocą interfejsu internetowego on-line, a nowy efekt jest na miejscu.
Oczywiście można to osiągnąć za pomocą zwykłego języka programowania. Ale do zmiany efektu potrzebny byłby przynajmniej kompilator. A co jeśli po prostu nie chcesz odpalać swojego dużego komputera, ale znudzi Ci się obecny efekt? Problem!
Ale tę komplikację można rozwiązać, jeśli sterownik posiada interpreter tekstu, a jego dane wejściowe można zmieniać on-line.
Stworzyłem więc rodzaj maszyny wirtualnej i rozwinąłem język ptaków, który ta maszyna rozumie. Oprogramowanie to, ładowane do ESP8266, pozwala na tworzenie dość skomplikowanych algorytmów przełączania LED.
Niektórzy mogą powiedzieć - "Użyj LUA lub lajków", ale ja mówię - "To za proste!".
Ten projekt został zainspirowany moją wewnętrzną sroką, więc język powinien być ptasi, aby go zadowolić!
Krok 5: Okablowanie
Nie wdałbym się w szczegóły instalacji i konfiguracji Arduino IDE do pracy z ESP8266.
Istnieje wiele zasobów w sieci, w których wszystkie procesy są wyjaśnione w każdym szczególe.
Wszystkie potrzebne biblioteki są wymienione w dokumencie WebLights_En.rtf. I zaopatrzony w źródło.
Okablowanie jest proste.
Przycisk i odbiornik IR nie są potrzebne, ale poręczne.
Długie naciśnięcie (6 s) przycisku resetuje urządzenie do stanu domyślnego i ładuje domyślny skrypt.
Zwykłe kliki przełączają się między efektami (jeśli są zaprogramowane w skrypcie) lub plikami BMP.
Jeśli podłączysz odbiornik podczerwieni, możesz przypisać efekty do przycisków pilota. Wystarczy nacisnąć przycisk na podczerwieni, a następnie odświeżyć stronę WebLights. Na stronie internetowej znajduje się 4-symboliczna zmienna o nazwie kod IR. Pobierz ten kod i zastąp nim xxxx w poleceniu (LLxxxxc:c). Następnie za każdym razem, gdy ten kod zostanie znaleziony w podprogramie IR, zostanie wywołane LL.
To połączenie jest trochę barbarzyńskie - dobrze by było wstawić przełącznik poziomu 3v->5v pomiędzy ESP8266 a światłami. Ale działa również z bezpośrednim połączeniem - jeśli linia między kontrolerem a girlandą nie jest zbyt długa.
Jest jeszcze jeden hack, który może zwiększyć stabilność - włóż dowolną diodę do linii +5v, która zasila pierwszą diodę LED. Przesunie nieco poziom logiczny jednej z pierwszych diod LED w dół.
Krok 6: Kilka słów o oprogramowaniu
Pełne źródło tego projektu znajduje się na githubie.
Po prostu umieść katalog WebLights w folderze projektów Arduino, otwórz go i wybierz Weblights.ino.
Skopiuj zawartość folderu WebLights\libraries\ do folderu projektów Arduino.
Zbuduj i załaduj do ESP8266.
Domyślnie urządzenie uruchamiane w trybie AccessPoint.
Tworzy WebLights sieci Wi-Fi z hasłem Weblights. Wystarczy wpisać dowolny adres URL WEB, a zostaniesz przekierowany na stronę kontrolera. Na przykład: wl.com.
Do urządzenia ładowany jest również prosty skrypt kropek biegnących wstecz i forsowych. Dostarczyłem kilka prostych skryptów, które możesz załadować do urządzenia, aby zobaczyć, jak wyglądają. Możesz ich użyć jako punktu wyjścia do opracowania innych efektów.
Krok 7: Testowanie jakości
Urządzenie zostało bezwzględnie przetestowane na biednych bezbronnych stworzeniach i okazało się bezpieczne.
Żadne zwierzę nie zostało skrzywdzone podczas tego testu;)
Krok 8: Wniosek
Byłbym zachwycony, gdyby jakaś sroka podjęła wysiłek (lub trud), aby opracować jakieś skrypty lub obrazki, które dają ciekawe efekty wizualne i podzielić się nimi ze społecznością w tym wątku.
Rysowanie obrazków może wydawać się łatwe, ale stworzenie obrazu dającego gładki i ciekawy efekt może nie być takie proste.
Sroki nie są ptakami stadnymi, ale dlaczego nie mieć miejsca, w którym mogą się dzielić i wymieniać błyszczącymi rzeczami (lub skryptami\obrazami)? Myślę, że ten wątek może zrobić doskonale.
UPD:
Oto ciekawa strona z wzorami
Film przedstawiający WebLights na drzewie.