ARDUINO-lgoo

Схема тестирования комбинированного датчика ARDUINO GY87

ARDUINO-GY87-Комбинированный-сенсор-тест-эскиз-продукт

Введение

Если вы заядлый производитель или энтузиаст робототехники, вы столкнулись с этим крошечным, но мощным модулем. Если вы заядлый производитель или энтузиаст робототехники, вы столкнулись с этим крошечным, но мощным модулем барометра BMP085. Модуль GY-87 IMU — отличный способ добавить датчик движения к вашим проектам, таким как самобалансирующийся робот или квадрокоптер.
Но прежде чем вы сможете начать экспериментировать с модулем IMU GY-87, вам нужно знать, как связать его с вашей платой Arduino. Вот где этот блог входит! В следующих параграфах мы рассмотрим основы модуля GY-87 IMU, как его настроить и как написать код Arduino для чтения данных датчика. Мы также предоставим несколько советов и ресурсов для устранения распространенных проблем.
Итак, если вы готовы начать, давайте погрузимся и узнаем о взаимодействии модуля IMU GY-87 с Arduino!

Что такое GY-87 IMU MPU6050

Модули блока инерциальных измерений (IMU), такие как GY-87, объединяют множество датчиков в одном корпусе, например, акселерометр/гироскоп MPU6050, магнитометр HMC5883L и датчик барометрического давления BMP085. Следовательно, GY-87 IMU MPU6050 представляет собой универсальный 9-осевой модуль отслеживания движения, который сочетает в себе 3-осевой гироскоп, 3-осевой акселерометр, 3-осевой магнитометр и цифровой процессор движения. Он часто используется в роботизированных проектах, таких как квадрокоптеры и другие беспилотные летательные аппараты (БПЛА), потому что он может точно измерять и отслеживать ориентацию и движение. Он также используется в других приложениях, таких как навигация, игры и виртуальная реальность.

Аппаратные компоненты

Вам потребуется следующее оборудование для сопряжения модуля GY-87 IMU MPU6050 HMC5883L BMP085 с Arduino.

КомпонентыЦенитьКол-во
Ардуино УНО1
MPU6050 Сенсорный модульGY-871
Макетная плата1
Провода-перемычки1

GY-87 с Ардуино 

Теперь, когда вы поняли GY-87, пришло время взаимодействовать с Arduino. Для этого выполните следующие действия. Теперь, когда вы поняли GY-87, пришло время взаимодействовать с Arduino. Для этого следуйте

Схема

Выполните соединения в соответствии со схемой, приведенной ниже.

GY-87 IMU MPU6050 HMC5883L BMP085 АрдуиноARDUINO-GY87-Combined-Sensor-Test-Sketch-рис. 1Проводка / соединения

АрдуиноДатчик MPU6050
5VВКЦ
ЗемляЗемля
A4ПДД
A5СКА

Установка Arduino IDE 

Во-первых, вам необходимо установить программное обеспечение Arduino IDE с официального сайта. webсайт Ардуино. Вот простое пошаговое руководство «Как установить Arduino IDE».

Установка библиотек 

Прежде чем начать загрузку кода, загрузите и разархивируйте следующие библиотеки в /Program Files (x86)/Arduino/Libraries (по умолчанию), чтобы использовать датчик с платой Arduino. Вот простое пошаговое руководство «Как добавить библиотеки в Arduino IDE».

  • MPU6050
  • Адафрут_BMP085
  • HMC5883L_Простой

Код 

Теперь скопируйте следующий код и загрузите его в программное обеспечение Arduino IDE.

#include "I2Cdev.h" #include "MPU6050.h" #include #включать ускорительный гироскоп MPU085; Adafruit_BMP5883 bmp; HMC6050L_Простой компас; int085_t топор, ау, аз; int5883_t гх, гы, гз; #define LED_PIN 16 bool blinkState = false; недействительными настройками () { Serial.begin (16); Провод.начать(); // инициализируем устройства Serial.println("Инициализация устройств I13C..."); // инициализируем bmp9600 if (!bmp.begin()) { Serial.println("Не удалось найти допустимый датчик BMP2, проверьте (!bmp.begin()) { Serial.println("Не удалось найти допустимый датчик BMP085, check Serial.println(accelgyro.testConnection() ? «Успешное соединение с MPU085» : «Сбой соединения с MPU085»); accelgyro.setI6050CBypassEnabled(true); // установить режим обхода для шлюза на hmc6050L // инициализировать hmc2l Compass.SetDeclination(5883, 5883, 'Е'); Compass.SetSamplingMode (COMPASS_SINGLE);
Компас.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // настроить светодиод Arduino для проверки активности pinMode(LED_PIN, OUTPUT); } недействительный цикл () {
Serial.print («Температура =»); Serial.print(bmp.readTemperature());
Serial.println("*C"); Serial.print("Давление = ");
Serial.print(bmp.readPressure()); Serial.println("Па"); // Рассчитать высоту, предполагая «стандартное» барометрическое давление // 1013.25 мбар = 101325 Паскалей Serial.print("Altitude = "); Serial.print(bmp.readAltitude()); Serial.println («метры»); Serial.print("Давление на уровне моря (расчетное) = ");
Serial.print(bmp.readSealevelPressure()); Serial.println("Па");
Serial.print("Реальная высота = "); Serial.print (bmp.readAltitude (101500));
Serial.println («метры»); // прочитать необработанные измерения ускорения/гироскопа с устройства accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // отображение значений ускорения/гироскопа x/y/z, разделенных табуляцией Serial.print("a/g:\t"); Serial.print (топор);
Serial.print("\t"); Serial.print (ау); Serial.print("\t"); Серийный.принт(аз);
Serial.print("\t"); Серийный .print (gx); Serial.print("\t"); Serial.print(гы);
Serial.print("\t"); Серийный.println(gz); плавающий заголовок =
Compass.GetHeadingDegrees(); Serial.print("Заголовок: \t"); Serial.println(заголовок); // мигать светодиодом для индикации активности 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 инициализируется вызовом метода begin(). Если это возвращает false, указывая на то, что датчик не может быть найден, программа входит в бесконечный цикл и печатает сообщение об ошибке через последовательный порт.
  • Датчик MPU6050 инициализируется вызовом метода initialize() и проверкой правильности его работы. И он включил обход I2C для MPU6050.
  • Датчик HMC5883L инициализируется вызовом некоторых функций, таких как SetDeclination, SetSamplingMode, SetScale и SetOrientation для настройки различных конфигураций датчика.
  • В функции loop() код считывает данные с трех датчиков и распечатывает их через последовательный порт:
  • Он считывает температуру, давление, высоту над уровнем моря и давление на уровне моря с датчика.
  • Он считывает необработанные измерения ускорения и гироскопа с датчика MPU6050.
  • Он считывает курс с датчика HMC5883L, который представляет собой угол между направлением, в котором указывает датчик, и направлением, в котором лежит магнитный север.
  • Наконец, он мигает светодиодом, чтобы указать на активность, и ждет некоторое время, прежде чем повторно считывать показания датчиков.

Документы/Ресурсы

Схема тестирования комбинированного датчика ARDUINO GY87 [pdf] Руководство пользователя
Комбинированный тестовый эскиз датчика GY87, GY87, Комбинированный тестовый эскиз датчика, Тестовый эскиз датчика, Тестовый эскиз

Ссылки

Оставьте комментарий

Ваш адрес электронной почты не будет опубликован. Обязательные поля отмечены *