Estoy intentando que una acción se ejecute cada cierto tiempo entre unos ciertos segundos y que sea aleatorio, pero al ejecutar el código la acción ocurre siempre muy cerca del valor mínimo del random.
long azar;
unsigned long tiempoAnterior = 0;
void setup() {
Serial.begin(9600);
randomSeed(analogRead(A0));
}
void loop() {
// Revisamos si hay nuevas tarjetas presentes
azar = random(5000,10000);
if(millis()-tiempoAnterior>=azar){
Serial.println(azar);
tiempoAnterior=millis();
}
}
en este ejemplo los valores que me da son:
5018
5009
5003
5029
5014
5001
5010
5005
5012
¿Alguien sabe cual es el problema?