sábado, 21 de mayo de 2016

Presión y temperatura con LCD Keypad Shield y BMP180


En esta entrada os voy a comentar una experiencia con Arduino usando el LCD Keypad Shield y un maravilloso sensor de presión atmosférica y temperatura que me dejó perplejo: el BMP180.


En el siguiente esquema podemos apreciar el conexionado del circuito con un sensor de 4 pins. ¡Atención! Si no usan exactamente uno de 5 pins como el de la foto anterior con alimentación explícita para 3.3v, no pueden conectar Vcc a 5V, tendrán que conectar Vcc a 3.3v. 

El sensor de presión barométrica BMP180 es un sensor que apenas tiene consumo alguno, y es de gran precisión y bajo coste. Puede medir una presión absoluta entre 300 hPa (mbar) y 1100 hPa (mbar), y puede trabajar con tensiones entre 1,8 y 3,6 v. Cuenta también con un sensor de temperatura muy preciso que mide dentro de un rango entre -40 ºC (-40 ºF) y 85ºC (185 ºF). Por supuesto, se conecta a través del protocolo I2C, y sólo requiere un hilo para los pulsos de reloj, SCL o Serial Clock Line, y otro hilo por donde van los datos en serie, SDA o Serial Data Address. No precisa calibración alguna.
En la siguiente entrada de sparkfun, BMP180 Barometric Pressure Sensor Hookup, escrita por Mike Grusin, disponemos de todo lo necesario para empezar.  Agradezco a Mike que el código de ejemplo nos lo proporcione como "beerware", "Our example code uses the "beerware" license. You can do anything you like with this code. No really, anything. If you find it useful, buy me a beer someday.

V10 Mike Grusin, SparkFun Electronics 10/24/2013
V1.1.2 Updates for Arduino 1.6.4 5/2015" 

Por supuesto Mike, te debo una cerveza, y si tienes la oportunidad de pasar algún día por mi ciudad, estás invitado. Gracias.
Conectar el sensor BMP180 a la placa Arduino UNO se realiza del siguiente modo:


De la siguiente página bajamos el zip de la librería del BMP180 para poder usar nuestro sensor, que tendremos que añadir al entorno IDE de programación de Arduino.


Al cargar el ZIP también carga el código ejemplo:


En el vídeo siguiente les muestro mi versión para un Display LCD y keypad shield de DFRobot para Arduino, cuyo ZIP con las librerías del LCD y el Keypad de Andy Gock las podéis bajar de aquí.
Si precisan también el protocolo OneWire de Paul Stoffregen podési bajar el ZIP de aquí
Todas ellas se instalan, si lo precisan, del mismo modo que el ZIP del BMP180.
El .ino con el código del programa que yo diseñé para que el sistema funcione con el sensor BMP180 y el LCDKeypad Shield para Arduino, lo pueden bajar aquí. Por supuesto, es también "beerware", y lo pueden usar y compartir bajo la misma licencia.

Sólo deben de saber, que en la siguiente variable del código deben de cambiar su valor en metros por la altura de su ciudad sobre el nivel del mar:


Finalmente, el vídeo, con la estupenda música de fondo de Pascal Ponceau, Versailles(Le bal). Gracias Pascal por compartir. 
En el vídeo vemos las funcionalidades del software, entre las que destacan la visualización de la presión tanto en hPa (hectopascales: 1hPa = 1 mbar = 100 Pa) y en mmHg (milímetros de mercurio), la temperatura en ºC (centígrados) y º F (Fahrenheit), así como la posibilidad de visualizar estas magnitudes con la luz de fondo del display activada o no.


No hay comentarios:

Publicar un comentario en la entrada