#define redeon 14
#define releger 15
#define relerede 2
#define desliga_ger 23
#define liga_ger 22
#define autom 35
#define man 32
void setup() {
pinMode(releger, OUTPUT);
pinMode(relerede, OUTPUT);
pinMode(redeon, INPUT);
pinMode(autom, INPUT);
pinMode(man, INPUT);
pinMode(desliga_ger, INPUT);
pinMode(liga_ger, INPUT);
Serial.begin(115200);
}
void manual(){
if(digitalRead(redeon) == LOW){ //REDE DESLIGADA
digitalWrite(relerede,LOW); //DESLIGA RELE DA REDE
if(digitalRead(releger) == HIGH){ //GERADOR JÁ ESTA LIGADO
Serial.println("GERADOR LIGADO");
}
if(digitalRead(releger) == LOW){ //GERADOR DESLIGADO
Serial.println("(MODO MANUAL)SEM REDE LIGUE O GERADOR"); // AGUARDA A OPERAÇÃO MANUAL
if(digitalRead(liga_ger) == HIGH){ // BOTÃO DE LIGA GERADOR
digitalWrite(releger, HIGH);
}
}
if(digitalRead(desliga_ger) == HIGH){ //BOTÃO DE DESLIGA GERADOR
digitalWrite(releger,LOW);
Serial.println("GERADOR DESLIGADO");
}
}
if(digitalRead(redeon)== HIGH){ //REDE LIGADA
digitalWrite(relerede, HIGH); //LIGA RELE DA REDE
if(digitalRead(releger) == HIGH){ //GERADOR LIGADO
Serial.println("GERADOR E REDE OPERANDO JUNTOS DESLIGUE O GERADOR");
}
if(digitalRead(desliga_ger) == HIGH){ //BOTÃO DE DESLIGA GERADOR
digitalWrite(releger,LOW);
Serial.println("GERADOR DESLIGADO, APENAS REDE LIGADA");
}
}
}
void automatico(){
if(digitalRead(redeon) == LOW){ //REDE LIGADA
digitalWrite(releger, HIGH); // LIGA GERADOR
digitalWrite(relerede, LOW); // TIRA REDE
Serial.println("AUTO GERADOR ON");
}else if(digitalRead(redeon) == HIGH){ //REDE DESLIGADA
digitalWrite(relerede, HIGH); //LIGA REDE
digitalWrite(releger, LOW); //TIRA GERADOR
Serial.println("AUTO REDE ON");
}
}
void loop() {
if(digitalRead(autom)== HIGH){
automatico();
delay(1000);
}else if(digitalRead(man) == HIGH){
manual();
delay(1000);
}
}