Main

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

random()


Description

L'instruction random() génère des nombres pseudo-aléatoires.

Syntaxe

long random(valeur_max)
long random(valeur_min, valeur_max)

Paramètres

  • valeur_min : la limite inférieure pour la valeur aléatoire, inclusive (optionnel)
  • valeur_max : la limite inférieure pour la valeur aléatoire, exclusive

Valeur renvoyée

un nombre aléatoire entre la valeur min et la valeur (max-1)

Note:

Si il est important que les valeurs d'une séquence générée par l'instruction random diffère, 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.

Exemple

long randNumber; // déclaration d'une variable long

void setup(){
  Serial.begin(9600); // initialise la connexion série vers le PC à 9600 bauds

  // si la broche analogique 0 n'est pas connectée, le bruit analogique aléatoire
  // provoquera l'appel de l'instruction randomSeed() pour générer
  // différent nombre de départ à chaque exécution du programme.
  // randomSeed() brouillera alors la fonction aléatoire

  randomSeed(analogRead(0));
}

void loop() {
  // affiche un nombre aléatoire entre 0 et 299
  randNumber = random(300);
  Serial.println(randNumber);  

  // affiche un nombre aléatoire entre 10 et 19
  randNumber = random(10, 20);
  Serial.println(randNumber);

  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.