Stap 7: Programmering deel 2: Lichte patronen maken
Aangezien mijn plan is om mijn programmering gebruik een generator om één van de zeven lichte patronen besloten heb ik om te schrijven van elk licht patroon als een functie.
De volgende functie is eigenlijk het kantelbare patroon gaan van rood naar blauw. U kunt ook zien waar ik heb toegewezen van de waarden van de versnellingsmeter en een beperkinginstellen:
ongeldig 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);
for (int i = 0; ik < strip.numPixels(); i ++) {}
strip.setPixelColor (i, 255-accel_value, 0, accel_value);
strip.show();
delay(2);
}
}
In het volgende voorbeeld eigenlijk LighteningAccel moet worden genoemd en je raadt het al! Ziet er een beetje als bliksem! De kleur knippert heen en weer van wit naar geel en terug met vertragingen.
VOID ThunderAccel() {}
for (int i = 0; ik < 29; i ++) {}
strip.setPixelColor (i, 255,255,255);
strip.show();
}
delay(200);
for (int i = 0; ik < 29; i ++) {}
strip.setPixelColor (i, 0,0,0);
strip.show();
}
vertraging (100);
for (int i = 0; ik < 29; i ++) {}
strip.setPixelColor (i, 255,255,0);
strip.show();
}
delay(200);
for (int i = 0; ik < 29; i ++) {}
strip.setPixelColor (i, 0,0,0);
strip.show();
}
delay(50);
for (int i = 0; ik < 29; i ++) {}
strip.setPixelColor (i, 255,255,0);
strip.show();
}
delay(40);
for (int i = 0; ik < 29; i ++) {}
strip.setPixelColor (i, 0,0,0);
strip.show();
}
vertraging(20);
for (int i = 0; ik < 29; i ++) {}
strip.setPixelColor (i, 255,255,255);
strip.show();
}
delay(200);
for (int i = 0; ik < 29; i ++) {}
strip.setPixelColor (i, 0,0,0);
strip.show();
}
delay(1000);
for (int i = 0; ik < 29; i ++) {}
strip.setPixelColor (i, 255,255,255);
strip.show();
}
delay(200);
for (int i = 0; ik < 29; i ++) {}
strip.setPixelColor (i, 0,0,0);
strip.show();
}
vertraging (100);
for (int i = 0; ik < 29; i ++) {}
strip.setPixelColor (i, 255,255,0);
strip.show();
}
delay(100);
for (int i = 0; ik < 29; i ++) {}
strip.setPixelColor (i, 0,0,0);
strip.show();
}
delay(3000);
}
U vindt de andere patronen, met inbegrip van een briljante ik geleend (krediet is in de code), in stap 9. Een andere belangrijke opmerking: u zult merken dat de nummer 29 komt opwaarts alot. 29 verwijst naar het aantal neopixels gebruikt in het licht van de wolk. Ik heb niet de volledige 30 omdat ik verbrand het koper weg op een van de neopixels einde in mijn eerste solderen poging. Ik gewoon afgekapt het maar als u de volledige 1 meter Neopixel strip wil je veranderen van de 29 tot 30 en pas een paar andere lichte patronen.