Temperatura y Humedad con Sensor DHT 11

Materiales

Sensor DHT11

Resistencia de 10K

Protoboard

Cables de conexión para protoboard

Cable usb para conexión con Arduino

Arduino. En mi caso he usado un arduino nano

Conexiones

Se conecta el arduino nano en el centro de la protoboard.

Sensor DHT11

Pin 1: +5V en Arduino

Pin 2: Digital 2 en Arduino

Pin 3: No se utiliza

Pin 4: Gnd en Arduino

Se utiliza una resistencia pull up de 10K entre el Pin 2 del sensor y +5V de Arduino.

Programación

Antes que nada debemos cargar la siguiente librería creada por Adafruit para el sensor de temperatura (https://github.com/adafruit/DHT-sensor-library).

Nos descargamos el fichero zip de la librería y ejecutamos el programa Arduino IDE. Vamos al menú Sketch → Importar Libreria → Add Library y seleccionamos el fichero con la extensión zip que nos hemos descargado.

Cargamos el siguiente programa creado en la página Internet de las Cosas

// Internet de las Cosas // www.internetdelascosas.cl // Sketch de prueba para sensores DHT humedad / temperatura // Escrito por @joniuz basado en el sketch de Ladyada // Libreria para Sensores DHT #include "DHT.h" #define DHTPIN 2 // Pin del Arduino al cual esta conectado el pin 2 del sensor // Descomentar segun el tipo de sensor DHT usado #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22 (AM2302) //#define DHTTYPE DHT21 // DHT 21 (AM2301) // Diagrama // Pin 1 Sensor a +5V de Arduino // Pin 2 Sensor a HDTPIN (en este sketch es el pin 2) // Pin 4 Sensor a GROUND de Arduino // Resistencia de 10K desde Pin 2 de sensor a Pin 1 de Sensor o +5V // Inicializa el sensor DHT dht(DHTPIN, DHTTYPE); // Configura Arduino void setup() { Serial.begin(9600); Serial.println("InternetdelasCosas.cl\n\nPrueba de sensor DHTxx!"); dht.begin(); } void loop() { // Espera dos segundos para realizar la primera medición. delay(2000); // Lee los datos entregados por el sensor, cada lectura demora 250 milisegundos // El sensor muestrea la temperatura cada 2 segundos} // Obtiene la Humedad float h = dht.readHumidity(); // Obtiene la Temperatura en Celsius float t = dht.readTemperature(); // Control de errores, valida que se obtuvieron valores para los datos medidos if (isnan(h) || isnan(t)) { Serial.println("Falla al leer el sensor DHT!"); return; } Serial.print("Humedad: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Temperatura: "); Serial.print(t); Serial.println(" *C "); }

Referencias

http://www.internetdelascosas.cl/2014/07/08/midiendo-temperatura-y-humedad-con-arduino-y-el-sensor-dht11/

http://www.prometec.net/sensores-dht11/