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.