Usando el BMP280 con la Raspberry Pi

Using the BMP280 with the Raspberry Pi

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

  1. Frambuesa pi (Cualquier modelo con soporte de GPIO, por ejemplo, PI 3, PI 4)
  2. Módulo de sensor BMP280
  3. Cables de placa y jersey
  4. 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

  1. Abra la herramienta de configuración de Raspberry Pi:
    sudo raspi-config
    
  2. Navegar por Opciones de interfaz> I2C y habilitarlo.
  3. Reinicie la Raspberry Pi:
    sudo reboot
    
  4. Verificar que el Se detecta BMP280 En el autobús I2C:
    sudo i2cdetect -y 1
    
    El BMP280 debería aparecer en la dirección 0x76 o 0x77.

Para la comunicación SPI

  1. Habilitar SPI usando:
    sudo raspi-config
    
  2. Navegar por Opciones de interfaz> SPI y habilitarlo.
  3. Reinicie la Raspberry Pi:
    sudo reboot
    
  4. Verifique la interfaz SPI usando:
    ls /dev/spidev*
    
    Deberías ver /dev/spidev0.0 y /dev/spidev0.1.

Paso 3: Instale las bibliotecas requeridas

  1. Actualice la lista de paquetes de su Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. 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

  1. Monitoreo del clima -Recopile datos de temperatura y presión para el análisis meteorológico en tiempo real.
  2. Medición de altitud - Use datos de presión para estimar los cambios de altitud.
  3. Proyectos de IoT - Enviar datos del sensor a plataformas en la nube para el monitoreo remoto.
  4. Automatización del hogar - Ajuste la ventilación y el aire acondicionado en función de las lecturas ambientales.

Solución de problemas

  1. BMP280 no detectado (i2cdetect no se muestra 0x76 o 0x77)

    • Asegurar el Pines SDA/SCL están conectados correctamente.
    • Verifique que I2C está habilitado usando sudo raspi-config.
  2. 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.
  3. 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.

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! 🚀

Escribir un comentario

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.