Ir ao conteúdo

Posts recomendados

Postado

ola beleza ?

eu to fazendo uma estufa pelo o arduino mas estou com um problema no programa que controla temperatura e umidade, eu estou usando o dht 11 como sensor,os comandos nn estão sendo execultado da maneira certa,quem puder me da uma luz me ajudaria muito por que é para meu tcc do tecnico

 

 

#include <dht.h>
#define dht_dpin A1
dht DHT;
//Set parameters of temperature and humidity (minimum and maximum)
int maxtemp = 15, mintemp = 13;
int maxhum = 52, minhum = 39;
int rele1 = 13;//cooler
int rele2 = 12;//borrifador
int rele3 = 11;//lampada para repteis 


void setup(){
 
   Serial.begin(9600);
  delay(1000);//Aguarda 1 seg antes de acessar as informações do sensor
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
pinMode(rele3, OUTPUT);
}

void loop() {
  
 DHT.read11(dht_dpin);
//  Lê as informações do sensor
 int temperatura = DHT.temperature;
 int umidade = DHT.humidity;
  Serial.print("Umidade = ");
  Serial.print(DHT.humidity);
  Serial.print(" %  ");
  Serial.print("Temperatura = ");
  Serial.print(DHT.temperature); 
  Serial.println(" Celsius  ");

  delay(2000); 

  if ( temperatura >= (maxtemp) && temperatura >= ( mintemp) && umidade >= (maxhum) && umidade >= (minhum))//TEMPERATURA ACIMA UMIDADE ACIMA 
  {
     digitalWrite (rele1, HIGH);//cooler
     digitalWrite (rele2, LOW);//borrifador
     digitalWrite (rele3, LOW);//lampada para repteis 
     delay(500);
  }
  else if ( temperatura <= (maxtemp) && umidade <= (maxhum) && temperatura >= (mintemp) && umidade >= (minhum) )// T NORMAL U NORMAL
  {
      digitalWrite (rele1, LOW);//cooler
      digitalWrite (rele2, LOW);//borrifador
      digitalWrite (rele3, LOW);//lampada para repteis
  }
  else if ( temperatura <= (maxtemp ) && temperatura >= (mintemp) && umidade >= (maxhum ) && umidade >= (minhum))// T NOMRAL UMIDADE acima
  {
     digitalWrite (rele1, HIGH);//cooler
     digitalWrite (rele2, LOW);//borrifador
     digitalWrite (rele3, LOW);//lampada para repteis
     delay(500);
  }
  else if ( temperatura <= (mintemp) && temperatura <= (maxtemp ) && umidade <= (minhum )&& umidade <= (maxhum) )//T ABAICO U ABAIXO
  {
     digitalWrite (rele1, LOW);//cooler
     digitalWrite (rele2, HIGH);//borrifador
     digitalWrite (rele3, HIGH);//lampada para repteis
     delay(500);
  }
 else if (temperatura <= (maxtemp)&& temperatura >= (mintemp ) && umidade <= (maxhum) && umidade <= (minhum))// T NORMAL UMIDADE ACIMA
 {
     digitalWrite (rele1, LOW);//cooler
     digitalWrite (rele2, HIGH);//borrifador
     digitalWrite (rele3, LOW);//lampada para repteis
     delay(500);
}
 else if (temperatura >= (maxtemp)&& temperatura >= (mintemp ) && umidade <= (maxhum) && umidade <= (minhum))// T ABAIXO UMIDADE ACIMA
 {
     digitalWrite (rele1, LOW);//cooler
     digitalWrite (rele2, LOW);//borrifador
     digitalWrite (rele3, HIGH);//lampada para repteis
     delay(500);
}
}

Postado

@kaike do arduino Olá. Não entendo de Arduíno (mas quero aprender)

Quanto ao seu código, definindo a temperatura em 50 e umidade 0 o resultado é esse: T ABAIXO UMIDADE ACIMA (segundo os comentários que fez no código)

Sugiro verificar bem as condições que definiu em seu código

Também sugiro nomes mais "amigáveis" para as variáveis do código

Ex:

int max_temp = 15, min_temp = 13;
int max_hum = 52, min_hum = 39;

Isso ajuda no entendimento do código 😉

Crie um código normal em C e teste cada condição com diferentes temperaturas e diferentes umidades

 

Atualizando...

Defini a temperatura em 0 e umidade em 50 e, para o resultado ser satisfatório, na última condição teria que ser isso:

else if ((temperatura <= max_temp && temperatura <= min_temp) || (umidade >= max_hum && umidade >= min_hum))
    printf("T ABAIXO UMIDADE ACIMA");

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!