Arduino - Numeri casuali

Per generare numeri casuali, puoi utilizzare le funzioni di numeri casuali di Arduino. Abbiamo due funzioni:

  • randomSeed(seed)
  • random()

randomSeed (seme)

La funzione randomSeed (seed) ripristina il generatore di numeri pseudocasuali di Arduino. Sebbene la distribuzione dei numeri restituiti da random () sia essenzialmente casuale, la sequenza è prevedibile. Dovresti ripristinare il generatore su un valore casuale. Se si dispone di un pin analogico non collegato, potrebbe captare rumore casuale dall'ambiente circostante. Possono essere onde radio, raggi cosmici, interferenze elettromagnetiche da telefoni cellulari, luci fluorescenti e così via.

Esempio

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

casuale( )

La funzione casuale genera numeri pseudo-casuali. Di seguito è riportata la sintassi.

Sintassi delle istruzioni random ()

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

Esempio

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);
}

Cerchiamo ora di aggiornare la nostra conoscenza su alcuni dei concetti di base come bit e byte.

Bit

Un po 'è solo una cifra binaria.

  • Il sistema binario utilizza due cifre, 0 e 1.

  • Simile al sistema di numeri decimali, in cui le cifre di un numero non hanno lo stesso valore, il "significato" di un bit dipende dalla sua posizione nel numero binario. Ad esempio, le cifre nel numero decimale 666 sono le stesse, ma hanno valori diversi.

Byte

Un byte è composto da otto bit.

  • Se un bit è una cifra, è logico che i byte rappresentino i numeri.

  • Tutte le operazioni matematiche possono essere eseguite su di essi.

  • Anche le cifre in un byte non hanno lo stesso significato.

  • Il bit più a sinistra ha il valore più grande chiamato bit più significativo (MSB).

  • Il bit più a destra ha il valore minimo ed è quindi chiamato il bit meno significativo (LSB).

  • Poiché otto zeri e uno di un byte possono essere combinati in 256 modi diversi, il numero decimale più grande che può essere rappresentato da un byte è 255 (una combinazione rappresenta uno zero).