กลับไปหน้ารวมไฟล์
simple-mpu6050-imu-arduino-bot-update-92be21.md

การได้ใช้ไจโร่ควบคุมโปรเจคเป็นอะไรที่อยู่ในลิสต์ต้องทำมานาน แต่พอได้ตัวเซ็นเซอร์ IMU มาแล้วก็เจอปัญหาหินแตกต่อ นั่งงมอยู่นานเป็นเดือนกว่าจะเข้าใจวิธีดึงค่า Yaw, Pitch, Roll ออกมาให้ได้ หลังจากไล่เปิดเว็บนู่นนี่ ไลบรารีสารพัด ปัญหาสารพัด ในที่สุดก็เอาข้อมูลจากไจโร่มาประยุกต์ใช้ในโปรเจคง่ายๆ ให้เด็กใหม่ทำตามได้ ไม่ต้องทนทรมานเหมือนพี่

"มันต้องเป็นตำนาน!!" - สวาร์ลี่ย์

ใช้เทปกาวโฟมติดกับตัวรถ

ทำตามขั้นตอนด้านล่างนี้เลยวัยรุ่น รับรองได้ใช้มุมจากไจโร่เซ็นเซอร์ MPU6050 แน่นอน

1. ติดตั้งไลบรารี

หลังจากได้ตัวเซ็นเซอร์วัดความเร่งและไจโร่ 6 แกนมาแล้ว ก็ต้องมีไลบรารีช่วยงาน

ไลบรารี MPU6050

2. ต่อสายระบบ

ติดตั้งไลบรารีเสร็จแล้วก็มาจับต่อสายตามนี้ได้เลย

การต่อสายไปยังมอเตอร์ไดรเวอร์กำหนดไว้ในโค้ดแล้ว:

ena = 5;
enb = 6;
in1 = 7;
in2 = 4;
in3 = 9;
in4 = 8;

การต่อสายไปยังเซ็นเซอร์ MPU6050:

  • VCC ต่อกับ +5V
  • GND ต่อกับ GND
  • SDA ต่อกับ A4
  • SCL ต่อกับ A5

หมายเหตุ: ตั้งแต่ตอนนี้เราจะเรียกหุ่นยนต์ตัวนี้ว่า "บาร์นี่ย์"

ใช้เบรดบอร์ดสิ สะดวกดี

3. อัพโหลดโค้ด, คาลิเบรต, และรัน

อัพโหลดโค้ดลงไป แล้ววางบาร์นี่ย์บนพื้นเรียบๆ ให้เซ็นเซอร์คาลิเบรตและตั้งค่าทิศทางที่วางอยู่เป็น 0 องศา

ได้เวลาเล่นแล้วไอ้หนู.....

เมื่อคาลิเบรตเสร็จ บาร์นี่ย์อาจจะกระตุกไปมาบ้าง ไม่เป็นไร ทีนี้ลองดันหุ่นไปทางอื่นดู มันจะค่อยๆ หมุนกลับมาหน้าตรงเหมือนเดิม

ดูบาร์นี่ย์สาธิตให้ดูเลย

การนำทางด้วยความเฉื่อยและระบบรักษาเสถียรภาพ

โปรเจคนี้ใช้ความสามารถของ MPU6050 ในการติดตามการเคลื่อนไหวและรักษาเสถียรภาพ

  • การผสานข้อมูลเซ็นเซอร์ 6 แกน: MPU6050 ให้ข้อมูลไจโรสโคป 3 แกน (วัดความเร็วการหมุน) และข้อมูล加速度 3 แกน (วัดเวกเตอร์แรงโน้มถ่วง) Arduino ใช้ Digital Motion Processor (DMP) ในตัวเซ็นเซอร์เพื่อผสานข้อมูลนี้และคำนวณหาค่า "Yaw, Pitch, Roll" ที่เสถียรแบบเรียลไทม์
  • การกรองข้อมูลแบบผสมผสาน: ระบบใช้ฟิลเตอร์ซอฟต์แวร์ที่รวมข้อมูลจากไจโรสโคปซึ่งตอบสนองเร็ว กับข้อมูลจาก加速度ซึ่งมีความเสถียรในระยะยาว การผสานนี้สำคัญมากเพื่อขจัดความคลาดเคลื่อนของไจโรสโคป ทำให้ได้ค่ามุมที่แม่นยำและน่าเชื่อถือ

การพัฒนาระบบนำทาง

  • ปรับระดับอัตโนมัติ: ตรรกะหลักของโค้ดทำให้หุ่นยนต์รักษาระดับตัวถังได้ ทำงานเหมือนระบบทรงตัวอัตโนมัติ แม้จะเคลื่อนที่บนพื้นผิวที่ไม่เรียบนัก
  • ตรวจจับท่าทาง: เฟิร์มแวร์ที่อัปเดตแล้วสามารถขยายให้ตรวจจับการเปลี่ยนแปลงการวางทิศทางเฉพาะ เช่น "เขย่า" หรือ "เอียง" ซึ่งสามารถตั้งโปรแกรมเป็นคำสั่งเพื่อกระตุ้นพฤติกรรมของหุ่นยนต์ที่แตกต่างกันได้

อัปเดตล่าสุด--

อย่างที่เห็นในวิดีโอแรก หุ่นจะเริ่มกระตุกเมื่อหันกลับมาหาผนัง ปัญหานี้แก้ไขแล้ว

ดูวิดีโอเปรียบเทียบผลลัพธ์หลังแก้ไข สังเกตว่าหุ่นไม่กระตุกหลังจากหันกลับมาหาผนังแล้ว

หลังแก้ไขแล้ว

ข้อมูล Frontmatter ดั้งเดิม

title: "อัปเดตหุ่นยนต์ Arduino + MPU6050 IMU งานง่ายแต่หล่อ ตึงๆ!"
description: "ใช้ Gyro Control กับเซนเซอร์ MPU6050 ให้หุ่นยนต์ของเราจับทิศทางได้แบบเทพๆ วัยรุ่นจัดไป!"
author: "neverofftheinternet"
category: "Motors & Robotics"
tags:
  - "robots"
views: 21715
likes: 23
price: 1499
difficulty: "Intermediate"
components:
  - "1x Arduino UNO"
  - "2x DC Motor, 12 V"
  - "1x Tape, Foam"
  - "1x Inertial Measurement Unit (IMU) (6 deg of freedom)"
  - "1x Soldering iron (generic)"
  - "1x Smart car chassis"
  - "1x Jumper wires (generic)"
  - "1x L298N motor driver"
  - "1x Breadboard (generic)"
  - "1x Multitool, Screwdriver"
  - "1x 11.1V Lipo battery"
tools: []
apps:
  - "1x Arduino IDE"
  - "1x Fritzing"
downloadableFiles:
  - "https://projects.arduinocontent.cc/3dc1ae1e-4a6e-4291-9bcf-d15f50f7e7fd.ino"
documentationLinks: []
passwordHash: "f5fea8303b3b6324ce718241d3ca4483efb1624158a5fc65d2e12b4f9ef30786"
encryptedPayload: "U2FsdGVkX18RYLcR2xVXNiux1okuP1JusuXqOurK8HZkACjVMwufgwVWjdUewRwzmvfuZh3a8JEDLH2s+6d/l+jrSS9Za363N+lfONCm8Ah4a91cke4kYS1ES77ArVVb"
seoDescription: "Learn to use MPU6050 IMU with Arduino for robot direction control using Gyro. A simple guide for stable robot navigation."
videoLinks:
  - "https://www.youtube.com/embed/EGO5YoZ4cCg"
  - "https://www.youtube.com/embed/nxy_t6HEPnc"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/simple-mpu6050-imu-arduino-bot-update-92be21_cover.jpg"
lang: "en"