MPU6050 הוא חיישן רב-תכליתי ובמחיר סביר המשלב תאוצה של 3 צירים וג'ירוסקופ 3 צירים לחבילה יחידה. זה מתקשר דרך ממשק I2C ומושלם למעקב אחר תנועה, איזון רובוטים ובקרות מבוססות מחווה. הדרכה זו תראה לכם כיצד להתממשק ל- MPU6050 עם ארדואינו.
מה תצטרך
- מודול MPU6050
- לוח ארדואינו (למשל, אונו, מגה, ננו)
- קרש לחם
- חוטי מגשר
- מחשב עם Arduino IDE המותקן
שלב 1: חיווט MPU6050 ל- Arduino
ה- MPU6050 משתמש בפרוטוקול I2C, הדורש רק שני קווי נתונים: SDA (נתונים) ו- SCL (שָׁעוֹן). להלן החיבורים האופייניים:
PIN MPU6050 | סיכת ארדואינו אונו |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
פֶּתֶק: בדוק את Pinout של לוח ה- I2C הספציפי שלך אם אתה משתמש במודל אחר.
שלב 2: התקן את ספריית MPU6050
כדי להקל על הממשק עם MPU6050, אנו נשתמש בספריית "MPU6050".
- פתח את IDE Arduino.
- לך אל סְקִיצָה > כלול ספרייה > לנהל ספריות.
- במנהל הספרייה, חפש "MPU6050 על ידי חתולים אלקטרוניים".
- בחר בספריה ולחץ לְהַתְקִין.
שלב 3: העלה את הקוד
להלן דוגמה בסיסית לקריאת נתוני תאוצה וגיירוסקופ מ- MPU6050:
#include <Wire.h>
#include <MPU6050.h>
MPU6050 mpu;
void setup() {
Serial.begin(9600);
Wire.begin();
Serial.println("Initializing MPU6050...");
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 sensor!");
while (1) {
delay(10);
}
}
Serial.println("MPU6050 Initialized.");
}
void loop() {
mpu.update();
Serial.print("Accel X: ");
Serial.print(mpu.getAccX());
Serial.print(" | Accel Y: ");
Serial.print(mpu.getAccY());
Serial.print(" | Accel Z: ");
Serial.println(mpu.getAccZ());
Serial.print("Gyro X: ");
Serial.print(mpu.getGyroX());
Serial.print(" | Gyro Y: ");
Serial.print(mpu.getGyroY());
Serial.print(" | Gyro Z: ");
Serial.println(mpu.getGyroZ());
delay(500); // Update every 500ms
}
שלב 4: בדוק את ההתקנה
- חבר את הארדואינו שלך למחשב באמצעות כבל USB.
- פתח את ה- Arduino IDE ובחר את הנכון לוּחַ וכן נָמָל מה- כְּלֵי עֲבוֹדָה תַפרִיט.
- העלה את הקוד על ידי לחיצה על העלה לַחְצָן.
- פתח את הצג הסדרתי (כְּלֵי עֲבוֹדָה > צג סידורי) וקבעו את שיעור הבוד
9600
. - אתה אמור לראות קריאות תאוצה חיות וקריאות גירוסקופ מוצגות.
הבנת הנתונים
- תאוצה (Accel X, Y, Z): מודד תאוצה לינארית בשלושה צירים.
- Gyroscope (Gyro X, Y, Z): מודד מהירות זוויתית (מהירות סיבוב) סביב שלושה צירים.
פתרון בעיות
- חיישן לא זוהה: בדוק שוב את החיווט וודא שקווי I2C מחוברים נכון.
- אין פלט בצג סידורי: ודא ששיעור Baud תואם את הגדרת הקוד (9600).
- קריאות שגויות: שמור על רמת החיישן במהלך האתחול כדי למנוע סחף.
יישומים של MPU6050
- איזון רובוטים
- הכרת מחוות
- מעקב אחר תנועה עבור VR/AR
- מכשירי מעקב אחר כושר
מַסְקָנָה
מזל טוב! התממשקים בהצלחה ב- MPU6050 עם ארדואינו וקראו נתוני תנועה בזמן אמת. חיישן זה מגוון להפליא וניתן להשתמש בו באינספור פרויקטים. נסה לשלב את MPU6050 בפרויקט הבא שלך מבוסס תנועה ולשחרר את הפוטנציאל שלו!