กลับไปหน้ารวมไฟล์
free-fall-detection-using-3-axis-accelerometer-5467af.md

ชื่อโปรเจกต์: การตรวจจับการตกอิสระโดยใช้ 3-Axis Accelerometer

ฟิสิกส์ในซอฟต์แวร์: การตรวจจับการตกอิสระ

โปรเจกต์ การตรวจจับการตกอิสระ เป็นรากฐานสำคัญของระบบ failsafes สำหรับ quadcopter และระบบ telemetry สำหรับบอลลูนตรวจสภาพอากาศที่บินสูง Arduino จะต้องสอบถามข้อมูลจาก MPU6050 6-Axis IMU ผ่าน I2C อย่างต่อเนื่อง เพื่อตรวจสอบว่าแรงโน้มถ่วงได้ "หายไป" หรือไม่

dfplayer_mp3_wiring_1772681985958.png

คณิตศาสตร์เวกเตอร์ของการเร่งความเร็ว

เมื่อวางอยู่บนโต๊ะ MPU6050 จะอ่านค่าได้ X=0, Y=0, Z=1G เนื่องจากแรงโน้มถ่วงของโลกกำลังผลักมันลงมาที่ 9.8m/s²

  1. การหายไปของแรงโน้มถ่วง: เมื่อวัตถุถูกปล่อยลงมาจากหลังคา มันจะเข้าสู่การตกอิสระ มันจะเร่งความเร็วลงด้วยค่า 1G พอดี สำหรับเซ็นเซอร์ที่อยู่ ภายใน กล่องที่กำลังตกลงมา แรงโน้มถ่วงจะหยุดมีอยู่
  2. เซ็นเซอร์จะส่งค่าออกมาทันที: X=0, Y=0, Z=0
  3. ลูปอัลกอริทึม: คุณใช้ทฤษฎีบทพีทาโกรัสใน 3 มิติ เพื่อคำนวณขนาดเวกเตอร์รวมของความเร่ง โดยไม่คำนึงถึงทิศทาง: float totalAccel = sqrt(sq(ax) + sq(ay) + sq(az));

การกางร่มชูชีพ

หาก totalAccel ลดลงต่ำกว่าเกณฑ์ที่เข้มงวด (เช่น 0.3G) เป็นเวลา 20 milliseconds (เพื่อหลีกเลี่ยงการทริกเกอร์ผิดพลาดจากการกระโดด):

  • Arduino จะส่ง interrupt
  • มันจะหมุน MG996R Servo ขนาดใหญ่ 180 องศา
  • แขน Servo จะดึงสลักกลไกออกจากตัวเรือนแบบสปริง ดีดร่มชูชีพสำหรับกู้คืนของโดรนขึ้นไปในอากาศอย่างรุนแรง ก่อนที่มันจะถึงพื้นดินนานแล้ว!

ข้อกำหนดหลัก

  • Arduino Nano (มีน้ำหนักเบา)
  • MPU6050 3-Axis Accelerometer / Gyroscope
  • High-Speed Micro Servo
  • แคปซูลทดสอบที่มีการบุอย่างหนาแน่น!

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

title: "Free Fall Detection Using 3-Axis Accelerometer"
description: "Detect the drop! Write complex mathematical algorithms using an MPU6050 accelerometer to instantly deploy parachutes or parachutes upon detecting zero-gravity free-fall."
category: "Science & Simulation"
difficulty: "Intermediate"