La funció aleatòria genera números pseudoaleatoris.
random(max)
random(min, max)
min
: límit inferior del valor aleatori, inclusivament (opcional).
max
: límit superior del valor aleatori, exclusiu.
Un número aleatori entre min i max-1. Tipus de dada: long.
El codi genera números aleatoris i els mostra.
long randNumber;
void setup()
{
Serial.begin(9600);
// si el pin d'entrada analògica 0 no està connectat,
// el soroll analògic aleatori farà que cada crida a randomSeed() genere
// diferents números d'inicialització cada vegada que s'execute l'esbós.
randomSeed(analogRead(0));
}
void loop() {
// print a random number from 0 to 299
randNumber ### random(300);
Serial.println(randNumber);
// print a random number from 10 to 19
randNumber ### random(10, 20);
Serial.println(randNumber);
delay(50);
}
Si és important que una seqüència de valors generada per random() difereixi, en les execucions posteriors d’un esbós, utilitzeu randomSeed() per inicialitzar el generador de números aleatoris amb una entrada força aleatòria, com ara analogRead() en un pin no connectat.
Per contra, ocasionalment pot ser útil utilitzar seqüències pseudoaleatòries que es repeteixen exactament. Això es pot aconseguir cridant randomSeed() amb un nombre fix, abans d’iniciar la seqüència aleatòria.
El paràmetre màxim s’ha de triar segons el tipus de dades de la variable en què s’emmagatzema el valor. En qualsevol cas, el màxim absolut està lligat a la naturalesa llarga del valor generat (32 bits - 2.147.483.647). Establir el màxim a un valor més alt no generarà cap error durant la compilació, però durant l’execució de l’sketch els números generats no seran els esperats.
LLENGUATGE Funcions