Za pomocą BMP280 z Raspberry Pi

Using the BMP280 with the Raspberry Pi

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ć

  1. Raspberry Pi (Każdy model z obsługą GPIO, np. PI 3, PI 4)
  2. Moduł czujnika BMP280
  3. Druty chleba i skoczków
  4. 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

  1. Otwórz narzędzie konfiguracyjne Raspberry Pi:
    sudo raspi-config
    
  2. Przejść do Opcje interfejsu> i2c i włącz to.
  3. Uruchom ponownie Raspberry Pi:
    sudo reboot
    
  4. Sprawdź, czy BMP280 jest wykrywany W autobusie I2C:
    sudo i2cdetect -y 1
    
    . BMP280 powinien pojawić się pod adresem 0x76 Lub 0x77.

Do komunikacji SPI

  1. Włącz SPI za pomocą:
    sudo raspi-config
    
  2. Przejść do Opcje interfejsu> SPI i włącz to.
  3. Uruchom ponownie Raspberry Pi:
    sudo reboot
    
  4. Sprawdź interfejs SPI za pomocą:
    ls /dev/spidev*
    
    Powinieneś zobaczyć /dev/spidev0.0 I /dev/spidev0.1.

Krok 3: Zainstaluj wymagane biblioteki

  1. Zaktualizuj listę pakietów Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. 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

  1. Monitorowanie pogody -Zbieraj dane dotyczące temperatury i ciśnienia do analizy pogody w czasie rzeczywistym.
  2. Pomiar wysokości - Użyj danych ciśnienia, aby oszacować zmiany wysokości.
  3. Projekty IoT - Wyślij dane czujnika do platform chmurowych w celu zdalnego monitorowania.
  4. Automatyzacja domu - Dostosuj wentylację i klimatyzację w oparciu o odczyty środowiskowe.

Rozwiązywanie problemów

  1. BMP280 nie wykryty (i2cdetect nie pokazuje 0x76 Lub 0x77)

    • Upewnij się SDA/SCL PINS są prawidłowo podłączone.
    • Sprawdź to I2C jest włączony używając sudo raspi-config.
  2. 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.
  3. 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.

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! 🚀

Zostaw komentarz

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.