|
Gummiball-Lauflicht (und: Bist Du ein Künstler?)
Eine Programmerweiterung des 14-Kanal-Lauflichtes,
damit der Leuchtpunkt wie ein von der Erde abprellender Gummiball
hüpft.
Die Schaltung ist dieselbe.
/*
Gummiball-Lauflicht
LEDs an den Ausgängen: 0..13
LED Strombegrenzung: R1 = 220 Ohm
www.arduinospielwiese.de
*/
int i; //Laufvariable
int zeit=3; //"Geschwindigkeit" des Gummiballs
int oben=13; //Obere Positionen des Gummiballs
void setup()
{
for(i=0; i<14; i++){ pinMode( i, OUTPUT); }
}
void loop() {
for(i=oben; i>=0; i--){
digitalWrite(i,
HIGH);
delay(zeit*(i+zeit));
//Berechnung der Zeit von einer Position zur nächsten
digitalWrite(i, LOW);
}
oben--;
for(i=0; i<=oben; i++){
digitalWrite(i,
HIGH);
delay(zeit*(i+zeit));
digitalWrite(i, LOW);
}
if (oben == 0) {oben = 13;}
}
Bist Du ein Künstler?
Die Leute von ARDUINO erwähnen immer wieder, dass ihr Arduino für
Künstler geschaffen wurde, z. B. damit diese damit künstlerische
Lichtinstallationen steuern können. So ein Künstler würde die
Berechnung der Zeit zwischen zwei Positionen vielleicht auch
eleganter machen.
Schau einfach in Deinem Physikwissensspeicher nach, wie sich die
Zeit tatsächlich bei Erdbeschleunigung von 9.81 m/s^2 verhält.
Dann sieht Dein "Gummiball" noch realistischer aus.
Dann muss der Variablentyp aber nicht mehr int (Integer) sondern
ein Fließkommatyp (z. B. float) sein (siehe Variablen).
Aber das wollte ich Dir jetzt mal ersparen. =o)
|