arduino
Nombres aléatoires
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);
}