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
}
}
}
Tags:
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);
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por