Arduino – RGB LED met WS2812 chip (NeoPixel)
Hardware
Deze RGB LED heeft een ingebouwde controller chip WS2812, je kan er mooie effecten mee maken!, ze worden ook wel NeoPixels genoemd (adafruit) en zijn verkrijgbaar in diverse formaten en uitvoeringen of op een rol, je kan er mooie effecten mee maken!
Let er wel op dat een aantal achter elkaar geschakeld behoorlijk wat stroom verbruiken, een aantal direct aansluiten op de arduino wordt afgeraden!
Alsluiten op de Arduino
Wat heb je nodig?
1) Adafruit NeoPixel bibliotheek
Sluiten de NeoPixel strip aan volgens onderstaand schema:
De code hieronder laat de eerste 3 LEDs oplichten in de kleuren Rood/Groen/Blauw:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <Adafruit_NeoPixel.h> #define PIN 6 #define LEDS 8 // Parameter 1 = number of pixels in strip // Parameter 2 = Arduino pin number (most are valid) // Parameter 3 = pixel type flags, add together as needed // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) // NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products) // NEO_KHZ800 800 KHz bitstream (most NeoPixel products WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) Adafruit_NeoPixel strip = Adafruit_NeoPixel(LEDS, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); strip.show(); //Zet hier alle pixels op uit. } void loop() { strip.setPixelColor(0, 255, 0, 0); //Pixel 1 ROOD strip.setPixelColor(1, 0, 255, 0); //Pixel 2 GROEN strip.setPixelColor(2, 0, 0, 255); //Pixel 3 BLAUW strip.show(); //Laat de kleuren zien! } |
De code hieronder laat de 1e LED telkens van kleur veranderen na 1 seconde:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#include <Adafruit_NeoPixel.h> #define PIN 6 #define LEDS 1 // Parameter 1 = number of pixels in strip // Parameter 2 = Arduino pin number (most are valid) // Parameter 3 = pixel type flags, add together as needed // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) // NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products) // NEO_KHZ800 800 KHz bitstream (most NeoPixel products WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) Adafruit_NeoPixel strip = Adafruit_NeoPixel(LEDS, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); strip.show(); //Zet hier alle pixels op uit. } void loop() { strip.setPixelColor(0, 255, 0, 0); //ROOD strip.show(); //Laat de kleur zien. delay(1000); strip.setPixelColor(0, 0, 255, 0); //GROEN strip.show(); //Laat de kleur zien. delay(1000); strip.setPixelColor(0, 0, 0, 255); //BLAUW strip.show(); //Laat de kleur zien. delay(1000); } |
[#/datasheets/ws2812″ ]