สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ในคำแนะนำนี้ ฉันจะแบ่งปันวิธีการดึงมุมจาก MPU6050 กับ raspberry pi โดยใช้ python ให้กับคุณ ฉันกำลังเขียนบทความนี้เนื่องจากไม่พบสิ่งใดในอินเทอร์เน็ตที่แนะนำให้เราใช้ MPU6050 เพื่อค้นหามุมกับ raspberry pi โดยใช้ python เราใช้ kalman-filter ซึ่งเป็นอัลกอริธึมฟิวชั่นที่ใช้ในภารกิจ Apollo (ไม่ได้ล้อเล่น) ขอบคุณ TJK ที่อธิบายอัลกอริธึมที่ซับซ้อนเพื่อให้ผู้ที่มีความรู้ทางคณิตศาสตร์เพียงเล็กน้อย (เช่นฉัน) สามารถเข้าใจการทำงานของตัวกรองคาลมานได้ หากคุณสนใจไปที่บล็อกของเขา บล็อกของ TJK ที่อธิบาย kalman-filter
เขาได้ใช้อัลกอริทึมของเขาใน C++ ฉันไม่พบการนำ python ไปใช้งานอัลกอริธึมนี้ได้ทุกที่ในอินเทอร์เน็ต ดังนั้นฉันคิดว่าฉันจะใช้อัลกอริทึมของ python เพื่อให้ผู้ใช้ python สามารถใช้มันเพื่อค้นหามุมกับ raspberry pi
เย็น. มาเริ่มกันเลย.
ขั้นตอนที่ 1: อุปกรณ์ที่จำเป็น:)
- Raspberry pi และการพึ่งพาของมัน (หมายถึงการแสดง แหล่งพลังงาน และคุณรู้ว่าจำเป็นต้องมีอะไรอีก)
- MPU6050 (แน่นอน)
- จัมเปอร์ - (หญิงเป็นหญิง - ขึ้นอยู่กับโมดูล MPU6050 ของคุณ)
ขั้นตอนที่ 2: มาเชื่อมต่อกันเลย
มาตรการ:
ในกรณีที่คุณไม่ทราบ MPU6050 ใช้โปรโตคอลการสื่อสารที่เรียกว่า I2C (ออกเสียงว่า I กำลังสอง C) เป็นสายที่ทรงพลังมาก - ต้องใช้เพียงสองสายสำหรับ SDA และ SCL และจำนวนอุปกรณ์สูงสุดที่สามารถใช้ในอุปกรณ์เดียวกันนั้นถูกจำกัดด้วยข้อจำกัดของฮาร์ดแวร์ (คุณควรสามารถเชื่อมต่ออุปกรณ์ได้สูงสุด 128 เครื่อง) ในกรณีของเรา Raspberry pi ทำหน้าที่เป็นเจ้านายและ MPU6050 ทำหน้าที่เป็นทาส
หากคุณสนใจเรียนรู้การทำงานของ I2C เชิญทางนี้
ไม่เป็นอะไร. ไปทำงานกันเถอะ
มาเชื่อมต่อกันเถอะ:
การเชื่อมต่อค่อนข้างง่าย
MPU6050 ---------- Raspberry Pi
VCC ---------- 5V (พิน 2 หรือ 4)
GND ----------- GND (พิน 6)
SDA ----------- SDA (พิน 5)
SCL ----------- SCL (พิน 3)
หากคุณไม่ทราบการกำหนดค่าพินของ raspberry pi คุณสามารถ google ได้ คุณสามารถค้นหาการกำหนดค่าพินของ raspberry pi 3 ได้ที่นี่
คุณยังสามารถดูแผนภาพการเชื่อมต่อและช่วยตัวเองได้ (ในแผนภาพ MPU6050's GND เชื่อมต่อกับพินที่ 34 ของ raspberry pi นั่นคือพินกราวด์ด้วย ดังนั้นอย่าสับสน คุณสามารถเชื่อมต่อได้ทั้งสองทาง)
ขั้นตอนที่ 3: มาเริ่มงานกันเถอะ
ดาวน์โหลดรหัส:
คุณสามารถดาวน์โหลดหรือคัดลอกโค้ดจากลิงก์ git-hub นี้ ฉันต้องการดาวน์โหลดมากกว่าการคัดลอกเพราะ python "ใช้แท็บและช่องว่างในการเยื้องไม่สอดคล้องกัน" ในบางครั้งหากคุณคัดลอกและวางโค้ด ค้นหาสาเหตุที่นี่
เรียกใช้โปรแกรม:
เมื่อคุณคัดลอกโค้ดแล้ว ให้เปิด AngleOmeter.py และเรียกใช้ ตรวจสอบให้แน่ใจว่าคุณคัดลอกทั้งไฟล์ AngleOmeter.py และ Kalman.py และไฟล์เหล่านั้นอยู่ในโฟลเดอร์เดียวกัน (ไดเร็กทอรี) คุณพร้อมที่จะไป เอียงโมดูล MPU6050 และมุมในหน้าจอควรเปลี่ยน
มีความสุขในการทำ!