Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <TimedAction.h>
- #include <Timing.h>
- Timing timing = Timing(0);
- //#include <Temporizador.h>
- //Temporizador Temp1;
- /* colaborações: Sergio Silva Amigo Lab de Garagem*/
- //configura o display
- #include <LiquidCrystal.h>
- LiquidCrystal lcd(4, 3, 8, 7, 6, 5);
- //declara as variaveis
- int sensorrede=0;
- int sensorgerador=0;
- byte rede;
- byte gerador;
- const int geradorOn = 9;
- const int relerede = 10;
- const int relepartida = 11;
- const int relecargagerador = 12;
- const int releparada = 2;
- const int comutafasecmd=16;
- const int comutaneutrocmd=17;
- void setup()
- {
- lcd.begin(16,2); //inicializa display de 16colunas/2linhas
- pinMode(geradorOn,OUTPUT); //so para ilustrar o gerador ligado
- digitalWrite(geradorOn,HIGH); //so para ilustrar o gerador ligado
- pinMode(relerede,OUTPUT); //define relerede como saida
- digitalWrite(relerede,HIGH); //pullup
- pinMode(relepartida,OUTPUT);// define relepartida como saida
- digitalWrite(relepartida,HIGH);//pullup
- pinMode(relecargagerador,OUTPUT);//define relecargagerador como saida
- digitalWrite(relecargagerador,HIGH);//pullup
- pinMode(releparada,OUTPUT);
- digitalWrite(releparada,HIGH);
- pinMode(comutafasecmd,OUTPUT);
- digitalWrite(comutafasecmd,HIGH);
- pinMode(comutaneutrocmd,OUTPUT);
- digitalWrite(comutaneutrocmd,HIGH);
- }
- void loop()
- {
- sensorrede=analogRead(A0); //sensorrede recebe o sinal no pino analogico A0
- sensorgerador=analogRead(A1); //senssorgerador recebe o sinal no pino analogico A1
- //coloquei esse if abaixo porque acho mais facil trabalhar com 0 e 1 para tem energia ou nao.
- if ( sensorrede < 300 ){ rede = 0; } else { rede = 1; } //abaixo de 300 falta energia = 0, acima energia ok
- if ( sensorgerador < 300 ){ gerador = 0; } else { gerador = 1; } //abaixo de 300 falta energia = 0, acima energia ok
- //rede ok e gerador desligado
- if (rede == 1 && gerador == 0) {
- lcd.setCursor(0, 0);
- lcd.print("ENERGIA DA REDE!");
- digitalWrite(relerede,LOW);
- digitalWrite(relepartida,HIGH);
- digitalWrite(relecargagerador,HIGH);
- }
- //rede faltando e gerador desligado
- if (rede == 0 && gerador == 0) {
- timing.set(
- //Temp1.Iniciar(10000);
- //if (Temp1.Saida==1){
- //Temp1.Reset=1;
- if (rede == 0 && gerador == 0) {
- lcd.setCursor(0, 0);
- lcd.print("REDE S/ ENERGIA!");
- digitalWrite(relerede,HIGH);
- delay(3000);
- digitalWrite(relepartida,LOW);
- lcd.setCursor(0, 1);
- lcd.print("Partindo Gerador");
- delay(3500);
- digitalWrite(relepartida,HIGH);
- }
- //}
- }
- //rede faltando e gerador ligado
- if (rede == 0 && gerador == 1) {
- delay(4000);
- digitalWrite(geradorOn,LOW); //so para ilustrar o gerador (liga Led)
- digitalWrite(comutafasecmd,LOW);
- digitalWrite(comutaneutrocmd,LOW);
- delay(4000);
- digitalWrite(relecargagerador,LOW);
- lcd.setCursor(0,0);
- lcd.print("Gerador Ligado!!");
- lcd.setCursor(0, 1);
- lcd.print("Energia Gerador!");
- }
- //rede ok e gerador ligado
- if (rede == 1 && gerador == 1) {
- lcd.clear();
- digitalWrite(relecargagerador,HIGH);
- delay(2000);
- digitalWrite(comutafasecmd,HIGH);
- digitalWrite(comutaneutrocmd,HIGH);
- delay(2000);
- digitalWrite(relerede,LOW);
- lcd.setCursor(0,0);
- lcd.print("EsfriandoGerador");
- lcd.setCursor(0, 1);
- lcd.print("ENERGIA DA REDE!");
- delay(10000);
- lcd.clear();
- digitalWrite(releparada,LOW);
- delay(3300);
- digitalWrite(releparada,HIGH);
- digitalWrite(geradorOn,HIGH); //led so para ilustrar o gerador (desliga Led)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement