¿Cómo generar un número aleatorio?

En esta lección veremos cómo generar un número aleatorio. Para ello utilizaremos una función llamada random().

random(min,max)

La función aleatoria toma como parámetro un número mínimo y un número máximo y generará un número aleatorio entre estos dos límites.

He aquí un ejemplo concreto de la función aleatoria:

void setup() {
  Serial.begin(9600); // Inicializar el monitor serie
  int numero_aleatorio=random(1,100); // Crear un número aleatorio entre 1 y 100
  Serial.println(numero_aleatorio); // Mostrar el número generado
}

void loop() {
}

El número elegido por la función aleatoria no puede ser igual a max sino max-1 como máximo. Así que aquí no tendremos 100 sino 99 como máximo.

Como sabrás, es casi imposible tener un número completamente aleatorio en un lenguaje de programación. Por eso existe la función randomSeed que te permite cambiar la forma en que se generan los números aleatorios.

  • randomSeed()

La función randomSeed genera un nuevo conjunto de números aleatorios a partir de un número fijo. Este número puede ser una entrada analógica o un número que tú mismo fijes. A continuación veremos un ejemplo de esta función:

void setup() {
  Serial.begin(9600); // Inicializar el monitor serie 
  randomSeed(1);// Inicializamos el modelo aleatorio con 1
  int numero_aleatorio = random(0,50); // Generamos nuestro número aleatorio
  Serial.println(numero_aleatorio); // Lo mostramos
}

void loop() {
}

Cambiar el número predefinido en randomSeed cambia el patrón aleatorio y produce nuevos números aleatorios.