Go Down

Topic: Problemas con el rele. (Read 261 times) previous topic - next topic

Ivory27

May 22, 2019, 04:39 pm Last Edit: May 22, 2019, 09:57 pm by surbyte Reason: Agregado de etiquetas de código
Hola buenas soy nuevo en el foro y en arduino. Estaba realizando un proyecto de automatización de cultivo con arduino, y el problema es que quiero que cuando la humedad baje del 70% se active un humidificador conectado al rele. Pero lo unico que hace el rele es encenderse un segundo y no se vuelve a encender mas. Quiero que se mantenga encendido hasta que el dht11 detecte que hay 70% de humedad y  cuando llegue a esa humedad se apague y si baja la humedad que se vuelva a encender. Gracias

Code: [Select]

//LIBRERIAS
#include <DHT.h>    
#include <DHT_U.h>
//INTRODUCIR
int SENSOR = 2;
int TEMPERATURA;
int Humedad;
int hmin=70 ;
int hmax=70;


//OBJETO
DHT dht(SENSOR, DHT11);

//VOID
void setup(){
  Serial.begin(9600);   // inicializacion de monitor serial
  dht.begin();      // inicializacion de sensor
  pinMode(8,OUTPUT);
}
void loop(){
  float TEMPERATURA,HUMEDAD;
  TEMPERATURA = dht.readTemperature();  // obtencion de valor de temperatura
  Humedad = dht.readHumidity();   // obtencion de valor de humedad
  Serial.print("Temperatura: ");  // escritura en monitor serial de los valores
  Serial.print(TEMPERATURA);
  Serial.print(" Humedad: ");
  Serial.println(Humedad);
  delay(500);

 //CONDICION
   {if(Humedad<hmin)
  {digitalWrite(8,HIGH);
  }
  else
  {
    digitalWrite(8,LOW);
  }
  }
}

_jose_

#1
May 22, 2019, 07:29 pm Last Edit: May 22, 2019, 07:33 pm by _jose_
Prueba a definir hmin como float.Tambien algunos reles integrados en placa tienen la logica invertida ,con HIGH se apagan y con LOW se energizan.Por cierto repasa las llaves {} ,las que abren el bloque if-else y lo cierran  sobran.

Kike_GL

Que modelo es tu modulo DHT11 de 3 o 4 pines ?

Code: [Select]

#include <DHT.h>   
//#include <DHT_U.h>      //Error comentar
const byte SENSOR = 2;    //Error corregir
//int TEMPERATURA;        //Error comentar
//int Humedad;            //Error comentar
int hmin = 70 ;
int hmax = 70;

//OBJETO
DHT dht(SENSOR, DHT11);

//VOID
void setup(){
   Serial.begin(9600);
   dht.begin();
   pinMode(8, OUTPUT);
}
void loop(){
   float TEMPERATURA,HUMEDAD;
   TEMPERATURA = dht.readTemperature();
   HUMEDAD = dht.readHumidity();         //Error corregir
   Serial.print("Temperatura: ");
   Serial.print(TEMPERATURA);
   Serial.print(" Humedad: ");
   Serial.println(HUMEDAD);              //Error corregir

   //CONDICION
   if (HUMADAD < hmin){                 //Error corregir
      digitalWrite(8, HIGH);
   }else{
      digitalWrite(8, LOW);
   }
   delay(500);
}
Saludos, Kike_GL

surbyte

Para el proximo proyecto compra DHT22, es mas preciso.

Go Up