O código deveria exibir a temperatura no LCD e quando a temperatura fosse menor que 35º deveria ligar a porta normalmente aberta do relé, só que a temperatura está oscilando e o relé não está sendo ligado na hora correta, o código que estamos usando é o seguinte:

#include <LiquidCrystal.h> // Inclui a biblioteca para utilizar o LCD.

#define sensor 0 // Define o pino A0 como “sensor”

int Ventrada; // Variável para ler o sinal do pino do Arduino

float Temperatura; // Variável que recebe o valor convertido para temperatura.

const int RelePin = 9; // pino ao qual o Módulo Relé está conectado

int incomingByte; // variavel para ler dados recebidos pela serial

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

/* Esta função acima declara quais os pinos do Arduino serão utilizados para o controle do LCD */

void setup()

{

lcd.begin(16, 2); // Diz para o Arduino que o display é 16x2.

lcd.print("Temperatura: "); // Manda o texto para a tela do display

Serial.begin(9600); // inicializa a comunicação serial em 9600bps

pinMode(RelePin, OUTPUT); // seta o pino como saída

}

void loop()

{

Ventrada = analogRead (sensor); /* Manda o Arduino ler o pino e armazena

o valor em “Ventrada”. */

Temperatura=(500*Ventrada)/1023; /* Converte o valor de tensão em

temperatura e armazena na variável “Temperatura” */

lcd.setCursor(0, 1); // Move o cursor do display para a segunda linha.

lcd.print(Temperatura); // Exibe o valor de temperatura no display.

lcd.print(" C"); // Escreve “C” para dizer que a escala é Celsius.

delay(1000); /* Aguarda 1 segundo para efetuar uma nova leitura de

temperatura. */

if (Serial.available() > 0)
// verifica se tem algum dado na serial
incomingByte = Serial.read(); //lê o primeiro dado do buffer da serial

if (Temperatura <= 35) //se temperatura for menor que 35
digitalWrite(RelePin, HIGH); //aciona o pino

if (Temperatura >= 35) //se for maior
digitalWrite(RelePin, LOW); //desativa o pino

}

se possível, gostaria de saber o erro do código!

Exibições: 206

Responder esta

Respostas a este tópico

Boa tarde EOC,

Recomendações:
1. Remova seu sketch da área de texto do seu tópico;
2. Leia http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
3. Comente as linhas do seu sketch. Fica mais fácil entender o que vc quer fazer com cada
    linha e facilita a ajuda.
4. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
    com o seu sketch.

RV

Não analisei o código a fundo, mas já dá para ver que você está usando menor ou igual para ligar o relé, e maior ou igual para desligar o relé. Use apenas menor que 35 para ligar e maior para desligar.

olá amigo teste esse código aqui, pra ve se da certo, qualquer coisa vc da um retorno pra gente. 

teste1.ino

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço