Itu BMP280 adalah a Tekanan Barometrik dan Sensor Suhu Itu memberikan tekanan atmosfer yang akurat dan pembacaan suhu. Itu biasanya digunakan untuk Pemantauan cuaca, pelacakan ketinggian, dan penginderaan lingkungan. Panduan ini akan memandu Anda melalui pengaturan dan menggunakan BMP280 dengan pi raspberry menggunakan Komunikasi Python dan I2C/SPI.
Apa yang Anda Butuhkan
- Raspberry Pi (Model apa pun dengan dukungan GPIO, mis., Pi 3, pi 4)
- Modul Sensor BMP280
- Papan tempat memotong papan dan kabel jumper
- Python terpasang di raspberry pi
Langkah 1: Pengkabelan BMP280 ke Raspberry Pi
Itu BMP280 mendukung komunikasi I2C dan SPI.
Untuk mode I2C (disarankan)
Pin BMP280 | Raspberry Pi Pin |
---|---|
Vcc | 3.3V (pin 1) |
Gnd | Ground (pin 6) |
SDA | SDA (Pin 3, GPIO2) |
Scl | SCL (pin 5, gpio3) |
Untuk mode SPI
Pin BMP280 | 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) |
Catatan: BMP280 beroperasi di 3.3v. Tidak Hubungkan ke 5V, karena dapat merusak modul.
Langkah 2: Aktifkan I2C atau SPI di Raspberry Pi
Untuk komunikasi I2C
- Buka alat konfigurasi Raspberry Pi:
sudo raspi-config
- Navigasikan ke Opsi Antarmuka> I2C dan mengaktifkannya.
- Reboot Raspberry Pi:
sudo reboot
- Pastikan itu BMP280 terdeteksi di bus I2C:
Itu BMP280 akan muncul di alamatsudo i2cdetect -y 1
0x76
atau0x77
.
Untuk komunikasi SPI
- Aktifkan SPI menggunakan:
sudo raspi-config
- Navigasikan ke Opsi Antarmuka> SPI dan mengaktifkannya.
- Reboot Raspberry Pi:
sudo reboot
- Verifikasi antarmuka SPI menggunakan:
Anda harus melihatls /dev/spidev*
/dev/spidev0.0
Dan/dev/spidev0.1
.
Langkah 3: Instal perpustakaan yang diperlukan
- Perbarui Daftar Paket Raspberry Pi Anda:
sudo apt update && sudo apt upgrade -y
- Instal yang diperlukan Alat I2C/SPI dan perpustakaan Python:
sudo apt install -y python3-smbus python3-spidev python3-pip pip3 install adafruit-circuitpython-bmp280
Langkah 4: Membaca data dari BMP280
Kode Python untuk mode 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...")
Kode Python untuk mode 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...")
Langkah 5: Aplikasi BMP280 dengan Raspberry Pi
- Pemantauan Cuaca -Kumpulkan data suhu dan tekanan untuk analisis cuaca real-time.
- Pengukuran ketinggian - Gunakan data tekanan untuk memperkirakan perubahan ketinggian.
- Proyek IoT - Kirim data sensor ke platform cloud untuk pemantauan jarak jauh.
- Otomatisasi Rumah - Sesuaikan ventilasi dan pendingin udara berdasarkan pembacaan lingkungan.
Pemecahan masalah
-
BMP280 tidak terdeteksi (
i2cdetect
tidak menunjukkan0x76
atau0x77
)- Pastikan Pin SDA/SCL terhubung dengan benar.
- Pastikan itu I2C diaktifkan menggunakan
sudo raspi-config
.
-
Bacaan yang salah
- Periksa koneksi longgar atau Masalah catu daya.
- Pastikan sensornya tidak terpapar perubahan suhu mendadak.
-
Masalah komunikasi SPI
- Pastikan SPI diaktifkan (
ls /dev/spidev*
harus daftar perangkat). - Memeriksa pemilihan pin CS yang benar dalam skrip Python.
- Pastikan SPI diaktifkan (
Kesimpulan
Itu Sensor BMP280 menyediakan Tekanan barometrik yang akurat, suhu, dan pengukuran ketinggian, membuatnya ideal untuk Stasiun cuaca, aplikasi IoT, dan pemantauan lingkungan. Dengan mengikuti panduan ini, Anda dapat dengan mudah mengintegrasikan BMP280 ke dalam Anda Proyek Raspberry Pi Untuk pengumpulan dan analisis data real-time! 🚀