Reference Language (extended) | Libraries | Comparison | Changes
La función random genera números pseudoaleatorios.
random(max)
random(min, max)
min - límite inferior del valor aleatorio, inclusive (opcional)
max - límite superior del valor aleatorio, exclusive (se devuelve hasta el anterior)
un número aleatorio entre min y max (long)
Si es importante que la secuencia de valores generada por random() difiera en ejecuciones sucesivas de un programa, es recomendable utilizar randomSeed() (seed en inglés, semilla) para inicializar el generador de números aleatorios con una entrada mínimamente aleatoria como analogRead() en un pin desconectado.
No obstante, puede ser útil usar secuencias pseudoaleatorias que se repitan exactamente. Esto se consigue llamando a randomSeed() con un número fijo antes de empezar la generación de la secuencia.
long numAleatorio;
void setup(){
Serial.begin(9600);
// si la entrada analógica 0 no está conectada,
// la llamada a randomSeed() recibirá ruido estático
// (analógico) y se generarán diferentes semillas
// cada vez que se ejecute el sketch.
randomSeed(analogRead(0));
}
void loop() {
// escribe un número aleatorio de 0 a 299
numAleatorio = random(300);
Serial.println(numAleatorio);
// escribe un número aleatorio de 10 a 19
numAleatorio = random(10, 20);
Serial.println(numAleatorio);
delay(50);
}
Correcciones, sugerencias, y nueva documentación deberán ser publicadas en el Foro (castellano) o en el Foro (inglés).
El texto de la referencia de Arduino está publicado bajo la licencia Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0. Los ejemplos de código de la referencia están liberados al dominio público.