Curso de Arduino y Robótica para automatizar tus inventos
Para generar números aleatorios con Arduino se usa la función random
Por ejemplo
random(3000,6000);
devuelve un número aleatorio entre 3000 y 6000
Para que los números aleatorios no sean siempre los mismos, es necesario proveer al sistema de una "semilla". El valor que se asigna a esta semilla tiene que ser lo más aleatorio posible, por lo que lo que se suele hacer es leer el ruido eléctrico presente en alguna entrada no conectada de la placa Arduino.
Por esa razón es común encontrar en el bloque de inicialización de un programa que usa números aleatorios una expresión similar a esta :
randomSeed(analogRead(0));
Por ejemplo, un programa que hiciese que un led parpadease con un intervalo de tiempo aleatorio entre 3 y 6 segundos, podría ser como este:
#define PIN_LED 12 void setup() { randomSeed(analogRead(0)); } void loop() { digitalWrite(PIN_LED, HIGH); delay(500); digitalWrite(PIN_LED, LOW); delay(random(3000, 6000)); }
Copyright © 2015 - Todos los derechos reservados - Arduino Inventor
Plantilla : OS Templates