Menggunakan BMP280 dengan Raspberry Pi

Using the BMP280 with the Raspberry Pi

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

  1. Raspberry Pi (Model apa pun dengan dukungan GPIO, mis., Pi 3, pi 4)
  2. Modul Sensor BMP280
  3. Papan tempat memotong papan dan kabel jumper
  4. 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

  1. Buka alat konfigurasi Raspberry Pi:
    sudo raspi-config
    
  2. Navigasikan ke Opsi Antarmuka> I2C dan mengaktifkannya.
  3. Reboot Raspberry Pi:
    sudo reboot
    
  4. Pastikan itu BMP280 terdeteksi di bus I2C:
    sudo i2cdetect -y 1
    
    Itu BMP280 akan muncul di alamat 0x76 atau 0x77.

Untuk komunikasi SPI

  1. Aktifkan SPI menggunakan:
    sudo raspi-config
    
  2. Navigasikan ke Opsi Antarmuka> SPI dan mengaktifkannya.
  3. Reboot Raspberry Pi:
    sudo reboot
    
  4. Verifikasi antarmuka SPI menggunakan:
    ls /dev/spidev*
    
    Anda harus melihat /dev/spidev0.0 Dan /dev/spidev0.1.

Langkah 3: Instal perpustakaan yang diperlukan

  1. Perbarui Daftar Paket Raspberry Pi Anda:
    sudo apt update && sudo apt upgrade -y
    
  2. 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

  1. Pemantauan Cuaca -Kumpulkan data suhu dan tekanan untuk analisis cuaca real-time.
  2. Pengukuran ketinggian - Gunakan data tekanan untuk memperkirakan perubahan ketinggian.
  3. Proyek IoT - Kirim data sensor ke platform cloud untuk pemantauan jarak jauh.
  4. Otomatisasi Rumah - Sesuaikan ventilasi dan pendingin udara berdasarkan pembacaan lingkungan.

Pemecahan masalah

  1. BMP280 tidak terdeteksi (i2cdetect tidak menunjukkan 0x76 atau 0x77)

    • Pastikan Pin SDA/SCL terhubung dengan benar.
    • Pastikan itu I2C diaktifkan menggunakan sudo raspi-config.
  2. Bacaan yang salah

    • Periksa koneksi longgar atau Masalah catu daya.
    • Pastikan sensornya tidak terpapar perubahan suhu mendadak.
  3. Masalah komunikasi SPI

    • Pastikan SPI diaktifkan (ls /dev/spidev* harus daftar perangkat).
    • Memeriksa pemilihan pin CS yang benar dalam skrip Python.

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! 🚀

Tinggalkan komentar

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.