ได้รับส่งมอบฟรีในคําสั่งทั้งหมดมากกว่า 20 ปอนด์!

ใช้ BMP280 กับ Raspberry Pi

Using the BMP280 with the Raspberry Pi

BMP280 เป็น ` ที่ให้การอ่านค่าความกดอากาศและอุณหภูมิที่แม่นยำ มักใช้สำหรับ การติดตามสภาพอากาศ, การติดตามระดับความสูง, และการตรวจวัดสภาพแวดล้อม. คู่มือนี้จะพาคุณไปทีละขั้นตอนในการตั้งค่าและการใช้งาน BMP280 กับ Raspberry Pi การใช้ Python และการสื่อสารผ่าน I2C/SPI.


สิ่งที่คุณต้องมี

  1. Raspberry Pi (รุ่นใดก็ได้ที่รองรับ GPIO เช่น Pi 3, Pi 4)
  2. BMP280 โมดูลเซ็นเซอร์
  3. เบรดบอร์ดและสายจัมเปอร์
  4. ติดตั้ง Python แล้ว บน Raspberry Pi

ขั้นตอนที่ 1: การเดินสาย BMP280 ไปยัง Raspberry Pi

BMP280 รองรับการสื่อสารทั้ง I2C และ SPI.

สำหรับโหมด I2C (แนะนำ)

BMP280 หมุด พิน Raspberry Pi
VCC 3.3V (ขา 1)
GND กราวด์ (ขา 6)
SDA SDA (ขา 3, GPIO2)
SCL SCL (ขา 5, GPIO3)

สำหรับโหมด SPI

BMP280 ปักหมุด พิน Raspberry Pi
VCC 3.3V (ขา 1)
GND กราวด์ (ขา 6)
SCK SCLK (ขา 23, GPIO11)
SDI MOSI (ขา 19, GPIO10)
SDO MISO (ขา 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
    
    BMP280 ควรปรากฏในที่อยู่ 0x76 or 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 และไลบรารี Python:
    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

# เริ่มต้นบัส I2C และ BMP280 เซ็นเซอร์
i2c = busio.I2C(board.SCL, board.SDA)
bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c)

# ตั้งค่าความกดอากาศที่ระดับน้ำทะเล (ไม่บังคับ สำหรับการคำนวณความสูง)
bmp280.sea_level_pressure = 1013.25  

try:
    while True:
        print(f"อุณหภูมิ: {bmp280.temperature:.2f} °C")
        print(f"ความกดอากาศ: {bmp280.pressure:.2f} hPa")
        print(f"ความสูง: {bmp280.altitude:.2f} m")
        print("------------------------")
        time.sleep(2)
except KeyboardInterrupt:
    print("กำลังออกจากโปรแกรม...")

โค้ด Python สำหรับโหมด SPI

import time
import board
import busio
import digitalio
import adafruit_bmp280

# เริ่มต้นบัส SPI และ BMP280 sensor
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
cs = digitalio.DigitalInOut(board.D8)  # ใช้ GPIO8 (ขา 24) สำหรับ 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 or 0x77)

    • ตรวจให้แน่ใจว่า ขา SDA/SCL ต่อสายอย่างถูกต้อง.
    • ตรวจสอบว่า เปิดใช้งาน I2C แล้ว การใช้ sudo raspi-config.
  2. การอ่านค่าไม่ถูกต้อง

    • ตรวจสอบหา การเชื่อมต่อหลวม or ปัญหาเกี่ยวกับแหล่งจ่ายไฟ.
    • ตรวจให้แน่ใจว่าเซ็นเซอร์อยู่ ไม่สัมผัสกับการเปลี่ยนแปลงอุณหภูมิอย่างฉับพลัน.
  3. ปัญหาการสื่อสาร SPI

    • ตรวจสอบให้แน่ใจว่าเปิดใช้งาน SPI (ls /dev/spidev* ควรแสดงรายการอุปกรณ์).
    • ยืนยัน การเลือกขา CS ที่ถูกต้อง ในสคริปต์ Python.

บทสรุป

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.

แสดงความคิดเห็น