Mini display fall med RGB ljus (2 / 3 steg)
Steg 2: programmering
Koden för att få regnbågseffekt är ganska lätt. Jag använder bara Digital Pin 9 att skicka alla mina data till WS2028B ledde och kontrollera en enkel färg tona. Detta kunde utvidgas av dig att inkludera andra fina effekter för att visa upp ditt projekt. Bara starta upp din Arduino IDE och kopiera klistra in koden nedan och slå upp! Om du bara kör en enda ledde du kan bara driva bort Arduino, när du använder mer hålla i åtanke kanske behöver en större strömförsörjning.
< p > #define PIN 9 < br > Adafruit_NeoPixel strip = Adafruit_NeoPixel (1, PIN, NEO_GRB + NEO_KHZ800); < /p >< p > void setup() {
Strip.BEGIN();
Strip.show(); Initiera alla pixlar till "off"
} < /p >< p > void loop() {
rainbowCycle(60);
} < /p >< p > / / något annorlunda, detta gör regnbågen jämnt fördelat i hela
void rainbowCycle (uint8_t vänta) {
uint16_t i, j.
för (j = 0; j < 256 * 5; j ++) {/ / 5 cykler av alla färger på hjul
för (jag = 0; jag < strip.numPixels(); i ++) {
strip.setPixelColor (i, hjulet (((i * 256/strip.numPixels()) + j) & 255));
}
Strip.show();
Delay(Wait);
}
} < /p >< p > / / Ange ett värde 0 till 255 att få ett färgvärde.
Färgerna är en övergång r - g - b - tillbaka till r.
uint32_t hjul (byte WheelPos) {
WheelPos = 255 - WheelPos;
IF(WheelPos < 85) {
returnera strip. Färg (255 - WheelPos * 3, 0, WheelPos * 3);
}
IF(WheelPos < 170) {
WheelPos-= 85.
returnera strip. Färg (0, WheelPos * 3, 255 - WheelPos * 3);
}
WheelPos-= 170;
returnera strip. Färg (WheelPos * 3, 255 - WheelPos * 3, 0);
} < /p >