LED Holiday Craft (4 / 4 steg)
Steg 4: Arduino programmering
Njut, och om du kommer med några fina animationer, dela dem! Trevlig Helg!
#include < Adafruit_NeoPixel.h > #define PIN 6 / / digital pin datalinje är ansluten till / / Modifed NeoPixel urval för holiday hantverk projekt / / Parameter 1 = antal pixlar i remsa / / Parameter 2 = pin-kod (de flesta är giltigt) / / Parameter 3 = pixel typ flaggor, Lägg ihop efter behov: / / NEO_KHZ800 800 KHz bitstream (de flesta NeoPixel produkter w/WS2812 lysdioder) / / NEO_KHZ400 400 KHz (classic "v1" (inte v2) FLORA pixlar WS2811 drivrutiner) / / NEO_GRB pixlar är trådbundet för GRB bitstream (de flesta NeoPixel produkter) / / NEO_RGB pixlar är trådbundet för RGB bitstream (v1 FLORA pixlar, inte v2)
Adafruit_NeoPixel strip = Adafruit_NeoPixel (16, PIN, NEO_GRB + NEO_KHZ800);
#define low_red remsa. Färg (3, 0, 0) #define low_green band. Färg (0, 3, 0) #define med_red band. Färg (20, 0, 0) #define med_green band. Färg (0, 20, 0) #define hi_red band. Färg (40, 0, 0) #define hi_green band. Färg (0, 40, 0)voidsetup() {
Strip.BEGIN();
Strip.show(); Initiera alla pixlar till "off"
}
voidloop() {
uint16_t i, j.
int num_steps = 100;
fade_up (100, 30, 30, 0, 0);
fade_up (100, 30, 0, 30, 0);
fade_up (100, 30, 30, 0, 0);
fade_up (100, 30, 0, 30, 0);
colorWipe (med_red, 50); Röd
colorWipe (med_green, 50); Grön
colorWipe (med_red, 50); Röd
colorWipe (med_green, 50); Greenfor (j = 0; j < 2; j ++) {
för (jag = 0; jag < strip.numPixels () + 3; i ++) {
om (jag < strip.numPixels()) strip.setPixelColor (i, hi_red);
om ((i-1 > = 0) & & (i-1 < strip.numPixels())) strip.setPixelColor (i-1, med_red);
om ((i-2 > = 0) & & (i-2 < strip.numPixels())) strip.setPixelColor (i-2, low_red);
om ((i-3 > = 0) & & (i-3 < strip.numPixels())) strip.setPixelColor (i-3, med_green);
Strip.show();
Delay(50);
}
}
} / / slinga / / fade_up - fade upp till den givna colorvoidfade_up (int num_steps, int vänta, int R, int G, int B) {
uint16_t i, j.
för (jag = 0; jag < num_steps; i ++) {
för (j = 0; j < strip.numPixels(); j ++) {
strip.setPixelColor (j, strip. Color(R * i / num_steps, G * i / num_steps, B * i / num_steps));
}
Strip.show();
Delay(Wait);
}
} / / fade_up / / Fyll prickar en efter den andra med en colorvoidcolorWipe (uint32_t c, uint8_t vänta) {
för (uint16_t jag = 0; jag < strip.numPixels(); i ++) {
strip.setPixelColor (i, c);
Strip.show();
Delay(Wait);
}
}