const int LIGA = 4;
const int DESLIGA = 5;
const int FALHA = 18;
const int LED_G= 19;
const int LED_R= 23;
const int LED_Y= 12;
const int LED_B= 13;
//inclui a biblioteca no display LCD
#include <LiquidCrystal_I2C.h>
//inicializando a biblioteca com o numero dos pinos utilizados
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
//declarando o numero de coluinas e linhas do display
lcd.begin(16,2);
lcd.init();
lcd.backlight();
pinMode(LIGA, INPUT);
pinMode(DESLIGA, INPUT);
pinMode(FALHA, INPUT);
pinMode(LED_G, OUTPUT);
pinMode(LED_R, OUTPUT);
pinMode(LED_Y, OUTPUT);
pinMode(LED_B, OUTPUT);
lcd.clear();
lcd.setCursor(4,0);
lcd.print("SITUACAO");
lcd.setCursor(1,1);
lcd.print("MOTOR TRIFASICO ");
delay(2000);
}
int modo = 0;
void loop() {
int BOT_LIGA;
int BOT_DESLIGA;
int BOT_FALHA;
BOT_LIGA = digitalRead(LIGA);
BOT_DESLIGA = digitalRead(DESLIGA);
BOT_FALHA = digitalRead(FALHA);
if (BOT_LIGA==HIGH){
modo = 1;
}
if (BOT_DESLIGA==HIGH){
modo=0;
}
if (BOT_FALHA==HIGH){
modo=2;
}
if (modo==0){
digitalWrite(LED_R,LOW);
digitalWrite(LED_B, LOW);
digitalWrite(LED_G, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("MOTOR DESLIGADO");
delay(300);
modo=3;
} else if (modo==1){
digitalWrite(LED_R,HIGH);
digitalWrite(LED_B, HIGH);
digitalWrite(LED_G, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("MOTOR LIGADO");
delay(300);
modo=3;
}else if (modo==2){
digitalWrite(LED_R,LOW);
digitalWrite(LED_B, LOW);
digitalWrite(LED_G, HIGH);
digitalWrite(LED_Y, HIGH);
delay(300);
digitalWrite(LED_Y, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("FALHA RELE.TER");
delay(300);
lcd.clear();
lcd.print("FALHA RELE.TER");
delay(300);
modo=0;
}
}