El BMP280 es un Sensor de presión y temperatura barométrica Eso proporciona lecturas precisas de presión atmosférica y temperatura. Se usa comúnmente para Monitoreo del clima, seguimiento de altitud y detección ambiental. Esta guía lo guiará a través de la configuración y el uso del BMP280 con una frambuesa Pi usando Python e I2C/SPI Communication.
Lo que necesitarás
- Frambuesa pi (Cualquier modelo con soporte de GPIO, por ejemplo, PI 3, PI 4)
- Módulo de sensor BMP280
- Cables de placa y jersey
- Python instalado en la frambuesa pi
Paso 1: Cableado el BMP280 al Raspberry Pi
El BMP280 admite la comunicación I2C y SPI.
Para modo I2C (recomendado)
PIN BMP280 | Pin de frambuesa Pi |
---|---|
VCC | 3.3V (pin 1) |
Gnd | Tierra (pin 6) |
SDA | SDA (pin 3, GPIO2) |
SCL | SCL (pin 5, GPIO3) |
Para modo SPI
PIN BMP280 | Pin de frambuesa Pi |
---|---|
VCC | 3.3V (pin 1) |
Gnd | Tierra (pin 6) |
Sck | SCLK (pin 23, GPIO11) |
IDE | Mosi (pin 19, GPIO10) |
SDO | MISO (Pin 21, GPIO9) |
CS | CE0 (pin 24, GPIO8) |
Nota: El BMP280 funciona en 3.3V. No Conéctelo a 5V, ya que puede dañar el módulo.
Paso 2: Habilitar I2C o SPI en la Raspberry Pi
Para la comunicación I2C
- Abra la herramienta de configuración de Raspberry Pi:
sudo raspi-config
- Navegar por Opciones de interfaz> I2C y habilitarlo.
- Reinicie la Raspberry Pi:
sudo reboot
- Verificar que el Se detecta BMP280 En el autobús I2C:
El BMP280 debería aparecer en la direcciónsudo i2cdetect -y 1
0x76
o0x77
.
Para la comunicación SPI
- Habilitar SPI usando:
sudo raspi-config
- Navegar por Opciones de interfaz> SPI y habilitarlo.
- Reinicie la Raspberry Pi:
sudo reboot
- Verifique la interfaz SPI usando:
Deberías verls /dev/spidev*
/dev/spidev0.0
y/dev/spidev0.1
.
Paso 3: Instale las bibliotecas requeridas
- Actualice la lista de paquetes de su Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Instale el requerido Herramientas I2C/SPI y bibliotecas de Python:
sudo apt install -y python3-smbus python3-spidev python3-pip pip3 install adafruit-circuitpython-bmp280
Paso 4: Lectura de datos del BMP280
Código Python para modo I2C
import time
import board
import busio
import adafruit_bmp280
# Initialize I2C bus and BMP280 sensor
i2c = busio.I2C(board.SCL, board.SDA)
bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c)
# Set sea level pressure (optional, for altitude calculations)
bmp280.sea_level_pressure = 1013.25
try:
while True:
print(f"Temperature: {bmp280.temperature:.2f} °C")
print(f"Pressure: {bmp280.pressure:.2f} hPa")
print(f"Altitude: {bmp280.altitude:.2f} m")
print("------------------------")
time.sleep(2)
except KeyboardInterrupt:
print("Exiting...")
Código Python para modo SPI
import time
import board
import busio
import digitalio
import adafruit_bmp280
# Initialize SPI bus and BMP280 sensor
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
cs = digitalio.DigitalInOut(board.D8) # Use GPIO8 (Pin 24) for CS
bmp280 = adafruit_bmp280.Adafruit_BMP280_SPI(spi, cs)
try:
while True:
print(f"Temperature: {bmp280.temperature:.2f} °C")
print(f"Pressure: {bmp280.pressure:.2f} hPa")
print(f"Altitude: {bmp280.altitude:.2f} m")
print("------------------------")
time.sleep(2)
except KeyboardInterrupt:
print("Exiting...")
Paso 5: Aplicaciones de BMP280 con Raspberry Pi
- Monitoreo del clima -Recopile datos de temperatura y presión para el análisis meteorológico en tiempo real.
- Medición de altitud - Use datos de presión para estimar los cambios de altitud.
- Proyectos de IoT - Enviar datos del sensor a plataformas en la nube para el monitoreo remoto.
- Automatización del hogar - Ajuste la ventilación y el aire acondicionado en función de las lecturas ambientales.
Solución de problemas
-
BMP280 no detectado (
i2cdetect
no se muestra0x76
o0x77
)- Asegurar el Pines SDA/SCL están conectados correctamente.
- Verifique que I2C está habilitado usando
sudo raspi-config
.
-
Lecturas incorrectas
- Verificar conexiones sueltas o Problemas de la fuente de alimentación.
- Asegúrese de que el sensor esté no expuesto a cambios repentinos de temperatura.
-
Problemas de comunicación SPI
- Asegúrese de que SPI esté habilitado (
ls /dev/spidev*
debe enumerar dispositivos). - Verificar Correcta selección de pin CS En el guión de Python.
- Asegúrese de que SPI esté habilitado (
Conclusión
El Sensor BMP280 brindar Medidas precisas de presión barométrica, temperatura y altitud, haciéndolo ideal para estaciones meteorológicas, aplicaciones de IoT y monitoreo ambiental. Siguiendo esta guía, puede integrar fácilmente el BMP280 en su Proyectos de Raspberry Pi ¡Para la recopilación y análisis de datos en tiempo real! 🚀