MPU6050 เป็นเซ็นเซอร์ที่หลากหลายและราคาไม่แพงที่รวม accelerometer 3 แกนและไจโรสโคป 3 แกนเข้ากับแพ็คเกจเดียว มันสื่อสารผ่านอินเตอร์เฟส I2C และเหมาะสำหรับการติดตามการเคลื่อนไหวการปรับสมดุลหุ่นยนต์และการควบคุมตามท่าทาง บทช่วยสอนนี้จะแสดงวิธีการเชื่อมต่อ MPU6050 กับ Arduino
สิ่งที่คุณต้องการ
- โมดูล MPU6050
- คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
- กระดาน
- สายจัมเปอร์
- คอมพิวเตอร์ที่ติดตั้ง Arduino IDE
ขั้นตอนที่ 1: เดินสาย MPU6050 ไปยัง Arduino
MPU6050 ใช้โปรโตคอล I2C ซึ่งต้องการเพียงสองบรรทัดข้อมูลเท่านั้น: SDA (ข้อมูล) และ SCL (นาฬิกา). นี่คือการเชื่อมต่อทั่วไป:
MPU6050 PIN | Arduino uno pin |
---|---|
VCC | 5V |
gnd | gnd |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
บันทึก: ตรวจสอบ i2c pinout ของบอร์ด Arduino เฉพาะของคุณหากคุณใช้โมเดลอื่น
ขั้นตอนที่ 2: ติดตั้งไลบรารี MPU6050
เพื่อให้ง่ายต่อการเชื่อมต่อกับ MPU6050 เราจะใช้ไลบรารี "MPU6050"
- เปิด Arduino IDE
- ไป ร่าง > รวมห้องสมุด > จัดการห้องสมุด.
- ใน Library Manager ค้นหา "MPU6050 โดย Electronic Cats"
- เลือกไลบรารีและคลิก ติดตั้ง.
ขั้นตอนที่ 3: อัปโหลดรหัส
นี่คือตัวอย่างพื้นฐานในการอ่านข้อมูล accelerometer และ gyroscope จาก MPU6050:
#include <Wire.h>
#include <MPU6050.h>
MPU6050 mpu;
void setup() {
Serial.begin(9600);
Wire.begin();
Serial.println("Initializing MPU6050...");
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 sensor!");
while (1) {
delay(10);
}
}
Serial.println("MPU6050 Initialized.");
}
void loop() {
mpu.update();
Serial.print("Accel X: ");
Serial.print(mpu.getAccX());
Serial.print(" | Accel Y: ");
Serial.print(mpu.getAccY());
Serial.print(" | Accel Z: ");
Serial.println(mpu.getAccZ());
Serial.print("Gyro X: ");
Serial.print(mpu.getGyroX());
Serial.print(" | Gyro Y: ");
Serial.print(mpu.getGyroY());
Serial.print(" | Gyro Z: ");
Serial.println(mpu.getGyroZ());
delay(500); // Update every 500ms
}
ขั้นตอนที่ 4: ทดสอบการตั้งค่า
- เชื่อมต่อ Arduino ของคุณเข้ากับคอมพิวเตอร์โดยใช้สายเคเบิล USB
- เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ จาก เครื่องมือ เมนู.
- อัปโหลดรหัสโดยคลิกที่ อัพโหลด ปุ่ม.
- เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น
9600
. - คุณควรเห็นการอ่านแบบ accelerometer และการอ่านไจโรสโคป
ทำความเข้าใจกับข้อมูล
- accelerometer (Accel X, Y, Z): วัดการเร่งความเร็วเชิงเส้นในสามแกน
- Gyroscope (Gyro X, Y, Z): วัดความเร็วเชิงมุม (ความเร็วในการหมุน) ประมาณสามแกน
การแก้ไขปัญหา
- ไม่พบเซ็นเซอร์: ตรวจสอบสายไฟอีกครั้งและตรวจสอบให้แน่ใจว่าสาย I2C เชื่อมต่ออย่างถูกต้อง
- ไม่มีเอาต์พุตบนจอภาพอนุกรม: ตรวจสอบว่าอัตราการรับส่งข้อมูลตรงกับการตั้งค่ารหัส (9600)
- การอ่านที่ไม่ถูกต้อง: รักษาระดับเซ็นเซอร์ในระหว่างการเริ่มต้นเพื่อป้องกันการดริฟท์
แอปพลิเคชันของ MPU6050
- ปรับสมดุลหุ่นยนต์
- การรับรู้ท่าทาง
- การติดตามการเคลื่อนไหวสำหรับ VR/AR
- อุปกรณ์ติดตามออกกำลังกาย
บทสรุป
ยินดีด้วย! คุณประสบความสำเร็จในการเชื่อมต่อ MPU6050 ด้วย Arduino และอ่านข้อมูลการเคลื่อนไหวแบบเรียลไทม์ เซ็นเซอร์นี้มีความหลากหลายอย่างไม่น่าเชื่อและสามารถใช้ในโครงการที่นับไม่ถ้วน ลองรวม MPU6050 เข้ากับโครงการการเคลื่อนไหวครั้งต่อไปของคุณและปลดปล่อยศักยภาพของมัน!