Обзор модуля GY-521 (MPU-6050)

Обзор модуля GY-521 (MPU-6050)

Наверное задумывались, как телефон определяет вверх и низ, а так же наклоны. Все это стало возможно с появлением устройств акселерометр и гироскопу. Таким образом, телефон автоматически определяет, когда нужно переключить расположение экрана с портретного на альбомное. В статье расскажу о модуле GY-521 на чипе MPU-6050, который содержит в себе MEMS гироскоп и MEMS акселерометр и датчик температуры.

Технические параметры.

►  Основная микросхема: MPU-6050
►  Напряжение питания: 3.3 и 5 В
►  Режимы для акселерометра: ±2g, ±4g, ±6g, ±8g, ±16g;
►  Режимы для гироскопа: ±250°, ±500°, ±1000°, ±2000°;
►  Ширина шины IIC: 16 бит;

Общие сведения.

Основная микросхема модуль GY-521 чип MPU-6050 , который содержит в себе акселерометр и гироскоп, а так же датчик температуры. Обработка данных осуществляется с помощью 16-битное АЦП (Аналого-цифровой преобразователь) на каждый канал, поэтому он обрабатывает значение x, y и z одновременно. Встроенный датчик температуры предназначен для измерения температуры и имеет диапазон измерений от -40 ° С до + 85 ° С.
Для взаимодействия с Arduino используется шина I2C и датчик MPU-6050 всегда выступает в качестве подчиненного устройства. Но кроме обычной шины I2C, есть собственный контроллер I2C, в котором MPU-6050 ведомый, выводы SDA и XDA и с помощью это шины можно управлять например магнитометром и передавать данные на Arduino.
Гироскоп – инструмент, который позволяет измерить реакцию тела на перемещение углов и вообще ориентации. Акселерометр же служит измерителем проекции ускорения, которое только кажется.

Обзор модуля GY-521 (MPU-6050)

Датчика MPU-6050 работает от напряжение ~2.4 — 3.5 В и чтобы стабилизировать питание, на модуле GY-521 добавили стабилизатор напряжения на 3.3 В с малым падением напряжении, поэтому модуль можно подключить к напряжению 5 В и 3.3 В.

Обзор модуля GY-521 (MPU-6050)

На плате установлен один ряд разъема, шагом 2,54 мм, назначение каждого можно посмотреть ниже.

Назначение выводов:
►  VCC – «+» питание модуля 3.3 В до 5 В
►  GND – «-» питание модуля
►  SCL – линия синхронизации для протокола I2C
►  SDA – линия передачи данных протокола I2C
►  XDA – линия передачи данных протокола при работе в режиме мастера
►  XCL – линия синхронизации для протокола I2C при работе в режиме мастера
►  AD0 – если вывод лог «0» адрес I2C будет 0x68, если вывод лог «1» адрес I2C будет 0x69
►  INT – прерывание

Подключение GY-521 к Arduino

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Провод DuPont, 2,54 мм, 20 см x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
3-осевой гироскоп акселерометр GY-521 x 1 шт.

Подключение:
В примере будем использовать только первые четыре контакта VCC, GND, SDA и SCL. Сначала подключаем VCC и GND модуля GY-521 к 5V и GND. Далее нужно установить соединение I2C между модулем GY-521 и Arduino, для этого подключите вывод SCL модуля к выводу А4 Arduino и вывод модуля SCL к выводу A5 Arduino. Для удобства приведу схему подключение.

Обзор модуля GY-521 (MPU-6050)

Программа:
Чтобы протестировать модуль GY-521 сначала необходимо установить библиотеку «MPU6050» , скачать ее можно в конце статьи. Если все сделали правильно, при открытии Arduino IDE вы можете увидеть «MPU6050» в «Файл» -> «Примеры». 

#include "I2Cdev.h"                  // Подключение библиотеки I2Cdev
#include "MPU6050.h"                 // Подключение библиотеки MPU6050 
#include "Wire.h"                    // Подключение библиотеки WireCdev

MPU6050 CY531;                       // Создаем объект, символизирующий модуль датчика
int16_t ax, ay, az;                  // Переменные для хранения значений акселерометра
int16_t gx, gy, gz;                  // Переменные для хранения значений гироскоп

void setup()
{
Wire.begin();                         // Инициализация Wire
Serial.begin(38400);                  // Инициализация последовательного порта
Serial.println("Initializing I2C devices..."); // Печать текста
CY531.initialize();                   // Инициализация MPU
delay(100);                           // Пауза

}
void loop()
{
CY531.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // Чтение значений гироскопа и акселерометра

// вывод значений в монитор
Serial.print("a/g:\t");
Serial.print(ax); 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);
delay(500); 
}

  Скачать скетч

Если все правильно сделали и открыв мониторинг порта, можно увидеть данные

Обзор модуля GY-521 (MPU-6050)

Ссылки
 
Библиотека MPU-6050 

Купить на Aliexpress
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  3-осевой гироскоп акселерометр GY-521

О нас Сергей

Посмотреть также

Обзор модуля GSM, GPRS на чипе SIM800C

Обзор модуля GSM, GPRS на чипе SIM800C

В статье расскажу о плате разработке на чипе SIM800C, который поддерживает GSM, GPRS b Bluetooth с управлением AT командам.

Добавить комментарий

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