Controle de temperatura com indicação por led - Me ajudem ai... sou iniciante ;D


Galera fiz este circuito:  http://labdegaragem.com/forum/topics/term-metro-simples-com-arduino...

So que eu quero q acenda um led vermelho quando a temperatura esta abaixo de 25°C e que indique com um led verde quando a temperatura estiver acima de 25.2 °C. Fiz a programação e verifiquei, disse q esta tudo correto, mas os leds nao acendem. O que eu fiz de errado ? ;D


programação:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int potPin = 0;
float temp = 0;
long val=0;

void setup()
{
lcd.begin(16, 2);
pinMode (7, OUTPUT);
pinMode (8, OUTPUT);
}

void loop(){
val = analogRead(potPin);
temp = (5*val*100/1024); //converte voltagem em temperatura
//Serial.println ((long)temperature);
lcd.setCursor(0, 0);
lcd.print("Matheus ");
lcd.setCursor(13, 0);
lcd.print(millis()/1000);
lcd.setCursor(0, 1);
lcd.print("Temperatura");
lcd.setCursor(12, 1);
lcd.print(temp);

if (temp <= 25) // acende o led indicando que a temperatura está abaixo ou igual a 25
{
digitalWrite(7, HIGH);
}

else
{
if (temp >=25.1)
{
digitalWrite(7, LOW); //Desliga o led indicando que a temperatura está abaixo ou igual a 25.1
}

else

if (temp >= 25.2)//Liga o led indicando que a temperatura está acima de 25.2
{
digitalWrite(8, HIGH);
}

else

if (temp < 25.3)
{
digitalWrite(8, LOW); //Desliga o led indicando que a temperatura está abaixo ou igual a 25.3
}


}

}

Exibições: 558

Responder esta

Respostas a este tópico

LOL vc fez o "msm" que eu ^^ tbm Sou Novato...mas com a ajuda do "Jonatas" consegui fazer meus leds "dizerem" se a temp esta acima ou abaixo de X rsrs ....Bem n sou o cara certo pra Apontar erros mas vou mostrar como fiz  ->

if (temperatura >= 34)  // se a temp for + ki 34 acende o led vermelho (pin8) e apaga o Verde(pin7)
{ digitalWrite( 8,HIGH);
digitalWrite( 7,LOW);}
else
{ digitalWrite( 7,HIGH); //mas se temp for - ki 34 acende o led verde(pin7) e apaga o vermelho(pin8)
digitalWrite( 8,LOW);}

Estou entendendo que você ligou os LEDs nos pinos 7 e 8. Verifique se estão ligados com a polaridade correta. Também esteja atento para o fato de não usar resistores muito grandes em série com os LEDs (procure usar 470 ohms, no máximo).

Eu coloquei os leds para piscar e eles funcionaram certinhoo

Acho ki esse "lcd.print(millis()/1000);" vc n quer né xD ? se kiser posso mandar a configuração como eu fiz...quem sabe te ajuda e entender melhor

 

manda aiii !

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int pinoSensor = 0; //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

void setup() {

lcd.begin(16, 2);
pinMode(8,OUTPUT); //LED vermelho
pinMode(7,OUTPUT); //LED verde
}
void loop() {

if (temperatura >= 34)
{ digitalWrite( 8,HIGH); // Se a temperatura for maior ou igual a 34 acenda LED vermelho
digitalWrite( 7,LOW);} //...e mantem o led Verde Apagado
else
{ digitalWrite( 7,HIGH); // mas se ao contrario...acende o verde
digitalWrite( 8,LOW);} //...e mantem o vermelho apagado


valorLido = analogRead(pinoSensor);
temperatura = (valorLido * 0.00488); // 5V / 1023 = 0.00488 (precisão do A/D)
temperatura = temperatura * 100; //Converte milivolts para graus celcius, lembrando que a cada 10mV equivalem a 1 grau celcius
lcd.setCursor(0, 0);
lcd.print("Temp:"); // Escreve Temperatura no LCD
lcd.print(temperatura); //...Escreve a Variavel Temperatura...Ex.: 34,23
delay(1000);

}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço