randomSeed(value); // setzt 'value' als den Zufalls Seed
Der Arduino ist selber nicht in der Lage eine wirklich Zufallswerte zu produzieren. Mit randomSeed() kann eine Variable als 'seed' verwendet werden um bessere Zufallsergebnisse zu erhalten. Als 'seed' Variable oder auch Funktion können so zum Beispiel millis() oder analogRead() eingesetzt werden um elektrisches Rauschen durch den Analogpin als Ausgang für Zufallswerte zu nutzen.
random(min, max)
Die random Funktion erlaubt die Erzeugung der pseudo-zufälligen Werte innerhalb eines definierten Bereiches von minimum und maxium Werten.
value = random(100, 200); // setzt 'value' mit einer Zufallszahl
// zwischen 100 und 200 gleich
Bemerkung: Benutze dieses nach der randomSeed() Funktion.
Das folgende Beispiel erzeugt einen Zufallswert zwischen 0 und 255 und gibt ihn als PWM Signal auf einem PWM Pin aus.
int randNumber; // Variable um den Zufallswert zu speichern
int led = 10; // LED mit 220 Ohm Widerstand an Pin 10
void setup() {} // kein Setup notwendig
void loop()
{
randomSeed(millis()); // verwendet millis() als seed
randNumber = random(255); // Zufallsnummer im Bereich von 0-255
analogWrite(led, randNumber); // PWM Signal als Output
delay(500); // halbe Sekunde Pause
}
0 Antworten auf “Zufallsfunktionen”