Sensor DHT11de Temperatura y Humedad
Para el tutorial de hoy contamos con el sensor cedido por Electrón Perdido DHT11.
Este sensor nos medirá tanto humedad como temperatura con un error en la primera de un 5% (sobre el rango 20 - 95%) y un error en el segundo de 2ºC. Se trata de errores moderados pero siempre depende de la finalidad de nuestro sensor.
Así pues los materiales que utilizaremos para el tutorial de hoy son:
- 1 x Arduino UNO,
- 1 x Resistencia de 220 Ohmios
- 1 x Protoboard (BreadBoard)
- 1 x Sensor DHT11
- 1 x Potenciómetro de 10K
- 1 x LCD 16x02
- Cables
Empezaremos con el esquema electrónico:
El resto de conexiones son las mismas que están planteadas en el resto de tutoriales sobre LCD que tenemos en el blog. Aún así para facilitar la comprensión del tutorial puntualizaremos que el potenciómetro controla el contraste de la LCD y que en ningún caso el sensor y el potenciómetro deben compartir conexiones.
Ahora vayamos al código. En primer lugar nos descargaremos la librería de DHT11.
Esta librería, igual que con cualquier otra, la instalaremos en nuestro Arduino IDE a través de la opción: Include Library -> Add .ZIP Library.
El resto del programa será de la siguiente manera:
#include <LiquidCrystal.h>//incluimos la libreria para la LCD #include <DHT11.h>//incluimos la librería del sensor DHT11 LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//seleccionamos
//los pines que usaremos en la LCD int pin=7;//declaramos el pin del sensor
// dado que la librería llama a un pin digital DHT11 dht11(pin); void setup() { // Definimos la LCD con dimension 2x16
//y definimos los caracteres que deben salir en las filas: lcd.begin(16,2); lcd.print("T= H="); lcd.setCursor(0,1); lcd.print("ECDA"); } //Hasta aquí hemos definido qué queremos
// que salga impreso por la pantalla y el tamaño de ésta. void loop() { int error;//programa de identificación de error float temperatura, humedad;//declaramos
//las variables que muestra nuestro sensor if((error = dht11.read(humedad, temperatura)) == 0){ lcd.setCursor(2,0); lcd.print(temperatura); lcd.setCursor(10,0); lcd.print(humedad); } else{ lcd.setCursor(0,0); lcd.print("ERROR"); } delay(1000); }
La verdad es que es un sensor muy cómo de usar si dispones de la librería adecuada. Además se puede comprobar como es realtivamente fácil sacar medidas de este sensor por pantalla.
Como siempre para cualquier pregunta o sugerencia podéis dejarla en los comentarios de más abajo.
C.
Hola, gracias por lo que haces.
ResponderEliminarEscribo tal cual este codigo en mi IDE y me sale error de comunicacion con la placa arduino uno.
Me ayudarias por favor?. Gracias
MOGOLICO HIJO DE RE MIL PUTA PONE BIEN EL CODIGO NO VES QUE DHT11 NO ES UNA LIBRERIA PELOTUDO CABEZA DE CHOTO
ResponderEliminarSe nota que tienes poca educación si quieres un proyecto o un código.. hazlo tu mismo, ánimo tu vieja!
Eliminar@tu vieja nop deberias de insultar as otros miembros de la comunidad arduino, ellos se pasan toda la tarde para hacer todo este trabajo y tú les insultas, si quieres un sketch hazle tú guapo
Eliminar