Arduino GY-6500

Arduino GY-6500
Артикул: 2504528

производитель: Arduino
Требуется установка или ремонт?

сервисный центр Kypidetali!

тел. +7(499)347-04-82

Описание Arduino GY-6500

Отличный выбор! GY-6500 — это популярный и недорогой модуль на базе гироскопа и акселерометра MPU-6500 от TDK (ранее InvenSense). Вот подробное описание, характеристики и совместимость.


Краткое описание модуля GY-6500

GY-6500 — это компактная плата-датчик (breakout board), которая содержит микросхему MPU-6500 и все необходимые обвязочные компоненты для удобного подключения к микроконтроллерам, таким как Arduino.

Основная функция: Одновременное измерение угловых скоростей (гироскоп) и линейных ускорений (акселерометр) по трём взаимно перпендикулярным осям (X, Y, Z). Это ключевой компонент для проектов, связанных с ориентацией в пространстве: квадрокоптеры, стабилизаторы, навигационные системы, шагомеры, управление жестами.

Ключевые особенности модуля:

  • Всё в одном: 3-осевой гироскоп + 3-осевой акселерометр.
  • Цифровой выход: Общение по стандартным интерфейсам I2C (основной) и SPI (для высокой скорости).
  • Встроенный преобразователь уровней: Позволяет работать как с логикой 3.3В, так и , что делает модуль полностью безопасным для Arduino (5В).
  • Маленькие размеры: Обычно около 20.5 x 15.2 мм.
  • Наличие пинов для прерываний (INT) и вспомогательного I2C (AUX).
  • Низкое энергопотребление.

Технические характеристики

Характеристики приведены для чипа MPU-6500, лежащего в основе модуля.

Акселерометр:

  • Количество осей: 3 (X, Y, Z)
  • Диапазоны измерений: Программно выбираемые: ±2g, ±4g, ±8g, ±16g
  • Разрешение: 16-битный АЦП
  • Погрешность нуля: ±60 мг (тип.)
  • Собственный шум: 400 µg/√Hz (тип.)

Гироскоп:

  • Количество осей: 3 (X, Y, Z)
  • Диапазоны измерений: Программно выбираемые: ±250, ±500, ±1000, ±2000 °/сек
  • Разрешение: 16-битный АЦП
  • Погрешность нуля: ±20 °/сек (тип.)

Общие параметры:

  • Напряжение питания: 3.3В - 5В (благодаря встроенному стабилизатору/преобразователю на модуле)
  • Интерфейсы связи:
    • I2C (основной): Адрес по умолчанию 0x68 (может быть изменён на 0x69 перепайкой перемычки на модуле). Скорость до 400 кГц.
    • SPI: Скорость до 20 МГц (для высокоскоростных приложений).
  • Тактовая частота: Встроенный генератор 24 МГц или внешний опорный сигнал 32.768 кГц.
  • Встроенная память: FIFO-буфер (буфер "очередь") объёмом 1024 байта для хранения данных без участия процессора.
  • Температурный датчик: Встроенный, с разрешением 0.1°C.
  • Цифровой выход движения (DMP): Уникальная особенность! Внутри чипа есть отдельный сопроцессор, который может выполнять сложные вычисления (фильтры, определение жестов, ориентации), разгружая основной микроконтроллер.
  • Потребляемый ток: ~4.5 мА в режиме измерения гиро+аксель.

Парт-номера и совместимые модели

1. Основная микросхема на модуле:

  • MPU-6500 — это главный парт-номер. Иногда на модуле может быть указан MPU-6500.

2. Прямые аналоги и совместимые модули:

Эти модули функционально идентичны или очень близки к GY-6500 и используют те же библиотеки:

  • GY-521 (на базе MPU-6050) — практически полный аналог по распиновке и работе. MPU-6050 не имеет SPI, только I2C, но для большинства проектов с Arduino этого достаточно. Библиотеки и код взаимозаменяемы в 99% случаев.
  • MPU-9250 / GY-9250 — более продвинутая версия, которая дополнительно включает в себя 3-осевой магнитометр (компас). Программно совместим по части гироскопа и акселерометра.
  • MPU-6050 Breakout Board — любая плата с чипом MPU-6050.

3. Семейство совместимых датчиков InvenSense/TDK:

Чипы из этого семейства имеют схожую архитектуру и регистры, что позволяет использовать адаптированные версии библиотек:

  • MPU-6000 (SPI/I2C, аналог 6050)
  • MPU-6050 (только I2C)
  • MPU-9150 (6050 + магнитометр в одном корпусе)
  • MPU-9250/9255 (6500 + магнитометр)
  • ICM-20600, ICM-20948 (более новые модели)

Подключение к Arduino (по I2C)

Самый распространённый способ. Подключение идентично модулю GY-521.

Распиновка модуля GY-6500 (типовая):

  • VCC -> 5V или 3.3V на Arduino
  • GND -> GND на Arduino
  • SCL -> A5 (или SCL-пин на Arduino Uno/Nano)
  • SDA -> A4 (или SDA-пин на Arduino Uno/Nano)
  • INT -> Любой цифровой пин (опционально, для прерываний)
  • ADO -> Перемычка для смены адреса I2C (0x68/0x69)

Необходимые библиотеки для работы с Arduino

Для MPU-6500 можно использовать библиотеки, написанные для MPU-6050, так как они регистрово-совместимы.

  1. Классическая и самая популярная: MPU6050_tockn (или просто MPU6050 от Jeff Rowberg). Удобна, много примеров.
    • Установка: через Менеджер библиотек Arduino IDE (искать "MPU6050").
  2. Универсальная и мощная: Adafruit MPU6050 от Adafruit. Хорошо документирована, работает с MPU-6500.
    • Установка: Через Менеджер библиотек. Нужно также установить зависимые библиотеки Adafruit BusIO и Adafruit Unified Sensor.
  3. Для работы с DMP (Digital Motion Processor): Библиотека i2cdevlib от Jeff Rowberg. Позволяет использовать всю мощь встроенного сопроцессора для расчёта углов (Yaw, Pitch, Roll) прямо на датчике.

Пример простейшего кода (используя библиотеку MPU6050_tockn):

#include <MPU6050_tockn.h>
#include <Wire.h>

MPU6050 mpu6050(Wire);

void setup() {
  Serial.begin(9600);
  Wire.begin();
  mpu6050.begin();
  mpu6050.calcGyroOffsets(true); // Калибровка гироскопа (держите датчик неподвижно!)
}

void loop() {
  mpu6050.update();
  Serial.print("angleX : ");
  Serial.print(mpu6050.getAngleX());
  Serial.print("\tangleY : ");
  Serial.print(mpu6050.getAngleY());
  Serial.print("\tangleZ : ");
  Serial.println(mpu6050.getAngleZ());
  delay(100);
}

Итог: GY-6500 — это отличный, современный и доступный датчик движения для Arduino. Его главные преимущества — наличие интерфейса SPI "на будущее" и полная совместимость с огромной кодобазой и библиотеками от более старого MPU-6050 (GY-521), что делает начало работы максимально простым.

Совместимые модели для Arduino GY-6500

Arduino GY-6500