Оглавление:
Предлагаем небольшое руководство по взаимодействию сенсорного модуля MPU-6050 (он во многих гироскутерах) с платой микроконтроллера Arduino.
InvenSense MPU-6050 — это знакомый многим по гироскутерам недорогой высокоточный инерциальный измерительный блок (IMU) с шестью степенями свободы (DOF). IMU могут измерять ускорение, инерцию и ряд других параметров, чтобы вы могли определить их пространственное положение и скорость. Он содержит 3-х осевой акселерометр MEMS и 3-х осевой гироскоп MEMS в одном чипе. Он также имеет встроенный цифровой процессор движения (DMP), который обрабатывает сложные 6-ти осевые алгоритмы MotionFusion. Этот сенсорный модуль может подключаться к внешним магнитометрам или другим сенсорам через вспомогательную ведущую шину IIC для обеспечения полного 9-ти осевого вывода MotionFusion. MPU-6050 также имеет датчик температуры, но он менее точен.
Примеры использования MPU-6050
- Автомобильная промышленность — развертывание подушек безопасности
- Игровые контроллеры — Wii remote/ Wiimote
- Система стабилизации камеры
- Жесткие диски
- Персональные цифровые помощники — смартфоны, планшеты
- Робототехника
- Беспилотные летательные аппараты (БПЛА)
- Автомобильная навигация
- Акселерометр
- Гироскутеры
Этот прибор используется для измерения ускорения, скорости изменения скорости конкретного объекта. Объект, движущийся с постоянной скоростью, будет иметь нулевое ускорение. Акселерометр в MPU-6050 трехосевой, это означает что он измеряет ускорение по осям X, Y и Z.
Гироскоп это еще один ключевой компонент MPU-6050, который может измерять угловой момент или вращение вокруг осей X, Y и Z.
Гироскоп MEMS состоит из трех датчиков, по одному на каждую ось, которые производят напряжение при вращении. Это напряжение измеряется внутри с помощью 16-ти разрядного аналого-цифрового преобразователя.
Распиновка и схема
- VCC — источник питания 3,3 В
- GND — земля
- SCL — таймер
- SDA — данные
- XDA — вспомогательные последовательные данные (используется, когда к этому модулю подключен другой датчик)
- XCL — вспомогательные последовательные таймеры (используются, когда к этому модулю подключен другой датчик)
- AD0 — бит адреса I2C. Позволяет изменить внутренний адрес I2C модуля MPU-6050. Его можно использовать, если модуль конфликтует с другим устройством I2C, или если нужно использовать два MPU-6050 на одной шине I2C.
- INT — выход прерывания
Схема с Ардуино Уно:
Схема с Ардуино Мега:
Взаимодействие MPU-6050 с Arduino
Для сопряжения MPU-6050 с Arduino понадобятся библиотека разработки I2C Джеффа Роуберга и библиотека MPU-6050. Эти библиотеки будут загружены в формате .ZIP, и можете напрямую добавить эти папки в свою среду разработки Arduino IDE.
- Откройте среду разработки Arduino.
- Перейдите в меню Sketch из верхней строки меню.
- Выберите «Включить библиотеку».
- Выберите параметр «Добавить библиотеку ZIP».
- Перейдите в папку загрузок или любую другую, в которой сохранили библиотеку .ZIP, и выберите ее.
- В нижней части Arduino IDE появится сообщение о том, что библиотека добавлена в ваш список.
- Повторите шаги, чтобы добавить вторую библиотеку.
Теперь, когда добавлены обе необходимые библиотеки, попробуйте открыть пример скетча и загрузить его на плату микроконтроллера Arduino. Поэкспериментируйте с сенсорным модулем MPU-6050, вращая его, и наблюдайте за изменениями показаний, отображаемых на последовательном мониторе. Подробнее о модуле можно посмотреть тут.










