The BMP280 egy légnyomás- és hőmérséklet-szenzor amely pontos légnyomás- és hőmérséklet-értékeket biztosít. Általában a következőkhöz használják: időjárás-megfigyelés, magasságmérés és környezeti érzékelés BMP280 egy Raspberry Pi-vel használatával Python és I2C/SPI kommunikáció.
Amire szükséged lesz
- Raspberry Pi (bármely GPIO-támogatással rendelkező modell, pl. Pi 3, Pi 4)
- BMP280 Szenzormodul
- Breadboard és összekötő vezetékek
- Python telepítve a Raspberry Pi-on
Step 1: Wiring the BMP280 a Raspberry Pi-hez
A BMP280 támogatja mind az I2C, mind az SPI kommunikációt.
I2C módhoz (ajánlott)
| BMP280 Pin | Raspberry Pi Pin |
|---|---|
| VCC | 3.3V (Pin 1) |
| GND | Földelés (6. tű) |
| SDA | SDA (Pin 3, GPIO2) |
| SCL | SCL (Pin 5, GPIO3) |
SPI módhoz
| BMP280 Pin | Raspberry Pi Pin |
|---|---|
| VCC | 3.3V (Pin 1) |
| GND | Földelés (6. tű) |
| SCK | SCLK (Pin 23, GPIO11) |
| SDI | MOSI (Pin 19, GPIO10) |
| SDO | MISO (Pin 21, GPIO9) |
| CS | CE0 (Pin 24, GPIO8) |
Megjegyzés: A BMP280 működési tartománya: 3.3V. Ne tegye csatlakoztassa 5V-ra, mert az károsíthatja a modult.
2. lépés: Az I2C vagy az SPI engedélyezése a Raspberry Pi-n
I2C-kommunikációhoz
- Nyissa meg a Raspberry Pi konfigurációs eszközt:
sudo raspi-config - Navigáljon ide: Interface-beállítások > I2C
- Indítsa újra a Raspberry Pi-t:
sudo reboot - Verify that the BMP280 észlelve az I2C buszon:
A BMP280 helyen kell megjelennie:sudo i2cdetect -y 10x76or0x77.
SPI-kommunikációhoz
- SPI engedélyezése a következővel:
sudo raspi-config - Navigáció ide: Interfész opciók > SPI
- Indítsa újra a Raspberry Pi-t:
sudo reboot - Verify the SPI interface using:
Látnia kellenels /dev/spidev*/dev/spidev0.0és/dev/spidev0.1.
3. lépés: A szükséges könyvtárak telepítése
- Frissítse a Raspberry Pi csomaglistáját:
sudo apt update && sudo apt upgrade -y - Telepítse a szükséges I2C/SPI eszközök és Python könyvtárak:
sudo apt install -y python3-smbus python3-spidev python3-pip pip3 install adafruit-circuitpython-bmp280
Step 4: Adatok beolvasása a BMP280
Python kód az I2C módhoz
import time
import board
import busio
import adafruit_bmp280
# I2C busz inicializálása és BMP280 sensor
i2c = busio.I2C(board.SCL, board.SDA)
bmp280 = adafruit_bmp280.Adafruit_BMP280python
_I2C(i2c)
# Tengerszinti nyomás beállítása (opcionális, a magasság kiszámításához)
bmp280.sea_level_pressure = 1013.25
try:
while True:
print(f"Hőmérséklet: {bmp280.temperature:.2f} °C")
print(f"Nyomás: {bmp280.pressure:.2f} hPa")
print(f"Magasság: {bmp280.altitude:.2f} m")
print("------------------------")
time.sleep(2)
except KeyboardInterrupt:
print("Kilépés...")
Python-kód az SPI-módhoz
import time
import board
import busio
import digitalio
import adafruit_bmp280
# SPI busz és az inicializálása BMP280 python
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_BMP280python
_SPI(spi, cs)
try:
while True:
print(f"Hőmérséklet: {bmp280.temperature:.2f} °C")
print(f"Légnyomás: {bmp280.pressure:.2f} hPa")
print(f"Magasság: {bmp280.altitude:.2f} m")
print("------------------------")
time.sleep(2)
except KeyboardInterrupt:
print("Kilépés...")
Step 5: Applications of BMP280 Raspberry Pi-vel
- Időjárás-megfigyelés
- Magasságmérés
- IoT projektek
- Home Automation – Állítsa be a szellőzést és a légkondicionálást a környezeti adatok alapján.
Hibaelhárítás
-
BMP280 Nem észlelhető (
i2cdetectnem jelenik meg0x76or0x77)- Gondoskodjon arról, hogy a SDA/SCL pinek helyesen vannak bekötve.
- Ellenőrizze, hogy Az I2C engedélyezve van használatával
sudo raspi-config.
-
Helytelen mérési eredmények
- Keresés: laza csatlakozások or tápegység-problémák.
- Győződjön meg arról, hogy az érzékelő nincs kitéve hirtelen hőmérséklet-változásoknak.
-
SPI kommunikációs problémák
- Győződjön meg arról, hogy az SPI engedélyezve van (
ls /dev/spidev*eszközöket kellene kilistáznia). - Ellenőrzés helyes CS pin kiválasztás a Python-szkriptben.
- Győződjön meg arról, hogy az SPI engedélyezve van (
Összegzés
A BMP280 szensor nyújt pontos légnyomás-, hőmérséklet- és magasságmérések, így ideális a meteorológiai állomások, IoT-alkalmazások és környezeti megfigyelés BMP280 into your Raspberry Pi projektek valós idejű adatgyűjtéshez és elemzéshez! 🚀







