meta data de esta página
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.
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 Internet de las Cosas <sxh c; gutter:true > 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 ");
} </sxh>
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.
