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

คณิตศาสตร์เวกเตอร์ของการเร่งความเร็ว
เมื่อวางอยู่บนโต๊ะ MPU6050 จะอ่านค่าได้ X=0, Y=0, Z=1G เนื่องจากแรงโน้มถ่วงของโลกกำลังผลักมันลงมาที่ 9.8m/s²
- การหายไปของแรงโน้มถ่วง: เมื่อวัตถุถูกปล่อยลงมาจากหลังคา มันจะเข้าสู่การตกอิสระ มันจะเร่งความเร็วลงด้วยค่า 1G พอดี สำหรับเซ็นเซอร์ที่อยู่ ภายใน กล่องที่กำลังตกลงมา แรงโน้มถ่วงจะหยุดมีอยู่
- เซ็นเซอร์จะส่งค่าออกมาทันที:
X=0, Y=0, Z=0 - ลูปอัลกอริทึม:
คุณใช้ทฤษฎีบทพีทาโกรัสใน 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
- แคปซูลทดสอบที่มีการบุอย่างหนาแน่น!