Buenas tardes,
tengo una duda con un codigo que estoy preparando.
estoy montando un robot el cual hace una serie de movimientos.
He implementado 4 leds que parpadean en todo momento.
Estoy dandole vueltas a la cabeza y no se como hacerlo.
Me gustaría que los leds parpadeen durante 0.5 segundos y estén un segundo apagados en todo momento mientras el robot ejecute una serie de tareas, es decir necesito que ejecute la tarea de hacer parpadear los leds y simultaneamente que el robot pueda moverse y ejecutar una serie de tareas.
Es probable que la solución sea una chorrada, pero ahora mismo no se me ocurre nada.
Alguna sugerencia??
he encontrado en internet este código pero no me sirve ya que quiero que esté encendido por un tiempo diferente al que quiero que esté apagado.
/*
Parpadeo sin la función delay()
Enciende y apaga la luz emitida por el LED, conectado a un pin digital, sin usar la función
delay().
*/
// asigna a la constante pin_led con el valor 13
const int pin_led = 13;
// Variables que cambiarán:
int estado_led = LOW; // estado_led usado para configurar el LED
long millis_anteriores = 0; // Almacenara la ultima vez que el LED fue actualizado
// la siguiente variable es tipo long porque representa el tiempo, medido en milisegundos.
long intervalo = 1000; // intervaloo en el cual parpadea (millisegundos)
void setup() {
// se configura el pin digital como pin de salida
pinMode(pin_led, OUTPUT);
}
void loop()
{
// aca escribes el codigo que correra repetidamente
// asigna a la varible millis_actuales el valor de la funcion millis()
unsigned long millis_actuales = millis();
if(millis_actuales - millis_anteriores > intervalo) {
// almacena la ultima vez que parpadeo el LED
millis_anteriores = millis_actuales;
// si el LED esta apagado, entonces se prende o viceversa.
if (estado_led == LOW) {
estado_led = HIGH;
} else {
estado_led = LOW;
}
// configura el LED con la variable estado_led
digitalWrite(pin_led, estado_led);
}
}
un saludo y muchas gracias.