หน้าแรก ดูโปรเจกต์ทั้งหมด
Easy

โปรเจกต์ การวัด Pressure และ Temperature ด้วย GY-68

GY-68 Module หรือที่รู้จักกันในชื่อ BMP180 Module เป็น Sensor Module ยอดนิยมที่ใช้สำหรับวัดค่า Atmospheric Pressure, Temperature และ Altitude

โปรเจกต์ การวัด Pressure และ Temperature ด้วย GY-68
5,135 การดู

รายการอุปกรณ์และเครื่องมือ

1x [HB] GY-68 module
-
1x [HB] Dupont wires
🛒 สั่งซื้อ
1x [HB] Arduino Nano
🛒 สั่งซื้อ
1x [HB] Mini Breadboard
🛒 สั่งซื้อ
}

แอปพลิเคชันและแพลตฟอร์ม

รายละเอียดและวิธีทำ

บทความหลัก: การวัดความดันและอุณหภูมิด้วย GY-68

โมดูล GY-68 หรือที่รู้จักกันในชื่อโมดูล BMP180 เป็นโมดูล Sensor ยอดนิยมที่ใช้สำหรับวัดความดันบรรยากาศ (Atmospheric Pressure), อุณหภูมิ และความสูง (Altitude) โมดูลนี้มี Digital Barometric Pressure Sensor ที่มีความแม่นยำสูง ซึ่งสามารถรวมเข้ากับบอร์ด Arduino ได้อย่างง่ายดาย ในคู่มือนี้ เราจะแนะนำขั้นตอนการเชื่อมต่อโมดูล GY-68 เข้ากับ Arduino เพื่อให้คุณสามารถรวบรวมข้อมูลสิ่งแวดล้อมที่แม่นยำสำหรับโปรเจกต์ของคุณ มาเริ่มกันเลย!

Wiring schema

การเชื่อมต่อกับ Controller ทำงานผ่านอินเทอร์เฟซ I2C (Inter-Integrated Circuit) ซึ่งเป็นโปรโตคอลการสื่อสารแบบ Serial ที่ใช้กันอย่างแพร่หลาย อินเทอร์เฟซ I2C ประกอบด้วยสองสาย คือ SDA (Serial Data Line) และ SCL (Serial Clock Line) ในกรณีของ Arduino Nano พิน SDA (Serial Data Line) และ SCL (Serial Clock Line) ซึ่งสอดคล้องกับอินเทอร์เฟซ I2C จะถูกกำหนดเป็นพิน A4 และ A5 ตามลำดับ

การต่อสาย Arduino Nano กับโมดูล GY-68

ในการสร้างการเชื่อมต่อ Controller จะทำหน้าที่เป็น Master Device ในขณะที่อุปกรณ์ที่เชื่อมต่อจะทำงานเป็น Slave โดย Master Device จะเริ่มการสื่อสารโดยการส่งสัญญาณควบคุมบนสาย SDA และ SCL สาย SCL จะให้สัญญาณ Clock เพื่อซิงโครไนซ์การรับส่งข้อมูล การรับส่งข้อมูลในการสื่อสารแบบ I2C สามารถเกิดขึ้นได้ทั้งสองทิศทาง ทำให้สามารถสื่อสารแบบสองทิศทาง (Bi-directional) ระหว่าง Controller และอุปกรณ์ที่เชื่อมต่อได้

ในการสร้างการเชื่อมต่อ Controller จะทำหน้าที่เป็น Master Device ในขณะที่อุปกรณ์ที่เชื่อมต่อจะทำงานเป็น Slave โดย Master Device จะเริ่มการสื่อสารโดยการส่งสัญญาณควบคุมบนสาย SDA และ SCL สาย SCL จะให้สัญญาณ Clock เพื่อซิงโครไนซ์การรับส่งข้อมูล การรับส่งข้อมูลในการสื่อสารแบบ I2C สามารถเกิดขึ้นได้ทั้งสองทิศทาง ทำให้สามารถสื่อสารแบบสองทิศทาง (Bi-directional) ระหว่าง Controller และอุปกรณ์ที่เชื่อมต่อได้

ติดตั้ง Adafruit Library สำหรับ BMP180

ในการโต้ตอบกับ Sensor BMP180 เราจะใช้ Library อย่างเป็นทางการจาก Adafruit ซึ่งสามารถใช้สำหรับโมดูล BMP085 ได้เช่นกัน Library นี้มีอินเทอร์เฟซที่ช่วยอำนวยความสะดวกในการสื่อสารกับโมดูล ช่วยประหยัดเวลาและให้ฐาน Code ที่เชื่อถือได้ซึ่งผ่านการทดสอบมาอย่างครอบคลุม โดยสามารถดาวน์โหลดได้จาก Repository อย่างเป็นทางการของเรา

ในการนำเข้า Library ให้เปิด Arduino IDE ไปที่ Sketch > Include Library > Add .ZIP Library และเลือกไฟล์ Library ที่ดาวน์โหลดจาก GitHub repository ของเรา

การนำเข้า Library ใน Arduino IDE

จากนั้นคุณสามารถใช้คำสั่ง include ได้ง่ายๆ ดังนี้:

#include "Adafruit_BMP085.h"

คำสั่งนี้จะรวม Library พร้อมฟังก์ชันที่กำหนดไว้ล่วงหน้าเพื่อโต้ตอบกับโมดูล

Arduino code

การใช้ Library ช่วยให้ Code เข้าใจได้ง่ายขึ้นมาก

#include "Wire.h"

#include "Adafruit_BMP085.h" // Adafruit BMP085/BMP180 library


Adafruit_BMP085 bmp;


void setup()

{

Serial.begin(115200);


if (!bmp.begin()) {

Serial.println ( "Sensor BMP180 not found, check the connections!" );


while (true);

}

}


void loop()

{

Serial.print("Temperature = ");

Serial.print(bmp.readTemperature());

Serial.print("\xC2\xB0"); //Print degree symbol

Serial.print("C");

Serial.println("");


Serial.print("Pressure = ");

Serial.print(bmp.readPressure());

Serial.println(" Pa");


// Calculate altitude assuming 'standard' barometric

// pressure of 1013.25 millibar = 101325 Pascal

Serial.print("Altitude = ");

Serial.print(bmp.readAltitude());

Serial.println(" meters");


Serial.print("Pressure at sealevel (calculated) = ");

Serial.print(bmp.readSealevelPressure());

Serial.println(" Pa");


// you can get a more precise measurement of altitude

// if you know the current sea level pressure which will

// vary with weather and such. If it is 1015 millibars

// that is equal to 101500 Pascals.

Serial.print("Real altitude = ");

Serial.print(bmp.readAltitude(101500));

Serial.println(" meters");


Serial.println();

delay(2000); // wait two seconds

}

การทดสอบ

โปรแกรมถูกกำหนดค่าให้แสดงผลข้อมูล (Output) ในช่วงเวลาปกติทุกๆ 2 วินาที

การทดสอบผลลัพธ์ของ GY-68 บน Serial Monitor

Serial Monitor จะแสดงผลข้อมูลที่คล้ายคลึงกันซึ่งสะท้อนถึงตำแหน่งและสภาวะแวดล้อมของคุณ

บทสรุป

ในคู่มือนี้ เราได้เรียนรู้วิธีการเชื่อมต่อโมดูล GY-68 เข้ากับบอร์ด Arduino เมื่อทำตามขั้นตอนที่ระบุไว้ข้างต้น คุณสามารถเริ่มรวบรวมข้อมูลความดันบรรยากาศ, อุณหภูมิ และความสูงที่แม่นยำสำหรับโปรเจกต์ของคุณได้แล้ว ขอให้สนุกกับการทดลองใช้โมดูล GY-68 และสำรวจความสามารถของมัน!

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: pressure-and-temperature-measurement-with-gy-68-ff8b67
299 บาท
PromptPay QR Code