logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

DIY Arduino Nano i diody WS2812B na choinkę - zmiany

Visar78 03 Sty 2020 19:59 5931 16
REKLAMA
  • Witam,

    minęło parę lat od przedstawienia ostatniej wersji lampek choinkowych,

    Arduino + WS2811 - lampki choinkowe

    a ponieważ sprawdzały się przez te wszystkie święta, postanowiłem pokazać wersję mocno uproszczoną do sterowania drzewkiem na zewnątrz, gdzie po prostu włącza się to przed świętami i ma chodzić do końca stycznia.





    Tak więc tym razem odpada wszelkie zewnętrzne sterowanie, z praktyki wiem, że możliwość wybierania efektu, zmiany prędkości, itp. to "bajer" który szybko się nudzi i potem i tak wszystko zostaje w trybie demo.

    Tak więc co się zmieniło w stosunku do poprzedniego razu:
    jest to wersja zewnętrzna więc zmontowana w obudowie hermetycznej z poliwęglanu, z hermetycznymi złączami,
    program jest w dużej mierze przejęty z poprzedniego urządzenia, zmianie uległy dwa efekty i doszło reagowanie na światło
    nowa wersja funkcji wysyłającej dane do łańcucha, która potrafi składać dane z dwóch buforów i dodatkowo jeszcze sterować jasnością, wykorzystując do tego wolne cykle procesora podczas oczekiwania na wysłanie danych do łańcucha, samo przesłanie danych dla 250 diód łącznie z miksowaniem dwóch źródeł i uwzględnieniem jasności trwa poniżej 7ms.

    DIY Arduino Nano i diody WS2812B na choinkę - zmiany DIY Arduino Nano i diody WS2812B na choinkę - zmiany DIY Arduino Nano i diody WS2812B na choinkę - zmiany DIY Arduino Nano i diody WS2812B na choinkę - zmiany DIY Arduino Nano i diody WS2812B na choinkę - zmiany DIY Arduino Nano i diody WS2812B na choinkę - zmiany DIY Arduino Nano i diody WS2812B na choinkę - zmiany DIY Arduino Nano i diody WS2812B na choinkę - zmiany

    DIY Arduino Nano i diody WS2812B na choinkę - zmiany

    Do obudowy zostały dokręcone "nogi" które pozwalają na łatwe umieszczenie skrzynki w ziemi koło drzewka. Wszystkie wypusty na kable zostały umieszczone od spodu, zaś z prawej strony wygląda na świat fotorezystor.

    Aktualny kod:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
    [/code]

    Fajne? Ranking DIY
    O autorze
    Visar78
    Poziom 11  
    Offline 
    Specjalizuje się w: programowanie
    Visar78 napisał 21 postów o ocenie 152. Mieszka w mieście Warszawa. Jest z nami od 2011 roku.
  • REKLAMA
  • #2 18380631
    Miray
    Poziom 8  
    Posty: 44
    Ocena: 23
    Ten zasilacz to jakiej mocy jest? Zakładam, że pojedyncza dioda wymaga np. 2V i 20 mA co daje jakieś 0,04 W. Razy 250 to daje jakieś 10 W. Chyba, że te diody konsumują więcej. To popraw mnie.
  • REKLAMA
  • #3 18380963
    Konto nie istnieje
    Poziom 1  
  • #4 18381558
    Visar78
    Poziom 11  
    Posty: 21
    Ocena: 152
    Ten zasilacz ma moc 90W na wyjściu, a co do diod, to dla jednego łańcucha (50 diod) podawana jest moc 15W, jedna dioda ma prąd typowo 60mA, max. 80mA, tutaj przy zastosowaniu pięciu łańcuchów po 50 diod potrzeba min 75W. Wybrany został zasilacz 90W ze względu na jego dosyć kompaktowe wymiary, wcześniejszy 80W miał większy rozmiar.

    Tutaj jest pięć łańcuchów po 50 diodek połączonych w jedną długą linię, ale każdy zestaw 50 diod ma osobne zasilanie. Dlatego jest pięć gniazdek na obudowie, a sterowanie jest tylko na jednym z nich. Pewnie 12V jest wygodniej stosować, ja akurat miałem jeszcze zapas 5V.

    Diody nie grzeją się za bardzo, są tylko ciepłe w dotyku.

    A co do maksymalnej długości to zależy od rodzaju oprogramowania sterującego, w moim przypadku było to robione pod max 250 diod. Ale spokojnie można to zrobić do okolic 600 diod (chodzi o długość bufora w RAMie, którego tutaj jest mocno ograniczona ilość).
  • REKLAMA
  • #5 18383430
    Miray
    Poziom 8  
    Posty: 44
    Ocena: 23
    Visar78 napisał:


    A co do maksymalnej długości to zależy od rodzaju oprogramowania sterującego, w moim przypadku było to robione pod max 250 diod. Ale spokojnie można to zrobić do okolic 600 diod (chodzi o długość bufora w RAMie, którego tutaj jest mocno ograniczona ilość).


    Zastanawiam się czy gdyby zaprogramować to w czystym C, np. w Atmel Studio to można by obsłużyć większą ilość diod. W końcu Arduino lubi dla zwykłego mrugania diodą zabierać nawet kilka % pamięci programu.
  • #6 18383588
    Visar78
    Poziom 11  
    Posty: 21
    Ocena: 152
    Tutaj raczej nie pomoże czyste C, Atmega 328p ma tylko 2048 bajtów RAMu, dla 600 diod potrzeba na bufor 1800 bajtów, co pozostawia dla reszty programu tylko nieco ponad 200 bajtów. Jeśli by trzeba było sterować większą ilością diod, to poszedłbym w ESP8286 gdzie RAMu jest 20KB.
  • #7 18384105
    george2002

    Poziom 21  
    Posty: 526
    Ocena: 158
    pytanie z innej bajki - można linka prosić do tych konkretnych diód zastosowanych :) ? bo widzę że wodoodporne i od razu kabelki a nie jakieś taśmy :)
    Konto firmowe:
    GS electronic Grzegorz Stoliński
    2 Pułku Lotniczego 18, Kraków, 31-857 | Strona WWW: www.gselectronic.pl
  • #9 18384250
    Visar78
    Poziom 11  
    Posty: 21
    Ocena: 152
    Ostatnim razem kupowałem u tego sprzedawcy: https://pl.aliexpress.com/item/32981560503.html?spm=a2g0s.9042311.0.0.118a5c0fxgD6v7, darmowa przesyłka kurierem pozwala szybko mieć towar u siebie (4 dni), ale wiąże się to dodatkowo z zapłatą podatku. Link kolegi wyżej wygląda zdecydowanie korzystniej.
  • #10 18384408
    Konto nie istnieje
    Poziom 1  
  • #11 18386194
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1301
    Te z linków powyżej z aliexpress to WS2811, czy różnica WS2811 vs. WS2812B to tylko wbudowany układ w diodę (WS2812B) zamiast zewnętrznego ? widzę, że teraz na topie WS2813 które mają wbudowany pin bypass'u - w przypadku uszkodzenia diody, reszta nadal działa.

    Do autora, bardzo fajnie i estetycznie wykonany projekt, poleciały zasłużone punkciki ;)

    Pozdr
  • REKLAMA
  • #12 18387796
    fotomh-s
    Poziom 24  
    Posty: 1091
    Pomógł: 10
    Ocena: 315
    Erbit napisał:
    Ja oczywiście wolę DIY Kolegi choć nie ukrywam, że zrobię to na ESP8266 co umożliwi albo "wysyłanie programów" albo pobieranie ich z HTTP.

    Ja też polecam ESP. Można zrobić Artnet albo sACN, jest sporo dobrego softu do sterowania takim czymś (ja korzystam z zabugowanej wersji GrandMA2 OnPC, bug umożliwia export parametrów bez sprzętu od MA). Przy ESP-32 nie każda biblioteka działa odpowiednio, neopixel nie działa, fastled działa dobrze, przy 8266 chyba nie ma problemu z bibliotekami. ESP ma dużo pamięci, nie trzeba się martwić wielkością bufora.

    Ja w tym roku skąpo, tylko taki test zrobiłem:
    DIY Arduino Nano i diody WS2812B na choinkę - zmiany
  • #13 18390540
    marcineeek
    Poziom 1  
    Posty: 1
    Przepraszam że się wetnę. Czy spotkaliście się może z gotowym projektem lub DIY umożliwiającym sterowanie matrycą diod WS28xx w czasie rzeczywistym np. z komputera, raspberry, przez sieć, etc ... Chciałbym wykonać matrycę poziomą tzw. "fartuch" do aneksu kuchennego (40x6 oczek po jednej WS28xx 10x10cm) realizującym funkcję oświetlenia akcentującego, oświetlenia blatu roboczego, przy muzyce efekty coś jak w winampie, informacje o poczcie, sms-ach przychodzących, nazwę dzwoniącego przez tel GSM, itp., itd. Kiedyś widziałem drzwi z tetrisem w pionie w "szybie" - tu byłoby w poziomie. Zupełnie nie wiem czy takie coś jest możliwe i w zasięgu oraz w jakie narzędzia celować. Może ktoś widział i coś podpowiecie ...
  • #14 18392010
    fotomh-s
    Poziom 24  
    Posty: 1091
    Pomógł: 10
    Ocena: 315
    marcineeek napisał:
    Czy spotkaliście się może z gotowym projektem lub DIY umożliwiającym sterowanie matrycą diod WS28xx w czasie rzeczywistym np. z komputera, raspberry, przez sieć, etc ...

    Art-Net albo sACN jeśli chcesz sterować w czasie rzeczywistym. Do tego dobierasz sobie soft jaki Ci pasuje.
    Można zrobić na ESP i sterować przez WiFi.

    Na githubie są biblioteki do Arduino z przykładami pod WS2812. Potrzebna płytka z ESP (8266, może być i 32), biblioteka fastled oraz biblioteka Art-Net lub sACN. Do tego oczywiście musisz pobrać biblioteki dla ESP (te oficjalne).

    Jeśli chcesz zrobić dane z telefonu (jak nazwa dzwoniącego) to najlepiej przez BT (ESP-32), wymagać to jednak może odpowiedniego softu na telefon (nie wykluczone że będziesz musiał apkę napisać) i oczywiście implementacji po stronie ESP.
  • #15 18723616
    Bysiu
    Poziom 15  
    Posty: 119
    Pomógł: 4
    Ocena: 9
    Witam.
    Odkopię stary temat i proszę o wyrozumiałość.
    Złożyłem ten projekt z łańcucha 50 szt ledów i nie startuje.Pewnie gdzieś jest błąd w kodzie,ale ja zupełnie się nie znam na Arduino i raczej się nie poznam(emerytura tuż tuż).
    Jak wgram kod ze starego tematu,ten bez potencjometrów i zmniejszę ilość ledów do 50szt to ładnie działa,ale chciałem złożyć z fotorezystorem ,w nocy nie musi być tak jasno.
    Dziękuję i pozdrawiam.

    Ok.
    Nie było tematu.
    W dzień nie świeci.Ja zasłaniałem palcem,lecz to za mało.
    Wszystko gra.
  • #16 19608285
    sq6hzs
    Poziom 13  
    Posty: 133
    Ocena: 104
    Mam diody na 12V i chciałbym sterować je z Arduino zamiast chińskich sterowników kupionych na ali, znalazłem informacje że wystarczy użyć tranzystora np. IRL540N. Docelowo ma to być sterowanie dla 500 diod.
  • #17 21367457
    plichta
    Poziom 17  
    Posty: 503
    Pomógł: 23
    Ocena: 66
    Super lampki.


Podsumowanie tematu

✨ Dyskusja dotyczy uproszczonej wersji sterowania lampkami choinkowymi z wykorzystaniem Arduino Nano i diod WS2812B, przeznaczonej do użytku zewnętrznego w hermetycznej obudowie. Projekt zakłada rezygnację z zewnętrznego sterowania efektami na rzecz stałego trybu działania z automatycznym reagowaniem na światło. Zasilanie realizowane jest z zasilacza 90W, obsługującego pięć łańcuchów po 50 diod (łącznie do 250 diod), z osobnym zasilaniem dla każdego łańcucha, co minimalizuje spadki napięcia. Diody pracują przy prądzie typowo 60mA, maksymalnie 80mA, i nie nagrzewają się nadmiernie. Ograniczeniem jest pamięć RAM mikrokontrolera Atmega328p (2048 bajtów), co ogranicza liczbę sterowanych diod do około 600; dla większych projektów rekomendowane jest użycie modułów ESP8266 lub ESP32 z większą pamięcią. W dyskusji poruszono także temat różnic między diodami WS2811, WS2812B i WS2813, gdzie WS2813 posiadają funkcję bypass w przypadku uszkodzenia pojedynczej diody. Użytkownicy polecają wykorzystanie bibliotek FastLED oraz protokołów Art-Net lub sACN do sterowania w czasie rzeczywistym, zwłaszcza przy zastosowaniu ESP. Podano linki do popularnych modeli diod WS2812B dostępnych na Aliexpress, w wersjach wodoodpornych z przewodami, a także do gotowych kontrolerów z kartą SD. Projekt jest ceniony za estetykę i praktyczność, a także za możliwość łatwej adaptacji do różnych warunków i potrzeb oświetleniowych.
Wygenerowane przez model językowy.
REKLAMA