randomSeed()

Description

L'instruction randomSeed() ("seed" = la graine en anglais) initialise le générateur de nombres pseudo-aléatoire, imposant à la séquence aléatoire de démarrer à un point arbitraire. Cette séquence, bien que très longue, et aléatoire, est toujours la même.

S'il est important que les valeurs d'une séquence générée par l'instruction random diffèrent, lors d'exécutions successives d'un programme, utiliser la fonction randomSeed() pour initialiser le générateur de nombres aléatoires avec une entrée suffisamment aléatoire, telle que la valeur renvoyée par l'instruction analogRead() sur une broche analogique non connectée.

Inversement, il peut être occasionnellement utile d'utiliser des séquences pseudo-aléatoires qui se répètent exactement. Ceci peut être réalisé en appelant l'instruction randomSeed() avec un nombre fixé, avant de démarrer la séquence aléatoire.

Syntaxe

randomSeed(valeur)

Paramètres

  • valeur: nombre transmis à la fonction

Valeurs Renvoyées

  • Aucune valeur.

Exemple

long randNumber; // déclaration variable long void setup(){ Serial.begin(9600); // initialise communication série à 9600 bauds randomSeed(analogRead(0)); // initialise le générateur de nombre aléatoire en lisant broche analogique } void loop(){ // génération d'un nombre aléatoire randNumber = random(300); // envoie le nombre aléatoire vers le PC par la communication série Serial.print("A random number: "); Serial.println(randNumber); delay(1000); }
  • The result on Serial Monitor:
COM6
Send
A random number: 17 A random number: 87 A random number: 288 A random number: 239 A random number: 67 A random number: 114 A random number: 124 A random number: 294
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Please note: These are Amazon affiliate links. If you buy the components through these links, We will get a commission at no extra cost to you. We appreciate it.

※ OUR MESSAGES