Imagen del montaje
Código
PUEDES HACER COPÌA Y PEGA DEL CÓDIGO.
Se escribe en el IDE de ARDUINO, se le da a VERIFICAR y luego a CARGAR.
int led_1 = 11; //Led (1) para 3 seg
int led_2 = 12; //Led (2)para 1 seg
bool state_1 = LOW; //Estado led_1
bool state_2 = HIGH; //Esatdo led_2
/*
* Variables auxiliares para intervalo
* Tiempo
*/
unsigned long previousMillis = 0;
unsigned long previousMillis_2 = 0;
void setup() {
/*Salida¨*/
pinMode(led_1, OUTPUT);
pinMode(led_2, OUTPUT);
/* LOW (led encendido) HIGH(led apagado)*/
digitalWrite(led_1 , state_1);
digitalWrite(led_2 , state_2);
}
void loop() {
unsigned long currentMillis = millis();
/*
* Intervalo de 3 segundos para encender y apagar led_1
*/
if(currentMillis - previousMillis >= 3000){
previousMillis = currentMillis;
if(state_1){
state_1 = LOW; // Led_1 ON
state_2 = HIGH;// Led_2 OFF
}else{
state_1 = HIGH; // Led_1 OFF
state_2 = LOW; // Led_2 ON
}
digitalWrite(led_1, state_1);
digitalWrite(led_2, state_2);
}
unsigned long currentMillis_2 = millis();
/*
* Intervalo de 1 segundo para encender y apagar led_2
*/
if(currentMillis_2 - previousMillis_2 >= 1000){
previousMillis_2 = currentMillis_2;
if(state_2){
state_2 = LOW; // Led_2 ON
state_1 = HIGH; // Led_1 OFF
}else{
state_2 = HIGH; // Led_2 OFF
state_1 = LOW; // Led_1 ON
}
digitalWrite(led_1, state_1);
digitalWrite(led_2, state_2);
}
}
La función Millis() retorna el número de milisegundos desde que el Arduino comenzó a correr el programa.
Como se puede notar, con la condición if(currentMillis - previousMillis >= intervalo) se enciende y se apaga el LED. Esta condición depende del valor que retorna Millis() y se guarda en la variable currentMillis. Mientras no se cumpla el intervalo asignado un LED permanecerá encendido y el otro apagado según sea el caso. Este código se encarga de hacer retardos sin necesidad de usar la función delay().
REALIZA LO MISMO PERO AHORA EN VEZ DE 3 SEGUNDOS PARA 5 SEGUNDOS Y PARA 1 SEGUNDO
No hay comentarios:
Publicar un comentario