• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino + ledy ws2812b
#21
Zrobiłem coś takiego,

Kod:
    #include <Adafruit_NeoPixel.h>
   
    #define PIN    11
    #define N_LEDS 10
   
    Adafruit_NeoPixel strip = Adafruit_NeoPixel(N_LEDS, PIN, NEO_RGB + NEO_KHZ800);
   
    void setup() {
      strip.begin();
    }
   
    void loop() {
      chase(strip.Color(255, 0, 0)); // Red
      chase(strip.Color(0, 255, 0)); // Green
      chase(strip.Color(0, 0, 255)); // Blue
    }
   
    static void chase(uint32_t c) {
      for(uint16_t i=0; i<strip.numPixels()+4; i++) {
          strip.setPixelColor(i  , c); // Draw new pixel
          strip.setPixelColor(i-4, 0); // Erase pixel a few steps back
          strip.show();
          delay(50);
      }
    }

Jest jakiś postęp ale niestety zauważ na filmie, przy końcu paska led są jakieś "nieścisłości" powinno to płynnie iść

 
#22
To teraz możesz spróbować "wydłużać" pasek i sprawdzić kiedy wszystko działa, a kiedy się psuje. W zeszłym roku bawiłem się tak z esp32 i okazało się że dla krótkich pasków, typu 16 diodek wszystko działa pięknie, ale przy 144 konieczne było użycie sprzętowego sterowania diodami.
 
#23
Ale to co najważniejsze udało się rozwiązać - sterowanie paskiem LED działa Smile
 
#24
Już przy 7 diodach "wywala się" Sad




Nie rozumiem tego, to dlaczego na filmach z YT wszystko jest ok ?

Można to jakoś inaczej sterować ?
 
#25
Na tym polega magia kina - to co widać w TV, oglądając film w kinie czy na yt ma się często nijak do rzeczywistości.
Oczywiście można za pomocą Arduino wysterować nawet i te 2000 diodek. Ale to może być o wiele trudniejsze niż filmik na yt pokazuje.
Proponowałbym zacząć od kupienia oryginalnego modułu Arduino - albo chociaż modułu który ma przewidywalne parametry. Kupując na Aliexpress nigdy nie wiadomo co dostaniemy, ani jaki tam jest kwarc, mikrokontroler, właściwie zostaje zgadywanie.
 
#26
No to co proponujesz w moim przypadku, co najlepiej kupić z rozsądne pieniądze aby to obsłużyło - działo poprawnie ?

Czy można "recznie" bez biblioteki obsłużyć ten pasek ?
 
#27
Oczywiście że można, w końcu ktoś tą bibliotekę napisał - tak samo można napisać własną, albo własny program. Ale to nie będzie takie łatwe i faktycznie jakieś narzędzia do tego będą wskazane, chociażby analizator logiczny.
Moim zdaniem możesz zostać przy używaniu bibliotek, ale musisz pomyśleć nad stabilniejszą płytą. Przy okazji warto zastanowić się czy Arduino Nano to akurat dobry wybór. Sam mikrokontroler jak najbardziej poradzi sobie z wysłaniem dalnych nawet do 2000 diodek i żadne DMA nie będzie tutaj konieczne.
Ale prawdziwym problemem będzie ilość pamięci. Jeśli chcesz przechowywać dane dla jednej diody to potrzebujesz 3 bajtów (po jednym na każdą składową RGB). Przy 2000 diodek to daje jakieś 6KB pamięci - o wiele więcej niż atmega328 ma RAM-u, a nawet dla flash to sporo.
Nadal nie oznacza to że się "nie da", ale będzie bardzo ciężko - więc po prostu z lenistwa może warto pomyśleć nad zmianą modułu.
Jak wspominałem używałem esp32, mogę polecić jako fajny układ do sterowani diodami. Po pierwsze ma dużo więcej pamięci, po drugie odpowiednie peryferia żeby sterowanie odbywało się sprzętowo. No i jako bonus jest WiFi, więc można dane na bierząco wysyłać przez sieć - ja tak zrobiłem w zeszłym roku oświetlenie choinki, gdzie kolory były wysyłane przez Wifi. Może w tym roku do tego projektu wrócę ;-)
 
#28
Mi osobiście moduł WiFi do niczego nie jest potrzebny - no chyba że nie ma esp32 bez modułu WiFi. I pytanie drugie - czy esp32 odsłuży jednocześnie ws2812b oraz ws2811 bo mam takie 2 rodzaje ledów i chciałbym je wykorzystać ?
 
#29
Właściwie każdy mikrokontroler, który obsługuje WS2812 powinien też sobie poradzić z WS2811 - to kwestia zmian w oprogramowaniu. Niestety tylko z Arduino jest tak łatwo, że wystarczy pobrać biblioteki i wszystko działa. W przypadku pozostałych układów, obawiam się że zrealizowanie tego projektu może wymagać nieco więcej wiedzy i wysiłku. Nie chcę Cię zniechęcać, po prostu uprzedzam że to nie jest takie proste jak się wydaje. Moduły WS28xx są dość trudne do sterowania, wymagają bardzo dokładnych czasów, a to już trochę wyższa szkoła jazdy.
 
#30
Wiesz, wpadłem na pomysł aby zrobić lampki na Święta - myślałem że nie będzie z tym takiego problemu. Kupie uC, ledy ws2812b i ws2811 i będzie ok. Poszukam gotową bibliotekę, jakiś kod na tej bibliotece i będzie ok.

Widzę że jednak nie jest tak kolorowo Sad

Spytam się Ciebie jako fachowca w tej tematyce. Czy esp32 da sobie z tym radę ? obsłuży równocześnie ws2811 i ws2812b ? Na pewno są jakieś gotowe biblioteki, przykłady kodu aby coś takiego uruchomić ?
 
  


Skocz do:


Przeglądający: 1 gości