Descrición:
Os sensores da familia DHT proporcionan de forma dixital a temperatura e a humidade relativa no ambiente, con diferente precisión segundo o modelo.
Aínda que o conectemos a un pin dixital, trátase dun dispositivo analóxico. Cos sensores obtense un sinal analóxico, a través dun chip de 8 bits que hai dentro do dispositivo faise a conversión entre analóxico e dixital e ese sinal envíase ao controlador a través dun pin dixital.
Montaxe:
Nós imos utilizar o modelo DHT 11. Fíxate na serigrafía, só tes tres pins, VCC, GND e o pin de datos que debes conectar a un pin dixital. Neste exemplo usaremos o pin D2 da placa arduino.
Programa:
Antes de nada debes descargar unha librería: DHT sensor library (pódela buscar no xestor de librarías de arduino ou descaragar este zip)
En ocasións a librería DHT.h demanda outra librería: Adafruit_Sensor.h. Pódese incluír tamén para evitar problemas derivados de versións.
// Librarías:
#include <DHT.h>
#include <DHT_U.h>
// Declaración de variables:
DHT dht(2, DHT11); // Iniciamos o sensor (pin2,tipo DHT11)
// Configuración:
void setup() {
Serial.begin(9600); // Iniciamos comunicación serie
dht.begin(); // Iniciamos o sensor DHT
delay(2000); // tempo necesario para arrancar o sensor
Serial.println("DHT11 test!"); // Imprimimos na consola
}
// Programa:
void loop() {
float h = dht.readHumidity(); // Lectura da humidade relativa
float t = dht.readTemperature(); // Lemos a temperatura en graos centígrados
// A seguinte instrución é para chequear o sensor DHT e avisar se hai fallos nas medicións
if (isnan(h) || isnan(t) ) {
Serial.println("Fallo na medición do sensor DHT");
return;
}
// Agora imprimimos os datos na consola
Serial.print("humidade relativa= ");
Serial.print(h);
Serial.print(" %");
Serial.print(" - ");
Serial.print("Temperatura= ");
Serial.print(t);
Serial.println(" ºC");
delay(5000); // tempo de agarda entre medidas
}
Propostas:
Unha aplicación deste sensor sería un invernadoiro automatizado. Poderiamos programar o seguinte utilizando un relé para enviar os sinais aos actuantes.
- Se a temperatura supera os 25ºC acéndese un ventilador e/ou ábrese unha ventá no invernadoiro.
- Se a temperatura baixa de 20ºC acéndese unha placa calefactora.
- Se a humidade supera o 70% abrir unha ventá do invernadoiro.
- Se a humidade baixa do 20% activar un pulverizador de auga.