Начало работы с 6‑осевым IMU-датчиком MPU‑6050 на Arduino
Компоненты и материалы
| Arduino UNO | ×1 |
| IMU-модуль (6 степеней свободы) на базе MPU-6050 | ×1 |
О проекте
Изучаем лучший доступный IMU-датчик и его подключение к Arduino. В следующем уроке визуализируем движение в 3D.
Модуль построен на MPU-6050: 3-осевой гироскоп + 3-осевой акселерометр на одном кристалле с встроенным процессором движений (DMP), выполняющим сложные алгоритмы MotionFusion. Устройства предназначены для низкого потребления, низкой стоимости и высокой производительности в смартфонах, планшетах и носимых гаджетах.

Необходимое оборудование
- Arduino UNO
- Датчик MPU-6050
- Соединительные провода

Программное обеспечение
- Arduino IDE
Протокол связи
I2C (SDA -> A4, SCL -> A5). Комбинированный модуль точнее, чем раздельные датчики.

Схемы подключения


Если проблемы — используйте таблицу пинов:
- VCC (MPU-6050) -> 5V (Arduino) или 3.3V, если на модуле нет стабилизатора
- SDA -> A4
- SCL -> A5
- GND -> GND
- INT -> Digital pin 2


Установка библиотек
- Скачайте
MPU6050.zipиI2Cdev.zip, распакуйте и положите папки вlibrariesArduino. - В IDE: Файл → Примеры → MPU6050 → Examples → MPU6050_DMP6.
- Подключите библиотеки
I2CdevиMPU6050. - Компилируйте и загрузите.





Настройка порта и Serial Monitor
Проверьте правильный COM-порт. После загрузки откройте Serial Monitor (Ctrl+Shift+M), установите скорость 115200 бод. Если надпись «Initializing I2C devices…» не появилась — нажмите RESET.


Что такое DMP?
DMP (Digital Motion Processing) — встроенный процессор движений, обрабатывающий данные акселерометра и гироскопа для выдачи точных 3D-углов: Yaw, Pitch, Roll.

Что такое I2C?
I2C — двухпроводная шина (SDA — данные, SCL — такт) с адресацией устройств. Arduino — мастер, MPU-6050 — слейв.
Визуализация в 3D — в следующем уроке.

Код (Arduino code for MPU sensor)
// I2Cdev and MPU6050 must be installed as libraries...
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
#include "Wire.h"
#endif
MPU6050 mpu;
// ... (полный код примера MPU6050_DMP6 с настройкой DMP, чтением FIFO, выводом Yaw/Pitch/Roll и др.)
Полный код объёмный — см. оригинальный пример MPU6050_DMP6 в библиотеке.
Схема

Производственный процесс
- Датчик слежения за линией на Raspberry Pi — простой детектор двери/линии KY‑033
- Построение надёжного Temperature & Sensor API на Raspberry Pi с модулем GY‑91
- Управление светодиодом с PIR-датчиком движения на Raspberry Pi
- Мастерство GPIO Raspberry Pi: подключение PIR-датчика движения на B+/Model 2
- Подключение, калибровка и программирование PIR-датчика HC‑SR501 с Raspberry Pi
- Начало работы с TJBot: сборка, настройка и голосовое управление ИИ-роботом
- Пошаговое руководство по развертыванию LoRa-шлюза RAK 831 на Raspberry Pi 3
- Сборка LoRa-шлюза на модуле RAK831 и Raspberry Pi 3 — пошаговое руководство
- ИИ в страховании: практическое руководство для реального внедрения
- Урок Arduino для начинающих 01: Начало работы с первым проектом