תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
ה- MPU6050 הוא חיישן שימושי מאוד.
ה- mpu 6050 הוא IMU: יחידת מדידה אינרציאלית (IMU) היא מכשיר אלקטרוני המודד ומדווח על הכוח הספציפי של הגוף, קצב הזוויות, ולעתים גם על כיוון הגוף, באמצעות שילוב של מדי תאוצה, גירוסקופים.
זהו מכשיר בעל 6 צירים
3 מהציר יכולים למדוד תאוצה וה -3 האחרים מיועדים למדידות תאוצה זוויתיות.
באמצעות ההאצה וההאצה הזוויתית אפשר לקבל הערכה מדויקת למדי של הזווית
במדריך זה נבחן כיצד אנו יכולים להשתמש ב- MPU6050 עם ספרייה כדי להקל על העניינים.
אספקה
- לוח ארדואינו
- MPU6050
- חוטי מגשר
- לוח לחם
שלב 1: השלם את המעגל
החיישן משתמש בפרוטוקול המכונה I2c כדי לתקשר עם הארדואינו כדי לשלוח לו את הערכים.
סיכת A4 משמשת לשעון סדרתי SCL וצריכה להיות מחוברת ל- SCL של החיישן ו-, A5 לקו נתונים סידורי SDA.
ה- Vcc מחובר ל- 5v וה- Gnd מחובר לקרקע
שלב 2: קידוד
#כלול #כלול
לפני שאני מתחיל, הספרייה הזו לא נכתבה על ידי, אני רק חושב שהיא הפשוטה ביותר שם ואוהבת להשתמש בה.
אלה הם קבצי הכותרת ^^, wire.h משמש להקמת תקשורת i2c
MPU6050 mpu6050 (חוט);
כאן אנו מכנים את הג'ירוסקופ שלנו, או יוצרים אובייקט למי שמכיר את OOP.
הגדרת בטל () {
Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (נכון); }
בתחילה אנו מחשבים קיזוזים מכיוון שכל קריאות הזווית הולכות להיות ביחס לכיוון הראשוני.
לולאת חלל () {
mpu6050.update (); Serial.print ("angleX:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("\ tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("\ tangleZ:"); Serial.println (mpu6050.getAngleZ ()); }
כל אחד נותן לנו את מידת הזווית.
שלב 3: פונקציות אחרות
הספרייה מכילה פונקציות אחרות
כמו:
mpu6050.getTemp () // נותן את הטמפרטורה (לא מדויקת במיוחד)
mpu6050.getAccX () // האצה לינארית בכיוון X
(פונקציות דומות הן mpu6050.getAccY (), mpu6050.getAccZ ())
mpu6050.getGyroX () // האצה זוויתית סביב ציר ה- x
(פונקציות דומות הן mpu6050.getGyroY (), mpu6050.getGyroZ ())