Recherche…


Syntaxe

  • random (max) // Retourne un nombre (long) pseudo-aléatoire compris entre 0 (inclus) et max (exclusif)

  • random (min, max) // Retourne un nombre pseudo-aléatoire (long) entre min (inclus) et max (exclusif)

  • randomSeed (seed) // Initialise le générateur de nombres pseudo-aléatoires, le faisant démarrer à un point spécifié de sa séquence.

Paramètres

Paramètre Détails
min La valeur minimale possible (incluse) à générer par la fonction random() .
max La valeur maximale possible (exclusive) à générer par la fonction random() .
la graine La graine qui sera utilisée pour mélanger la fonction random() .

Remarques

Si randomSeed() est appelée avec une valeur fixe (par exemple, randomSeed(5) ), la séquence de nombres aléatoires générée par l'esquisse sera répétée à chaque exécution. Dans la plupart des cas, une graine aléatoire est préférée, qui peut être obtenue en lisant une broche analogique non connectée.

Générer un nombre aléatoire

La fonction random() peut être utilisée pour générer des nombres pseudo-aléatoires:

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);
}

Mettre une graine

S'il est important qu'une séquence de nombres générée par random() diffère, il est randomSeed() de spécifier une graine avec randomSeed() :

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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow