Gamit ang BMP280 kasama ang Raspberry Pi

Using the BMP280 with the Raspberry Pi

Ang BMP280 ay a barometric pressure at sensor ng temperatura na nagbibigay ng tumpak na presyon ng atmospera at pagbabasa ng temperatura. Ito ay karaniwang ginagamit para sa Pagmamanman ng panahon, pagsubaybay sa taas, at sensing sa kapaligiran. Ang gabay na ito ay lalakad sa iyo sa pamamagitan ng pag -set up at paggamit ng BMP280 na may isang Raspberry Pi Paggamit Komunikasyon ng Python at I2C/SPI.


Ano ang kakailanganin mo

  1. Raspberry Pi (Anumang modelo na may suporta sa GPIO, hal., PI 3, PI 4)
  2. BMP280 Sensor Module
  3. Mga wire ng tinapay at jumper
  4. Naka -install ang Python Sa Raspberry Pi

Hakbang 1: Ang mga kable ng BMP280 sa Raspberry Pi

Ang Sinusuportahan ng BMP280 ang parehong komunikasyon ng I2C at SPI.

Para sa I2C mode (inirerekomenda)

BMP280 PIN Raspberry Pi Pin
VCC 3.3v (pin 1)
Gnd Ground (pin 6)
SDA SDA (PIN 3, GPIO2)
SCL SCL (Pin 5, GPIO3)

Para sa mode ng SPI

BMP280 PIN Raspberry Pi Pin
VCC 3.3v (pin 1)
Gnd Ground (pin 6)
SCK SCLK (PIN 23, GPIO11)
SDI Mosi (pin 19, gpio10)
SDO Miso (pin 21, gpio9)
CS CE0 (pin 24, gpio8)

Tandaan: Ang BMP280 ay nagpapatakbo sa 3.3v. Huwag Ikonekta ito sa 5V, dahil maaaring makapinsala ito sa module.


Hakbang 2: Paganahin ang I2C o SPI sa Raspberry Pi

Para sa komunikasyon ng I2C

  1. Buksan ang tool ng pagsasaayos ng Raspberry Pi:
    sudo raspi-config
    
  2. Mag -navigate sa Mga pagpipilian sa interface> i2c at paganahin ito.
  3. I -reboot ang Raspberry Pi:
    sudo reboot
    
  4. I -verify na ang Ang BMP280 ay napansin sa bus ng I2C:
    sudo i2cdetect -y 1
    
    Ang Ang BMP280 ay dapat lumitaw sa address 0x76 o 0x77.

Para sa komunikasyon ng SPI

  1. Paganahin ang SPI gamit ang:
    sudo raspi-config
    
  2. Mag -navigate sa Mga pagpipilian sa interface> SPI at paganahin ito.
  3. I -reboot ang Raspberry Pi:
    sudo reboot
    
  4. Patunayan ang interface ng SPI gamit ang:
    ls /dev/spidev*
    
    Dapat mong makita /dev/spidev0.0 at /dev/spidev0.1.

Hakbang 3: I -install ang mga kinakailangang aklatan

  1. I -update ang listahan ng package ng Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. I -install ang kinakailangan Mga tool sa I2C/SPI at Python Libraries:
    sudo apt install -y python3-smbus python3-spidev python3-pip
    pip3 install adafruit-circuitpython-bmp280
    

Hakbang 4: Ang pagbabasa ng data mula sa BMP280

Python code para sa I2C mode

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 code para sa SPI mode

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

Hakbang 5: Ang mga aplikasyon ng BMP280 na may Raspberry Pi

  1. Pagsubaybay sa panahon -Kolektahin ang data ng temperatura at presyon para sa pagsusuri ng real-time na panahon.
  2. Pagsukat sa taas - Gumamit ng data ng presyon upang matantya ang mga pagbabago sa taas.
  3. Mga proyekto ng IoT - Magpadala ng data ng sensor sa mga platform ng ulap para sa remote na pagsubaybay.
  4. Home Automation - Ayusin ang bentilasyon at air conditioning batay sa pagbabasa sa kapaligiran.

Pag -aayos

  1. Hindi napansin ang BMP280 (i2cdetect hindi nagpapakita 0x76 o 0x77)

    • Tiyakin ang SDA/SCL pin ay wastong wired.
    • I -verify na Pinagana ang I2C Paggamit sudo raspi-config.
  2. Maling pagbabasa

    • Suriin para sa maluwag na koneksyon o Mga isyu sa supply ng kuryente.
    • Tiyaking ang sensor ay hindi nakalantad sa biglaang mga pagbabago sa temperatura.
  3. Mga isyu sa komunikasyon sa SPI

    • Tiyaking pinagana ang SPI (ls /dev/spidev* dapat maglista ng mga aparato).
    • I -verify Tamang pagpili ng CS PIN Sa script ng Python.

Konklusyon

Ang Sensor ng BMP280 nagbibigay Tumpak na presyon ng barometric, temperatura, at mga sukat ng taas, ginagawang perpekto para sa Mga istasyon ng panahon, mga aplikasyon ng IoT, at pagsubaybay sa kapaligiran. Sa pamamagitan ng pagsunod sa gabay na ito, madali mong isama ang BMP280 sa iyong Mga proyekto ng Raspberry Pi Para sa real-time na koleksyon ng data at pagsusuri! 🚀

Mag -iwan ng komento

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.