Spisu treści:
Wideo: Zsynchronizowane paski LED WiFi Mesh: 3 kroki (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Autor: CarlSTeleToylandObserwuj Więcej autora:
O: Twórca od dzieciństwa ze wszystkimi klasycznymi objawami, konstruktor robotów i CTO/Tech Product Manager ds. oprogramowania internetowego. Więcej o CarlS »
Ten projekt to kolekcja listew LED z indywidualnie sterowanymi cyfrowymi diodami LED (WS2812b "Neopixels"). Pozwalają na tworzenie animacji bez łączenia ich ze sobą. Używają sieci WiFi Mesh do łączenia się ze sobą, a animacja dostosowuje się do posiadania większej lub mniejszej liczby pasków w siatce.
Inspiracją było to, że para głównych perkusistów udekorowała buławy/pałeczki na bożonarodzeniową paradę. Animacja LED między nimi jest zsynchronizowana. Diody LED mogą być również pasmami zamiast pasków.
Drugim zastosowaniem jest instalacja artystyczna LED, w której nie chcesz prowadzić przewodu danych między wszystkimi diodami LED w pomieszczeniu - wystarczy, że podłączą je pojedynczo.
W przypadku tego projektu nie są podłączone do Internetu. Tworzą własne prywatne punkty dostępu Wi-Fi i serwery internetowe. Tak więc ten projekt nie jest zależny od sieci zewnętrznej i może działać w lokalizacjach zdalnych. Działają na 5V, więc mogą być łatwo zasilane przez zewnętrzne baterie do telefonów komórkowych!
Krok 1: Części
W projekcie dla każdej listwy zastosowano następujące części:
- Niewodoodporna taśma LED WS2812b. Użyłem 30 diod/metr. Te niewodoodporne zwykle mają już przyklejoną taśmę dwustronną, dzięki czemu są łatwe w montażu. Będziesz potrzebował 1 metra na kanał, ponieważ kanały mają metr długości. Więcej diod LED na metr jest w porządku - po prostu upewnij się, że masz odpowiednio duży zasilacz. Każda (5050) dioda LED w tych paskach może zużywać do 60 mA, gdy jest w pełni włączona.
- Plastikowa obudowa projektu elektronicznego 60x36x25mm - ta jest wystarczająco mała, aby pomieścić D1 Mini.
- Gniazdo 5,5 mm x 2,1 mm DC do montażu na panelu
- Zasilanie 5V - 2 A powinno wystarczyć z 30 diodami LED @ 0,06 A przy pełnym włączeniu.
- Kabel USB na 5,5 mm x 2,1 mm, jeśli chcesz zasilić ten projekt z baterii USB
- Płyta D1 Mini ESP8266 - również dostępna za mniej, ale z dłuższym oczekiwaniem.
- Aluminiowy kanał z osłoną i zaślepkami do taśm LED. Do wyboru jest wiele profili. Ten jest wystarczająco szeroki dla taśm LED WS2812b (12mm) i niski profil.
- Pręt aluminiowy - kanał ma 17mm szerokości, więc pręt aluminiowy o szerokości 1/2" jest dobrym rozmiarem. Powinien mieć grubość 1/16" i długość 6" dla każdego wykonanego pręta.
- Dwustronna taśma piankowa - szerokość 1/2".
- Kondensator 1000uF - zalecany do każdej taśmy, aby zapobiec uszkodzeniu diod LED przez skoki napięcia.
- Podłączyć przewód. Ten przewód silikonowy o grubości 26 jest bardzo elastyczny i pomaga zapobiegać ściąganiu punktów lutowniczych z paska LED. Nie topi się również po dotknięciu lutownicą. Użyłem również drutu serwo, który jest również bardzo elastyczny, ale drut silikonowy jest moim nowym ulubionym drutem. Potrzebujesz tylko około 6" każdego koloru (czerwony, czarny, żółty).
- Przewody połączeniowe - żeński czerwony, czarny i żółty służą do połączenia z procesorem. Możesz je pominąć i przylutować przewód bezpośrednio do płytki, jeśli jesteś pewny siebie.
- Rezystor 330 omów do redukcji szumów w linii danych taśmy LED.
- Dioda sygnałowa 1N4448 lub podobna, aby umożliwić procesorowi 3,3 V niezawodne sterowanie paskiem LED 5 V.
- Rurka termokurczliwa 3 mm - wystarczy około 5 cali.
Krok 2: Zbuduj Bary
Konstrukcja barów jest taka sama jak w poprzednim Instructable. Są tu podobne zdjęcia krok po kroku z ostatniej wersji, a dyskusję można znaleźć na temat tego innego Instructable.
Jedna nowa wskazówka dotycząca przyklejania diod LED do aluminiowego kanału: czasami taśma dwustronna na taśmach LED jest nieco krótsza niż płytka z obwodami LED, a na pasku LED widać lekkie zapięcie. Jeśli po prostu przetniesz taśmę w tym miejscu, ułoży się płasko.
Użyłem również kilku kropel kleju UV, aby zablokować przewód zasilający i wszelkie części paska LED, które nie tkwiły.
Zamiast kontrolerów Particle Photon w tym projekcie wykorzystano płytki WeMos D1 Mini, oparte na chipsecie ESP8266. Są ładne i małe jak na projekt LED. Użyłem męskich nagłówków, aby zrobić miejsce dla żeńskich skoczków. Odwrócenie złączy nie zmieści się w obudowie. Takie podejście jest również łatwe do lutowania. Użyłem również drutu litego o grubości 20 z zaciśniętymi złączami żeńskimi, co również działa, ale jest to więcej wysiłku.
Te słupki wykorzystują to samo podejście do protektorowej diody LED dla pierwszej diody LED. W praktyce naprawdę nie jest to zauważalne. Prawie niezauważalna jest również niewielka luka między pierwszymi dwoma
Jeśli zamierzasz użyć klipsów do montażu aluminiowego kanału, aluminiowy pręt łączący kanał ze skrzynką projektową może przeszkadzać w bezpośrednim montażu klipsów do ściany, więc może być konieczne założenie podkładek lub luźnej nakrętki pod tam, aby odeprzeć je o 1/16.
Krok 3: Kod siatki
Każdy z pasków LED uruchamia ten sam kod. Podstawą tego projektu jest biblioteka painlessMesh dostępna pod adresem https://gitlab.com/BlackEdder/painlessMesh. Ta biblioteka obsługuje większość niskopoziomowych prac związanych z tworzeniem punktów dostępowych, serwerów WWW itp. Każdy słupek jest węzłem siatki.
Siatka ma jeden kontroler, a powiadomienia o zmianach animacji są emitowane do wszystkich węzłów/pasków LED. W przypadku dużej siatki może wystąpić pewne opóźnienie w wiadomościach, ale przy skali, w której pracowałem, nie było to zauważalne.
Podczas uruchamiania węzeł zakłada, że jest kontrolerem, ale wtedy komunikat updatedNodes wyzwala ocenę. Najniższy identyfikator chipa w siatce staje się kontrolerem. Zwykle zajmuje to sekundę lub dwie, zanim wszystkie węzły ustabilizują się i przyjmą jeden kontroler. Możesz włożyć więcej wysiłku w szybszą ponowną synchronizację (w połowie animacji), ale te komunikaty o zmianach są dość gadatliwe, więc i tak potrzeba trochę czasu, aby sieć się uspokoiła. W praktyce po ponownym zsynchronizowaniu pozostają bardzo solidne.
W przypadku animacji, które przecinają się, kod pobiera listę węzłów, sortuje ją, a następnie rysuje tylko wtedy, gdy bieżący węzeł jest tym, który jest rysowany. Sortują w kolejności identyfikatorów chipów, dzięki czemu możesz tworzyć animacje, które będą spójne, bez względu na to, kiedy się uruchomią. Ponadto animacje dostosują się do upuszczanych węzłów.
Kod animacji pojawia się w trzech miejscach. Pierwsza to funkcja ReceiveCallback, w której pasek otrzymał nowe polecenie animacji. Jest to dość proste - wystarczy ustawić rozmiar kroku czasowego dla animacji i zresetować liczniki. Drugie miejsce zajmuje funkcja pętli. Tam kod sprawdza, czy bieżąca animacja jest gotowa, i przechodzi do następnego kroku. Ostatnim miejscem na kod animacji jest funkcja stepAnimation, w której wykonywane jest całe rysowanie.
System wykorzystuje licznik milisekund do aktualizacji - unikając używania funkcji opóźnienia, ponieważ blokuje ona niektóre biblioteki. Kod milisa powinien być poprawnie przewijany.
Zauważ, że miałem problemy z biblioteką NeoPixel i bezbolesną siatką z więcej niż jedną diodą LED, więc przełączyłem się na FastLED.
Oto kod na GitHib, który jest również załączony tutaj. Ładujesz go prawie na wszystkie paski i jesteś gotowy do kodowania animacji LED!
Zalecana:
Szeroko zsynchronizowane diody LED w sąsiedztwie: 5 kroków (ze zdjęciami)
Neighborhood Wide Synchronized LEDs: Miałem kilka bezprzewodowych listew LED, które myślałem, że mogę zgasić na święta. Ale na moim podwórku równie dobrze można je było podłączyć. Więc co jest fajniejszym wyzwaniem? Dekoracje LED we wszystkich domach na moim bloku z zsynchronizowanym wyświetlaczem
Reaktywne paski LED do deski surfingowej: 8 kroków (ze zdjęciami)
Reaktywne paski LED do deski surfingowej: Ostatnio wraz z przyjaciółmi odkryliśmy surfing po rzece. Mieszkając w Monachium, mamy szczęście, że mamy do czynienia z trzema falami na rzece, w tym słynnym spotem surfingowym Eisbach. Minusem surfingu po rzece jest to, że jest dość uzależniający, więc rzadko znajduję czas na
Twórz niestandardowe paski LED: 4 kroki (ze zdjęciami)
Twórz niestandardowe taśmy LED: Niedawno wykonałem kostkę z lustrem nieskończoności i chciałem, aby miała określony rozmiar z określoną liczbą diod LED. Żadna z taśm LED, które udało mi się znaleźć, nie miała odpowiednich właściwości do tego, czego chciałem, więc stworzyłem własną. Te paski nie uciekają
Lampy zsynchronizowane Wifi: 10 kroków (ze zdjęciami)
Wifi Synchronized Lamps: Projekt dla kogoś, kto rozświetla twoje życie… 2 lata temu, jako prezent świąteczny dla przyjaciela na odległość, stworzyłem lampy, które synchronizują animacje przez połączenie internetowe. W tym roku, 2 lata później, stworzyłem tę zaktualizowaną wersję za pomocą
DIY MusiLED, zsynchronizowane z muzyką diody LED z aplikacją Windows i Linux jednym kliknięciem (32-bitowe i 64-bitowe). Łatwe do odtworzenia, łatwe w użyciu, łatwe do przenoszenia: 3 kroki
DIY MusiLED, zsynchronizowane z muzyką diody LED z aplikacją Windows i Linux jednym kliknięciem (32-bitowe i 64-bitowe). Łatwy do odtworzenia, łatwy w użyciu, łatwy do przenoszenia. Ten projekt pomoże Ci podłączyć 18 diod LED (6 czerwonych + 6 niebieskich + 6 żółtych) do płyty Arduino i przeanalizować sygnały karty dźwiękowej komputera w czasie rzeczywistym i przekazać je do diody LED, aby je oświetlić zgodnie z efektami beatu (Snare, High Hat, Kick)