Main

Référence : Langage Arduino : [ Mini | Standard | Etendue | Maxi ] Librairies : [ Vue d'ensemble | Synthèse ] Infos : [ Comparaison | Changements ]

randomSeed(seed)


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

Valeur renvoyée

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(){
  randNumber = random(300); // génération d'un nombre aléatoire
  Serial.println(randNumber); // envoie le nombre aléatoire vers le PC par la communication série

  delay(50); // pause de 50 ms
}

Commentaires utilisateurs

Aucun commentaire

Voir également


Page d'accueil de la référence Arduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino ou à l'adresse suivante : support_at_mon-club-elec_point_fr

Le texte original de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 . Les exemples de code dans la référence sont dans le domaine public.

La présente traduction française commentée a été réalisée par Xavier HINAULT (2010-2012) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.