arduino
Numeri casuali
Ricerca…
Sintassi
random (max) // Restituisce un numero (lungo) pseudo-casuale compreso tra 0 (incluso) e max (esclusivo)
random (min, max) // Restituisce un numero (lungo) pseudo-casuale compreso tra min (compreso) e max (esclusivo)
randomSeed (seed) // Inizializza il generatore di numeri pseudo-casuali, facendolo iniziare in un punto specificato nella sua sequenza.
Parametri
Parametro | Dettagli |
---|---|
min | Il valore minimo possibile (incluso) generato dalla funzione random() . |
max | Il valore massimo possibile (esclusivo) generato dalla funzione random() . |
seme | Il seme che verrà usato per mescolare la funzione random() . |
Osservazioni
Se randomSeed()
viene chiamato con un valore fisso (ad esempio randomSeed(5)
), la sequenza di numeri casuali generata dallo schizzo si ripeterà ogni volta che viene eseguita. Nella maggior parte dei casi, viene preferito un seme casuale, che può essere ottenuto leggendo un pin analogico non connesso.
Genera un numero casuale
La funzione random()
può essere utilizzata per generare numeri pseudo-casuali:
void setup() {
Serial.begin(9600);
}
void loop() {
long randomNumber = random(500); // Generate a random number between 0 and 499
Serial.println(randomNumber);
randomNumber = random(100, 1000); // Generate a random number between 100 and 999
Serial.println(randomNumber);
delay(100);
}
Impostare un seme
Se è importante che una sequenza di numeri generata da random()
differisca, è una buona idea specificare un seme con randomSeed()
:
void setup() {
Serial.begin(9600);
// If analog pin 0 is left unconnected, analogRead(0) will produce a
// different random number each time the sketch is run.
randomSeed(analogRead(0));
}
void loop() {
long randomNumber = random(500); // Generate a random number between 0 and 499
Serial.println(randomNumber);
delay(100);
}