Arduino Nano - NeoPixel-LED-Streifen

Der NeoPixel RGB-LED-Streifen ist eine Reihe von LEDs, bei der die Farbe und Helligkeit jeder einzelnen LED unabhängig eingestellt werden können. Dieses Tutorial zeigt dir, wie du einen Arduino Nano verwendest, um den NeoPixel RGB-LED-Streifen zu steuern. Im Detail werden wir Folgendes lernen:

Alle LEDs des LED-Streifens können mit nur einem digitalen Pin des Arduino Nano gesteuert werden.

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×NeoPixel RGB LED-Streifen
1×1000uF Capacitor
1×470Ω Resistor
1×5V Netzteil
1×DC-Stromanschluss
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

Oder Sie können die folgenden Kits kaufen:

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

Die Pinbelegung des NeoPixel-LED-Streifens

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

  • GND-Pin muss mit GND (0 V) verbunden sein
  • VCC-Pin muss mit 5 V einer externen Stromquelle verbunden werden
  • Din-Pin ist der Pin, der das Steuersignal empfängt und mit dem digitalen Pin eines Arduino Nano verbunden werden sollte
NeoPixel-Pinbelegung

※ Notiz:

Die Reihenfolge der Pins kann von Hersteller zu Hersteller variieren. Es ist zwingend erforderlich, stets die auf dem LED-Streifen aufgedruckten Beschriftungen zu verwenden.

Verdrahtungsdiagramm

Arduino Nano NeoPixel RGB-LED-Streifen-Verdrahtungsdiagramm

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

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Wie man NeoPixel RGB-LED-Streifen programmiert

  • Erstelle ein NeoPixel-Objekt.
#define PIN_NEO_PIXEL 2 // Arduino Nano-Pin, der mit dem NeoPixel verbunden ist #define NUM_PIXELS 30 // Die Anzahl der LEDs (Pixel) am NeoPixel Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800);
  • Initialisiert NeoPixel.
NeoPixel.begin(); // INITIALISIERE NeoPixel-Streifenobjekt (BENÖTIGT)
  • Geben Sie die Farbe jeder einzelnen LED an (als Pixel bekannt).
NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0));
  • Passen Sie die Helligkeit aller Streifen an.
NeoPixel.setBrightness(100); // ein Wert von 0 bis 255

※ Notiz:

  • NeoPixel.setBrightness() wird verwendet, um die Helligkeit aller Pixel auf dem LED-Streifen anzupassen. Um die Helligkeit für jedes einzelne Pixel festzulegen, können wir die Farbwerte (R, G, B) mit dem gleichen Verhältnis skalieren.
  • Die Werte, die durch NeoPixel.setBrightness() und NeoPixel.setPixelColor() festgelegt werden, werden erst angewendet, wenn NeoPixel.show() aufgerufen wird.

Arduino Nano Programmcode

Der untenstehende Code führt die folgenden Sequenzen aus:

  • Schalte die Pixel nacheinander grün, mit einer Verzögerung zwischen jedem Pixel
  • Schalte alle Pixel für zwei Sekunden aus
  • Alle Pixel zwei Sekunden lang rot leuchten lassen
  • Wiederhole diesen Prozess endlos
/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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-nano/arduino-nano-neopixel-led-strip */ #include <Adafruit_NeoPixel.h> #define PIN_NEO_PIXEL 2 // The Arduino Nano pin that connects to NeoPixel #define NUM_PIXELS 30 // The number of LEDs (pixels) on NeoPixel 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

  • Klicken Sie auf das Bibliotheken-Symbol in der linken Symbolleiste der Arduino-IDE.
  • Suchen Sie nach “Adafruit NeoPixel” und finden Sie die NeoPixel-Bibliothek von Adafruit.
  • Dann drücken Sie die Installieren-Schaltfläche, um die NeoPixel-Bibliothek zu installieren.
Arduino Nano NeoPixel-Bibliothek
  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie auf die Hochladen-Schaltfläche in der Arduino IDE, um den Code auf den Arduino Nano zu übertragen.
  • Schauen Sie sich den LED-Effekt an.

※ Notiz:

Für jeden komplexen LED-Effekt bieten wir den kostenpflichtigen 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!