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

Jak stworzyć efekt stopniowego włączania diod LED WS2811 z Arduino Uno?

Lolheadshootpl 21 Paź 2020 20:04 1899 12
REKLAMA
  • #1 18992007
    Lolheadshootpl
    Poziom 3  
    Posty: 80
    Ocena: 12
    Witam posiadam Arduino Uno oraz pasek LED WS2811. Chciałbym zrobić efekt włączających się diod( jednej po drugiej). Aktualnie ogarnąłem coś takiego lecz efekt nie jest zadawalający. Za wszystkie odpowiedzi z góry dziękuje.

    #include <Adafruit_NeoPixel.h>

    #define PIN 6
    #define LICZBADIOD 16

    Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LICZBADIOD, PIN, NEO_GRB + NEO_KHZ800);

    void setup()
    {
    pixels.begin(); // Inicjalizacja biblioteki
    }

    void loop()
    {
    for(int i=0; i<LICZBADIOD; i++)
    {
    pixels.setPixelColor(i, 255, 255, 255); // Dioda "i" oraz skladowe R=255 G=0 B=0
    pixels.show(); // Wysylamy dane do lancucha
    delay(500); // Opoznienie 500ms przed zaswieceniem kolejnej diody
    }
    }
  • REKLAMA
  • #3 18992263
    Lolheadshootpl
    Poziom 3  
    Posty: 80
    Ocena: 12
    Po włączeniu zasilania pierwsze 9 diod się świeci a po 500ms włączają się po kolei lecz nie pojedynczo tylko potrójnie.
  • #4 18992586
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #5 18993838
    Lolheadshootpl
    Poziom 3  
    Posty: 80
    Ocena: 12
    Używam zasilacza laboratoryjnego 12V/5A.

    Mam pytanie co oznacza to NEO_GRB w tej linijce?

    Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LICZBADIOD, PIN, NEO_GRB + NEO_KHZ800);
  • #6 18994591
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #7 18994754
    Lolheadshootpl
    Poziom 3  
    Posty: 80
    Ocena: 12
    Czyli jak mam typ diód 5050 SMD to co powinienem wpisać?
  • REKLAMA
  • #8 18995136
    Konto nie istnieje
    Poziom 1  
  • #9 18995165
    Lolheadshootpl
    Poziom 3  
    Posty: 80
    Ocena: 12
    Wpisywałem już NEO_KHZ400 lecz nie pomogło.
  • #10 18995441
    Konto nie istnieje
    Poziom 1  
  • #11 18995471
    Lolheadshootpl
    Poziom 3  
    Posty: 80
    Ocena: 12
    A mógłbym Cię prosić o jakiś program który będzię włączał po kolei te pixele i na końcu się zatrzyma ?
  • #12 18996134
    Konto nie istnieje
    Poziom 1  
  • #13 18999206
    Lolheadshootpl
    Poziom 3  
    Posty: 80
    Ocena: 12
    Ok włącza się po kolei lecz przed włączeniem białego koloru pojawiają się na diodach losowe kolory i dopiero po 1s zmienia się na właściwy. Czy tak ma być?

Podsumowanie tematu

✨ Użytkownik posiadający Arduino Uno i pasek LED WS2811 stara się stworzyć efekt stopniowego włączania diod LED, jednak napotyka problemy z ich działaniem. Po włączeniu zasilania, pierwsze 9 diod świeci, a następnie włączają się potrójnie zamiast pojedynczo. Użytkownik korzysta z zasilacza laboratoryjnego 12V/5A. W dyskusji poruszono kwestie związane z zasilaniem, typem diod oraz ich adresowaniem. Ustalono, że pasek WS2811 ma jeden chip IC na trzy diody RGB, co wpływa na sposób ich adresowania. Użytkownik prosi o pomoc w napisaniu programu, który włączałby diody po kolei i zatrzymywał się na końcu. Wskazano również na problem z losowymi kolorami przed włączeniem białego, co może być normalnym zachowaniem dla tego typu diod.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA