randomSeed()
Description :
randomSeed() initialise le générateur de nombres pseudo-aléatoires, le faisant démarrer à un point arbitraire de sa séquence aléatoire. Cette séquence, bien que très longue et aléatoire, est toujours la même.
S’il est important qu’une séquence de valeurs générée par random() diffère, lors des exécutions suivantes d’un sketch, utilisez randomSeed() pour initialiser le générateur de nombres aléatoires avec une entrée relativement aléatoire, telle que analogRead() sur une broche non connectée.
Inversement, il peut parfois être utile d’utiliser des séquences pseudo-aléatoires qui se répètent exactement. Pour ce faire, appelez randomSeed() avec un nombre fixe avant de démarrer la séquence aléatoire.
Syntaxe :
Utilisez la fonction suivante pour définir le numéro de départ pour initialiser la génération de nombres aléatoires :
randomSeed(seed)
Paramètres :
La fonction admet les paramètres suivants :
- seed : nombre non nul pour initialiser la séquence pseudo-aléatoire. Types de données autorisés : unsigned long.
Retours :
La fonction ne renvoie rien.
Exemple de code :
Le code génère des nombres aléatoires à l’aide d’un numéro de départ et les imprime dans le moniteur série.
long randNumber; void setup() { Serial.begin(9600); randomSeed(analogRead(0)); } void loop() { randNumber = random(300); Serial.println(randNumber); delay(50); }
Remarques et avertissements :
Si la graine est 0, randomSeed(seed) n’aura aucun effet.
Source : https://docs.arduino.cc/language-reference/en/functions/random-numbers/randomSeed/