Events

23.05.2022: Tiefpassfilter

:

Elektronik | Funk | Software

Der Technik-Blog

  • Social Media

    Werbung:


    Neue Artikel


    Events

    Der Technik-Blog

    Arduino WS2811 WS2812 LED Strip Color Control

    Arduino LED-Strip Farbsteuerung

    Alex @ AEQ-WEB

    Für dieses Projekt gibt es auch ein Video auf Youtube: RGB LED Strip Tutorial - Farben mit dem Arduino steuern - WS2811 WS2812 Neopixel

    WS2811 & WS2812 RGB LED Strip

    In diesem Beitrag zeigen wir, wie man mit dem Arduino Board einen RGB-LED-Strip ansteuern kann. Der LED-Strip hat für jede einzelne LED oder auch eine kleine Gruppe von LEDs einen eignen Controller. Dieser Controller wird über das Arduino Board angesteuert und dadurch ist es möglich, jede einzelne LED oder LED-Gruppe individuell zu schalten. Jede LED kann eine bestimmte Farbe und Leuchtstärke haben. Weiters können mit den drei Grundfarben und der entsprechenden Helligkeit nahezu alle Farben vom Farbspektrum dargestellt werden.

    Die Hardware

    Es gibt LED-Strips und Lichterketten, die einen WS2811, WS2812, WS2811B oder WS2812B Chip enthalten. Die oben genannten Chips werden alle gleich angesteuert und sind daher mit derselben Library kompatibel. Das „B“ am Ende der Bezeichnung vom Chip bedeute, dass der IC in der LED integriert ist. Außerdem gibt es diese Strips oder Lichterketten mit verschiedenen Spannungen. Hauptsächlich gibt es 12 Volt und 5 Volt varianten. In unserem Beispiel haben wir die 12 Volt Version verwendet, da bei 12 Volt der Strom viel kleiner ist und wir sehr viele Netzteile haben, die uns 12 Volt liefern können. Es gibt auch noch andere Chips, wie beispielsweiße den WS2801, P9823 oder auch den SK6812. Teilweise sind auch diese Controller mit der Library kompatibel. Der LED-Strip kann direkt mit dem Arduino verbunden werden. Obwohl es viele Schaltpläne gibt, wo sich auf der Datenleitung zwischen den Arduino Board und dem LED-Strip ein Widerstand befindet, ist das nicht unbedingt notwendig. Bei einer guten Energieversorgung ist auch kein Kondensator zwischen Plus und Minus notwendig. In unserem Beispiel wird die Datenleitung beim Arduino an den I/O Pin D6 angeschlossen. Wichtig ist auch, dass das Arduino Board und der LED-Strip dieselbe Masse haben.

    Werbung:

    Die Software

    Die Software ist mit der Neopixel Library von Adafruit sehr klein und einfach. Die Library übernimmt im Hintergrund sehr viele aufwendige und zeitkritische Abläufe, die für einen Anfänger nicht schaffbar sind zu entwickeln. Deshalb verwenden auch wir die einfache Neopixel Library. Wenn die Library installiert wurde, kann ein neues Projekt erstellt werden und der folgende Code einfach hineinkopiert werden.

    Arduino Code
    #include <Adafruit_NeoPixel.h>
    
    #define PIN            6
    #define NUMPIXELS      100
    
    Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
    
    void setup() {
      pixels.begin();
    }
    
    void loop() {
      pixels.setPixelColor(0, pixels.Color(0, 0, 100));
      pixels.setPixelColor(1, pixels.Color(0, 100, 0));
      pixels.setPixelColor(2, pixels.Color(100, 0, 0));
      pixels.show();
    }
    

    Der Code im Detail

    In der ersten Zeile wird die Library eingebunden. In der nächsten Zeile wird der Pin definiert, an dem die Datenleitung angeschlossen ist. Zusätzlich wird in der darauffolgenden Zeile die Anzahl der einzelnen LED Controller definiert. Wenn ein Strip 300 LEDs hat, die einzeln steuerbar sind, wird hier auch der Wert 300 definiert. Hat der Strip 300 LEDs, wovon immer 3 LEDs auf einen IC hängen, so wird der Wert 100 eingegeben.

    Werbung:

    pixels.begin();

    Mit diesem Befehl wird der LED-Strip aktiviert

    pixels.setPixelColor(0, pixels.Color(100, 0, 0));

    Dieser Befehl steuert eine einzige Gruppe oder LED am Strip. Nach "setPixelColor" wird die Nummer definiert, die angesteuert werden soll. Anschließend wird in "pixels.Color(100,0,0)" die Helligkeit der einzelnen Farben definiert. Der Wert geht von 0-255, wovon 255 die hellste Stufe ist und bei null die Farbe komplett aus beliebt. Mit den drei werten wird der Farbanteil (Grün, Blau & Rot) gemischt.

    pixels.show();
    Erst wenn der obere Befehl ausgeführt wird, wird die Änderung zeitgleich an alle LEDs vom gesamten LED-Strip gesendet.

    122X122

    Über den Autor

    Alex, der Gründer von AEQ-WEB. Seit über 10 Jahren beschäftigt er sich mit Computern und elektronischen Bauteilen aller Art. Neben den Hardware-Projekten entwickelt er auch Webseiten, Apps und Software für Computer.

    Top Artikel in dieser Kategorie:

    Arduino LM358 PT1000 Sensor Converter

    Temperatur messen mit PT1000 & Arduino

    • Video
    • DE/EN

    PT1000 Sensoren können nicht direkt analog mit einem Mikrocontroller gemessen werden. Wie baut man einen Messwandler mit dem LM358 für den PT1000 und Arduino?

    Weiterlesen
    Arduino Smartmeter S0 Watt Counter

    Arduino Smartmeter

    • Video

    In diesem Artikel zeigen wir, wie aus einem einfachen Stromzähler und einem Arduino ein Smartmeter gebaut wird, das den Zählerstand im EEPROM speichern kann

    Weiterlesen

    Social Media

    Werbung:


    Neue Artikel


    Events