Använda BMP280 med Raspberry Pi

Using the BMP280 with the Raspberry Pi

De BMP280 är en barometriskt tryck och temperatursensor Det ger exakt atmosfärstryck och temperaturavläsningar. Det används ofta för Väderövervakning, höjdspårning och miljömässig avkänning. Den här guiden kommer att leda dig genom att ställa in och använda BMP280 med en Raspberry Pi användning Python och I2C/SPI -kommunikation.


Vad du behöver

  1. Hallon (Varje modell med GPIO -stöd, t.ex. PI 3, PI 4)
  2. BMP280 sensormodul
  3. Breadboard och jumpertrådar
  4. Python installerad på Raspberry Pi

Steg 1: Kopplar BMP280 till Raspberry Pi

De BMP280 stöder både I2C och SPI -kommunikation.

För i2c -läge (rekommenderas)

BMP280 -stift Hallon pi
Vcc 3.3V (stift 1)
Gard Mark (stift 6)
SDA SDA (stift 3, GPIO2)
SCL SCL (stift 5, GPIO3)

För SPI -läge

BMP280 -stift Hallon pi
Vcc 3.3V (stift 1)
Gard Mark (stift 6)
Säck SCLK (stift 23, GPIO11)
Sdi MOSI (stift 19, GPIO10)
Sdo MISO (stift 21, GPIO9)
Cs CE0 (stift 24, GPIO8)

Notera: BMP280 arbetar vid 3.3V. Inte Anslut den till 5V, eftersom den kan skada modulen.


Steg 2: Aktivera I2C eller SPI på Raspberry Pi

För I2C -kommunikation

  1. Öppna Raspberry PI -konfigurationsverktyget:
    sudo raspi-config
    
  2. Navigera till Gränssnittsalternativ> i2c och aktivera det.
  3. Starta om Raspberry Pi:
    sudo reboot
    
  4. Verifiera att BMP280 upptäcks på i2c -bussen:
    sudo i2cdetect -y 1
    
    De BMP280 ska visas på adressen 0x76 eller 0x77.

För SPI -kommunikation

  1. Aktivera SPI med:
    sudo raspi-config
    
  2. Navigera till Gränssnittsalternativ> SPI och aktivera det.
  3. Starta om Raspberry Pi:
    sudo reboot
    
  4. Verifiera SPI -gränssnittet med:
    ls /dev/spidev*
    
    Du borde se /dev/spidev0.0 och /dev/spidev0.1.

Steg 3: Installera obligatoriska bibliotek

  1. Uppdatera din Raspberry Pis paketlista:
    sudo apt update && sudo apt upgrade -y
    
  2. Installera det nödvändiga I2C/SPI -verktyg och pythonbibliotek:
    sudo apt install -y python3-smbus python3-spidev python3-pip
    pip3 install adafruit-circuitpython-bmp280
    

Steg 4: Att läsa data från BMP280

Python -kod för i2c -läge

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...")

Python -kod för SPI -läge

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...")

Steg 5: Tillämpningar av BMP280 med Raspberry Pi

  1. Väderövervakning -Samla temperatur- och tryckdata för realtidsväderanalys.
  2. Höjdmätning - Använd tryckdata för att uppskatta höjdförändringar.
  3. IoT -projekt - Skicka sensordata till molnplattformar för fjärrövervakning.
  4. Hemautomation - Justera ventilation och luftkonditionering baserad på miljöavläsningar.

Felsökning

  1. BMP280 inte upptäckt (i2cdetect visar inte 0x76 eller 0x77)

    • Se till SDA/SCL -stift är korrekt kopplade.
    • Verifiera att I2c är aktiverad användning sudo raspi-config.
  2. Felaktiga avläsningar

    • Förekomma Löst anslutningar eller strömförsörjningsproblem.
    • Se till att sensorn är inte utsatt för plötsliga temperaturförändringar.
  3. SPI -kommunikationsproblem

    • Se till att SPI är aktiverat (ls /dev/spidev* ska lista enheter).
    • Kontrollera Rätt CS -stiftval I Python -skriptet.

Slutsats

De BMP280 -sensor tillhandahåller Exakt barometriskt tryck, temperatur och höjdmätningar, vilket gör det idealiskt för väderstationer, IoT -applikationer och miljöövervakning. Genom att följa den här guiden kan du enkelt integrera BMP280 i din Raspberry Pi -projekt För insamling av data och analys i realtid! 🚀

Lämna en kommentar

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.