Usando il BMP280 con il Raspberry Pi

Using the BMP280 with the Raspberry Pi

IL BMP280 è un Sensore barometrico di pressione e temperatura Ciò fornisce accurate letture della pressione atmosferica e della temperatura. È comunemente usato per Monitoraggio meteorologico, monitoraggio dell'altitudine e rilevamento ambientale. Questa guida ti guiderà attraverso l'impostazione e l'utilizzo del BMP280 con un Raspberry Pi usando Comunicazione Python e I2C/SPI.


Cosa avrai bisogno

  1. Raspberry Pi (Qualsiasi modello con supporto GPIO, ad esempio PI 3, PI 4)
  2. Modulo sensore BMP280
  3. Breadboard e fili jumper
  4. Python installato Sul Raspberry Pi

Passaggio 1: cablaggio BMP280 a Raspberry Pi

IL BMP280 supporta sia la comunicazione I2C che SPI.

Per la modalità I2C (consigliato)

Pin BMP280 Pin di lampone
VCC 3.3V (pin 1)
GND Terra (pin 6)
SDA SDA (PIN 3, GPIO2)
SCL SCL (PIN 5, GPIO3)

Per la modalità SPI

Pin BMP280 Pin di lampone
VCC 3.3V (pin 1)
GND Terra (pin 6)
SCK SCLK (PIN 23, GPIO11)
SDI MOSI (PIN 19, GPIO10)
SDO Miso (PIN 21, GPIO9)
Cs CE0 (PIN 24, GPIO8)

Nota: Il BMP280 opera a 3.3v. Non farlo Collegalo a 5 V, in quanto potrebbe danneggiare il modulo.


Passaggio 2: abilita I2C o SPI sul Raspberry Pi

Per la comunicazione I2C

  1. Apri lo strumento di configurazione Raspberry Pi:
    sudo raspi-config
    
  2. Navigare a Opzioni di interfaccia> i2c e abilitarlo.
  3. Riavvia il Raspberry Pi:
    sudo reboot
    
  4. Verificare che il BMP280 viene rilevato Sull'autobus I2C:
    sudo i2cdetect -y 1
    
    IL BMP280 dovrebbe apparire all'indirizzo 0x76 O 0x77.

Per la comunicazione SPI

  1. Abilita SPI usando:
    sudo raspi-config
    
  2. Navigare a Opzioni di interfaccia> SPI e abilitarlo.
  3. Riavvia il Raspberry Pi:
    sudo reboot
    
  4. Verifica l'interfaccia SPI usando:
    ls /dev/spidev*
    
    Dovresti vedere /dev/spidev0.0 E /dev/spidev0.1.

Passaggio 3: installa le librerie richieste

  1. Aggiorna l'elenco dei pacchetti di Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installare il richiesto Strumenti I2C/SPI e biblioteche Python:
    sudo apt install -y python3-smbus python3-spidev python3-pip
    pip3 install adafruit-circuitpython-bmp280
    

Passaggio 4: leggere i dati dal BMP280

Codice Python per la modalità 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...")

Codice Python per la modalità 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...")

Passaggio 5: applicazioni di BMP280 con Raspberry Pi

  1. Monitoraggio meteorologico -Raccogli i dati di temperatura e pressione per l'analisi meteorologica in tempo reale.
  2. Misurazione dell'altitudine - Utilizzare i dati di pressione per stimare i cambiamenti di altitudine.
  3. Progetti IoT - Inviare dati del sensore alle piattaforme cloud per il monitoraggio remoto.
  4. Automazione domestica - Regolare la ventilazione e l'aria condizionata in base alle letture ambientali.

Risoluzione dei problemi

  1. BMP280 non rilevato (i2cdetect non mostra 0x76 O 0x77)

    • Assicurarsi il Pin SDA/SCL sono correttamente cablati.
    • Verifica che I2C è abilitato usando sudo raspi-config.
  2. Letture errate

    • Controllare connessioni sciolte O Problemi di alimentazione.
    • Assicurarsi che il sensore sia non esposto a improvvise variazioni di temperatura.
  3. Problemi di comunicazione SPI

    • Assicurarsi che SPI sia abilitato (ls /dev/spidev* dovrebbe elencare i dispositivi).
    • Verificare Selezione del pin CS corretta Nella sceneggiatura Python.

Conclusione

IL Sensore BMP280 fornisce Pressione barometrica accurata, temperatura e altitudine, rendendolo ideale per Stazioni meteorologiche, applicazioni IoT e monitoraggio ambientale. Seguendo questa guida, è possibile integrare facilmente BMP280 nel tuo Progetti Raspberry Pi Per la raccolta e l'analisi dei dati in tempo reale! 🚀

Lascia un commento

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.