Arduino
Um eine Zufallszahl zu erzeugen nutze ich den Befehl
random();
Innerhalb der Klammer kann man „auch“ nur einen Zahlenwert eingeben
random(375);
Steht nur eine Zahl in der Klammer, so wird damit der Maximalwert angegeben. In diesem Fall wäre dann 374 die höchste Zahl, da die Angegebene nicht mehr ausgegeben wird.
Nach unten kann die zahl aber den maximalen Minus-Bereich erreichen.
Dazu folgende Auflistung:
int = -32.768 bis 32.765
long = -2.147.483.648 bis 2.147.483.648
unsigned long = 0 bis 4.294.967.295
Um einen Anfangswert anzugeben, wird diese an erster Stelle in die Klammer geschrieben.
int zufaelligeZahl = random(1, 10);
Hier wird eine Ganzzahl zwischen1 und 9 in der Variablen zufaelligeZahl gespeichert.
int meinLed[] = {12, 8, 7, 1000, 1, 1, 1};
void alleLed() {
int zufall = random(1, 6);
for (meinLed[4]; meinLed[4] <= zufall; meinLed[4]++) {
digitalWrite(meinLed[0], HIGH);
delay(meinLed[3]);
digitalWrite(meinLed[0], LOW);
delay(meinLed[3]);
}
for (meinLed[5]; meinLed[5] <= zufall; meinLed[5]++) {
digitalWrite(meinLed[1], HIGH);
delay(meinLed[3]);
digitalWrite(meinLed[1], LOW);
delay(meinLed[3]);
}
for (meinLed[6]; meinLed[6] <= zufall; meinLed[6]++) {
digitalWrite(meinLed[2], HIGH);
delay(meinLed[3]);
digitalWrite(meinLed[2], LOW);
delay(meinLed[3]);
}
}
void setup() {
pinMode(meinLed[0], OUTPUT);
pinMode(meinLed[1], OUTPUT);
pinMode(meinLed[2], OUTPUT);
}
void loop() {
alleLed();
meinLed[4] = 0;
meinLed[5] = 0;
meinLed[6] = 0;
}
Im oberen Beispiel werden die Blinkanzahlen durch den Zufallsgenerator erzeugt und in der Funktion an die LEDs gegeben.