Suche…


Syntax

  • random (max) // Gibt eine (lange) Pseudozufallszahl zwischen 0 (einschließlich) und Max (exklusiv) zurück.

  • random (min, max) // Gibt eine (lange) Pseudo-Zufallszahl zwischen min (einschließlich) und max (exklusiv) zurück.

  • randomSeed (seed) // Initialisiert den Pseudo-Zufallszahlengenerator, sodass er an einem bestimmten Punkt in seiner Sequenz startet.

Parameter

Parameter Einzelheiten
Mindest Der minimal mögliche Wert (einschließlich), der von der random() Funktion generiert werden soll.
max Der maximal mögliche Wert (exklusiv), der von der random() Funktion generiert werden soll.
Samen Der Samen, mit dem die random() Funktion gemischt wird.

Bemerkungen

Wenn randomSeed() mit einem festen Wert aufgerufen wird (z. B. randomSeed(5) ), wird die von der Skizze erzeugte Folge von Zufallszahlen bei jeder Ausführung wiederholt. In den meisten Fällen wird ein zufälliger Startwert bevorzugt, der durch Lesen eines nicht verbundenen analogen Pins erhalten werden kann.

Erzeugen Sie eine Zufallszahl

Die Funktion random() kann verwendet werden, um Pseudozufallszahlen zu generieren:

void setup() {
    Serial.begin(9600);
}

void loop() {
    long randomNumber = random(500);  // Generate a random number between 0 and 499
    Serial.println(randomNumber);

    randomNumber = random(100, 1000); // Generate a random number between 100 and 999
    Serial.println(randomNumber);

    delay(100);
}

Einen Samen setzen

Wenn es wichtig ist, dass sich eine durch random() erzeugte Zahlenfolge unterscheidet, randomSeed() es sich, einen randomSeed() mit randomSeed() anzugeben:

void setup() {
    Serial.begin(9600);
    
    // If analog pin 0 is left unconnected, analogRead(0) will produce a
    // different random number each time the sketch is run.
    randomSeed(analogRead(0));
}

void loop() {
    long randomNumber = random(500); // Generate a random number between 0 and 499
    Serial.println(randomNumber);

    delay(100);
}


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow