Grove - Sensor Barómetro (BMP180)
Este es un módulo Grove para el barómetro digital Bosch BMP180 de alta precisión y bajo consumo. El BMP180 ofrece un rango de medición de presión de 300 a 1100 hPa con una precisión de hasta 0.02 hPa en modo de resolución avanzada. Está basado en tecnología piezo-resistiva para alta precisión, robustez y estabilidad a largo plazo. El chip solo acepta voltaje de entrada de 1.8V a 3.6V. Sin embargo, con circuito externo añadido, este módulo se vuelve compatible con 3.3V y 5V. Por lo tanto, puede ser usado en Arduino/Seeeduino o Seeeduino Stalker sin modificación. Está diseñado para conectarse directamente a un microcontrolador a través del bus I2C.
Características
- Interfaz digital de dos cables (I2C)
- Amplio rango de presión barométrica
- Rango de voltaje de alimentación flexible
- Consumo de energía ultra-bajo
- Medición de bajo ruido
- Calibrado de fábrica
- Rango operativo de -40 a +85°C, precisión de temperatura ±2°C
- Dirección I2C: 0x77
Si quieres usar múltiples dispositivos I2C, por favor consulta Software I2C.
Más detalles sobre los módulos Grove por favor consulta Sistema Grove
Ideas de Aplicación
- Mejora de navegación GPS
- Navegación interior y exterior
- Ocio y deportes
- Pronóstico del tiempo
- Indicación de velocidad vertical (velocidad de ascenso/descenso)
Especificaciones
Elemento | Mín | Típico | Máx | Unidad |
---|---|---|---|---|
Voltaje | 3 | 5 | 5.5 | VDC |
Corriente | 1.1 | / | 20 | uA |
Rango de Presión | 300 | / | 1100 | hPa |
Transferencia de datos I2C más rápida | / | / | 3.4 | MHZ |
Dimensión | 40.120.29.7 | mm |
Plataformas Compatibles
Arduino | Raspberry Pi |
---|---|
Las plataformas mencionadas anteriormente como compatibles son una indicación de la compatibilidad de software o teórica del módulo. Solo proporcionamos biblioteca de software o ejemplos de código para la plataforma Arduino en la mayoría de los casos. No es posible proporcionar biblioteca de software / código de demostración para todas las plataformas MCU posibles. Por lo tanto, los usuarios tienen que escribir su propia biblioteca de software.
Primeros pasos
Jugar con Arduino
Hardware
- Paso 1. Prepara los siguientes elementos:
Seeeduino V4.2 | Base Shield | Grove-Barometer_Sensor-BMP180 |
---|---|---|
Consigue Uno Ahora | Consigue Uno Ahora | Consigue Uno Ahora |
- Paso 2. Conecta Grove-Barometer_Sensor-BMP180 al puerto I2C del Grove-Base Shield.
- Paso 3. Conecta Grove - Base Shield al Seeeduino.
- Paso 4. Conecta el Seeeduino a la PC mediante un cable USB.
Si no tenemos Grove Base Shield, también podemos conectar directamente este módulo al Seeeduino como se muestra a continuación.
Seeeduino_v4 | Grove-Barometer_Sensor-BMP180 |
---|---|
5V | VCC |
GND | GND |
SDA | SDA |
SCL | SCL |
Software
Paso 1. Descarga la biblioteca desde Github.
Paso 2. Consulta Cómo instalar biblioteca para instalar la biblioteca para Arduino.
Paso 3. Crea un nuevo sketch de Arduino y pega los códigos de abajo o abre el código directamente por la ruta: File -> Example ->Barometer_Sensor->Barometer_Sensor.
Aquí está el código
#include "Barometer.h"
#include <Wire.h>
float temperature;
float pressure;
float atm;
float altitude;
Barometer myBarometer;
void setup(){
Serial.begin(9600);
myBarometer.init();
}
void loop()
{
temperature = myBarometer.bmp085GetTemperature(myBarometer.bmp085ReadUT()); //Get the temperature, bmp085ReadUT MUST be called first
pressure = myBarometer.bmp085GetPressure(myBarometer.bmp085ReadUP());//Get the temperature
altitude = myBarometer.calcAltitude(pressure); //Uncompensated calculation - in Meters
atm = pressure / 101325;
Serial.print("Temperature: ");
Serial.print(temperature, 2); //display 2 decimal places
Serial.println("deg C");
Serial.print("Pressure: ");
Serial.print(pressure, 0); //whole number only.
Serial.println(" Pa");
Serial.print("Ralated Atmosphere: ");
Serial.println(atm, 4); //display 4 decimal places
Serial.print("Altitude: ");
Serial.print(altitude, 2); //display 2 decimal places
Serial.println(" m");
Serial.println();
delay(1000); //wait a second and get values again.
}
Paso 4. Abre el monitor serie para recibir los datos del sensor incluyendo temperatura, valor de presión barométrica, presión atmosférica relativa y altitud.
Jugar con Raspberry Pi
Hardware
- Paso 1. Prepara los siguientes elementos:
Raspberry pi | GrovePi_Plus | Grove-Barometer_Sensor-BMP180 |
---|---|---|
Consigue Uno Ahora | Consigue Uno Ahora | Consigue Uno Ahora |
- Paso 2. Conecta el GrovePi_Plus al Raspberry.
- Paso 3. Conecta el Grove-Barometer_Sensor-BMP180 al puerto I2C del GrovePi_Plus.
- Paso 4. Conecta el Raspberry a la PC a través del cable USB.
Software
- Paso 1. Sigue Setting Software para configurar el entorno de desarrollo.
- Paso 2. Clona el repositorio de Github con Git.
cd ~
git clone https://github.com/DexterInd/GrovePi.git
- Paso 3. Ejecuta los siguientes comandos para usar este sensor
cd ~/GrovePi/Software/Python/grove_barometer_sensors/barometric_sensor_bmp180
python grove_i2c_barometic_sensor_example.py
#!/usr/bin/python
import time
import smbus
import RPi.GPIO as GPIO
#import grovepi
from grove_i2c_barometic_sensor_BMP180 import BMP085
# ===========================================================================
# Example Code
# ===========================================================================
# Initialise the BMP085 and use STANDARD mode (default value)
# bmp = BMP085(0x77, debug=True)
bmp = BMP085(0x77, 1)
# To specify a different operating mode, uncomment one of the following:
# bmp = BMP085(0x77, 0) # ULTRALOWPOWER Mode
# bmp = BMP085(0x77, 1) # STANDARD Mode
# bmp = BMP085(0x77, 2) # HIRES Mode
# bmp = BMP085(0x77, 3) # ULTRAHIRES Mode
rev = GPIO.RPI_REVISION
if rev == 2 or rev == 3:
bus = smbus.SMBus(1)
else:
bus = smbus.SMBus(0)
while True :
temp = bmp.readTemperature()
# Read the current barometric pressure level
pressure = bmp.readPressure()
# To calculate altitude based on an estimated mean sea level pressure
# (1013.25 hPa) call the function as follows, but this won't be very accurate
# altitude = bmp.readAltitude()
# To specify a more accurate altitude, enter the correct mean sea level
# pressure level. For example, if the current pressure level is 1023.50 hPa
# enter 102350 since we include two decimal places in the integer value
altitude = bmp.readAltitude(101560)
print("Temperature: %.2f C" % temp)
print("Pressure: %.2f hPa" % (pressure / 100.0))
print("Altitude: %.2f m" % altitude)
time.sleep(.1)
- Paso 4. Aquí está el resultado:
Visor de Esquemático en Línea
Recursos
- [Eagle] Grove - Sensor Barómetro(BMP180) Archivo Eagle
- [Librería] Librería Barometer_Sensor
- [Hoja de Datos] Hoja de datos BMP180
- [Altitud Vs. Presión] Lo siguiente es un gráfico de referencia que muestra la relación entre la altitud sobre el nivel del mar y la presión barométrica.
Proyectos
Estación Meteorológica y de Seguridad con Blynk: ¡Monitorea el clima y la seguridad remotamente con Blynk y el CC32000 LaunchPad!
Soporte Técnico y Discusión de Productos
Actualizable a Sensores Industriales
Con el controlador S2110 y el registrador de datos S2100 de SenseCAP, puedes convertir fácilmente el Grove en un sensor LoRaWAN®. Seeed no solo te ayuda con el prototipado, sino que también te ofrece la posibilidad de expandir tu proyecto con la serie SenseCAP de sensores industriales robustos.
La carcasa IP66, configuración Bluetooth, compatibilidad con la red global LoRaWAN®, batería integrada de 19 Ah y el potente soporte de la APP hacen del SenseCAP S210x la mejor opción para aplicaciones industriales. La serie incluye sensores para humedad del suelo, temperatura y humedad del aire, intensidad de luz, CO2, EC y una estación meteorológica 8 en 1. Prueba el último SenseCAP S210x para tu próximo proyecto industrial exitoso.