ARDUINO-lgoo

Скица за тестирање на комбиниран сензор ARDUINO GY87

ARDUINO-GY87-Combined-Sensor-Test-Sketch-product

Вовед

Ако сте страствен производител или љубител на роботика, наидовте на овој мал, но моќен модул. Модулот GY-085 IMU е одличен начин да додадете сензор за движење на вашите проекти, како робот кој се балансира или квадрикоптер.
Но, пред да започнете да експериментирате со модулот 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 оски и дигитален процесор за движење. Многу се користи во роботски проекти, како квадкоптери и други беспилотни летала (UAVs), бидејќи може точно да ја мери и следи ориентацијата и движењето. Се користи и во други апликации, како што се навигација, игри и виртуелна реалност.

Хардверски компоненти

Ќе ви треба следниов хардвер за поврзување на модулот GY-87 IMU MPU6050 HMC5883L BMP085 со Arduino.

Компоненти Вредност Количина
Arduino UNO 1
MPU6050 Сензорски модул GY-87 1
Даска за леб 1
Скокачки жици 1

GY-87 со Arduino 

Сега кога го разбравте GY-87, време е да се вклучите со Arduino. За да го направите тоа, следете го Сега кога го разбравте GY-87, време е да се поврзете со Arduino. За да го направите тоа, следете

Шематски

Направете поврзување според дијаграмот на колото даден подолу

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoARDUINO-GY87-Combined-Sensor-Test-Sketch-fig 1Жици / Приклучоци

Ардуино Сензор MPU6050
5V VCC
ГНД ГНД
A4 СДА
A5 SCA

Инсталирање на Arduino IDE 

Прво, треба да го инсталирате софтверот Arduino IDE од неговиот официјален претставник webсајт Arduino. Еве едноставен водич чекор-по-чекор за „Како да инсталирате Arduino IDE“.

Инсталирање библиотеки 

Пред да започнете да поставувате код, преземете ги и отпакувајте ги следните библиотеки на /Program Files (x86)/Arduino/Libraries (стандардно) за да го користите сензорот со плочката Arduino. Еве едноставен водич чекор-по-чекор за „Како да додавате библиотеки во Arduino IDE“.

  • MPU6050
  • Adafruit_BMP085
  • HMC5883L_Едноставно

Код 

Сега копирајте го следниов код и поставете го на софтверот Arduino IDE.

#вклучи „I2Cdev.h“ #вклучи „MPU6050.h“ #вклучи #вклучи MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Едноставен компас; int085_t секира, ај, аз; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = неточно; void setup() { Serial.begin(16); Wire.begin(); // иницијализирај уреди Serial.println(„Иницијализирање на I13C уреди…“); // иницијализирај bmp9600 if (!bmp.begin()) { Serial.println(„Не можев да најдам валиден BMP2 сензор, проверете (!bmp.begin()) { Serial.println(„Не можев да најдам валиден BMP085 сензор, проверете Serial.println(accelgyro.testConnection() ? „MPU085 конекцијата не успеа“ : „MPU085 connection не успеа“); 6050, „Е“);amplingMode (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”); ( Serial.print(bmp.readAltitude()); Serial.println („метри“); Serial.print („Притисок на ниво на заптивка (пресметано) = „);
Serial.print(bmp.readSealevelPressure()); Serial.println(“Pa”);
Serial.print („Вистинска надморска височина = „); 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(“\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 („Наслов: \t“); Serial.println( наслов ); // трепка LED за означување на активноста blinkState = !blinkState;
digitalWrite (LED_PIN, blinkState); доцнење (500); }

Ајде да го тестираме 

Откако ќе го поставите кодот, време е да го тестирате колото! Кодот во програмата Arduino се поврзува со сензорите користејќи ги нивните библиотеки, што му овозможува да чита податоци од сензорите и да поставува различни конфигурации на сензорите. Потоа ги печати податоците од сензорот преку сериската порта. ЛЕР се користи за да покаже дека колото прави нешто. Ова значи дека сијаличката трепка секогаш кога се активира функцијата за јамка, што покажува дека кодот активно ги чита вредностите на сензорот.

Работно објаснување 

Кодот е главната работа на која се заснова работата на колото. Значи, да го разбереме кодот:.

  • Прво, вклучува неколку библиотеки за интерфејс со сензорите:
  • „I2Cdev.h“ и „MPU6050.h“ се библиотеки за сензорот за акцелерометар/жироскоп со 6050 оски MPU6
  • „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 се иницијализира со повикување на методот start(). Ако ова се врати false, што покажува дека сензорот не може да се најде, програмата влегува во бесконечна јамка и печати порака за грешка преку сериската порта.
  • Сензорот MPU6050 се иницијализира со повикување на методот иницијализирање() и проверка дали работи правилно. И го постави бајпасот I2C овозможен за MPU6050.
  • Сензорот HMC5883L се иницијализира со повикување на некои функции, како што се SetDeclination, SetSamplingMode, SetScale и SetOrientation, за поставување различни конфигурации за сензорот.
  • Во функцијата loop(), кодот ги чита податоците од трите сензори и ги печати преку сериската порта:
  • Ги чита температурата, притисокот, надморската височина и притисокот на ниво на морето од сензорот.
  • Чита необработени мерења за забрзување и жироскоп од сензорот MPU6050.
  • Го чита насловот од сензорот HMC5883L, што е аголот помеѓу насоката во која покажува сензорот и насоката во која лежи магнетниот север.
  • Конечно, трепка LED-то за да покаже активност и чека момент пред повторно да ги прочита сензорите.

Документи / ресурси

Скица за тестирање на комбиниран сензор ARDUINO GY87 [pdf] Упатство за користење
Тест скица на комбиниран сензор GY87, GY87, Тест скица на комбиниран сензор, скица за тестирање на сензор, Тест скица

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *