Подключение GY-521 (MPU 6050) к Arduino

4-03-2020, 17:38 0 комментариев
В новой информационной статье хотим поговорить с вами о том, как подключить GY-521 (MPU 6050), какие задачи имеет данный модуль, где применяется и т.д. Речь идет о двойном устройстве на базе одноименной микросхемы (с совмещенными опциями трех-осевого гироскопа, термометра и акселерометра).

Такие модели часто применяются в любительских проектах для определения положения в пространстве, а также для конструирования и усовершенствования простейших навигационных девайсов. Кроме того, датчик можно задействовать для измерения количества оборотов в секунду, регуляции мощности охладительных систем и даже для автоматизации различных производственных процессов.

В продолжение темы рассмотрим основные технические параметры датчика:
  • напряжение питания: 3,5 – 6V;
  • рабочий ток: 500 мкА;
  • тип шины: I2C;
  • диапазон измерений акселерометра: ± 2, 4, 8, 16 г;
  • разрядность АЦП: 16.

Подключение MPU 6050 к Arduino

Распиновка выводов показана на скриншоте:
Реализовываем несложный проект подключения всех аппаратных компонентов через интерфейс I2C. Для этого нам понадобится следующее «железо»:
  1. микроконтроллер Ардуино Uno;
  2. 3-осевой гироскоп-акселерометр GY-521;
  3. соединительные провода (набор);
  4. макетная плата (прототипирования);
  5. USB-кабель для подключения к компьютеру.
Принципиальная схема сборки:
А так она выглядит на макете:

 Чтобы наладить соединение (получить необходимые значения) и просто проверить правильность подключения, пропишем скетч:
#include "I2Cdev.h"
#include "MPU6050.h"

#define T_OUT 20

MPU6050 accel;

unsigned long int t_next;

void setup() {
    Serial.begin(9600);
    accel.initialize();
    Serial.println(accel.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");
}

void loop() {
    long int t = millis();
    if( t_next < t ){
        int16_t ax_raw, ay_raw, az_raw, gx_raw, gy_raw, gz_raw;

        t_next = t + T_OUT;
        accel.getMotion6(&ax_raw, &ay_raw, &az_raw, &gx_raw, &gy_raw, &gz_raw);
 
        Serial.println(ay_raw); // вывод в порт проекции ускорения на ось Y
    }
}
В нем мы использовали 2 специализированных софта – библиотеки MPU6050 и I2Cdev. Их следует скачать и инсталлировать в среду программирования IDE (как обычно, разархивируем файлы в директорию libraries).
http://git.robotclass.ru/download/Arduino/MPU6050.zip
http://git.robotclass.ru/download/Arduino/I2Cdev.zip

Управление стандартное – через монитор последовательного порта (Serial Monitor ). Открываем при помощи сочетания клавиш Ctrl+Shift+M или через меню Инструменты. В нем "побегут" нужные нам показания.

Можно значительно модернизировать сборку, добавив различные передатчики, движущиеся платформы, приемники, блоки питания (батарей) и т.д. Все зависит от ваших возможностей и целей.

На этом наша статья подошла к концу. Надеемся, что материал был для вас информативным и вы сможете применить полученные знания в собственных проектах! Следите за нашим блогом! Удачи!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

В этой статье мы рассмотрим подключение ADS1115 к Ардуино. Речь идет о 16-битном аналого-цифровом преобразователе, оснащенном 4 входами непосредственно для...

На повестке дня - подключение LM35 к Arduino. Сегодня мы рассмотрим модуль устройства, его базовые характеристики, область применения и схему подключения. И...

На повестке дня – подключение L293D к Arduino, знакомство с техническими характеристиками модуля, его практическим применением и простейшими схемами сборки....

В новом информационном обзоре рассматриваем GSM модуль SIM800L к Arduino. Почему выбрано именно это устройство? Во-первых, оно достаточно известно и популярно...

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