Mesurar temperatura i humitat relativa amb el sensor DHT11 i Arduino

Categorías:
Etiquetas: , ,

El sensor DHT11:

El sensor DHT11 és el component o dispositiu d’entrada que ens permet fer la mesura de temperatura i humitat relativa.

El sensor DHT11 proporcionarà el senyal d’entrada digital a l’Arduino.

Les seves característiques principals són:

Mesura de temperaturaDe 0ºC a 50ºC (±2ºC a 25ºC)
Mesura d’humitat relativaMesura entre el 20% i el 80% (±5ºC entre 0ºC i 50ºC)
AlimentacióEntre 3,5V – 5V

Pel que fa a l’entrada de senyal a l’Arduino:

Sabem que la temperatura i la humitat són magnituds físiques i per tant senyals analògics, ara bé, el sensor DHT11 farà la conversió d’analògic a digital i en conseqüència nosaltres llegirem un senyal digital. Per als més curiosos la transformació es fa de la següent manera: la trama de dades per a transmetre la informació és de 40 bits ordenada com segueix:

  • Primer grup de 8 bits: correspon a la part entera de la temperatura.
  • Segon grup de 8 bits: correspon a la part decimal de la temperatura.
  • Tercer grup de 8 bits: correspon a la part entera de la humitat relativa.
  • Quart grup de 8 bits: correspon a la part decimal de la humitat relativa.
  • Cinquè grup de 8 bits: els anomenats bits de paritat. Serveixen per confirmar que no hi ha dades corruptes. (Es comprova que la suma dels 4 primers grups dóna com a resultat els bits de paritat).

Connexionat del sensor DHT11:

El sensor DHT11 té tres pins de connexió disponibles, es connectaran:

SENSOR DHT11CONNEXIONS EN LA PLACA O LA PROTOBOARD MINI
Pin marcat amb una S (senyal)Pin digital, per exemple el número 9 de la placa, (Llegirà el senyal).
Pin marcat amb el signe (-) negatiuGND fila de negatiu en la protoboard mini
Pin central sense marcar. (Correspon al positivo)5V fila de positiu en la protoboard mini

És important esmentar que el sensor que mostrem a la foto superior que és amb el que treballarem ve muntat en una placa PCB la qual porta incorporada una resistència pull-up integrada.

En el cas que disposem del sensor dht sense placa PCB:

caldrà incorporar al muntatge aquesta resistència (normalment de 5 a 10 kΩ) entre el positiu i el pin de senyal S (PinOutput).

En el nostre projecte de l’Estació meteorològica utilitzem el sensor DHT11 amb placa PCB perquè és molt pràctic per estalviar-nos espai i simplificar el muntatge.

Estación meteorológica InputMakers

Programació del sensor dht11 amb Arduino:

Hem de instal·lar la llibreria DHT.h perquè funcioni correctament.

Però abans d’això què és una llibreria? És un arxiu de codi que incorporem al nostre programa i ens permet noves funcionalitats.

Això ens permetrà fer funcionar aquest component.

Com les afegim?

  • Anem a: Eines> Gestiona les biblioteques…
  • Apareix el Gestor de biblioteques.
  • Escrivim en la recerca “DHT sensor library”. La busquem i procedim a instal·lar-la. Pot ser ens apareixerà un quadre de diàleg demanant-nos permís per instal·lar altres biblioteques relacionades necessàries, en aquest cas, premem intalar a tot (Install all).

Ara anem amb un exemple en el qual llegirem la humitat relativa i la temperatura i la mostrarem a la pantalla de l’ordinador pel monitor sèrie de l’IDE d’Arduino:

Executem el programa i efectivament a l’activar el Monitor sèrie de l’IDE d’Arduino ens mostra els resultats esperats.

En properes entrades al bloc estudiarem com mostrar aquestes dades per una pantalla LCD com la de l’estació meteorològica.

A continuació trobareu el projecte del “Estació meterològica” mencionat anteriorment, amb el qual podràs ampliar els teus coneixements sobre el sensor de temperatura i humitat relativa DHT11 així com de la pantalla LCd i Arduino. Fes una ullada!

IMPORTANT: OFERIM GRANS DESCOMPTES PER CENTRES EDUCATIUS! SI ERES UN CENTRE EDUCATIU DEMANA PRESSUPOST PERSONALITZAT AL SEGÜENT ENLLAÇ

Estación meteorológica

(3 ressenyes de clients)

✅ Iníciate en el mundo de la robótica con Arduino gracias a este completo kit con el que podrás medir la temperatura y humedad relativa de tu casa.

✅ Monta tu Estación Meteorológica de forma fácil y sencilla siguiendo las instrucciones del manual que encontrarás en el apartado Descargas de nuestra página web. El Manual incluye: Explicación detallada de los componentes de la Estación Meteorológica (sensor de temperatura dht11, pantalla LCD, placa protoboard mini…), los detalles del montaje, el esquema del circuito electrónico y la programación del sistema. *Con la compra de este kit también recibirás el manual automáticamente en tu correo electrónico.

✅ Aprende robótica, electrónica y programación de forma intuitiva y simple a través de este kit. Monta tu Estación Meteorológica y disfruta de una tarde divertida.

✅ Perfecto para niños con la supervisión de un adulto a partir de los 11 años, adolescentes y adultos interesados en aprender robótica, electrónica y programación con Arduino desde cero. 100% compatible con Arduino. Se incluye pila de 9V.

✅ Diviértete montando tu Estación Meteorológica y utilízala en tu casa, en la oficina o estudio.

SKU: Estación meteorológica Categoria:

Descripció

Si tienes interés en comprar este kit de robótica, estación meteorológica con Arduino tal vez te interese echar un vistazo al manual online con la explicación de los componentes, el esquema de montaje y la programación. Al realizar la compra lo recibirás en formato pdf. MANUAL ONLINE: INTRODUCCIÓN: La estación meteorológica es un kit de robótica que sirve para conocer la temperatura y la humedad relativa del ambiente. Un sensor mide dichos datos, la placa compatible con Arduino los procesa y se muestran por pantalla en tiempo real. Con la Estación Metereológica de Inputmakers vas a aprender sobre:
  • La placa compatible con Arduino.
  • La placa protoboard mini.
  • El sensor de temperatura y humedad relativa Modelo DHT11.
  • La pantalla LCD con módulo Adaptador I2C.
  • Montaje de circuitos.
  • Programación.
 
  1. DESCRIPCIÓN DEL PROYECTO Y SUS COMPONENTES:
La estación meteorológica es un proyecto de robótica que sirve para conocer la temperatura y la humedad relativa del ambiente. Un sensor mide dichos datos, la placa compatible con Arduino los procesa y se muestran por pantalla en tiempo real. La estación meteorológica de InputMakers está compuesta por:
  • Placa compatible con Arduino con cable USB.
  • Placa protoboard mini.
  • Cables de conexión macho-macho (2 unidades) y macho-hembra (7 unidades).
  • Sensor DHT11.
  • Pantalla LCD con módulo I2C.
  • Pila de 9 V.
  • Conector para pila.
  • Piezas de cartón.
estación meteo componentes inputmakers
  1. 1. LA PLACA COMPATIBLE CON ARDUINO:
Se puede entender como un pequeño ordenador que recibe información desde diferentes sensores. Estos sensores pueden ser diferentes y muy variados, por ejemplo: de temperatura y humedad, de sonido, botones, interruptores final de carrera, etc. Tras ejecutar un programa con una serie de órdenes, enviaremos las señales de salida para controlar diferentes dispositivos, por ejemplo: un led, un motor, un zumbador, mostrar información en una pantalla… Dicha placa está formada por:
  • Un microcontrolador.
  • Pines digitales: 14 entradas/salidas digitales que llamaremos pines. Cada uno de estos pines pueden configurarse como entrada o como salida. Solo los 6 que van acompañados del símbolo ~ pueden utilizarse como salidas PWM (Modulación por ancho de pulso). Dentro de lo pines digitales podemos encontrar en la posición 0 el pin RX SERIAL IN (recepción) y en la posición 1 el pin TX SERIAL OUT (transmisión).
  • 6 entradas analógicas: pines destinados a leer señales analógicas.
  • Power header.
  • Conector de alimentación externa: acepta tensiones entre 7 y 12 V,
  • Conector USB (5V).
Arduino conexiones  
  1. 2. PLACA PROTOBOARD MINI:
Es un componente plano de plástico con agujeros conectados por filas. Sirve para montar circuitos electrónicos sin tener que soldar sus componentes, esto favorece un entorno de trabajo donde podemos probar, montar y desmontar componentes y circuitos tantas veces como queramos. En nuestro caso utilizamos la protoboard mini debido al reducido espacio que tenemos en nuestro proyecto. Podemos dividir la placa protoboard en dos zonas idénticas separadas por un surco central. En cada zona, los orificios de cada una de las filas están conectados eléctricamente entre sí. Sin embargo, cada fila está aislada eléctricamente de las demás, tal y como se explica abajo. protoboard explicación   Utilizaremos la placa protoboard mini para montar el conjunto formado por la resistencia y el zumbador.  
  1. 3. SENSOR DE TEMPERATURA Y HUMEDAD RELATIVA:
Es el componente o dispositivo de entrada que nos permite hacer la medida de temperatura y humedad relativa. sensor dht11 temperatura humitat   El sensor DHT11 nos proporcionará la señal de entrada digital. Sus características principales son:
Medida de temperatura De 0ºC a 50ºC (±2ºC a 25ºC)
Medida de humedad relativa Mide entre el 20% y el 80% (±5ºC entre 0ºC y 50ºC)
Alimentación Entre 3,5V – 5V
  Respecto a la entrada: Sabemos que la temperatura y la humedad son magnitudes físicas y por tanto señales analógicas, ahora bien, el sensor DHT11 hará la conversión de analógico a digital y en consecuencia nosotros leeremos una señal digital. Para los más curiosos la transformación se hace de la siguiente manera: la trama de datos para transmitir la información es de 40 bits ordenada como sigue:
  • Primer grupo de 8 bits: corresponde a la parte entera de la temperatura.
  • Segundo grupo de 8 bits: corresponde a la parte decimal de la temperatura.
  • Tercer grupo de 8 bits: corresponde a la parte entera de la humedad relativa.
  • Cuarto grupo de 8 bits: corresponde a la parte decimal de la humedad relativa.
  • Quinto grupo de 8 bits: los llamados bits de paridad. Sirven para confirmar que no hay datos corruptos. (Se comprueba que la suma de los 4 primeros grupos da como resultado los bits de paridad).
trama bits 1.4. PANTALLA LCD CON MÓDULO ADAPTADOR I2C: Es el componente o dispositivo de salida que nos permite leer la información de temperatura y humedad relativa. Para facilitar la comunicación y la conexión de nuestra placa compatible con Arduino con la pantalla LCD, utilizamos el módulo adaptador I2C. En nuestro caso ambos elementos vienen ya soldados. pantalla LCD En el módulo I2C podemos observar:
  • Jumper backlight: permite oscurecer la pantalla o dejarla con el color verde de fondo.
  • Un potenciómetro para ajustar el contraste de la pantalla.
  • Los pines de conexión: Vcc (5 V), GND, SDA y SCL.
módulo i2c Respecto a la salida: La salida también será digital pues estamos mostrando una serie de valores por la pantalla LCD mediante el protocolo I2C (bus de 2 hilos de control, SDA para datos y SCL que controla el reloj).   2. MONTAJE DEL PROYECTO: 2.1 MONTAJE: *Se recomienda usar silicona caliente para pegar las diferentes partes del proyecto. a) Las piezas del proyecto se han de doblar por las líneas discontinuas. Presionamos con el canto de una regla sobre dicha línea y doblamos la pieza. estación meteorológica montaje b) Montamos la pieza de cartón A. Pegamos las solapas laterales con silicona caliente y/o cola blanca. c) Pegamos la pieza de cartón B sobre las solapas de la pieza A. De esta manera permitimos que la tapa se abra y se cierre cómodamente. Atención! queremos que la caja pueda abrirse y cerrarse. No pegaremos todas las solapas, solo las indicadas. estación meteo arduino d) Conexionado de la pantalla LCD. Recuerda que la pantalla LCD ya viene con el módulo I2C soldado, en él se indican las conexiones a realizar: (Más adelante encontrarás el esquema de todas las conexiones, puedes utilizarlo como referencia.)
MÓDULO I2C CONEXIONES EN LA PLACA O LA PROTOBOARD MINI
GND (pin de conexión a tierra o negativo) GND fila de negativo en la protoboard mini
Vcc (pin para alimentación) 5V fila de positivo en al protoboard mini
SDA (serial data: conexión por donde se transmite la información) Pin analógico 4 (A4) de la placa
SCL (serial clock: define la velocidad de comunicación) Pin analógico 5 (A5) de la placa
Los fabricantes utilizan para el módulo I2C dos tipos de chip, puede que tu módulo tenga el chip PCF8574T o bien el chip PCF8574AT, según el modelo de chip viene con una dirección (address) u otra. Nos aseguramos de poner la dirección correcta (la dirección que vaya con tu módulo) en el programa.
CHIP PFC8574 DIRECCIÓN (ADDRESS)
PFC8574T 0x27
PFC8574AT 0x3f
e) Conexionado del sensor DHT11. Pasamos los cables que van al sensor de temperatura DHT11 por el agujero de la tapa y los conectamos al sensor. El sensor DHT11 tiene tres pines de conexión disponibles, se conectarán:
SENSOR DHT11 CONEXIONES EN LA PLACA O LA PROTOBOARD MINI
Pin marcado con una S (señal) Pin digital número 9 de la placa (Leerá la señal).
Pin marcado con el signo (-) negativo GND fila de negativo en la protoboard mini
Pin central sin marcar. (Corresponde al positivo) 5V fila de positivo en la protoboard mini
f) Montamos la pieza de cartón C en la parte superior de la caja. Ésta nos servirá para proteger el sensor de temperatura DHT11. Pegamos el sensor de temperatura DHT11 a la pieza C con silicona caliente para que no se mueva. Finalmente pegamos estas piezas al resto de la caja que forma la estación meteorológica. estación meteorológica inputmakers   2.2 PLANO DEL CIRCUITO: circuito estación meteo arduino 3. PROGRAMACIÓN:
  1. Descarga el programa Arduino IDE (software libre y gratuito) de la página oficial de Arduino e instálalo en tu ordenador.
  2. Una vez instalado correctamente el programa, tenemos que instalar diferentes librerías para que funcione correctamente.
Pero antes de eso ¿qué es una librería? Es un archivo de código que incorporamos a nuestro programa y nos permite nuevas funcionalidades. Añadiremos: – la librería DHT.h para el sensor DHT11. – la librería Adafruit_Unified_Sensor ya que es una dependencia de la librería      DHT.h – la librería NewLiquidCrystal para la pantalla LCD con el módulo I2C. Esto nos permitirá hacer funcionar dichos componentes. ¿Cómo las añadimos? Para la librería DHT.h – Vamos a: Herramientas > Administar bibliotecas – Aparecerá el Gestor de Librerías. – Escribimos en la búsqueda “DHT sensor library”. La buscamos y procedemos a instalarla. Es posible que nos aparezca un cuadro de diálogo pidiéndonos permiso para instalar otras bibliotecas relacionadas necesarias, en ese caso, le damos a instalar a todo (Install all). Para la librería Adafruit_Unified_Sensor – Volvemos a: Herramientas > Administar bibliotecas – Aparecerá el Gestor de Librerías. – Escribimos en la búsqueda “Adafruit_Unified_Sensor”. La buscamos y procedemos a instalarla. Para la librería NewLiquidCrystal No es posible añadirla usando el Gestor de Librerías y por tanto debe ser instalada manualmente. Para ello podemos ir al enlace: https://github.com/fmalpartida/New-LiquidCrystal Y la descargamos desplegando el botón verde (code) > Download ZIP Se nos descargará un archivo en formato .zip a la carpeta de descargas de nuestro ordenador. A continuación descomprimimos este archivo, se generará una carpeta nueva que contiene los diferentes archivos que conforman la librería. Copiamos esta carpeta y la pegamos en carpeta ”libraries” dentro de la carpeta “Arduino”. Listo, ¡ya está instalada!
  1. Conecta la placa al ordenador con el cable USB.
  2. Comprueba que tenemos seleccionado el modelo de la placa Arduino/Genuino Uno.
Vamos a: Herramientas> Placa: “Arduino/Genuino Uno” La placa se conecta por defecto, pero es importante comprobar que está seleccionada correctamente. Si no es así, no nos funcionará el programa.
  1. Comprueba que la placa está conectada al puerto USB. Herramientas> Puerto: usbserial (se conecta por defecto).
  2. Comprueba que en el programa pones la Dirección (address) correcta correspondiente al modelo del chip de tu módulo I2C.
  • 0x27 si tienes el modelo PCF8574T
  • 0x3f si tienes el modelo PCF8574A
  1. Escribe el código de programación (lo tienes a continuación) en el IDE de Arduino.
Aconsejamos copiarlo a mano para así interiorizar mejor lo que estamos programando. Si se te olvida escribir alguna coma, paréntesis, etc te dará un error de sintaxis. Revisa dicho error en la línea que el programa te marque. Si decides copiar y pegar el código, en función del lector de pdf puede que no se copie correctamente dejándose alguna línea de programación, si es así siempre puedes copiar y pegar el código por partes o completar escribiendo la parte que no se pegue correctamente. Aunque decidas copiar y pegar el programa, intenta entender cada línea de código, para ello tienes su explicación en el programa. Todo lo que esté a la derecha de // o entre /* y */ no es ejecutado por el programa.
  1. Presionamos el icono VERIFICAR para comprobar que el programa no contiene ningún error en el código. Si la verificación es correcta y no tenemos ningún error, pulsamos en el icono SUBIR.
Ahora ya tenemos el programa subido a la placa, aparecerán las lecturas de temperatura y humedad relativa en la pantalla LCD. Ajusta el contraste de la pantalla con el potenciómetro del módulo I2C.
  1. Una vez subido el programa a la placa, podemos desconectarla del cable USB y alimentarla con la pila de 9V.
Aclaraciones sobre la programación en el IDE de Arduino: Si no estás familiarizado con la programación, no te preocupes, ahora vamos darte una serie de ideas básicas a partir de las cuales puedas empezar a entender de qué va todo esto. Existen diferentes lenguajes de programación, unos más parecidos a otros, pero digamos que el lenguaje que se utiliza en Arduino es muy parecido a uno de los tipos de lenguajes más utilizados en programación, el lenguaje C++ A quien sabe programar en C++ le cuesta minutos adaptarse al IDE de Arduino. Lo que te vas a encontrar en el código de un programa en IDE de Arduino son en términos generales, 3 partes:
  1. La primera parte en la que básicamente se van a incluir librerías necesarias para ejecutar el programa y se van a definir variables.
  2. La segunda parte, el void setup, aquí definimos si los pines de Arduino van a corresponder a variables de entrada o salida (con el comando pinMode) y inicializamos elementos del sistema como sensores, pantallas…
  3. La tercera parte, el void loop, implementamos las órdenes necesarias para que el programa realice lo que queramos.
Dependiendo del programa y del programador puede haber variaciones.

Aquí tienes el programa:

¡Enhorabuena! ¡ya has realizado desde cero Estación Meteorológica! Desde el equipo de InputMakers queremos felicitarte por haberte dado la oportunidad de aprender algo nuevo Esperamos que te hayas divertido haciendo tu ESTACIÓN METEOROLÓGICA tanto como nosotros al prepararla. Aquí van una serie de puntos sobre los conceptos más importantes que has aprendido en este proyecto:
  • La placa compatible con Arduino.
  • La placa protoboard mini.
  • El sensor de temperatura y humedad relativa Modelo DHT11.
  • La pantalla LCD con módulo Adaptador I2C.
  • Entradas analógicas.
  • Montaje de circuitos.
  • Programación en el IDE de Arduino.
Saludos del equipo de InputMakers y ¡sigue siempre aprendiendo!

3 ressenyes per Estación meteorológica

  1. Carlos

    Para la asignatura de Tecnología está de 10 y un servicio impecable. Lo recomiendo.

  2. Jose Luis G.

    Muy chulo para tenerlo por casa en el escritorio. Se lo regalamos a mi hijo de 16 años que le gusta la robótica y lo montó sin problemas.

  3. Carla Martínez

    Muy bueno para principiantes con Arduino, le doy cinco estrellas.

Afegeix una ressenya

Si t’ha agradat comparteix pel grup de WhatsApp de el departament de Tecnologia! :))

Salutacions de l’equip de InputMakers i segueix sempre aprenent!

Twitter
Facebook
WhatsApp

Feu un comentari