¿Qué es el BMP085?
Este
dispositivo es un sensor de presión digital atmosférica, tiene un rango de 300
a los 1100 hPa (+9000 m. de altitud hasta -500 m. sobre el nivel del mar).
Figura 1.- Se muestra el sensor de
presión atmosférica.
Las
aplicaciones típicas de este sensor son en la mejora de la navegación de GPS
(Dirección de pendientes). En actividades de deportes para los calcular los
movimientos que realiza un individuo, pronósticos del tiempo (medio ambiente),
indicaciones de velocidad vertical ya sea subida o bajada en los autos entre
otras aplicaciones son las más comunes.
Figura 2.- La presión atmosférica, es el
peso que ejerce el aire a la atmosfera.
Este
sensor se comunica a través del protocolo i2c, que permite una comunicación fácil
entre el dispositivo y un microcontrolador con una máxima frecuencia de
operación de 3.4 MHz y un consumo de reposo de 0.1 uA , este además cuenta con
un sensor de temperatura interno que nos permite adquirir las misma por medio
del protocolo de comunicación.
El
voltaje de operación de este sensor es de 1.62 Volts hasta un máximo de 3.66
Volts, el rango operativo de este sensor según sus características es de 0 a
65°C, lo que su sensor de temperatura nos arroja en ese rango de igual manera.
El
diagrama típico de conexión lo observamos a continuación:
Figura 3.- Diagrama típico de conexión.
Normalmente
este circuito lo encontramos ya en la placa del mismo sensor, como lo podemos
observar en la figura 1. El esquema de conexión del sensor con el Arduino es la
siguiente para Arduino uno donde el puerto de i2c lo encontramos en los pines 4(SDA)
y 5(SCL).
Figura 4.-Conexión de Arduino con sensor
BMP085.
El
código de la lectura para Arduino lo podemos descargar del siguiente link:
Código Arduino:
#include
<Wire.h>
#include
<Adafruit_BMP085.h>
/***************************************************
This is an example for the BMP085 Barometric
Pressure & Temp Sensor
Designed specifically to work with the
Adafruit BMP085 Breakout
---->
https://www.adafruit.com/products/391
These displays use I2C to communicate, 2 pins
are required to
interface
Adafruit invests time and resources providing
this open source code,
please support Adafruit and open-source
hardware by purchasing
products from Adafruit!
Written by Limor Fried/Ladyada for Adafruit
Industries.
BSD license, all text above must be included
in any redistribution
****************************************************/
//
Connect VCC of the BMP085 sensor to 3.3V (NOT 5.0V!)
//
Connect GND to Ground
//
Connect SCL to i2c clock - on '168/'328 Arduino Uno/Duemilanove/etc thats
Analog 5
//
Connect SDA to i2c data - on '168/'328 Arduino Uno/Duemilanove/etc thats Analog
4
//
EOC is not used, it signifies an end of conversion
//
XCLR is a reset pin, also not used here
Adafruit_BMP085
bmp;
void
setup() {
Serial.begin(9600);
if (!bmp.begin()) {
Serial.println("Could not find
a valid BMP085 sensor, check wiring!");
while (1) {}
}
}
void
loop() {
Serial.print("Temperature = ");
Serial.print(bmp.readTemperature());
Serial.println(" *C");
Serial.print("Pressure = ");
Serial.print(bmp.readPressure());
Serial.println(" Pa");
// Calculate altitude assuming 'standard'
barometric
// pressure of 1013.25 millibar = 101325
Pascal
Serial.print("Altitude = ");
Serial.print(bmp.readAltitude());
Serial.println(" meters");
Serial.print("Pressure at sealevel
(calculated) = ");
Serial.print(bmp.readSealevelPressure());
Serial.println(" Pa");
// you can get a more precise measurement of
altitude
// if you know the current sea level pressure
which will
// vary with weather and such. If it is 1015
millibars
// that is equal to 101500 Pascals.
Serial.print("Real altitude = ");
Serial.print(bmp.readAltitude(101500));
Serial.println(" meters");
Serial.println();
delay(500);
}
Monitoreo en puerto serial:
Figura 5.- Podemos observar la salida
del sensor en el monitor serial.
Podemos
observar en el monitor serial de Arduino las salidas que nos da el sensor, la
temperatura (28.40°C) y la presión (98685 Pascales), a partir de esos datos
podemos calcular la altitud y la presión a nivel del mar para así calcular la
altitud real. Generalmente los aviones utilizan este tipo de sensores para
medir su altitud a nivel del mar para seguir las trayectorias específicas de sus
rutas.
Figura 6.- Aplicaciones de los barómetros esté puede ser utilizado en los aviones o en drones para calcular su altitud real.
No hay comentarios:
Publicar un comentario