SOMMAIRE ►
La fonction Arduino random() renvoie un nombre pseudo-aléatoire, c’est-à-dire que la séquence de génération du nombre aléatoire est toujours prévisible. La fonction randomSeed vous permet de placer une variable ou une constante dans la fonction random pour générer davantage de valeurs aléatoires. Dans cet article, nous allons découvrir comment définir correctement un nombre aléatoire dans le langage de programmation Arduino IDE.
Pour cette activité, nous aurons besoin:
- Arduino Uno / Arduino Nano / Arduino Mega
Matériel supplémentaire sur ce sujet:
random() – Génération de nombres pseudo-aléatoires
La fonction random() vous permet de renvoyer un nombre pseudo-aléatoire dans l’intervalle spécifié par les valeurs min et max. Voyons des exemples avec différents types de données.
Fonction Arduino random int
Dans l’exemple présenté, le type de données sélectionné est int, qui stocke les nombres entiers. D’autres types de données peuvent également être utilisés: byte, long, unsigned long, unsigned int et autres. La plage souhaitée est réglée en conséquence (min, max).
int data; void setup() { Serial.begin(9600); } void loop() { data = random(100, 200); Serial.println(data); delay(250); }
Fonction Arduino random float
Le microcontrôleur Arduino ne peut générer que des nombres entiers. Par conséquent, pour obtenir un type de données float avec deux décimales, vous devez générer un entier séparément et lui ajouter des décimales. Un exemple d’un tel programme:
float data; float data1; float data2; void setup() { Serial.begin(9600); } void loop() { data1 = random(0, 10); data2 = random(0, 100); data = data1 + data2 / 100; Serial.println(data); delay(250); }
Fonction Arduino random bool
Si vous voulez une variable booléenne aléatoire qui ne peut prendre que deux valeurs: vrai ou faux. Il est possible de générer un vrai/faux aléatoire avec une probabilité donnée. Il suffit d’affecter le résultat de la fonction aléatoire à la variable bool. Exemple:
bool data; void setup() { Serial.begin(9600); } void loop() { data = random(5); Serial.println(data); delay(250); }
Notez que dans tous les exemples de programmes présentés ci-dessus, la séquence aléatoire de nombres est répétée à chaque fois que le programme Arduino est redémarré. Cela peut être évité en utilisant la fonction randomSeed d’Arduino, qui vous permet de placer une variable dans la fonction random(). Pour ce faire, utilisez millis, analogRead ou d’autres commandes pour rendre la génération des nombres plus aléatoire que pseudo-random.
randomSeed() – Génération de nombres aléatoires
int data; void setup() { Serial.begin(9600); randomSeed(analogRead(A1)); } void loop() { data = random(100, 200); Serial.println(data); delay(250); }
A chaque redémarrage du programme, le générateur de nombres pseudo-aléatoires sera initialisé par la fonction randomSeed(analogRead(A1)); à partir d’une valeur aléatoire due au « bruit » sur le port. N’importe quel port libre peut être utilisé à cette fin, car toutes les sorties analogiques captent des bruits aléatoires provenant de l’environnement – ondes radio, interférences électromagnétiques des ordinateurs, téléphones portables, etc.








Faux ==>
——————————————– >>> data1 = random(0, 100);
Merci
Tu peux faire ça avec un buzzer et donc si tel chiffre est tiré le buzzer fait un bruit en fonction du chiffre tiré.