0 Items

Introducción

En este tutorial te enseñaremos a crear tu propia estación meteorológica con Arduino utilizando el Grove Beginner Kit. Esta tarjeta es compatible con el Arduino Uno R3 y contiene todo lo necesario para realizar una variedad de prácticas con los sensores que vienen conectados de fabrica a través de su circuito impreso.

Si no tienes un Grove Beginner Kit, no te preocupes, de cualquier forma podrás realizar tu proyecto de estación meteorológica utilizando una tarjeta Arduino Nano Every (o Arduino Nano compatible) y sensores individuales, ya que todos los componentes pueden adquirirse por separado en nuestra tienda de electrónica en línea.

Este proyecto es de nivel intermedio y puede llevarlo a cabo cualquier persona que ya se sienta confiada en el manejo de tarjetas Arduino. Es un proyecto muy sencillo pero que tiene la posibilidad de expandirse o mejorarse utilizando tarjetas electrónicas con conectividad WiFi y/o Bluetooth para realizar otro tipo de interacciones.

¿Cómo hacer una estación meteorológica con Arduino?

Para realizar nuestra estación meteorológica necesitamos elegir las variables que vamos a monitorear y elegir los sensores adecuados para realizar las mediciones. Por la amplia disponibilidad de sensores y conveniencia hemos elegido las siguientes variables:

  • Humedad relativa – Usaremos un sensor DHT11
  • Presión atmosférica – Mediremos con el sensor BMP280
  • Temperatura – Podemos usar cualquiera de los sensores anteriores: BMP280 o DHT11

Las variables de nuestra elección se despliegan en una pantalla OLED para su visualización o poder llevar un registro de forma manual.

Ya que tengamos identificados y conectados los sensores al Arduino, requerimos realizar el siguiente procedimiento en nuestro programa:

  • Leer el sensor de humedad DHT11
  • Tomar lectura de el sensor de presión BMP280
  • Medir la temperatura con alguno de los dos sensores
  • Actualizar la pantalla OLED con los valores de la lectura

Una vez que el proyecto esté ensamblado y funcionando podemos realizar mejoras a nuestra estación, como agregar una interfaz de usuario más vistosa o realizar una carcasa para instalarlo en nuestro escritorio, etc.

Materiales

O bien:

Circuito para estación meteorológica con Arduino

El armado del circuito para realizar una estación meteorológica con Arduino deberá realizarse según se muestra en la siguiente imagen (la resistencia para el sensor DHT11 es de 4.7 KOhms):

Las conexiones son las siguientes:

  • Sensor DHT11 – Pin 3 con resistencia pull-up
  • Módulo de sensor BMP280 – Bus I2C (A5 = SCL y A4 = SDA)
  • Pantalla OLED – Bus I2C (A5 = SCL y A4 = SDA)

En el caso del Grove Beginner Kit las conexiones ya se encuentran realizadas internamente en la tarjeta, por lo que podemos proceder a realizar el programa sin la necesidad de cablear.

La programación del proyecto se llevará a cabo de la misma manera independientemente de la tarjeta de desarrollo que estemos utilizando.

Código para estación meteorológica con Arduino

Como ya mencionamos la tarea de nuestro programa será medir todos los sensores y mostrarnos el resultado de estas mediciones en la pantalla OLED.

Para poder desarrollar nuestro programa de manera más sencilla, debemos instalar algunas librerías en el IDE de Arduino, este proceso se puede realizar fácilmente desde el gestor de librerías.

Las librerías que debemos tener instaladas para poder compilar el código son las siguientes:

Hemos elaborado dos versiones del programa: La más básica que muestra todas las mediciones en una sola pantalla y la que muestra íconos para cada una de las medidas y las muestra en forma secuencial.

Lo que cambia en realidad es la forma en la que mostramos los datos; En el programa más simple utilizamos la librería U8x8 que solo permite mostrar texto en pantalla, esta se incluye junto con la librería U8g2lib. En el programa donde usamos la pantalla para mostrar gráficos hacemos uso de todo el potencial de la librería U8g2.

Hemos comentado bastante el código de este proyecto de forma que sea fácil de entender y puedes encontrar las dos versiones del programa a continuación.

Programa sencillo (librería U8x8lib)

Este programa muestra constantemente los valores leídos desde los sensores simultáneamente en la pantalla OLED.

Programa con gráficos (librería U8g2lib)

Este programa muestra una de las variables por vez en la pantalla y además muestra un ícono que permite identificar fácilmente las magnitudes (temperatura, humedad, presión). La pantalla OLED se utiliza para mostrar gráficos con la librería U8g2lib.

Enlaces relacionados

Conclusión

  • Con este proyecto hemos aprendido a realizar mediciones de sensores de humedad y temperatura, así como de presión atmosférica. Esto puede servirnos para estudiar la relación de las variables medidas con el clima y realizar predicciones según los datos obtenidos.
  • Aprendimos a mostrar datos de sensores en una pantalla OLED así como las funciones básicas para posicionar el cursor, borrar la pantalla y escribir texto.
  • Mostramos gráficos y texto en la pantalla OLED, realizando una interfaz muy vistosa para nuestro proyecto.
  • Con este proyecto como base, podríamos realizar mejoras para poder monitorear y almacenar estas variables remotamente; Por ejemplo, podríamos utilizar alguna tarjeta de desarrollo con tecnología WiFi para enviar los datos a un servidor.
  • Otra idea que podemos implementar es almacenar los valores localmente en una memoria SD, Flash o EEPROM para su posterior análisis.
Abrir chat
1
Contacta a nuestro equipo de ventas
¡Hola!, estamos listos para ayudarte. Comentanos tu duda y con gusto la resolveremos.