Você está na página 1de 4

#include <LiquidCrystal.

h> //INICIA DISPLAY LCD

//Jr Electronics
// PINOS USADOS QTA
int ING = 13; // OUT
int CHOKE = 12; // OUT
int START = 11; //OUT
int CONTACRD = A4; //OUT
int CONTACGE = A3; //OUT
int ALARM = A2; //OUT
int REDE = 2; //IN
int GERADOR = 3; //IN
// int botao;

int STREDE;
int STGER;
int PARTGER;

// PINOS USADOS LCD

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup(){

Serial.begin(9600);

//LCD

lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("JR ELETRONICS");
lcd.setCursor(0,1);
lcd.print("QTA ver. 2.1 ");

// CONFIGURACAO PINOS IN OUT

pinMode (ING, OUTPUT); //IGNICAO


pinMode (CHOKE, OUTPUT); //AFOGADOR
pinMode (START, OUTPUT); //PARTIDA
pinMode (CONTACRD, OUTPUT); //CONTATORA REDE
pinMode (CONTACGE, OUTPUT);// CONTATORA GERADOR
pinMode (ALARM, OUTPUT);// SIRENE ALARME
pinMode (REDE, INPUT);// ENTRADA STATUS REDE
digitalWrite(REDE, 1);
pinMode (GERADOR, INPUT);
digitalWrite(GERADOR, 1);// ENTRADA STATUS GERADOR

} // FIM VOID SETUP

void loop() { //INICIO LOOP VOID

delay(500); //ERA 2000

lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");

STREDE = digitalRead (REDE); // LE STATUS DA REDE E COLOCA EM STREDE


STGER = digitalRead (GERADOR); // LE STATUS DO GERADOR E COLOCAR EM STGER

if ( STREDE == 0 ) { // REDE LIGADA

lcd.setCursor(0,0);
lcd.print("Jr Eletronics ");
lcd.setCursor(0,1);
lcd.print("REDE: OK ");
redegeroff();
delay (1000); // era 1000
redeon();
geradoroff();

else if ( STREDE == 1) { // FALHA REDE LIGANDO GERADOR

lcd.setCursor(0,0);
lcd.print("FALHA REDE ");
lcd.setCursor(0,1);
lcd.print("GERADOR LIGADO ");
redeoff();
delay(1000); // era 1000
if (STGER == 1){
geradoron();
}

redegeron();
return;

} // FIM LOOP VOID

void redeon() { // LIGA REDE

lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,0);
lcd.print("Jr Eletronics ");
lcd.setCursor(0,1);
lcd.print("REDE: LIGADA ");
digitalWrite (CONTACGE, 0);
digitalWrite (CONTACRD, 1);
delay(500); // era 2000
return;
}

void redeoff(){ // DESLIGA REDE

lcd.setCursor(0,0);
lcd.print("Jr Eletronics ");
lcd.setCursor(0,1);
lcd.print(" REDE: DESLIGADA ");
digitalWrite (CONTACRD, 0);
delay(500); // era 2000
return;
}

void redegeron(){ // LIGA REDE GERADOR

lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,0);
lcd.print(" REDE: GERADOR ");
lcd.setCursor(0,1);
lcd.print(" ");
digitalWrite (CONTACRD, 0);
delay(500); // era 1000
digitalWrite (CONTACGE, 1);
//delay(500); // era 1000

void redegeroff(){ // DESLIGA REDE GERADOR

lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,0);
lcd.print("CONT. GERADOR: ");
lcd.setCursor(0,1);
lcd.print("DESLIGADA ");
digitalWrite (CONTACGE, 0);
return;
//delay(50); // era 2000
}

void geradoron(){ // PARTIDA DO GERADOR


PARTGER = digitalRead (GERADOR);
STREDE = digitalRead (REDE); // NOVO COMANDO CONTROLE
//delay(100); // era 2000
if (PARTGER == 1 && STREDE == 1){
do{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,0);
lcd.print("Jr Eletronics ");
lcd.setCursor(0,1);
lcd.print("PARTIDA GERADOR");
digitalWrite (CONTACRD, 0);
digitalWrite (CONTACGE, 0);
//delay(100); // era 1000
digitalWrite (ING, 1);
//delay(100);
digitalWrite (CHOKE, 1);
//delay(300); // era 1000
digitalWrite (START, 1);
delay(3000);
digitalWrite (START, 0);
delay(2500);
digitalWrite (CHOKE, 0);
//delay(1000); // era 3000
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
PARTGER = digitalRead (GERADOR);
STREDE = digitalRead (REDE);
delay(2000);
} while ( PARTGER == 1 && STREDE == 1);
}
return;
}

void geradoroff(){ // DESLIGA GERADOR

lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,0);
lcd.print("GERDAOR: ");
lcd.setCursor(0,1);
lcd.print("DESLIGADO ");
digitalWrite (ING, 0);
digitalWrite (CHOKE, 0);
delay(1000); // era 3000
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
return;
// int botao;
// botao = analogRead (0); //Leitura do valor a porta anal�gica A0
// lcd.setCursor(8,1);
// if (botao < 100) {
// lcd.print ("Direita ");
// }
// else if (botao < 200) {
// lcd.print ("Cima ");
// }
// else if (botao < 400){
// lcd.print ("Baixo ");
// }
// else if (botao < 600){
// lcd.print ("Esquerda");
// }
// else if (botao < 800){
// lcd.print ("Select ");
// }
}

Você também pode gostar