Go Down

Topic: ajuda com dht11 + relay (Read 963 times) previous topic - next topic

dr_timothy

ora boas estou a fazer um projecto do qual preciso k um relay se active a determinada humidade o codigo k estou a usar e este
Code: [Select]
#include "DHT.h"
#define DHTPIN 2     
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

void setup() {
Serial.begin(9600);   
Serial.println("DHTxx test!");   
dht.begin();
}
void loop() { 
float h = dht.readHumidity();
float t = dht.readTemperature();

if (isnan(t) || isnan(h))
{   
Serial.println("Failed to read from DHT");
  } else{   
Serial.print("Humidity: ");   
Serial.print(h);   
Serial.print(" %\t"); 
  Serial.print("Temperature: "); 
   Serial.print(t);   
Serial.println(" *C");
}
}

bubulindo

E fazes bem...

Qual é o teu problema?
This... is a hobby.

dr_timothy

é saber o resto do codigo para que o relay se active

bubulindo

Imagina que colocas o relay no pino 3.

no setup adicionas algo como:
Code: [Select]

pinMode(3, OUTPUT);


depois no loop() colocas algo assim:

Code: [Select]


if ( t>= 30.0) {
    Serial.println("relay on");
    digitalWrite(3, HIGH);
}
if (t < 25.0) { // 5 graus de histerese
    Serial.println("relay off");
    digitalWrite(3, LOW);
}   


Se o que pretendes é controlar a humidade é apenas trocar a variável e o valor dos limites para desligar e ligar o relay.
This... is a hobby.

Go Up