Neopixel (bärbar) bälte (2 / 3 steg)
Steg 2: Koden!
#include
#ifdef __AVR__ #include #endif
#define stift 6
Adafruit_NeoPixel strip = Adafruit_NeoPixel (29, 6, NEO_GRB + NEO_KHZ800);
void setup() {/ / Detta är för prydnadssak 5V 16MHz, kan du ta bort dessa tre rader om du inte använder en prydnadssak #if definieras (__AVR_ATtiny85__) om (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif / / slutet av prydnadssak speciell kod strip.setBrightness(50);
Strip.BEGIN(); Strip.show(); Initiera alla pixlar till "off"}
void loop() {/ / några exempel förfaranden visar hur till pixlarna ska visas: colorWipe (remsa. Color(255, 0, 0), 50); Röda colorWipe (remsa. Color(0, 255, 0), 50); Grön colorWipe (remsa. Color(0, 0, 255), 50); Blå
Skicka en teater pixel jakt i... theaterChase (remsa. Color(127, 127, 127), 50); Vit theaterChase (remsa. Color(127, 0, 0), 50); Röda theaterChase (remsa. Color(0, 0, 127), 50); Blå theaterChase (remsa. Color(128,0,128), 50); Lila
Rainbow(20); rainbowCycle(20); theaterChaseRainbow(40); }
Fyll prickar en efter den andra med en färg void colorWipe (uint32_t c, uint8_t vänta) {för (uint16_t jag = 0; jag
void rainbow (uint8_t vänta) {uint16_t i, j.
för (j = 0; j < 256; j ++) {för (jag = 0; jag
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 (jag, rullar (((i * 256/strip.numPixels()) + j) & 255));} strip.show(); delay(wait);}}
void theaterChase (uint32_t c, uint8_t vänta) {för (int j = 0; j < 10; j ++) {//do 10 cykler för att jaga för (int q = 0; d < 3; q ++) {för (uint16_t jag = 0; jag < strip.numPixels(); i = i + 3) {strip.setPixelColor (jag + q, c), //turn varje tredje pixel på} strip.show();
Delay(Wait);
för (uint16_t jag = 0; jag < strip.numPixels(); i = i + 3) {strip.setPixelColor (jag + q, 0); //turn varje tredje pixel off}}}}
Biosittning kryper lyser med regnbåge effekt void theaterChaseRainbow (uint8_t vänta) {för (int j = 0; j < 256; j ++) {/ / cykla alla 256 färger i hjulet för (int q = 0; d < 3; q ++) {för (uint16_t jag = 0; jag < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, rullar ((i + j) % 255)); //turn varje tredje pixel på} strip.show();
Delay(Wait);
för (uint16_t jag = 0; jag < strip.numPixels(); i = i + 3) {strip.setPixelColor (jag + q, 0); //turn varje tredje pixel off}}}}
uint32_t hjul (byte WheelPos) {WheelPos = 255 - WheelPos; if(WheelPos < 85) {return strip. Färg (255 - WheelPos * 3, 0, WheelPos * 3); } if(WheelPos < 170) {WheelPos-= 85; retur strip. Färg (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos-= 170; returnera strip. Färg (WheelPos * 3, 255 - WheelPos * 3, 0); }