ARDUINO-lgoo

סקיצת בדיקת חיישן משולב ARDUINO GY87

ARDUINO-GY87-משולב-חיישן-בדיקה-סקיצה-מוצר

מָבוֹא

אם אתה יצרן מושבע או חובב רובוטיקה, נתקלת במודול הזעיר אך החזק הזה אם אתה יצרן מושבע או חובב רובוטיקה, נתקלת בברומטר המודול הזעיר אך החזק הזה BMP085. מודול GY-87 IMU הוא דרך מצוינת להוסיף חישת תנועה לפרויקטים שלך, כמו רובוט באיזון עצמי או quadcopter.
אבל לפני שתוכל להתחיל להתנסות במודול GY-87 IMU, אתה צריך לדעת איך לממשק אותו עם לוח Arduino שלך. זה המקום שבו הבלוג הזה נכנס לתמונה! בפסקאות הבאות, נסקור את היסודות של מודול GY-87 IMU, כיצד להגדיר אותו וכיצד לכתוב את קוד Arduino כדי לקרוא את נתוני החיישן. כמו כן, נספק כמה טיפים ומשאבים לפתרון בעיות נפוצות.
אז, אם אתה מוכן להתחיל, בוא נצלול פנימה וללמוד על התממשקות מודול GY-87 IMU עם Arduino!

מה זה GY-87 IMU MPU6050

מודולי יחידת מדידה אינרציאלית (IMU) כמו GY-87 משלבים חיישנים רבים לחבילה אחת, כגון מד התאוצה/גירוסקופ MPU6050, המגנומטר HMC5883L וחיישן הלחץ הברומטרי BMP085. לפיכך, ה-GY-87 IMU MPU6050 הוא מודול מעקב תנועה של 9 צירים הכל-באחד המשלב גירוסקופ בן 3 צירים, מד תאוצה של 3 צירים, מגנומטר 3 צירים ומעבד תנועה דיגיטלי. הוא משמש הרבה בפרויקטים רובוטיים, כמו quadcopters וכלי טיס בלתי מאוישים אחרים (מל"טים), מכיוון שהוא יכול למדוד במדויק ולעקוב אחר כיוון ותנועה. הוא משמש גם ביישומים אחרים, כגון ניווט, משחקים ומציאות מדומה.

רכיבי חומרה

תזדקק לחומרה הבאה עבור ממשק GY-87 IMU MPU6050 HMC5883L BMP085 מודול עם Arduino.

רכיבים עֵרֶך כמות
Arduino UNO 1
MPU6050 מודול חיישן GY-87 1
קרש לחם 1
חוטי מגשר 1

GY-87 עם ארדואינו 

עכשיו אחרי שהבנתם את GY-87, הגיע הזמן להתממשק עם ה- Arduino. כדי לעשות זאת, עקוב אחר כעת לאחר שהבנת את GY-87, הגיע הזמן להתממשק עם ה- Arduino. כדי לעשות זאת, עקוב

סכימתי

בצע חיבורים בהתאם לתרשים המעגל המופיע להלן

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoARDUINO-GY87-Combined-Sensor-Test-Sketch-Sketch-איור 1חיווט / חיבורים

ארדואינו חיישן MPU6050
5V VCC
GND GND
A4 SDA
A5 SCA

התקנת Arduino IDE 

ראשית, עליך להתקין את תוכנת Arduino IDE מהרשמית שלה webאתר Arduino. להלן מדריך פשוט שלב אחר שלב על "כיצד להתקין את Arduino IDE."

התקנת ספריות 

לפני שתתחיל להעלות קוד, הורד ופתח את הספריות הבאות ב- /Program Files (x86)/Arduino/Libraries (ברירת מחדל) על מנת להשתמש בחיישן עם לוח Arduino. הנה מדריך פשוט שלב אחר שלב על "כיצד להוסיף ספריות ב- Arduino IDE."

  • MPU6050
  • Adafruit_BMP085
  • HMC5883L_פשוט

קוד 

כעת העתק את הקוד הבא והעלה אותו ל- Arduino IDE Software.

#include "I2Cdev.h" #include "MPU6050.h" #include #לִכלוֹל MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Simple Compass; int085_t ax, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = false; void setup() { Serial.begin(16); Wire.begin(); // אתחול התקנים Serial.println("אתחול התקני I13C..."); // אתחול bmp9600 if (!bmp.begin()) { Serial.println(“לא ניתן היה למצוא חיישן BMP2 חוקי, בדוק (!bmp.begin()) { Serial.println(“לא ניתן היה למצוא חיישן BMP085 חוקי, check Serial.println(accelgyro.testConnection() ? "חיבור MPU085 נכשל": "חיבור MPU085 נכשל"; 6050, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // הגדר Arduino LED לבדיקת פעילות pinMode(LED_PIN, OUTPUT); } void loop() {
Serial.print("טמפרטורה = "); Serial.print(bmp.readTemperature());
Serial.println(" *C"); Serial.print(“לחץ = “);
Serial.print(bmp.readPressure()); Serial.println(" Pa"); // חשב גובה בהנחה ברומטרי 'סטנדרטי' // לחץ של 1013.25 מיליבר = 101325 Pascal Serial.print(“Altitude = “); Serial.print(bmp.readAltitude()); Serial.println("מטרים"); Serial.print("לחץ בגובה הים (מחושב) = ");
Serial.print(bmp.readSealevelPressure()); Serial.println(" Pa");
Serial.print(“Real altitude = “); Serial.print(bmp.readAltitude(101500));
Serial.println("מטרים"); // קרא מדידות accel/gyro גולמיות מהמכשיר accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // הצג ערכי accel/gyro x/y/z מופרדים בטאבים Serial.print(“a/g:\t”); Serial.print(ax);
Serial.print(“\t”); Serial.print(ay); Serial.print(“\t”); Serial.print(az);
Serial.print(“\t”); Serial.print(gx); Serial.print(“\t”); Serial.print(gy);
Serial.print(“\t”); Serial.println(gz); כותרת ציפה =
Compass.GetHeadingDegrees(); Serial.print("Heading: \t"); Serial.println( heading); // נורית מהבהבת לציון פעילות blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState); delay(500); }

בואו נבחן את זה 

ברגע שאתה מעלה את הקוד, הגיע הזמן לבדוק את המעגל! הקוד בתוכנית Arduino מתממשק עם החיישנים באמצעות הספריות שלהם, מה שמאפשר לו לקרוא נתוני חיישנים ולקבוע תצורות שונות של החיישנים. ואז הוא מדפיס את נתוני החיישן דרך היציאה הטורית. הנורית משמשת כדי להראות שהמעגל עושה משהו. המשמעות היא שהנורית מהבהבת בכל פעם שפונקציית הלולאה מופעלת, מה שמציין שהקוד קורא באופן פעיל ערכי חיישן.

הסבר עבודה 

הקוד הוא הדבר העיקרי עליו מבוססת עבודת המעגל. אז בואו נבין את הקוד:.

  • ראשית, הוא כולל מספר ספריות להתממשק עם החיישנים:
  • "I2Cdev.h" ו-"MPU6050.h" הן ספריות עבור חיישן מד התאוצה/גירוסקופ MPU6050 בעל 6 צירים
  • "Adafruit_BMP085.h" היא ספרייה עבור חיישן הלחץ הברומטרי BMP085.
  • "HMC5883L_Simple.h" היא ספרייה עבור חיישן המגנומטר HMC5883L.
  • לאחר מכן הוא יוצר אובייקטים גלובליים עבור שלושת החיישנים: MPU6050 accelgyro, Adafruit_BMP085 bmp ו-HMC5883L_Simple Compass.
  • לאחר מכן, הוא מגדיר כמה משתנים לאחסון ערכי חיישן, כגון ax, ay ו-az עבור מד התאוצה של MPU6050 ולפנייה למגנטומטר של HMC5883L. והוא מגדיר קבוע LED_PIN ומשתנה blinkState.
  • הפונקציה setup() מתחילה תקשורת טורית ומתחילה תקשורת I2C. ואז הוא מאתחל את שלושת החיישנים:
  • חיישן BMP085 מאותחל על ידי קריאה לשיטת begin() . אם זה מחזיר false, מה שמציין שלא ניתן היה למצוא את החיישן, התוכנית נכנסת ללולאה אינסופית ומדפיסה הודעת שגיאה על היציאה הטורית.
  • חיישן MPU6050 מאותחל על ידי קריאה לשיטת initialize() ובדיקה אם היא פועלת כהלכה. והוא הגדיר את מעקף I2C מופעל עבור MPU6050.
  • חיישן HMC5883L מאותחל על ידי קריאה לפונקציות מסוימות, כגון SetDeclination, SetSamplingMode, SetScale ו-SetOrientation, להגדרת תצורות שונות לחיישן.
  • בפונקציה loop(), הקוד קורא נתונים משלושת החיישנים ומדפיס אותם דרך היציאה הטורית:
  • הוא קורא טמפרטורה, לחץ, גובה ולחץ בגובה פני הים מהחיישן.
  • הוא קורא תאוצה גולמית ומדידות ג'ירוסקופ מהחיישן MPU6050.
  • הוא קורא את הכותרת מהחיישן HMC5883L, שהיא הזווית בין הכיוון שאליו מצביע החיישן לבין הכיוון שבו נמצא הצפון המגנטי.
  • לבסוף, הוא מהבהב עם הנורית כדי לציין פעילות ומחכה רגע לפני קריאה חוזרת של החיישנים.

מסמכים / משאבים

סקיצת בדיקת חיישן משולב ARDUINO GY87 [pdfמדריך למשתמש
סקיצת בדיקה של חיישן משולב GY87, GY87, סקיצת בדיקת חיישן משולב, סקיצת בדיקת חיישן, סקיצת בדיקה

הפניות

השאר תגובה

כתובת האימייל שלך לא תפורסם. שדות חובה מסומנים *