Mini estación meteorológica

Después del éxito del termómetro me he venido arriba y he decidido montar una mini estación meteorológica que me de lecturas de temperatura, presión barométrica y humedad relativa.

Además quiero que me dé las máximas y mínimas de estos parámetros y que presente la información en un display LED de 16 columnas y 2 filas (casi ná).

En principio, parece sencillo, conectar el display y los sensores, leer los valores de los sensores y presentar esos valores, con el formato apropiado, en el display.

Adicionalmente, por medio de un botón, mi  estación deberá poder ir cambiando la presentación de valores actuales a valores máximos y de aquí a valores mínimos.

Empecemos por la lista de materiales:

  • Un Arduino UNO.
  • Una placa de prototipo.
  • Un display LED de 16 columnas y dos filas (TC1602A-09T):

Imagen1

  • Un potenciómetro de 10K Ohmios para controlar el contraste del display:

potentiometer-10k-chiosz-robots-3

  • Un sensor de temperatura y presión barométrica BMP180:

bmp180-barometric-pressure-temperaturealtitude-sensor

  • Un sensor de humedad DHT11:

DHT11

  • Un botón para el cambio de modo de display:

00097-03-L

  • Cables, etc.

La siguiente tabla recoge las conexiones realizadas:

Origen

Destino

VSS display GND
VDD display +5V
V0 display Pin central potenciómetro
RS display Pin 7 Arduino
RW display GND
E display Pin 8 Arduino
D4 display Pin 9 Arduino
D5 display Pin 10 Arduino
D6 display Pin 11 Arduino
D7 display Pin 12 Arduino
A display +5V
K display GND
Pin izda. potenciómetro GND
Pin dcha. potenciómetro +5V
Botón +5V
Botón Pin 4 Arduino
SCL BMP180 Pin A5 Arduino
SDA BMP180 Pin A4 Arduino
VCC BMP180 +3.3V
GND BMP180 GND
SIG DHT11 Pin 5 Arduino
VCC DHT11 +3.3V
GND DHT11 GND

El esquema de conexionado es como se representa en los siguientes diagramas:

meteo_bb

meteo_schem

Y el aspecto que tiene es el de la imagen siguiente:

SL270261

El código está en GitHub junto con las hojas de especificaciones de los componentes empleados.