Folosind BMP280 cu Raspberry Pi

Using the BMP280 with the Raspberry Pi

The BMP280 este o senzor de presiune barometrică și temperatură care oferă citiri precise ale presiunii atmosferice și ale temperaturii. Este folosit în mod obișnuit pentru monitorizarea vremii, urmărirea altitudinii și detectarea mediului. Acest ghid vă va ghida prin configurarea și utilizarea BMP280 cu un Raspberry Pi folosind Comunicare Python și I2C/SPI.


Ce vei avea nevoie

  1. Raspberry Pi (orice model cu suport GPIO, de exemplu, Pi 3, Pi 4)
  2. Modul senzor BMP280
  3. Breadboard și fire jumper
  4. Python instalat pe Raspberry Pi

Pasul 1: Conectați BMP280 la Raspberry Pi

The BMP280 acceptă atât comunicarea I2C, cât și SPI.

Pentru modul I2C (recomandat)

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

Pentru modul SPI

Pin BMP280 Raspberry Pi Pin
VCC 3,3 V (pin 1)
GND Masa (pin 6)
SCK SCLK (Pin 23, GPIO11)
SDI MOSI (Pin 19, GPIO10)
SDO MISO (Pin 21, GPIO9)
CS CE0 (Pin 24, GPIO8)

Nota: BMP280 operează la 3,3 V. Nu conectați-l la 5V, deoarece poate deteriora modulul.


Pasul 2: Activați I2C sau SPI pe Raspberry Pi

Pentru comunicare I2C

  1. Deschideți instrumentul de configurare Raspberry Pi:
    sudo raspi-config
    
  2. Navigați la Opțiuni de interfață > I2C și activați-l.
  3. Reporniți Raspberry Pi:
    sudo reboot
    
  4. Verificați că BMP280 este detectat pe autobuzul I2C:
    sudo i2cdetect -y 1
    
    The BMP280 ar trebui să apară la adresa 0x76 sau 0x77.

Pentru SPI Communication

  1. Activați SPI folosind:
    sudo raspi-config
    
  2. Navigați la Opțiuni de interfață > SPI și activați-l.
  3. Reporniți Raspberry Pi:
    sudo reboot
    
  4. Verificați interfața SPI folosind:
    ls /dev/spidev*
    
    Ar trebui să vezi /dev/spidev0.0 şi /dev/spidev0.1.

Pasul 3: Instalați bibliotecile necesare

  1. Actualizați lista de pachete Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Instalați necesarul Instrumente I2C/SPI și biblioteci Python:
    sudo apt install -y python3-smbus python3-spidev python3-pip
    pip3 install adafruit-circuitpython-bmp280
    

Pasul 4: Citirea datelor din BMP280

Cod Python pentru modul 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...")

Cod Python pentru modul 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...")

Pasul 5: Aplicații ale BMP280 cu Raspberry Pi

  1. Monitorizarea vremii - Colectați date de temperatură și presiune pentru analiza vremii în timp real.
  2. Măsurarea altitudinii – Utilizați datele de presiune pentru a estima modificările de altitudine.
  3. Proiecte IoT – Trimiteți datele senzorilor către platformele cloud pentru monitorizare de la distanță.
  4. Home Automation – Reglați ventilația și aerul condiționat pe baza citirilor de mediu.

Depanare

  1. BMP280 nedetectat (i2cdetect nu arata 0x76 sau 0x77)

    • Asigurați Pini SDA/SCL sunt corect conectate.
    • Verifica asta I2C este activat folosind sudo raspi-config.
  2. Citiri incorecte

    • Verificați pentru conexiuni slăbite sau probleme de alimentare.
    • Asigurați-vă că senzorul este nu sunt expuse la schimbări bruște de temperatură.
  3. Probleme de comunicare SPI

    • Asigurați-vă că SPI este activat (ls /dev/spidev* ar trebui să enumere dispozitivele).
    • Verifica selectarea corectă a pinului CS în scriptul Python.

Concluzie

The Senzor BMP280 prevede măsurători precise de presiune barometrică, temperatură și altitudine, făcându-l ideal pentru stații meteo, aplicații IoT și monitorizare a mediului. Urmând acest ghid, puteți integra cu ușurință BMP280 în dvs Proiecte Raspberry Pi pentru colectarea și analiza datelor în timp real! 🚀

Lasă un comentariu

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.