Quando o sensor de temperaturanao não entra dentro do if tudo funciona normal, mas quando entra dentro do if e executa o comando, quando ele sai, ele retorna uma temperatura absurda. e nao a que deveria ser. Se alguem souber me ajudar. Lembrando estou com o ethernet shield w5100 como servidor.Queria pegar o valor correto da temperatura depois que executa-se a funçao if
#include <SPI.h>
#include <Ethernet.h>
//Definição do servidor WEB do Ethernet Shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Declara qual o MAC Address o servidor WEB tera
IPAddress ip(192,168,1,65);
EthernetServer server(8090);
int pinoSensor = 3; // Pino que está ligado o terminal central do LM35 (porta analogica 0)
int valorLido = 0; // Valor lido na entrada analogica
float temperatura = 0; // ValorLido convertido para temperatura
int ledtemperatura=2;
float guardar;
void setup()
{
Ethernet.begin(mac, ip); // Inicializa o servidor WEB com definições de MAC e IP
server.begin();
pinMode(ledtemperatura,OUTPUT);
}
void loop(){
EthernetClient client = server.available(); // Define client quando existir uma conexão ativa
valorLido = analogRead(pinoSensor); // Faz a leitura analogica do sensor LM35
temperatura = (valorLido * 0.00488); // 5V / 1023 = 0.00488 (precisão do A/D)
temperatura = temperatura * 100;
client.println(temperatura);
if(temperatura >33&& temperatura<34)
{
client.println("<p><h2><font color=green>Ar condicionado desligado</font></h2></p>");
delay(1000);
}else
if(temperatura<27&& temperatura<28)
{
digitalWrite(ledtemperatura,LOW);
// client.println("<p><h2><font color=green>Ar condicionado desligado</font></h2></p>");
delay(1000);
}
}
Tags:
if(temperatura >33&& temperatura<34)
Isso é sempre falso.......
Ixe agora nem sei mais, nunca trabalho com float...
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por