Schets met 5 NeoPixels Diffused van Adafruit.
NeoPixels worden serieel aangestuurd door data out met data in van de volgende NeoPixel led te verbinden.
Ter bescherming wordt een condensator van 1000 microfarad over de voeding geadviseerd.
Ter bescherming wordt een condensator van 1000 microfarad over de voeding geadviseerd.
Een weerstand van 560 ohm is tussen de arduino pin (hier pin 6) en de dataingang van de eerste NeoPixel led aangesloten.
Voor het aansluiten van de spanning goed controleren of alle gnd en + aansluitingen goed zitten.
Als gnd niet is aangesloten gaat de NeoPixel stuk.
Voor gebruik met arduino, Adafruit NeoPixel lib, via schets --> bibliotheek gebruiken --> bibliotheek beheren, downloaden en installeren.
#include <Adafruit_NeoPixel.h>
//Argumenten van de constructor: 1) aantal leds, 2) Pin voor "Data in", 3) hardware instellingen led
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(5, 6, NEO_GRB + NEO_KHZ800);
int pauze = 100;
void setup() {
//pixels.begin(); om de neopixel leds een adres te geven, moet altijd in setup staan
pixels.begin();
}
void loop() {
//De volgorde van de kleuren is groen, rood en blauw (zie constructor argument: NEO_GRB)
//De argumenten in pixels.Color(g,r,b) geven de kleurintensiteit aan
//De vijf leds uitgeschakeld = 3 mA
//met een led kleurintensiteit "10" = 3.24 mA .
//met twee leds kleurintensiteit "10" = 3.4 mA,
//met vijf leds kleurintensiteit "10" = 4.08 mA
//met een led kleurintensiteit "100" = 9.70 mA
//met twee leds kleurintensiteit "100" = 16.3 mA,
//met een led kleurintensiteit "200" = 16.9 mA
//de kleuren mengen niet mooi
//Eerste argument in setPixelColor is het adres van de neopixel
for (int x = 0; x < 5; x++) {
pixels.setPixelColor(x, pixels.Color(10,0,0));
pixels.show(); //met pixels.show() worden de instellingen van setPixelColor getoond.
delay(pauze);
}
for (int x = 0; x < 5; x++)
{
pixels.setPixelColor(x, pixels.Color(0,10,0));
pixels.show();
delay(pauze);
}
for (int x = 4; x > -1; x--) {
pixels.setPixelColor(x, pixels.Color(0,0,10));
pixels.show();
delay(pauze);
}
for (int x = 0; x < 5; x++) {
pixels.setPixelColor(x, pixels.Color(0,0,0));
pixels.show();
delay(pauze);
}
}