วิธีใช้เซ็นเซอร์ความดัน barometric bmp180 กับ Arduino

How to Use the BMP180 Barometric Pressure Sensor with Arduino

BMP180 เป็นเซ็นเซอร์ความดันและอุณหภูมิที่มีความแม่นยำสูงซึ่งสามารถเชื่อมต่อกับ Arduino ได้อย่างง่ายดายโดยใช้โปรโตคอล I2C มีการใช้กันอย่างแพร่หลายในการตรวจสอบสภาพอากาศการวัดระดับความสูงและการใช้งาน IoT บทช่วยสอนนี้จะแนะนำคุณผ่านการเชื่อมต่อและใช้ BMP180 กับ Arduino


สิ่งที่คุณต้องการ

  1. โมดูลเซ็นเซอร์ BMP180
  2. คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
  3. เครื่องหั่นขนมปังและสายจัมเปอร์
  4. คอมพิวเตอร์ที่ติดตั้ง Arduino IDE

ขั้นตอนที่ 1: ทำความเข้าใจ BMP180

BMP180 วัดความดันและอุณหภูมิของบารอมิเตอร์และสามารถคำนวณความสูงตามการอ่านความดัน มันสื่อสารกับ Arduino โดยใช้โปรโตคอล I2C

bmp180 pinout

เข็มหมุด การทำงาน
vin แหล่งจ่ายไฟ (3.3V/5V)
gnd พื้น
SDA สายข้อมูล i2c
SCL สายนาฬิกา i2c

ขั้นตอนที่ 2: เดินสาย BMP180 ไปยัง Arduino

นี่คือวิธีการเชื่อมต่อ BMP180 กับ Arduino Uno:

bmp180 pin พิน Arduino
vin 5V
gnd gnd
SDA A4
SCL A5

บันทึก: สำหรับบอร์ด Arduino อื่น ๆ ให้ตรวจสอบหมุด I2C ในเอกสารของคณะกรรมการของคุณ (เช่น Mega ใช้หมุด 20 และ 21 สำหรับ SDA และ SCL)


ขั้นตอนที่ 3: ติดตั้งไลบรารีที่ต้องการ

ห้องสมุด "Adafruit BMP085 Unified" สามารถใช้สำหรับ BMP180 ได้เนื่องจากเข้ากันได้อย่างสมบูรณ์

ขั้นตอนในการติดตั้งไลบรารี:

  1. เปิด Arduino IDE
  2. ไป ร่าง > รวมห้องสมุด > จัดการห้องสมุด.
  3. ค้นหา "Adafruit BMP085 Unified" แล้วคลิก ติดตั้ง.

ขั้นตอนที่ 4: อัปโหลดรหัส

นี่คือตัวอย่างร่างเพื่ออ่านอุณหภูมิความดันและการคำนวณระดับความสูง:

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP085_U.h>

Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);

void setup() {
  Serial.begin(9600);
  Serial.println("BMP180 Sensor Test");

  if (!bmp.begin()) {
    Serial.print("Could not find a valid BMP180 sensor, check wiring!");
    while (1);
  }
}

void loop() {
  sensors_event_t event;
  bmp.getEvent(&event);

  if (event.pressure) {
    // Display pressure
    Serial.print("Pressure: ");
    Serial.print(event.pressure);
    Serial.println(" hPa");

    // Display temperature
    float temperature;
    bmp.getTemperature(&temperature);
    Serial.print("Temperature: ");
    Serial.print(temperature);
    Serial.println(" °C");

    // Calculate altitude
    float seaLevelPressure = 1013.25; // hPa
    Serial.print("Altitude: ");
    Serial.print(bmp.pressureToAltitude(seaLevelPressure, event.pressure));
    Serial.println(" m");
    Serial.println();
  } else {
    Serial.println("Sensor error!");
  }

  delay(2000); // Wait 2 seconds before the next reading
}

ขั้นตอนที่ 5: ทดสอบการตั้งค่า

  1. เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
  2. เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
  3. อัปโหลดรหัสไปยัง Arduino โดยคลิก อัพโหลด.
  4. เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น 9600.
  5. สังเกตความดันอุณหภูมิและการอ่านระดับความสูงที่แสดงในจอภาพอนุกรม

แอปพลิเคชันของ BMP180

  1. ระบบตรวจสอบสภาพอากาศ
  2. การวัดระดับความสูงในโดรนและการบิน
  3. การตรวจสอบสิ่งแวดล้อม IoT
  4. การบันทึกข้อมูลแรงดันบารอมิเตอร์

การแก้ไขปัญหา

  • ไม่มีการตอบสนองจากเซ็นเซอร์: ตรวจสอบสายไฟและตรวจสอบให้แน่ใจว่าใช้พิน I2C ที่ถูกต้อง
  • การอ่านที่ไม่ถูกต้อง: ตรวจสอบว่าเซ็นเซอร์ไม่ได้สัมผัสกับสภาพแวดล้อมที่รุนแรง
  • ข้อผิดพลาดของห้องสมุด: ตรวจสอบให้แน่ใจว่ามีการติดตั้งไลบรารี "Adafruit BMP085 Unified" อย่างถูกต้อง

บทสรุป

คุณสามารถเชื่อมต่อเซ็นเซอร์ความดัน barometric BMP180 กับ Arduino ได้สำเร็จ เซ็นเซอร์อเนกประสงค์นี้เหมาะสำหรับโครงการที่ต้องการการวัดความดันและอุณหภูมิที่แม่นยำ ทดลองเพิ่มเติมโดยรวมเข้ากับตัวบันทึกข้อมูลการแสดงหรือแพลตฟอร์ม IoT!

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

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.