Está en la página 1de 4

Un barometro es un instrmento capaz de medir la presin atmosfrica.

Normalmente, los sensores que podemos encontrar miden esta presin basandose en la
deformacin de una pequa caja metlica que puede verse en su superfie. Dentro de esta
caja se ha hecho el vacio, por lo que no hay una presin interna que contrarreste la presin
del aire sobre ella, lo cual la hace ms sensible a las variaciones.
Para este tutorial vamos a utilizar un sensor barometrico BMP085, ya que existe una
librera (que podemos descargar aqu) que nos dar un acceso rpido y sencillo a las
lecturas del sensor.
Este sensor no solo nos permite conocer la presin atmosferica del sitio donde nos
encontramos (til por ejemplo para precedir la meteorologa) sino que adems nos permite
conocer la altitud a la que nos encontramos (un uso muy interesante para proyectos de
Drones) e ,incluso, cuenta con un sensor de temperatura bastante fiable.
Esta es la conexin del sensor al arduino:

Pin del barometro Pin de Arduino


SDA
A4
SCL
A5
Vcc
3.3V
GND
GND
Es MUY IMPORTANTE utilizar estos pines, ya que la comunicacin se realiza por i2C
y estos pines son los que cuentan con este tipo de conexin en la mayor parte de los
Arduinos (todos los basados en los chips 168 o 328).
Otro punto fundamental es la alimentacin. Algunos sensores BMP085 vienen integrados
en un mdulo que cuenta con un reguldor de tensin, lo que nos permite conectarlo
directamente a 5V, PERO NO EN TODOS LOS CASOS ES AS. El sensor funciona a

3.3V, por lo que conectarlo a 5V sin proteccin lo destruira de forma definitiva. Asegurate
bien de conocer las caractersticas de tu mdulo antes de conectarlo.
Una vez lo tenemos conectado, es el momento de empezar a pedirle lecturas. Como ya
dijimos, existe una librera para Arduino que simplifica mucho esta tarea. Veamos sus
funciones:

readTemperature()
Devuelve una lectura de la temperatura, en grados centigrados.

readPressure()
Devuelve la lectura de la presion atmosfrica medida en Pascales

readAltitude()
Devuelve la altitud a la que se encuentra. En realidad lo que hace es asumir que a nivel del
mar la presin es de 1013 milibares, con ese dato y la presin actual estima la altitud a la
que se encuentra.
Si conocemos la presin real que existe a nivel del mar podemos tener una lectura ms
exacta pasando este dato (en pascales) como parametro.
Ejemplo:
view plainprint?
1.
2.
3.
4.
5.
6.

/*Utilizandola as hace una estimacin basada en que la


presion a nivel del mar es de 1013 milibares. */
int altitud = bmp.readAltitude();

/*Supongamos que sabemos que la presin atmosferica a nivel del mar en ese mome
nto
7. es de 1015 milibares. Pasando este dato a pascales no da un total de 101500 Pa.*/
8.
9. int altitud = bmp.readAltitude(101500);// de esta forma, la medicion de la altitud ser
ms precisa.
Y aqu teneis un ejemplo completo de su funcionamiento:.
view plainprint?
1. #include <Wire.h>
2. #include <Adafruit_BMP085.h>

3.
4. Adafruit_BMP085 bmp;
5.
6. void setup() {
7.
Serial.begin(9600);
8.
bmp.begin();
9. }
10.
11. void loop() {
12. Serial.print("Temperatura = ");
13. Serial.print(bmp.readTemperature());
14. Serial.println(" *C");
15.
16. Serial.print("Presion = ");
17. Serial.print(bmp.readPressure());
18. Serial.println(" Pa");
19.
20. Serial.print("Altud = ");
21. Serial.print(bmp.readAltitude());
22. Serial.println(" m");
23.
24. Serial.println();
25. delay(500);
26. }