Den kompletta guiden NeoPixel (2 / 3 steg)
Steg 2: Programmera Arduino
Ladda ner den koden här
Koden jag använde är enkelt när du förstår det
Först måste du definiera strip params:
Adafruit_NeoPixel strip = Adafruit_NeoPixel (greve, PIN, NEO_GRB + NEO_KHZ800);
Starta sedan remsan biblioteket:
Strip.BEGIN();
So du kan äntligen kontroll varje pixel färg:
uint32_t färg = remsa. Färg (R2, G2, B2);
strip.setPixelColor (Pixel, färg).
Strip.show();
Detta är den kod som jag skrev - jag kommenterade varje del så du kan förstå hur det fungerar!
#include
#define PIN 3 /-pin din strip är ansluten till
#define greve 36 / / hur många led's är på det remsan
Adafruit_NeoPixel strip = Adafruit_NeoPixel (greve, PIN, NEO_GRB + NEO_KHZ800); definierar egenskaperna remsor
int R;
int G;
int B;
{Ogiltig setColor (int Pixel, int R2, int G2, int B2)
uint32_t färg = remsa. Färg (R2, G2, B2); göra en färg
strip.setPixelColor (Pixel, färg). Ange en enstaka pixel färg
Strip.show(); uppdatera färger
}
void doShow() {
för (int jag = 0; jag < greve; i ++) {
setColor (i, 0, 0, 0);
}
för (int jag = 0; jag < greve; i ++) {
setColor (i, 255, 0, 0); tur allt till rött
Delay(50);
}
för (int jag = 0; jag < greve; i ++) {
setColor (i, 0, 255, 0); förvandla alla blå
Delay(50);
}
för (int jag = 0; jag < greve; i ++) {
setColor (i, 0, 0, 255); tur allt till grönt
Delay(50);
}
för (int jag = 0; jag < greve; i ++) {
setColor (i, 255, 247, 0); tur allt till gul
Delay(50);
}
för (int jag = 0; jag < greve; i ++) {
setColor (i, 255, 100, 0); tur allt till orange
Delay(50);
}
för (int jag = 0; jag < greve; i ++) {
setColor (i, 255, 0, 205); Aktivera alla till lila
Delay(50);
}
för (int jag = 0; jag < greve; i ++) {
setColor (i, 0, 213, 255); tur att turkos
Delay(50);
}
om (Serial.available() < 0) {
doShow();
}
}
void setup() {
Strip.BEGIN(); Starta band
Strip.show(); ställa in remsan svart (eftersom vi inte har berättat det göra något ännu)
Serial.BEGIN(9600);
Serial.println ("redo att ändra färg");
}
void loop() {
om (Serial.available() > 0) {/ / om byte tillgängliga genom den seriella porten
char c = Serial.read(); Läs den första byten
om (c == "R") {
R = Serial.parseInt(); få INT
}
om (c == "G") {
G = Serial.parseInt(); få INT
}
om (c == 'B') {
B = Serial.parseInt(); få INT
}
om (c == "P") {
setColor(Serial.parseInt(), R, G, B);
}
om (c == s ') {
doShow();
}
}
}