Olá e Bom dia a todos,
Gostaria de saber se alguém poderia me ajudar a programação de um projeto que estou fazendo.
O projeto é uma estufa automatizada que estou montando com um arduino uno. Basicamente a ideia é que através de um sensor lm35, dependendo da temperatura, iria ser acionado três relés diferentes na saída. Porém consigo fazer a medição do sensor, mas não consigo ativar os relés de saída.
Cada relé funcionaria em uma faixa de temperatura. Espero que alguém possa me ajudar.
Obg e att
(:
Tags:
Mostre a programação, que podemos ajudar.
As temperaturas são pré-definidas ou controláveis por um display?
#include <LiquidCrystal.h> // Inclui a biblioteca para utilizar o LCD
#define sensor 0 // Define o pino A0 como sensor
#define resistencia 8
#define cooler 9
#define janela 10
int Ventrada; // Variável para ler o sinal do pino do Arduino
float Temperatura; // Variável que recebe o valor convertido para temperatura
LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Define os pinos usados no LCD
void setup(){
lcd.begin(16, 2); // Inicia o LCD
lcd.print("Guaracy Silveira"); // Imprime permanentemente na linha 0
pinMode(resistencia,OUTPUT);
pinMode(cooler,OUTPUT);
pinMode(janela,OUTPUT);
}
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 em “Temperatura”
if Temperatura
lcd.setCursor(0, 1); // Move o cursor do display para a primeira coluna e segunda linha
lcd.print(Temperatura); // Exibe o valor de temperatura no display
lcd.print(" C"); // Escreve “°C” no lcd depois da temperatura
delay(1000); // Aguarda 1 segundo para efetuar uma nova leitura de temperatura
}
Agora queria acionar as saidas digitais 8,9,10 de acordo com a temperatura
ex: Quando a temperatura atingir 15 graus acionar saida 8, se chegar a 20 graus acionar a 9 e 10.
OBG
if ((temperatura > 15) and (temperatura<20))
{
digitalWrite(rele1,HIGH);
digitalWrite(rele2,LOW);
digitalWrite(rele3,LOW);
}
if (temperatura >= 20)
{
digitalWrite(rele1,LOW);
digitalWrite(rele2,HIGH);
digitalWrite(rele3,HIGH);
}
else
{
digitalWrite(rele1,LOW);
digitalWrite(rele2,LOW);
digitalWrite(rele3,LOW);
}
caro amigo faça um switch case ai dentro de cada caso voce voce bota o valor binario lido pelo lm35.. entao quando o ad ler aquele valor vai ser correspondido ao caso do switch... e fazendo isso voce pode ativar junto a porta logica que ativa o transistor que por consequente ativar o relé... espero ter ajudado... qualquer coisa estou aqui
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por