BMP280 เป็น ` ที่ให้การอ่านค่าความกดอากาศและอุณหภูมิที่แม่นยำ มักใช้สำหรับ การติดตามสภาพอากาศ, การติดตามระดับความสูง, และการตรวจวัดสภาพแวดล้อม. คู่มือนี้จะพาคุณไปทีละขั้นตอนในการตั้งค่าและการใช้งาน BMP280 กับ Raspberry Pi การใช้ Python และการสื่อสารผ่าน I2C/SPI.
สิ่งที่คุณต้องมี
- Raspberry Pi (รุ่นใดก็ได้ที่รองรับ GPIO เช่น Pi 3, Pi 4)
- BMP280 โมดูลเซ็นเซอร์
- เบรดบอร์ดและสายจัมเปอร์
- ติดตั้ง 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
- เปิดเครื่องมือกำหนดค่า Raspberry Pi:
sudo raspi-config - ไปที่ ตัวเลือกอินเทอร์เฟซ > I2C และเปิดใช้งานมัน.
- รีบูต Raspberry Pi:
sudo reboot - ตรวจสอบว่า BMP280 ถูกตรวจพบ บนบัส I2C:
BMP280 ควรปรากฏในที่อยู่sudo i2cdetect -y 10x76or0x77.
สำหรับการสื่อสาร SPI
- เปิดใช้งาน SPI โดยใช้:
sudo raspi-config - ไปที่ ตัวเลือกอินเทอร์เฟซ > SPI และเปิดใช้งานสิ่งนั้น.
- รีบูต Raspberry Pi:
sudo reboot - ตรวจสอบอินเทอร์เฟซ SPI โดยใช้:
คุณควรจะเห็นls /dev/spidev*/dev/spidev0.0และ/dev/spidev0.1.
ขั้นตอนที่ 3: ติดตั้งไลบรารีที่จำเป็น
- อัปเดตรายการแพ็กเกจบน Raspberry Pi ของคุณ:
sudo apt update && sudo apt upgrade -y - ติดตั้งสิ่งที่จำเป็น เครื่องมือ 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
- การติดตามสภาพอากาศ – รวบรวมข้อมูลอุณหภูมิและความกดอากาศเพื่อการวิเคราะห์สภาพอากาศแบบเรียลไทม์.
- การวัดระดับความสูง – ใช้ข้อมูลความกดอากาศเพื่อประเมินการเปลี่ยนแปลงของระดับความสูง
- โครงการ IoT – ส่งข้อมูลจากเซ็นเซอร์ไปยังแพลตฟอร์มคลาวด์เพื่อการเฝ้าติดตามจากระยะไกล.
- ระบบอัตโนมัติภายในบ้าน – ปรับการระบายอากาศและระบบปรับอากาศตามค่าการวัดสภาพแวดล้อม
การแก้ไขปัญหา
-
BMP280 ไม่พบ (
i2cdetectไม่แสดง0x76or0x77)- ตรวจให้แน่ใจว่า ขา SDA/SCL ต่อสายอย่างถูกต้อง.
- ตรวจสอบว่า เปิดใช้งาน I2C แล้ว การใช้
sudo raspi-config.
-
การอ่านค่าไม่ถูกต้อง
- ตรวจสอบหา การเชื่อมต่อหลวม or ปัญหาเกี่ยวกับแหล่งจ่ายไฟ.
- ตรวจให้แน่ใจว่าเซ็นเซอร์อยู่ ไม่สัมผัสกับการเปลี่ยนแปลงอุณหภูมิอย่างฉับพลัน.
-
ปัญหาการสื่อสาร SPI
- ตรวจสอบให้แน่ใจว่าเปิดใช้งาน SPI (
ls /dev/spidev*ควรแสดงรายการอุปกรณ์). - ยืนยัน การเลือกขา CS ที่ถูกต้อง ในสคริปต์ Python.
- ตรวจสอบให้แน่ใจว่าเปิดใช้งาน SPI (
บทสรุป
BMP280 เซ็นเซอร์ ให้ การวัดความกดอากาศ อุณหภูมิ และความสูงที่แม่นยำ, ทำให้เหมาะอย่างยิ่งสำหรับ สถานีตรวจสภาพอากาศ, แอปพลิเคชัน IoT, และการเฝ้าติดตามสิ่งแวดล้อม. โดยทำตามคู่มือนี้ คุณสามารถผสานรวมได้อย่างง่ายดาย BMP280 ไปยังของคุณ โปรเจกต์ Raspberry Pi สำหรับการเก็บรวบรวมและวิเคราะห์ข้อมูลแบบเรียลไทม์! 🚀







