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
- Raspberry Pi (Anumang modelo na may suporta sa GPIO, hal., PI 3, PI 4)
- BMP280 Sensor Module
- Mga wire ng tinapay at jumper
- 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
- Buksan ang tool ng pagsasaayos ng Raspberry Pi:
sudo raspi-config
- Mag -navigate sa Mga pagpipilian sa interface> i2c at paganahin ito.
- I -reboot ang Raspberry Pi:
sudo reboot
- I -verify na ang Ang BMP280 ay napansin sa bus ng I2C:
Ang Ang BMP280 ay dapat lumitaw sa addresssudo i2cdetect -y 1
0x76
o0x77
.
Para sa komunikasyon ng SPI
- Paganahin ang SPI gamit ang:
sudo raspi-config
- Mag -navigate sa Mga pagpipilian sa interface> SPI at paganahin ito.
- I -reboot ang Raspberry Pi:
sudo reboot
- Patunayan ang interface ng SPI gamit ang:
Dapat mong makitals /dev/spidev*
/dev/spidev0.0
at/dev/spidev0.1
.
Hakbang 3: I -install ang mga kinakailangang aklatan
- I -update ang listahan ng package ng Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- 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
- Pagsubaybay sa panahon -Kolektahin ang data ng temperatura at presyon para sa pagsusuri ng real-time na panahon.
- Pagsukat sa taas - Gumamit ng data ng presyon upang matantya ang mga pagbabago sa taas.
- Mga proyekto ng IoT - Magpadala ng data ng sensor sa mga platform ng ulap para sa remote na pagsubaybay.
- Home Automation - Ayusin ang bentilasyon at air conditioning batay sa pagbabasa sa kapaligiran.
Pag -aayos
-
Hindi napansin ang BMP280 (
i2cdetect
hindi nagpapakita0x76
o0x77
)- Tiyakin ang SDA/SCL pin ay wastong wired.
- I -verify na Pinagana ang I2C Paggamit
sudo raspi-config
.
-
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.
-
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.
- Tiyaking pinagana ang SPI (
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! 🚀