Obtenga entrega gratuita en todas las órdenes más de £20!

Usando el BMP280 con la Raspberry Pi

Using the BMP280 with the Raspberry Pi

El BMP280 un sensor de presión barométrica y de temperatura que proporciona lecturas precisas de presión atmosférica y temperatura. Se utiliza comúnmente para monitoreo del clima, seguimiento de la altitud y medición ambiental. Esta guía te guiará paso a paso para configurar y usar el BMP280 con una Raspberry Pi usando Python y comunicación I2C/SPI.


Lo Que Necesitarás

  1. Raspberry Pi (cualquier modelo con soporte para GPIO, p. ej., Pi 3, Pi 4)
  2. BMP280 Módulo de Sensor
  3. Protoboard y Cables Puente
  4. Python instalado la Raspberry Pi

Paso 1: Cableado de BMP280 a la Raspberry Pi

El BMP280 admite comunicación tanto por I2C como por SPI.

Para el Modo I2C (Recomendado)

BMP280 Pin Pin de Raspberry Pi
VCC 3.3V (Pin 1)
GND Tierra (Pin 6)
SDA SDA (Pin 3, GPIO2)
SCL SCL (Pin 5, GPIO3)

Para el modo SPI

BMP280 Pin Pin Para Raspberry Pi
VCC 3.3V (Pin 1)
GND Tierra (Pin 6)
SCK SCLK (Pin 23, GPIO11)
SDI MOSI (Pin 19, GPIO10)
SDO MISO (Pin 21, GPIO9)
CS CE0 (Pin 24, GPIO8)

Nota: El BMP280 opera a 3.3V. No conéctelo a 5V, ya que podría dañar el módulo.


Paso 2: Habilitar I2C o SPI en la Raspberry Pi

Para Comunicación I2C

  1. Abra la herramienta de configuración de Raspberry Pi:
    sudo raspi-config
    
  2. Ir a Opciones de Interfaz > I2C y habilítalo.
  3. Reinicia la Raspberry Pi:
    sudo reboot
    
  4. Verifica que el BMP280 se detecta el bus I2C:
    sudo i2cdetect -y 1
    
    El BMP280 debería aparecer en la dirección 0x76 or 0x77.

Para Comunicación SPI

  1. Habilite SPI usando:
    sudo raspi-config
    
  2. Ve a Opciones de interfaz > SPI y actívalo.
  3. Reinicia 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: Instalar las Bibliotecas Requeridas

  1. Actualiza la lista de paquetes de tu Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Instala lo necesario 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 desde el BMP280

Código Python para Modo I2C

import time
import board
import busio
import adafruit_bmp280

# Inicializa el bus I2C y BMP280 sensor
i2c = busio.I2C(board.SCL, board.SDA)
bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c)

# Establecer la presión a nivel del mar (opcional, para cálculos de altitud)
bmp280.sea_level_pressure = 1013.25  

try:
    while True:
        print(f"Temperatura: {bmp280.temperature:.2f} °C")
        print(f"Presión: {bmp280.pressure:.2f} hPa")
        print(f"Altitud: {bmp280.altitude:.2f} m")
        print("------------------------")
        time.sleep(2)
except KeyboardInterrupt:
    print("Saliendo...")

Código Python para el modo SPI

import time
import board
import busio
import digitalio
import adafruit_bmp280

# Inicializar bus SPI y BMP280 sensor
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
cs = digitalio.DigitalInOut(board.D8)  # Usa GPIO8 (Pin 24) para CS
bmp280 = adafruit_bmp280.Adafruit_BMP280_SPI(spi, cs)

try:
    while True:
        print(f"Temperatura: {bmp280.temperature:.2f} °C")
        print(f"Presión: {bmp280.pressure:.2f} hPa")
        print(f"Altitud: {bmp280.altitude:.2f} m")
        print("------------------------")
        time.sleep(2)
except KeyboardInterrupt:
    print("Saliendo...")

Paso 5: Aplicaciones de BMP280 con Raspberry Pi

  1. Monitoreo del Clima – Recopila datos de temperatura y presión para el análisis meteorológico en tiempo real.
  2. Medición de Altitud – Utiliza datos de presión para estimar cambios de altitud.
  3. Proyectos de IoT – Enviar datos de sensores a plataformas en la nube para supervisión remota.
  4. Domótica – Ajusta la ventilación y el aire acondicionado según las lecturas ambientales.

Solución de Problemas

  1. BMP280 No Detectado (i2cdetect no se muestra 0x76 or 0x77)

    • Asegúrese de que el pines SDA/SCL están conectados correctamente.
    • Verifique que I2C está habilitado usando sudo raspi-config.
  2. Lecturas Incorrectas

    • Comprobar si hay conexiones sueltas or problemas con la fuente de alimentación.
    • Asegúrese de que el sensor esté no expuesto a cambios bruscos de temperatura.
  3. Problemas De Comunicación SPI

    • Asegúrate de que SPI esté habilitado (ls /dev/spidev* debería listar dispositivos).
    • Verificar selección correcta del pin CS el script de Python.

Conclusión

El BMP280 sensor proporciona mediciones precisas de presión barométrica, temperatura y altitud, lo que lo hace ideal para estaciones meteorológicas, aplicaciones de IoT y monitorización ambiental. Al seguir esta guía, puedes integrar fácilmente el BMP280 tu Proyectos con Raspberry Pi ¡para la recopilación y el análisis de datos en tiempo real! 🚀

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.

Escribir un comentario