Arduino - NeoPixel-LED-Streifen

Die NeoPixel-RGB-LED-Streifen sind eine Reihe von LEDs, bei denen die Farbe und Helligkeit jeder einzelnen LED auf dem Streifen individuell gesteuert werden können. In diesem Tutorial lernen wir, wie man Arduino verwendet, um NeoPixel-RGB-LED-Streifen zu steuern. Um alle LEDs auf dem NeoPixel-RGB-LED-Streifen zu steuern, müssen wir nur einen einzigen Arduino-Pin verwenden.

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×NeoPixel RGB LED-Streifen
1×1000uF Capacitor
1×470Ω Resistor
1×5V Netzteil
1×DC-Stromanschluss
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über NeoPixel RGB-LED-Streifen

Pinbelegung

Der NeoPixel RGB-LED-Streifen hat drei Anschlüsse:

  • GND-Pin: muss mit GND (0 V) verbunden werden
  • VCC-Pin: muss mit 5 V einer externen Stromversorgung verbunden werden
  • DIN-Pin: ist der Pin, der das Steuersignal empfängt. Er sollte mit einem Arduino-Pin verbunden werden.
NeoPixel Pinbelegung

※ Notiz:

Die Reihenfolge der Pins kann von Hersteller zu Hersteller variieren. Verwenden Sie immer die auf dem LED-Streifen aufgedruckten Beschriftungen.

Verdrahtungsdiagramm

Arduino NeoPixel RGB-LED-Streifen Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wie man NeoPixel RGB-LED-Streifen programmiert

  • Deklariere ein NeoPixel-Objekt
#define PIN_NEO_PIXEL 4 // Arduino-Pin, der mit NeoPixel verbunden ist #define NUM_PIXELS 30 // Die Anzahl der LEDs (Pixel) auf dem NeoPixel Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800);
  • Initialisiert den NeoPixel
NeoPixel.begin(); // NeoPixel-Streifenobjekt initialisieren (erforderlich)
  • Setze die Farbe jeder einzelnen LED (als Pixel bezeichnet).
NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0));
  • Stelle die Helligkeit aller Streifen ein.
NeoPixel.setBrightness(100); // ein Wert von 0 bis 255

※ Notiz:

  • NeoPixel.setBrightness() wird für alle Pixel des LED-Streifens verwendet. Um die Helligkeit für jedes einzelne Pixel festzulegen, können wir den Farbwert skalieren.
  • Die durch NeoPixel.setBrightness() und NeoPixel.setPixelColor() gesetzten Werte treten erst in Kraft, wenn NeoPixel.show() aufgerufen wird.

Arduino-Code

Der untenstehende Code führt Folgendes aus:

  • Schalte Pixel nacheinander auf Grün, mit einer Verzögerung zwischen jedem Pixel
  • Schalte alle Pixel für zwei Sekunden aus
  • Schalte alle Pixel gleichzeitig auf Rot, für zwei Sekunden
  • Wiederhole den obigen Prozess unendlich oft
/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino/arduino-neopixel-led-strip */ #include <Adafruit_NeoPixel.h> #ifdef __AVR__ #include <avr/power.h> // Required for 16 MHz Adafruit Trinket #endif #define PIN_NEO_PIXEL 4 // Arduino pin that connects to NeoPixel #define NUM_PIXELS 30 // The number of LEDs (pixels) on NeoPixel #define DELAY_INTERVAL 250 // 250ms pause between each pixel Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800); void setup() { NeoPixel.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) } void loop() { NeoPixel.clear(); // set all pixel colors to 'off'. It only takes effect if pixels.show() is called // turn pixels to green one by one with delay between each pixel for (int pixel = 0; pixel < NUM_PIXELS; pixel++) { // for each pixel NeoPixel.setPixelColor(pixel, NeoPixel.Color(0, 255, 0)); // it only takes effect if pixels.show() is called NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware. delay(DELAY_INTERVAL); // pause between each pixel } // turn off all pixels for two seconds NeoPixel.clear(); NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware. delay(2000); // off time // turn on all pixels to red at the same time for two seconds for (int pixel = 0; pixel < NUM_PIXELS; pixel++) { // for each pixel NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0)); // it only takes effect if pixels.show() is called } NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware. delay(2000); // on time // turn off all pixels for one seconds NeoPixel.clear(); NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware. delay(2000); // off time }

Schnelle Schritte

  • Gehe zum Bibliotheken-Symbol in der linken Seitenleiste der Arduino-IDE.
  • Suche “Adafruit NeoPixel”, und finde anschließend die NeoPixel-Bibliothek von Adafruit.
  • Klicke auf die Installieren-Schaltfläche, um die NeoPixel-Bibliothek zu installieren.
Arduino NeoPixel-Bibliothek
  • Kopiere den obigen Code und öffne ihn mit der Arduino IDE
  • Klicke auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino hochzuladen
  • Schau dir den LED-Effekt an

※ Notiz:

Für jeden komplizierten LED-Effekt bieten wir den bezahlten Programmierdienst an.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!