Подключение гироскопа MPU6050 к Arduino

Содержание

Гироскопический датчик MPU6050 имеет достаточно много функций в своем составе. Он включает в себя микро электромеханический акселерометр (измеритель ускорения), микро электромеханический гироскоп и датчик температуры. Датчик обеспечивает высокую точность преобразования аналоговых значений в цифровые поскольку имеет на каждом канале 16-битный АЦП (аналого-цифровой преобразователь). Этот модуль способен одновременно обрабатывать информацию сразу по трем осям (каналам): x, y и z. Он имеет интерфейс I2C для взаимодействия с другими устройствами. Это один из немногих компактных модулей на рынке, который имеет в своем составе и гироскоп, и акселерометр. Этот модуль находит широкое применение в таких устройствах как дроны, роботы, датчики движения. Также этот модуль иногда называют гироскопом или трехосевым акселерометром.

Внешний вид проекта подключения гироскопа MPU6050 к Arduino

В этой статье мы рассмотрим подключение датчика (гироскопа) MPU6050 к плате Arduino и будем отображать поступающие от него значения на ЖК дисплее 16×2.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Гироскопический датчик (гироскоп) MPU-6050 (купить на AliExpress).
  3. ЖК дисплей 16х2 (купить на AliExpress).
  4. Потенциометр 10 кОм (купить на AliExpress).
  5. Соединительные провода.
  6. Макетная плата.
  7. USB кабель.
  8. Источник питания

Гироскопический датчик (гироскоп) MPU-6050

MPU-6050 представляет собой 8-пиновый 6-осевой гироскоп и акселерометр на едином чипе. По умолчанию данный модуль работает по интерфейсу I2C, но можно задействовать и интерфейс SPI. В нашем проекте мы будем использовать интерфейс (режим) I2C и в этом режиме нам понадобятся контакты SDA и SCL модуля.

Внешний вид гироскопа MPU-6050

Распиновка MPU-6050:
Vcc – контакт для подачи питающего напряжения постоянного тока;
GND – земля модуля;
SDA – это контакт используется для передачи данных между модулем mpu6050 и микроконтроллером;
SCL – вход синхронизации;
XDA – линия передачи данных (опциональная) по протоколу I2C для конфигурирования и считывания данных с внешних датчиков (не используется в нашем проекте);
XCL – вход синхронизации протокола I2C для конфигурирования и считывания данных с внешних датчиков (не используется в нашем проекте);
ADO – I2C Slave Address LSB (не используется в нашем проекте);
INT – контакт прерывания для индикации готовности данных.

Общие принципы работы проекта

В этом проекте мы будем показывать на экране ЖК дисплея данные температуры, гироскопа и акселерометра, считываемые с датчика MPU6050. С этого датчика можно считывать "сырые" (row values) и нормированные значения, но "сырые" значения нестабильны, поэтому на экране ЖК дисплея мы будем показывать нормированные значения.

Сначала на ЖК дисплее мы будем показывать температуру, затем через 10 секунд будем показывать данные гироскопа и еще через 10 секунд данные акселерометра.

Показываем значение температуры, измеренное с помощью MPU6050

Показываем значения гироскопа, измеренные с помощью MPU6050

Работа схемы

Схема подключения гироскопа MPU6050 к плате Arduino представлена на следующем рисунке.

Схема подключения гироскопа MPU6050 к Arduino

Наш проект мы запитали по кабелю USB от компьютера. Потенциометр 10 кОм используется для регулировки яркости ЖК дисплея. У датчика MPU6050 мы задействовали 5 контактов:

  • контакт питания – к контакту 3.3v платы Arduino;
  • землю – к земле платы Arduino;
  • контакты SCL и SDA датчика MPU6050 – к контактам A4 и A5 платы Arduino;
  • контакт прерывания (INT) MPU6050 – к контакту прерывания 0 (D2) платы Arduino.

Контакты RS, RW и EN ЖК дисплея непосредственно подключены к контактам 8, gnd и 9 платы Arduino. Контакты данных ЖК дисплея подключены к контактам 10, 11, 12 и 13 платы Arduino.

Объяснение работы программы для Arduino

В нашем проекте для взаимодействия с гироскопом MPU6050 мы использовали специальную библиотеку (MPU6050 library) для работы с ним. Скачайте ее по приведенной ссылке с сервиса GitHub и установите ее в вашу Arduino IDE.

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


Источник: microkontroller.ru