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
- Raspberry Pi (Qualsiasi modello con supporto GPIO, ad esempio PI 3, PI 4)
- Modulo sensore BMP280
- Breadboard e fili jumper
- 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
- Apri lo strumento di configurazione Raspberry Pi:
sudo raspi-config
- Navigare a Opzioni di interfaccia> i2c e abilitarlo.
- Riavvia il Raspberry Pi:
sudo reboot
- Verificare che il BMP280 viene rilevato Sull'autobus I2C:
IL BMP280 dovrebbe apparire all'indirizzosudo i2cdetect -y 1
0x76
O0x77
.
Per la comunicazione SPI
- Abilita SPI usando:
sudo raspi-config
- Navigare a Opzioni di interfaccia> SPI e abilitarlo.
- Riavvia il Raspberry Pi:
sudo reboot
- Verifica l'interfaccia SPI usando:
Dovresti vederels /dev/spidev*
/dev/spidev0.0
E/dev/spidev0.1
.
Passaggio 3: installa le librerie richieste
- Aggiorna l'elenco dei pacchetti di Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- 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
- Monitoraggio meteorologico -Raccogli i dati di temperatura e pressione per l'analisi meteorologica in tempo reale.
- Misurazione dell'altitudine - Utilizzare i dati di pressione per stimare i cambiamenti di altitudine.
- Progetti IoT - Inviare dati del sensore alle piattaforme cloud per il monitoraggio remoto.
- Automazione domestica - Regolare la ventilazione e l'aria condizionata in base alle letture ambientali.
Risoluzione dei problemi
-
BMP280 non rilevato (
i2cdetect
non mostra0x76
O0x77
)- Assicurarsi il Pin SDA/SCL sono correttamente cablati.
- Verifica che I2C è abilitato usando
sudo raspi-config
.
-
Letture errate
- Controllare connessioni sciolte O Problemi di alimentazione.
- Assicurarsi che il sensore sia non esposto a improvvise variazioni di temperatura.
-
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.
- Assicurarsi che SPI sia abilitato (
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! 🚀