. BMP280 jest Czujnik ciśnienia barometrycznego i temperatury Zapewnia to dokładne odczyty ciśnienia atmosferycznego i temperatury. Jest powszechnie używany Monitorowanie pogody, śledzenie wysokości i wykrywanie środowiska. Ten przewodnik poprowadzi Cię przez konfigurowanie i korzystanie z BMP280 z Raspberry Pi używając Komunikacja Python i I2C/SPI.
Czego będziesz potrzebować
- Raspberry Pi (Każdy model z obsługą GPIO, np. PI 3, PI 4)
- Moduł czujnika BMP280
- Druty chleba i skoczków
- Zainstalowany Python na Raspberry Pi
Krok 1: Okablowanie BMP280 do Raspberry Pi
. BMP280 obsługuje zarówno komunikację I2C, jak i SPI.
Dla trybu I2C (zalecane)
Pin BMP280 | Pin Raspberry Pi |
---|---|
VCC | 3,3 V (pin 1) |
GND | Uziemienie (pin 6) |
SDA | SDA (pin 3, GPIO2) |
Scl | SCL (pin 5, GPIO3) |
Dla trybu SPI
Pin BMP280 | Pin Raspberry Pi |
---|---|
VCC | 3,3 V (pin 1) |
GND | Uziemienie (pin 6) |
SCK | SCLK (pin 23, GPIO11) |
SDI | MOSI (pin 19, GPIO10) |
SDO | Miso (pin 21, GPIO9) |
Cs | CE0 (pin 24, GPIO8) |
Notatka: BMP280 działa na 3,3 V.. Nie Podłącz go do 5 V, ponieważ może uszkodzić moduł.
Krok 2: Włącz I2C lub SPI na Raspberry Pi
Dla komunikacji I2C
- Otwórz narzędzie konfiguracyjne Raspberry Pi:
sudo raspi-config
- Przejść do Opcje interfejsu> i2c i włącz to.
- Uruchom ponownie Raspberry Pi:
sudo reboot
- Sprawdź, czy BMP280 jest wykrywany W autobusie I2C:
. BMP280 powinien pojawić się pod adresemsudo i2cdetect -y 1
0x76
Lub0x77
.
Do komunikacji SPI
- Włącz SPI za pomocą:
sudo raspi-config
- Przejść do Opcje interfejsu> SPI i włącz to.
- Uruchom ponownie Raspberry Pi:
sudo reboot
- Sprawdź interfejs SPI za pomocą:
Powinieneś zobaczyćls /dev/spidev*
/dev/spidev0.0
I/dev/spidev0.1
.
Krok 3: Zainstaluj wymagane biblioteki
- Zaktualizuj listę pakietów Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Zainstaluj wymagane Narzędzia I2C/SPI i biblioteki Pythona:
sudo apt install -y python3-smbus python3-spidev python3-pip pip3 install adafruit-circuitpython-bmp280
Krok 4: Czytanie danych z BMP280
Kod Pythona dla trybu 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...")
Kod Python dla trybu 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...")
Krok 5: Zastosowania BMP280 z Raspberry Pi
- Monitorowanie pogody -Zbieraj dane dotyczące temperatury i ciśnienia do analizy pogody w czasie rzeczywistym.
- Pomiar wysokości - Użyj danych ciśnienia, aby oszacować zmiany wysokości.
- Projekty IoT - Wyślij dane czujnika do platform chmurowych w celu zdalnego monitorowania.
- Automatyzacja domu - Dostosuj wentylację i klimatyzację w oparciu o odczyty środowiskowe.
Rozwiązywanie problemów
-
BMP280 nie wykryty (
i2cdetect
nie pokazuje0x76
Lub0x77
)- Upewnij się SDA/SCL PINS są prawidłowo podłączone.
- Sprawdź to I2C jest włączony używając
sudo raspi-config
.
-
Nieprawidłowe odczyty
- Sprawdź luźne połączenia Lub Problemy z zasilaniem.
- Upewnij się, że czujnik jest nie narażone na nagłe zmiany temperatury.
-
Problemy komunikacyjne SPI
- Upewnij się, że SPI jest włączone (
ls /dev/spidev*
powinien wymienić urządzenia). - Zweryfikować Prawidłowy wybór pinu CS W skrypcie Pythona.
- Upewnij się, że SPI jest włączone (
Wniosek
. Czujnik BMP280 zapewnia dokładne pomiary ciśnienia barometrycznego, temperatury i wysokości, czyni to idealne stacje pogodowe, aplikacje IoT i monitorowanie środowiska. Postępując zgodnie z tym przewodnikiem, możesz łatwo zintegrować BMP280 z swoim Projekty Raspberry Pi Do gromadzenia i analizy danych w czasie rzeczywistym! 🚀