//Incluindo biblioteca para comunicação I2C
#include <Wire.h>
//Incluindo a biblioteca para utilizar as funções do Display
#include <LiquidCrystal_I2C.h>
//Define o endereço I2C do dispositivo, quantidade de colunas e linhas
LiquidCrystal_I2C lcd(0X27, 16, 2);
//Definicao de pino
const int BOTAO_ON= 12; //define pino onde o BOTAO LIGA esta conectado
const int BOTAO_OFF= 14; //define pino onde o BOTAO DESLIGA esta conectado
const int BOTAO_FALHA = 27; // Define o pino onde o BOTAO FALHA esta conectado
const int LED_VM = 2; //define pino onde o LED VM esta conectado
//Configuracoes iniciais
void setup()
{
pinMode(BOTAO_ON, INPUT); //Configura o pino do BOTAO LIGA como entrada
pinMode(BOTAO_OFF, INPUT); //Configura o pino do BOTAO DESLIGA como entrada
pinMode(BOTAO_FALHA, INPUT); //Configura o pino do BOTAO FALHA como entrada
pinMode(LED_VM, OUTPUT); //Configura o pino do LED VM como saida
lcd.begin(16,2); //Define a qtd de colunas e linhas do display
lcd.init(); //Inicialização do display
lcd.backlight(); //Liga o backlight "Luz de fundo"
}
//Funcao principal
void loop()
{
int estadoBotaoON = digitalRead(BOTAO_ON); //Lendo estado do botao ON
int estadoBotaoOFF = digitalRead(BOTAO_OFF); //Lendo estado do botao OFF
int estadoBotaoFALHA = digitalRead(BOTAO_FALHA); // Lendo o estado do botao FALHA
//Verifica se o Botao esta pressionado
if (estadoBotaoON == HIGH)
{
digitalWrite(LED_VM, HIGH); //Liga o LED VM
lcd.clear(); //Apaga o texto escrito no Display
lcd.setCursor(0,0); //Posiciona o cursor na coluna 0, linha 0
lcd.print("Motor Ligado"); //Imprime o texto no Display
}
if (estadoBotaoOFF == HIGH)
{
digitalWrite(LED_VM, LOW); //Desliga o LED VM
lcd.clear(); //Apaga o texto escrito no Display
lcd.setCursor(0,0); //Posiciona o cursor na coluna 0, linha 0
lcd.print("Motor Desligado"); //Imprime o texto no Display
}
//Verifica se o Botao esta pressionado
if (estadoBotaoFALHA == HIGH)
{
lcd.clear(); //Apaga o texto escrito no Display
delay(500);
lcd.setCursor(0,0); //Posiciona o cursor na coluna 0, linha 0
lcd.print("Motor em Falha"); //Imprime o texto no Display
delay(500);
}
}