Arduino - NeoPixel LED Strip

De NeoPixel RGB LED strip is een LED-strip waarbij de kleur en helderheid van elke individuele LED afzonderlijk kan worden bestuurd. In deze handleiding leren we hoe u een Arduino gebruikt om een NeoPixel RGB LED strip aan te sturen. Om alle LEDs op de NeoPixel strip te besturen, heeft u slechts één Arduino pin nodig.

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×NeoPixel RGB LED-Strip
1×1000uF condensator
1×470Ω weerstand
1×5V voeding adapter
1×DC voeding connector
1×Jumper wires (verbindingsdraden)
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de NeoPixel RGB LED Strip

Pinout

De NeoPixel RGB LED Strip heeft drie pinnen:

  • GND pin: moet verbonden worden met GND (0V)
  • VCC pin: moet worden aangesloten op 5V van een externe voedingsbron
  • Din pin: is de pin die het besturingssignaal ontvangt. Deze moet worden aangesloten op een Arduino pin.
NeoPixel Pinout

※ Notiz:

De volgorde van de pinnen kan per fabrikant verschillen. Gebruik ALTIJD de labels die op de LED strip staan afgedrukt.

Aansluitschema

Arduino NeoPixel RGB LED strip Aansluitschema

This image is created using Fritzing. Click to enlarge image

Hoe te Programmeren voor NeoPixel RGB LED Strip

  • Declareer een NeoPixel-object
#define PIN_NEO_PIXEL 4 // Arduino pin die verbonden is met NeoPixel #define NUM_PIXELS 30 // Het aantal LEDs (pixels) op de NeoPixel strip Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800);
  • Initialiseer de NeoPixel
NeoPixel.begin(); // INITIALISEER NeoPixel strip object (VERPLICHT)
  • Stel de kleur in van elke individuele LED (pixel).
NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0));
  • Stel de helderheid in van de hele strip.
NeoPixel.setBrightness(100); // een waarde van 0 tot 255

※ Notiz:

  • NeoPixel.setBrightness() wordt gebruikt voor alle pixels op de LED strip. Om de helderheid van elke individuele pixel aan te passen, kunt u de kleurwaarden schalen.
  • De door NeoPixel.setBrightness() en NeoPixel.setPixelColor() ingestelde waarden worden pas actief wanneer NeoPixel.show() wordt aangeroepen.

Arduino Code

De onderstaande code doet het volgende:

  • Zet pixels één voor één op groen met een vertraging tussen elke pixel
  • Zet daarna alle pixels gedurende twee seconden uit
  • Zet vervolgens alle pixels tegelijk op rood gedurende twee seconden
  • Herhaalt dit proces oneindig
/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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 }

Snelstappen

  • Navigeer naar het icoon Libraries in de linkerzijbalk van de Arduino IDE.
  • Zoek op “Adafruit NeoPixel” en vind de NeoPixel bibliotheek van Adafruit
  • Klik op de Install knop om de NeoPixel bibliotheek te installeren.
Arduino neopixel library
  • Kopieer bovenstaande code en open deze met de Arduino IDE
  • Klik op de Upload knop in de Arduino IDE om de code naar de Arduino te uploaden
  • Bekijk het LED-effect

※ Notiz:

Voor geavanceerde LED-effecten bieden wij de betaalde programmeerservice aan

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u stap voor stap door het proces.

Opmerkingen

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!