باستخدام BMP280 مع Raspberry Pi

Using the BMP280 with the Raspberry Pi

ال BMP280 هو استشعار الضغط البارومتري ومستشعر درجة الحرارة وهذا يوفر ضغطًا دقيقًا للضغط الجوي وقراءات درجة الحرارة. يستخدم عادة ل مراقبة الطقس وتتبع الارتفاع والاستشعار البيئي. سوف يسير هذا الدليل من خلال إعداد واستخدام BMP280 مع Raspberry Pi استخدام Python و I2C/SPI الاتصالات.


ماذا ستحتاج

  1. التوت بي (أي نموذج يحمل دعم GPIO ، على سبيل المثال ، PI 3 ، PI 4)
  2. وحدة استشعار BMP280
  3. الأسلاك الأسلاك والبلوز
  4. بيثون مثبت على التوت PI

الخطوة 1: توصيل BMP280 إلى Raspberry Pi

ال يدعم BMP280 كل من الاتصالات I2C و SPI.

لوضع I2C (موصى به)

BMP280 دبوس التوت بي دبوس
VCC 3.3V (دبوس 1)
GND الأرض (دبوس 6)
SDA SDA (PIN 3 ، GPIO2)
SCL SCL (PIN 5 ، GPIO3)

لوضع SPI

BMP280 دبوس التوت بي دبوس
VCC 3.3V (دبوس 1)
GND الأرض (دبوس 6)
SCK SCLK (PIN 23 ، GPIO11)
SDI MOSI (PIN 19 ، GPIO10)
SDO MISO (PIN 21 ، GPIO9)
CS CE0 (PIN 24 ، GPIO8)

ملحوظة: يعمل BMP280 في 3.3V. لا قم بتوصيله بـ 5 فولت ، لأنه قد يضر بالوحدة.


الخطوة 2: تمكين I2C أو SPI على Raspberry Pi

لتواصل I2C

  1. افتح أداة تكوين Raspberry Pi:
    sudo raspi-config
    
  2. انتقل إلى خيارات الواجهة> i2c وتمكينها.
  3. أعد تشغيل Raspberry Pi:
    sudo reboot
    
  4. تحقق من أن تم الكشف عن BMP280 في حافلة I2C:
    sudo i2cdetect -y 1
    
    ال يجب أن يظهر BMP280 على العنوان 0x76 أو 0x77.

لتواصل SPI

  1. تمكين SPI باستخدام:
    sudo raspi-config
    
  2. انتقل إلى خيارات الواجهة> SPI وتمكينها.
  3. أعد تشغيل Raspberry Pi:
    sudo reboot
    
  4. تحقق من واجهة SPI باستخدام:
    ls /dev/spidev*
    
    يجب أن ترى /dev/spidev0.0 و /dev/spidev0.1.

الخطوة 3: تثبيت المكتبات المطلوبة

  1. قم بتحديث قائمة حزمة Raspberry Pi الخاصة بك:
    sudo apt update && sudo apt upgrade -y
    
  2. تثبيت المطلوب أدوات I2C/SPI وبيثون مكتبات:
    sudo apt install -y python3-smbus python3-spidev python3-pip
    pip3 install adafruit-circuitpython-bmp280
    

الخطوة 4: قراءة البيانات من BMP280

رمز بيثون لوضع 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...")

رمز بيثون لوضع 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...")

الخطوة 5: تطبيقات BMP280 مع Raspberry Pi

  1. مراقبة الطقس -جمع بيانات درجة الحرارة والضغط لتحليل الطقس في الوقت الفعلي.
  2. قياس الارتفاع - استخدم بيانات الضغط لتقدير تغييرات الارتفاع.
  3. مشاريع إنترنت الأشياء - إرسال بيانات المستشعر إلى المنصات السحابية للمراقبة عن بُعد.
  4. أتمتة المنزل - ضبط التهوية وتكييف الهواء على أساس القراءات البيئية.

استكشاف الأخطاء وإصلاحها

  1. لم يتم اكتشاف BMP280 (i2cdetect لا تظهر 0x76 أو 0x77)

    • ضمان دبابيس SDA/SCL سلكية بشكل صحيح.
    • تحقق من ذلك تم تمكين I2C استخدام sudo raspi-config.
  2. قراءات غير صحيحة

    • تحقق من اتصالات فضفاضة أو قضايا إمداد الطاقة.
    • تأكد من أن المستشعر لا تتعرض لتغيرات درجة الحرارة المفاجئة.
  3. قضايا الاتصال SPI

    • تأكد من تمكين SPI (ls /dev/spidev* يجب أن تسرد الأجهزة).
    • يؤكد اختيار دبوس CS الصحيح في السيناريو بيثون.

خاتمة

ال مستشعر BMP280 يوفر ضغط البارومتري الدقيق ودرجة الحرارة وقياسات الارتفاعمما يجعلها مثالية ل محطات الطقس وتطبيقات إنترنت الأشياء والمراقبة البيئية. باتباع هذا الدليل ، يمكنك بسهولة دمج BMP280 في مشاريع التوت PI لجمع البيانات في الوقت الحقيقي وتحليلها! 🚀

اترك تعليقًا

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.