FREE SHIPPING ON ALL ORDERS OVER £20

60 DAY HASSLE-FREE RETURNS

Met behulp van de BMP280 met de Raspberry Pi

Using the BMP280 with the Raspberry Pi

De BMP280 barometrische druk- en temperatuursensor that provides accurate atmospheric pressure and temperature readings. It is commonly used for weermonitoring, hoogtemeting en omgevingsdetectie BMP280 met een Raspberry Pi met behulp van Python en I2C/SPI-communicatie.


Wat u nodig hebt

  1. Raspberry Pi
  2. BMP280
  3. Breadboard en jumperdraden
  4. Python geïnstalleerd op de Raspberry Pi

BMP280

De BMP280 ondersteunt zowel I2C- als SPI-communicatie.

For I2C Mode (Recommended)

BMP280 Pin Raspberry Pi Pin
VCC 3.3V (Pin 1)
GND Aarde (Pin 6)
SDA SDA (Pin 3, GPIO2)
SCL SCL (Pin 5, GPIO3)

Voor SPI-modus

BMP280 Pin Raspberry Pi Pin
VCC 3.3V (Pin 1)
GND Aarde (Pin 6)
SCK_ SCLK (Pin 23, GPIO11)
SDI MOSI (Pin 19, GPIO10)
SDO MISO (Pin 21, GPIO9)
CS CE0 (Pin 24, GPIO8)

Opmerking: BMP280 is actief op 3.3V. Niet doen sluit deze niet aan op 5V, omdat dit de module kan beschadigen.


Step 2: Enable I2C or SPI on the Raspberry Pi

For I2C Communication

  1. Open de Raspberry Pi-configuratietool:
    sudo raspi-config
    
  2. Navigeer naar Interface-opties > I2C activeer deze.
  3. Herstart de Raspberry Pi:
    sudo reboot
    
  4. Controleer of de BMP280 is gedetecteerd op de I2C-bus:
    sudo i2cdetect -y 1
    
    De BMP280 moet verschijnen op het adres 0x76 or 0x77.

For SPI Communication

  1. Schakel SPI in via:
    sudo raspi-config
    
  2. Navigeer naar Interface-opties > SPI activeer deze.
  3. Herstart de Raspberry Pi:
    sudo reboot
    
  4. ls /dev/spidev*
    
    Je zou moeten zien /dev/spidev0.0 en /dev/spidev0.1.

Step 3: Install Required Libraries

  1. Werk de pakketlijst van je Raspberry Pi bij:
    sudo apt update && sudo apt upgrade -y
    
  2. Installeer de vereiste I2C/SPI-tools Python-bibliotheken:
    sudo apt install -y python3-smbus python3-spidev python3-pip
    pip3 install adafruit-circuitpython-bmp280
    

Stap 4: Gegevens lezen uit de BMP280

python Python-code voor I2C-modus

python
import time
import board
import busio
import adafruit_bmp280

# Initialiseer I2C-bus en BMP280 python
 sensor
i2c = busio.I2C(board.SCL, board.SDA)
bmp280 = adafruit_bmp280.Adafruit_BMP280python
_I2C(i2c)

# Stel de luchtdruk op zeeniveau in (optioneel, voor hoogtemetingen)
bmp280.sea_level_pressure = 1013.25  

try:
    while True:
        print(f"Temperatuur: {bmp280.temperature:.2f} °C")
        print(f"Druk: {bmp280.pressure:.2f} hPa")
        print(f"Hoogte: {bmp280.altitude:.2f} m")
        print("------------------------")
        time.sleep(2)
except KeyboardInterrupt:
    print("Afsluiten...")

python Python-code voor SPI-modus

python
import time
import board
import busio
import digitalio
import adafruit_bmp280

# Initialiseer SPI-bus en BMP280 python
 sensor
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
cs = digitalio.DigitalInOut(board.D8)  # Gebruik GPIO8 (Pin 24) voor CS
bmp280 = adafruit_bmp280.Adafruit__BMP280python
_SPI(spi, cs)

try:
    while True:
        print(f"Temperatuur: {bmp280.temperature:.2f} °C")
        print(f"Druk: {bmp280.pressure:.2f} hPa")
        print(f"Hoogte: {bmp280.altitude:.2f} m")
        print("------------------------")
        time.sleep(2)
except KeyboardInterrupt:
    print("Afsluiten...")

Stap 5: Toepassingen van BMP280 met Raspberry Pi

  1. Weermonitoring
  2. Hoogtemeting
  3. IoT-projecten
  4. Huisautomatisering

Probleemoplossing

  1. BMP280 Niet gedetecteerd (i2cdetect wordt niet weergegeven 0x76 or 0x77)

    • Zorg ervoor dat de SDA/SCL-pinnen
    • Controleer of I2C is ingeschakeld met behulp van sudo raspi-config.
  2. Onjuiste metingen

    • Controleer op losse verbindingen or problemen met de stroomvoorziening.
    • Zorg ervoor dat de sensor is niet blootgesteld aan plotselinge temperatuurschommelingen.
  3. SPI-communicatieproblemen

    • Zorg ervoor dat SPI is ingeschakeld (ls /dev/spidev* should list devices).
    • Verifiëren correcte CS-pinselectie in het Python-script.

Conclusie

De BMP280 sensor biedt nauwkeurige metingen van barometrische druk, temperatuur en hoogte weerstations, IoT-toepassingen en milieumonitoring BMP280 in je Raspberry Pi-projecten voor realtime gegevensverzameling en -analyse! 🚀

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.

Laat een reactie achter