Olá, estou com um probleminha aqui (Provavelmente código).
Coloquei no Arduino um relê, um LCD 16x2, um sensor de temperatura e um botão.
Programei ele para ficar no lcd uma mensagem e a temperatura, quando aperto o botão o rele liga e aparece no lcd "Lâmpada ligada" por dois segundos e voltar a temperatura, se apertar o botão novamente aparece "lâmpada desligada" por dois segundos e volta para a temperatura.
O problema é que a temperatura não está atualizando, fica fixa, ou seja ele não está atualizando a leitura do sensor. Todos os componentes estão ligados certinho.
Segue o código
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
const int lm35 = A0;
float temperatura = 0;
const int rele = 6;
const int botao = 10;
int estadorele = 0;
int estadobotao = 0;
int adclido=0;
void setup(){
pinMode(rele,OUTPUT);
pinMode(botao,INPUT);
lcd.begin(16,2);
lcd.clear();
}
void loop(){
estadobotao = digitalRead(botao);
adclido = analogRead(lm35);
temperatura = adclido*0.48828125 ;
lcd.setCursor(0,0);
lcd.print("Central Sala");
lcd.setCursor(0,1);
lcd.print("Temp: ");
lcd.setCursor(6,1);
lcd.print(temperatura);
estadobotao = digitalRead(botao);
if (estadobotao != 1)
{
while(digitalRead(botao) !=1)
{
delay(100);
}
estadorele = !estadorele;
digitalWrite(rele,estadorele);
}
if (digitalRead(rele) == 1)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("LAMPADA");
lcd.setCursor(0,1);
lcd.print("LIGADA");
delay(2000);
lcd.clear();
}
if(digitalRead(rele)==0)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("LAMPADA");
lcd.setCursor(0,1);
lcd.print("DESLIGADA ");
delay(2000);
lcd.clear();
}
}
Se alguem puder me salvar agradeço.
Abraços