Luta aktiverat moln ljus (7 / 12 steg)
Steg 7: Programmeringsdel 2: att skapa ljusmönster
Eftersom min plan är att ha min programmering använder en generator för att välja en av sju ljusmönster beslutat att skriva varje ljus mönster som en funktion.
Följande funktion är faktiskt den vippande mönster går från rött till blått. Du kan också se där jag har mappat accelerometer värden och ställa en constraint:
void color_tilt() {
int accel_value = analogRead(ACCEL_PIN);
accel_value = map(accel_value,MIN_AREAD,MAX_AREAD,0,255);
accel_value = constrain(accel_value,0,255);
för (int jag = 0; jag < strip.numPixels(); i ++) {
strip.setPixelColor (i, 255-accel_value, 0, accel_value);
Strip.show();
Delay(2);
}
}
Detta exempel bör faktiskt kallas LighteningAccel och du gissade rätt! Ska se lite ut att lätta! Färg blinkar fram och tillbaka från vitt till gult och tillbaka med förseningar.
void ThunderAccel() {
för (int jag = 0; jag < 29; i ++) {
strip.setPixelColor i, 255,255,255.
Strip.show();
}
Delay(200);
för (int jag = 0; jag < 29; i ++) {
strip.setPixelColor (i, 0,0,0);
Strip.show();
}
fördröjning (100);
för (int jag = 0; jag < 29; i ++) {
strip.setPixelColor i, 255,255,0.
Strip.show();
}
Delay(200);
för (int jag = 0; jag < 29; i ++) {
strip.setPixelColor (i, 0,0,0);
Strip.show();
}
Delay(50);
för (int jag = 0; jag < 29; i ++) {
strip.setPixelColor i, 255,255,0.
Strip.show();
}
Delay(40);
för (int jag = 0; jag < 29; i ++) {
strip.setPixelColor (i, 0,0,0);
Strip.show();
}
Delay(20);
för (int jag = 0; jag < 29; i ++) {
strip.setPixelColor i, 255,255,255.
Strip.show();
}
Delay(200);
för (int jag = 0; jag < 29; i ++) {
strip.setPixelColor (i, 0,0,0);
Strip.show();
}
Delay(1000);
för (int jag = 0; jag < 29; i ++) {
strip.setPixelColor i, 255,255,255.
Strip.show();
}
Delay(200);
för (int jag = 0; jag < 29; i ++) {
strip.setPixelColor (i, 0,0,0);
Strip.show();
}
fördröjning (100);
för (int jag = 0; jag < 29; i ++) {
strip.setPixelColor i, 255,255,0.
Strip.show();
}
Delay(100);
för (int jag = 0; jag < 29; i ++) {
strip.setPixelColor (i, 0,0,0);
Strip.show();
}
Delay(3000);
}
Du kan hitta andra mönster, inklusive en lysande en lånade (kredit är i koden), i steg 9. En annan viktig anmärkning, märker du nummer 29 kommer upp en hel del. 29 avser antalet neopixels används i moln ljus. Jag har inte full 30 eftersom jag avbränt kopparen bort på en av slutet neopixels i mitt första lödning försök. Jag bara klippt det utanför men om du använder full 1 meter Neopixel remsan du vill vilja till ändra den 29-30 och justera några andra ljusmönster.