//Incluimos la libreria del DHT,
//previamente debio haberse instalado DHT sensor library de Adafruit
#include "DHT.h"
//Definimos el pin de entrada, en este caso el 4
#define DHTPIN 21
//definimos que tipo de sensor vamos a usar ya que existen 3 tipos
//#define DHTTYPE DHT11 // DHT 11-- este es el que esta en el kit
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Inicialisamos el sensor con en numero de pin y el tipo de sensor
// el DHT en mayusculas es de la libreria
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
Serial.println(F("DHTxx test!"));
dht.begin();
}
void loop() {
// Hacemos un delay 2 segundos para obtener temeperatura y humedad
delay(2000);
//Leemos humedad y la ponemos en una variable
float h = dht.readHumidity();
// Leemos temperatura en Celsius
float t = dht.readTemperature();
// Leemos temperatura y le decimos que nos la de.... en Fahrenheit (true)
float f = dht.readTemperature(true);
// Preguntamos si alguna lectura falló (isnan) si alguna no se pudo obtener
// enviamos mensaje y termiamos el ciclo para volver a empezar
//isNaN - Función que intenta convertir un valor en numero (true = no se pudo)
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
// Obtenemos heat index (sensación terimica) in Fahrenheit (true por default)
float hif = dht.computeHeatIndex(f, h);
// Obtenemos heat index (sensación terimica) in Celsius
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(F("Humedad: "));
Serial.print(h);
Serial.print(F("% Temperatura: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(f);
Serial.print(F("°F Sensación Termica: "));
Serial.print(hic);
Serial.print(F("°C "));
Serial.print(hif);
Serial.println(F("°F"));
}