Como faço Para Quando ligar relé pela porta serial imprime no Display lcd 16x02

Como faço Para Quando ligar relé pela porta serial imprime no Display lcd16x02

Quando eu coloco e aperto para ligar o primeiro relé aparece as outras mensagens 

ex(lampada ligada,lampada desligada ,ventilador desligado,ventilador ligado tudo junto um atrás do outro! como conserto isso?

o código e esse sera que ta certo?

#include <LiquidCrystal.h>
char leitura;
#define luz 8
#define vent 9
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
Serial.begin(9600);
pinMode(vent, OUTPUT);
//Seta o pino indicado por rele como saída
pinMode(luz, OUTPUT);
//Mantem rele desligado assim que iniciar o programa
digitalWrite(vent,LOW);
digitalWrite(luz,LOW);
}
void loop() {
//Verifica se há conexão com a serial
while (Serial.available() > 0) {
//Lê o dado vindo da Serial e armazena na variável leitura
leitura = Serial.read();
//Se a variável leitura for igual a 'd' ou 'D' ela Desliga rele
if (leitura == '0' || leitura =='0'){// As duas || é a operação booleana OU
digitalWrite(luz,LOW);
lcd.clear(); //limpa o display do LCD.
lcd.setCursor(0,0); // escreve na primeira linha
lcd.print("Lampada"); //imprime a string no display do LCD.
delay(50);
lcd.setCursor(6,1); // escreve na primeira linha
lcd.print("Desligada!"); //imprime a string no display do LCD.
delay(50);
lcd.clear();
}
/*Senão verifica se a variável leitura é
igual a 'l' ou 'L' ela Liga rele */
else if (leitura == '1' || leitura =='1'){
digitalWrite(luz,HIGH);}
lcd.clear(); //limpa o display do LCD.
lcd.setCursor(0,0); // escreve na primeira linha
lcd.print("Lampada"); //imprime a string no display do LCD.
delay(50);
lcd.setCursor(6,1); // escreve na primeira linha
lcd.print("Ligada!"); //imprime a string no display do LCD.
delay(52);
lcd.clear();

if (leitura == '3' || leitura =='3'){
digitalWrite(vent,HIGH);}
lcd.clear(); //limpa o display do LCD.
lcd.setCursor(0,0); // escreve na primeira linha
lcd.print("Ventilador"); //imprime a string no display do LCD.
delay(50);
lcd.setCursor(6,1); // escreve na primeira linha
lcd.print("Ligado!"); //imprime a string no display do LCD.
delay(50);
lcd.clear();

if (leitura == '4' || leitura =='4'){
digitalWrite(vent,LOW);}
lcd.clear(); //limpa o display do LCD.
lcd.setCursor(0,0); // escreve na primeira linha
lcd.print("Ventilador"); //imprime a string no display do LCD.
delay(50);
lcd.setCursor(6,1); // escreve na primeira linha
lcd.print("Desligado!"); //imprime a string no display do LCD.
delay(50);
lcd.clear();
}
Serial.println(leitura);
}

Exibições: 407

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço