// Nome das saidas
#define azul 2 // Assimila à palavra "azul" o numero 2
#define verde 3
void acendeA();// Funçao que controla o acendimento do led Azul
void acendeV();// Funçao que controla o acendimento do led verde
void espera(); // Funçao delay
unsigned long tempoA=0; // Variavel para armazenar o tempo do LED AZUL
unsigned long tempoV=0; // Variavel para armazenar o tempo do LED VERDE
bool comutarA = false;
bool comutarV = false;
void setup(){
pinMode(azul, OUTPUT);
pinMode(verde, OUTPUT);
}
void loop(){
acendeA();
acendeV();
espera();
}
void acendeA(){
if(comutarA){
digitalWrite(azul, !digitalRead(azul)); // Comando que comuta o estado do pino, se era alto vira baixo e vice-versa
tempoA=millis();
comutarA=false;
}
}
void acendeV(){
if(comutarV){
digitalWrite(verde, !digitalRead(verde)); // Comando que comuta o estado do pino, se era alto vira baixo e vice-versa
tempoV=millis();
comutarV=false;
}
}
void espera(){
//-------LED Azul
if(!comutarA && millis()-tempoA>=3000){
comutarA = true;
}
//-------LED Verde
if(!comutarV && millis()-tempoV>=1000){
comutarV = true;
}
}