{{tag>Arduino temperatura humedad }}
===== 1. 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.
{{:electronica:arduino:sensot_humedad_temperatura.png?600| }}
=== 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.
Copiamos el siguiente programa creado en la página [[http://www.internetdelascosas.cl|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 ");
}
Una vez verificado y cargado en nuestro arduino podemos ver en la salida como van apareciendo cada dos segundos los valores de temperatura y humedad.
no necesita alimentación externa ya que se puede alimentar del propio cable USB de conexión al ordenador
==== Referencias ====
* https://tallerarduino.com/2012/12/24/sensor-dht11-humedad-y-temperatura-con-arduino/
* http://www.internetdelascosas.cl/2014/07/08/midiendo-temperatura-y-humedad-con-arduino-y-el-sensor-dht11/
* http://www.prometec.net/sensores-dht11/