สารบัญ:

เซ็นเซอร์ BMP280 หลายตัวใน Arduino Uno ผ่าน SPI: 6 ขั้นตอน
เซ็นเซอร์ BMP280 หลายตัวใน Arduino Uno ผ่าน SPI: 6 ขั้นตอน

วีดีโอ: เซ็นเซอร์ BMP280 หลายตัวใน Arduino Uno ผ่าน SPI: 6 ขั้นตอน

วีดีโอ: เซ็นเซอร์ BMP280 หลายตัวใน Arduino Uno ผ่าน SPI: 6 ขั้นตอน
วีดีโอ: Lesson 30: BMP280 Temperature Sensor with LCD1602 | Arduino Step By Step Course 2024, พฤศจิกายน
Anonim
เซ็นเซอร์ BMP280 หลายตัวใน Arduino Uno ผ่าน SPI
เซ็นเซอร์ BMP280 หลายตัวใน Arduino Uno ผ่าน SPI

ในบทช่วยสอนนี้ เราจะเชื่อมต่อ BMP280 สามตัวบน Arduino Uno ผ่าน SPI แต่คุณสามารถเชื่อมต่อ BMP280 ได้สูงสุดแปดตัวบน Uno โดยใช้พอร์ตดิจิทัล D3 ถึง D10 เป็น nSS (Slave Select) สำหรับแต่ละเซ็นเซอร์

ผลลัพธ์ของตัวอย่างความดันบรรยากาศที่วัดโดย BMP280 จะแสดงบนจอแสดงผล LCD LCM1602 ขนาด 16x2

จอ LCD จะเชื่อมต่อกับ Uno ผ่าน I2C (หรือ IIC) ด้วยโมดูล PCF8574

ขั้นตอนที่ 1: ภาพรวม

ภาพรวม
ภาพรวม
ภาพรวม
ภาพรวม

เซ็นเซอร์ความดันบรรยากาศและอุณหภูมิ Bosch BMP280 รองรับการสื่อสาร SPI และ I2C (หรือ IIC) กับไมโครคอนโทรลเลอร์ เป็นเซ็นเซอร์ความแม่นยำสูง (0.16Pa หรือ ±1m) และสิ้นเปลืองน้อย (2.7µA)

BMP280 เป็นรุ่นอัพเกรดของ BMP180 ที่มีการปรับปรุงมากมาย: ความละเอียดที่สูงขึ้นสำหรับความดันและอุณหภูมิ, การใช้พลังงานที่ลดลง, อินเทอร์เฟซ SPI ที่เพิ่มใหม่, การวัดเสียงรบกวนที่ต่ำกว่า, เสียง RMS ที่ต่ำกว่า, รอยเท้าที่เล็กลง, โหมดการวัดที่มากขึ้น, อัตราการวัดที่สูงขึ้น และเพิ่มใหม่ กรองสัญญาณรบกวนจากสิ่งแวดล้อม

เอกสารข้อมูล Bosch BMP280

ขั้นตอนที่ 2: BMP180 กับ BMP280

BMP180 กับ BMP280
BMP180 กับ BMP280

ข้อมูลเปรียบเทียบเซ็นเซอร์ BMP280 กับเซ็นเซอร์ BME280

ขั้นตอนที่ 3: รายการชิ้นส่วนฮาร์ดแวร์

รายการอะไหล่ฮาร์ดแวร์
รายการอะไหล่ฮาร์ดแวร์
รายการอะไหล่ฮาร์ดแวร์
รายการอะไหล่ฮาร์ดแวร์
รายการอะไหล่ฮาร์ดแวร์
รายการอะไหล่ฮาร์ดแวร์
  • 1 บอร์ด Arduino Uno
  • 3 โมดูล BMP280 เซ็นเซอร์ฝ่าวงล้อมบอร์ด
  • 1 โมดูล PCF8574 (I2C) บอร์ด
  • จอ LCD LCM1602 (16x2) 1 จอ
  • 1 โปรโตบอร์ด
  • สายจัมเปอร์ 35 เส้น

ขั้นตอนที่ 4: สร้างวงจร

การสร้างวงจร
การสร้างวงจร
การสร้างวงจร
การสร้างวงจร

สำหรับสาม BMP280 วงจรจะเป็นดังนี้:

Uno pin…………………………………………………………………………….. BMP280 (1) pinD13 SCK (Serial Clock, เอาต์พุตจากมาสเตอร์)………. SCLD12 MISO(Master IN Slave OUT)………………………………………… SDOD11 MOSI (Master OUT Slave IN)……………….. SDAD10 SSn (Slave Select)………… ………………………………………………. CSB

Uno pin…………………………………………………………………………….. BMP280 (2) pinD13 SCK (Serial Clock, เอาต์พุตจากมาสเตอร์)………. SCLD12 MISO(Master IN Slave OUT)………………………………………… SDOD11 MOSI (Master OUT Slave IN)……………….. SDAD9 SSn (Slave Select)………… …………………………………………………. CSB

Uno pin…………………………………………………………………………….. BMP280 (3) pinD13 (SCK Serial Clock เอาต์พุตจากมาสเตอร์)………. SCLD12 (MISO Master IN Slave OUT)…………………………. SDOD11 (MOSI Master OUT Slave IN)………………………… SDAD8 SSn (Slave Select)…………… ………………………………………………. CSB

* VCC และ GND ทั้งหมดจาก BMP280 เชื่อมโยงใน 3.3V ของ Arduino power หรือโมดูลพลังงาน protoboard

สำหรับจอแสดงผล LCD LCM1602 และโมดูล PCF8574 I2C วงจรจะเป็นดังนี้:

NS. วาง LCD และ PCF8574 บนโปรโตบอร์ดตามที่แสดงในภาพ

NS. Jumper PCF8574 พร้อมหมุดอนาล็อก Uno:

Uno pin……………………. PCF8574 pinA4……………………………………….. SDAA5………………………………………….. SCL

VCC และ GND จาก PCF8574 เชื่อมโยงกับ 5V ของ Arduino power หรือโมดูลพลังงาน protoboard

หมายเหตุ: หากคุณกำลังใช้โมดูลพลังงานโปรโตบอร์ด คุณต้องเชื่อมต่อ Arduino Gnd กับโปรโตบอร์ด Gnd ด้วย

ขั้นตอนที่ 5: ร่าง

หมายเหตุ:

  1. - ร่างนี้อาจมีปัญหาระดับกลาง
  2. - Sketch นี้ต้องติดตั้งไลบรารีต่อไปนี้บน Arduino:

    • LiquidCrystal_I2C.h
    • Adafruit_BMP280.h
    • Adafruit_Sensor.h
    • SPI.h

ดาวน์โหลดแบบร่าง…

แนะนำ: