Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
NOVATEK-ELECTRO POLSKA SP. Z O.O.NOVATEK-ELECTRO POLSKA SP. Z O.O.
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

DIY Arduino Nano i diody WS2812B na choinkę - zmiany

Visar78 03 Jan 2020 19:59 3528 14
  • 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.


    Link


    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:
    Code: c
    Log in, to see the code
    [/code]

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    Visar78
    Level 10  
    Offline 
    Has specialization in: programowanie
    Visar78 wrote 21 posts with rating 145, helped 0 times. Live in city Warszawa. Been with us since 2011 year.
  • NOVATEK-ELECTRO POLSKA SP. Z O.O.NOVATEK-ELECTRO POLSKA SP. Z O.O.
  • #2
    Miray
    Level 6  
    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.
  • NOVATEK-ELECTRO POLSKA SP. Z O.O.NOVATEK-ELECTRO POLSKA SP. Z O.O.
  • #3
    Erbit
    Level 39  
    Dobrze, że pokazałeś nową wersję, bo starej nie widziałem ;)

    Świetny projekt. Na pewno na przyszły rok zbuduję.

    Z ilu maksymalnie diod może być złożony jeden sznur? Głównie obawiam się o spadki napięć.
    Czy przy dłuższym sznurze nie byłoby bezpieczniej zastosować diody 12V (właśnie ze względu na spadki napięć)?
    Jaką długość obsłuży Arduino Nano?
    Czy te diody mocno się grzeją? Zastanawiam się czy dla polepszenia efektu nie założyć piłeczki ping-pong na każdą z diod.
  • #4
    Visar78
    Level 10  
    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ść).
  • #5
    Miray
    Level 6  
    Visar78 wrote:


    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
    Visar78
    Level 10  
    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.
  • #9
    Visar78
    Level 10  
    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
    Erbit
    Level 39  
    Visar78 wrote:
    ...wygląda zdecydowanie korzystniej.

    Nie szukałem, podałem "pierwszy z brzegu".

    Jak widać są nawet wielkości piłeczek ping-pongowych -> https://pl.aliexpress.com/item/1953381392.html albo takie: https://pl.aliexpress.com/item/32462921140.html

    Myślę, że każdy znajdzie coś dla siebie, trzeba tylko poszukać.

    [edyta]
    Dla leniwych - są też kontrolery -> https://pl.aliexpress.com/item/32848426554.html i co ciekawe , z kartą SD (chyba dla potrzeb zmiany programów).
    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.

    Jeszcze nie wiem jak ale... coś wymyślę. Mam na to prawie rok.
  • #11
    Slawek K.
    Level 34  
    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
  • #12
    fotomh-s
    Level 22  
    Erbit wrote:
    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
    marcineeek
    Level 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
    fotomh-s
    Level 22  
    marcineeek wrote:
    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
    Bysiu
    Level 14  
    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.