LoRa Packet Forwarder JSON Daten
25.12.2024
Elektronik | Funk | Software
Der Technik-Blog
Für dieses Projekt gibt es auch ein Video auf Youtube: RGB LED Strip Tutorial - Farben mit dem Arduino steuern - WS2811 WS2812 Neopixel
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.
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.
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.
#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(); }
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.
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.
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?
WeiterlesenDer PT100 ist ein sehr präziser industrieller Temperatursensor. In diesem Artikel geht es um den Bau eines Messverstärkers zum Einlesen eines PT100 am Arduino
WeiterlesenAEQ-WEB © 2015-2024 All Right Reserved