באמצעות BMP280 עם ה- Raspberry Pi

Using the BMP280 with the Raspberry Pi

THE BMP280 הוא א חיישן לחץ וטמפרטורה ברומטרי המספק קריאות לחץ אטמוספרי מדויקות וקריאות טמפרטורה. הוא משמש בדרך כלל ל ניטור מזג אוויר, מעקב אחר גובה וחישה סביבתיתו מדריך זה יעבור אותך בהגדרת ושימוש ב- BMP280 עם פטל pi באמצעות תקשורת Python ו- I2C/SPI.


מה תצטרך

  1. Raspberry Pi (כל דגם עם תמיכה ב- GPIO, למשל, pi 3, pi 4)
  2. מודול חיישן BMP280
  3. חוטי לחם וגשר
  4. פיתון מותקן על ה- Raspberry Pi

שלב 1: חיווט BMP280 ל- Raspberry Pi

THE BMP280 תומך גם בתקשורת I2C וגם ב- SPI.

למצב i2c (מומלץ)

BMP280 PIN סיכת פטל pi
VCC 3.3 וולט (סיכה 1)
GND קרקע (סיכה 6)
SDA SDA (PIN 3, GPIO2)
SCL SCL (סיכה 5, GPIO3)

למצב SPI

BMP280 PIN סיכת פטל pi
VCC 3.3 וולט (סיכה 1)
GND קרקע (סיכה 6)
SCK SCLK (סיכה 23, GPIO11)
SDI מוסי (סיכה 19, GPIO10)
SDO מיסו (סיכה 21, GPIO9)
CS CE0 (סיכה 24, GPIO8)

פֶּתֶק: ה- BMP280 פועל ב 3.3V. לא חבר אותו ל- 5V, מכיוון שהוא עלול לפגוע במודול.


שלב 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
    
    THE 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

קוד Python למצב 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. פרויקטים של IoT - שלח נתוני חיישנים לפלטפורמות ענן לניטור מרחוק.
  4. אוטומציה ביתית - התאם אוורור ומיזוג אוויר על בסיס קריאות סביבתיות.

פתרון בעיות

  1. BMP280 לא זוהה (i2cdetect לא מראה 0x76 אוֹ 0x77)

    • להבטיח את סיכות SDA/SCL מחווטות נכון.
    • אמת את זה I2C מופעל באמצעות sudo raspi-config.
  2. קריאות שגויות

    • בדוק אם כן חיבורים רופפים אוֹ בעיות אספקת חשמל.
    • להבטיח שהחיישן הוא לא נחשף לשינויי טמפרטורה פתאומיים.
  3. סוגיות תקשורת SPI

    • להבטיח ש- SPI מופעל (ls /dev/spidev* צריך לרשום מכשירים).
    • לְאַמֵת בחירת סיכות CS נכונה בתסריט הפיתון.

מַסְקָנָה

THE חיישן BMP280 מספק מדידות לחץ, טמפרטורה וגובה מדויקות מדויקות, מה שהופך אותו לאידיאלי עבור תחנות מזג אוויר, יישומי IoT ומעקב סביבתיו על ידי ביצוע מדריך זה, תוכלו לשלב בקלות את ה- BMP280 פרויקטים של Raspberry 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.