random()

Beschreibung

Die Zufallsfunktion generiert Pseudozufallszahlen.

Syntax

random(max)

random(min, max)

Parameter

  • min - Untere Grenze des Zufallswerts, inklusiv (optional).
  • max - Obere Grenze des Zufallswerts, exklusiv.

Rückgabewert

Eine Zufallszahl zwischen min und max-1. Datentyp: long.

Beispielcode

Der Code generiert Zufallszahlen und zeigt sie an.

long randNumber; void setup() { Serial.begin(9600); // Wenn der analoge Eingangspin 0 nicht verbunden ist, wird zufälliges analoges // Rauschen mit randomSeed() benutzt, um verschiedene Seed-Zahlen bei jedem // Lauf des Sketches zu generieren. // randomSeed() ruft dann die random()-Funktion auf. randomSeed(analogRead(0)); } void loop() { // Eine Zufallszahl zwischen 0 und 299 ausgeben randNumber = random(300); Serial.println(randNumber); // Eine Zufallszahl zwischen 10 und 19 ausgeben randNumber = random(10, 20); Serial.println(randNumber); delay(50); }

※ Anmerkungen und Warnungen:

Wenn es für eine von random() erzeugte Folge von Werten wichtig ist, dass diese bei nachfolgenden Ausführungen eines Skecthes unterschiedlich ist, verwende randomSeed(), um den Zufallszahlengenerator mit einer ziemlich zufälligen Eingabe zu initialisieren, z. B. analogRead() auf einem nicht verbundenen Pin.

Umgekehrt kann es gelegentlich nützlich sein, Pseudozufallssequenzen zu verwenden, die sich genau wiederholen. Dies kann durch Aufrufen von randomSeed() mit einer festen Zahl erreicht werden, bevor die Zufallssequenz gestartet wird.

Der Parameter max sollte entsprechend dem Datentyp der Variablen ausgewählt werden, in der der Wert gespeichert ist. In jedem Fall ist das absolute Maximum an die Länge des generierten Werts (32 Bit-2.147.483.647) gebunden. Wenn du max auf einen höheren Wert setzt, wird beim Kompilieren kein Fehler generiert. Während der Ausführung des Sketches werden jedoch die Zahlen nicht generiert wie erwartet.

Siehe Auch

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.