Arduino: Numeri casuali

RandomSeed (seed)

Imposta un valore o un punto di partenza per generare un numero casuale (funzione random ()). Esempio:

randomSeed (value); // assegna a ‘value’ un valore casuale

Poiché il microcontrollore Arduino è in grado di creare un numero veramente casuale, la funzione randomSeed permette di inserire una variabile, una costante, o altre funzioni casuali, per generare numeri “casuali” ancora più casuali. Ci sono una varietà di possibilità o funzioni, che possono essere utilizzati in questa funzione; può essere utilizzato il comando millis () o anche analogRead () per leggere il rumore elettrico tramite un pin analogico.

random (max) random (min, max)

La funzione casuale consente di avere numeri pseudo-casuali in un intervallo specificato di valori minimi e massimi.

value = random (100, 200); // assegna a ‘value’ un numero casuale compreso tra 100 e 200

Nota: utilizzare questo comando dopo aver usato la funzione randomSeed ().

L’esempio seguente crea un valore casuale tra 0 e 255 e fornisce un segnale PWM su un pin PWM pari al valore casuale:

int randNumber; // variabile per memorizzare il valore casuale
int Led = 10; // un LED con una resistenza da 220 è presente sul pin 10

void setup () {} // nessuna configurazione è necessaria

void loop ()
{
randomSeed (Millis ()); // imposta millis () come base per generare un
randNumber = random (255); // numero casuale da 0 a 255
analogWrite (led, randNumber); // uscita segnale PWM
delay (500); // pausa per mezzo secondo
}