Arduino - Nombres aléatoires

Pour générer des nombres aléatoires, vous pouvez utiliser les fonctions de nombres aléatoires Arduino. Nous avons deux fonctions -

  • randomSeed(seed)
  • random()

randomSeed (graine)

La fonction randomSeed (seed) réinitialise le générateur de nombres pseudo-aléatoires d'Arduino. Bien que la distribution des nombres renvoyés par random () soit essentiellement aléatoire, la séquence est prévisible. Vous devez réinitialiser le générateur à une valeur aléatoire. Si vous avez une broche analogique non connectée, elle peut capter un bruit aléatoire de l'environnement environnant. Il peut s'agir d'ondes radio, de rayons cosmiques, d'interférences électromagnétiques provenant de téléphones portables, de lampes fluorescentes, etc.

Exemple

randomSeed(analogRead(5)); // randomize using noise from analog pin 5

Aléatoire( )

La fonction aléatoire génère des nombres pseudo-aléatoires. Voici la syntaxe.

random () Instructions Syntaxe

long random(max) // it generate random numbers from 0 to max
long random(min, max) // it generate random numbers from min to max

Exemple

long randNumber;

void setup() {
   Serial.begin(9600);
   // if analog input pin 0 is unconnected, random analog
   // noise will cause the call to randomSeed() to generate
   // different seed numbers each time the sketch runs.
   // randomSeed() will then shuffle the random function.
   randomSeed(analogRead(0));
}

void loop() {
   // print a random number from 0 to 299
   Serial.print("random1=");
   randNumber = random(300);
   Serial.println(randNumber); // print a random number from 0to 299
   Serial.print("random2=");
   randNumber = random(10, 20);// print a random number from 10 to 19
   Serial.println (randNumber);
   delay(50);
}

Rafraîchissons maintenant nos connaissances sur certains des concepts de base tels que les bits et les octets.

Morceaux

Un bit est juste un chiffre binaire.

  • Le système binaire utilise deux chiffres, 0 et 1.

  • Similaire au système de nombres décimaux, dans lequel les chiffres d'un nombre n'ont pas la même valeur, la «signification» d'un bit dépend de sa position dans le nombre binaire. Par exemple, les chiffres du nombre décimal 666 sont identiques, mais ont des valeurs différentes.

Octets

Un octet se compose de huit bits.

  • Si un bit est un chiffre, il est logique que les octets représentent des nombres.

  • Toutes les opérations mathématiques peuvent être effectuées sur eux.

  • Les chiffres d'un octet n'ont pas non plus la même signification.

  • Le bit le plus à gauche a la plus grande valeur appelée Bit le plus significatif (MSB).

  • Le bit le plus à droite a la plus petite valeur et est donc appelé le bit le moins significatif (LSB).

  • Étant donné que huit zéros et les uns d'un octet peuvent être combinés de 256 manières différentes, le plus grand nombre décimal pouvant être représenté par un octet est 255 (une combinaison représente un zéro).