The BMP280 ay isang barometric pressure at temperature sensor na nagbibigay ng tumpak na mga sukat ng atmospheric pressure at temperatura. Karaniwan itong ginagamit para sa pagsubaybay sa panahon, pag-track ng altitude, at pag-detect sa kapaligiran BMP280 gamit ang isang Raspberry Pi gamit ang Python at komunikasyong I2C/SPI.
Ang mga Kakailanganin Mo
- Raspberry Pi (anumang modelo na may GPIO support, hal., Pi 3, Pi 4)
- BMP280 Sensor Module
- Breadboard at mga Jumper Wire
- Naka-install ang Python sa Raspberry Pi
Step 1: Pag-wire sa BMP280 sa Raspberry Pi
Ang BMP280 sumusuporta sa parehong komunikasyong 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 SPI Mode
| 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 gumagana sa 3.3V. Huwag ikonekta ito sa 5V, dahil maaari nitong masira ang module.
Hakbang 2: I-enable ang I2C o SPI sa Raspberry Pi
Para sa I2C Communication
- Buksan ang Raspberry Pi configuration tool:
sudo raspi-config - Pumunta sa ` at i-enable ito.
- I-reboot ang Raspberry Pi:
sudo reboot - I-verify na ang BMP280 ay natukoy sa I2C bus:
Ang BMP280 dapat lumabas sa addresssudo i2cdetect -y 10x76or0x77.
Para sa SPI Communication
-
sudo raspi-config - Pumunta sa Mga Opsyon sa Interface > SPI at i-enable ito.
- I-reboot ang Raspberry Pi:
sudo reboot - I-verify ang SPI interface gamit ang:
Dapat mong makitals /dev/spidev*/dev/spidev0.0at/dev/spidev0.1.
Hakbang 3: I-install ang mga Kinakailangang Libraryo
- I-update ang package list ng iyong Raspberry Pi:
sudo apt update && sudo apt upgrade -y - I-install ang kinakailangang Mga tool ng I2C/SPI at mga Python library:
sudo apt install -y python3-smbus python3-spidev python3-pip pip3 install adafruit-circuitpython-bmp280
Hakbang 4: Pagbasa ng Data mula sa BMP280
Python Code para sa I2C Mode
python
import time
import board
import busio
import adafruit_bmp280
# I-initialize ang I2C bus at BMP280 python
sensor
i2c = busio.I2C(board.SCL, board.SDA)
bmp280 = adafruit_bmp280.Adafruit__BMP280python
_I2C(i2c)
# I-set ang sea level pressure (opsyonal, para sa mga kalkulasyon ng altitude)
bmp280.sea_level_pressure = 1013.25
try:
while True:
print(f"Temperatura: {bmp280.temperature:.2f} °C")
print(f"Presyon: {bmp280.pressure:.2f} hPa")
print(f"Altitude: {bmp280.altitude:.2f} m")
print("------------------------")
time.sleep(2)
except KeyboardInterrupt:
print("Lumalabas...")
Python Code para sa SPI Mode
python
import time
import board
import busio
import digitalio
import adafruit_bmp280
# I-initialize ang SPI bus at ⟦LQ#⟧ BMP280 sensor
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
cs = digitalio.DigitalInOut(board.D8) # Gamitin ang GPIO8 (Pin 24) para sa CS
bmp280 = adafruit_bmp280.Adafruit_BMP280python
_SPI(spi, cs)
try:
while True:
print(f"Temperatura: {bmp280.temperature:.2f} °C")
print(f"Presyon: {bmp280.pressure:.2f} hPa")
print(f"Taas: {bmp280.altitude:.2f} m")
print("------------------------")
time.sleep(2)
except KeyboardInterrupt:
print("Lumalabas na...")
Hakbang 5: Mga Paggagamitan ng BMP280 kasama ang Raspberry Pi
- Pagsubaybay sa Panahon – Mangolekta ng data ng temperatura at presyon para sa real-time na pagsusuri ng panahon.
- Pagsukat ng Altitude – Gamitin ang data ng pressure para tantyahin ang mga pagbabago sa altitude.
- Mga Proyekto sa IoT – Ipadala ang data ng sensor sa mga cloud platform para sa malayuang pagsubaybay.
- Home Automation – I-adjust ang bentilasyon at air conditioning batay sa mga nababasang datos sa kapaligiran.
Pag-troubleshoot
-
BMP280 Not Detected (
i2cdetecthindi lumalabas0x76or0x77)- Siguraduhin na ang Mga pin ng SDA/SCL ay maayos ang pagkakakonekta.
- I-verify na Naka-enable ang I2C gamit ang
sudo raspi-config.
-
Maling mga Pagbasa
- Maghanap ng mga maluwag na koneksyon or mga isyu sa power supply.
- Tiyaking ang sensor ay hindi nakalantad sa biglaang pagbabago ng temperatura.
-
Mga Isyu sa Komunikasyon ng SPI
- Tiyaking naka-enable ang SPI (
ls /dev/spidev*dapat maglista ng mga device). - I-verify tamang pagpili ng CS pin_ sa Python script.
- Tiyaking naka-enable ang SPI (
Konklusyon
Ang BMP280 sensor nagbibigay ng tumpak na mga pagsukat ng barometric pressure, temperatura, at altitude, kaya perpekto ito para sa mga weather station, mga IoT application, at pagsubaybay sa kapaligiran BMP280 sa iyong Mga proyekto sa Raspberry Pi para sa real-time na pangongolekta at pagsusuri ng data! 🚀







