Mpu 6050 подключение к arduino: Работа с Arduino и MPU6050

Содержание

Гироскоп-акселерометр GY-521 | 2 Схемы

Данный модуль представляет собой комбинированный датчик, объединяющий гироскоп, акселерометр и термометр. Акселерометр – это прибор, который измеряет ускорение тела. В состоянии покоя, либо равномерного прямолинейного движения на поверхности Земли акселерометр покажет только наличие ускорения, обусловленного действием поля силы тяжести Земли. Гироскоп способен реагировать на изменение ориентации тела в пространстве. И гироскоп, и акселерометр работают вдоль 3-х координатных осей. Для передачи информации устройство использует интерфейс I2C, это последовательный интерфейс позволяющий организовать обмен сообщениями по двухпроводной линии между 128 устройствами, одно из которых является главным, а остальные ведомыми [1-2]. Модуль гироскоп-акселерометр приобретен на Aliexpress.com

Модуль гироскоп-акселерометр на Aliexpress

Конструктивно модуль представляет собой печатную плату размером 20 х 15 мм, масса 1,5 г с припаянной гребенкой контактов.

Модуль гироскоп-акселерометр

Устройство поставляется в антистатическом пакете в комплекте с парой не припаянных контактных гребенок.

Непосредственно на печатной плате имеется маркировка контактных площадок, а также обозначены две геометрических оси X и Y, третья ось Z перпендикулярно плоскости платы, от наблюдателя, если смотреть со стороны радиокомпонентов.

Естественно данное устройство относится к весьма сложным датчикам. Досконально разобраться в работе подобных устройств сложно, да и не всегда нужно, можно просто воспринимать устройство как «черный ящик», когда мы знаем только какие сигналы надо в этот черный ящик отправит, и какие сигналы в ответ из него мы можем получить. Хотя разумеется чем больше знаний, тем лучше.

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

Аппаратная платформа Arduino тем и хороша, что для большого количества стандартных датчиков можно найти готовые программные решения. Не является исключением и данное устройство [3-5].

Хотя в общей сложности GY-521 имеет 8 контактов для демонстрации совместной работы с Arduino UNO достаточно всего четырех проводов, остальные контакты нужны для более сложных вариантов взаимодействия [6]. В данном простейшем случае в качестве ведущего устройства выступает плата Arduino UNO. Выводы SDA и SLC гироскопа подключаются соответственно к контактам A4 и A5 платы Arduino [7]. Именно через эти выводы на Arduino UNO реализован данный интерфейс.

Вообще-то линии интерфейса I2C должны быть соединены с шиной питания через резисторы сопротивлением 4,7 кОм [1-2], но в случае одного датчика на макетной плате, все работало и так. Два варианта программы для Arduino, которые опрашивают гироскоп-акселерометр GY-521 можно скачать здесь [8].

Гироскоп-акселерометр питается напряжением 3,3 В от Arduino, ток потребления составляет около 5 мА.

На плате гироскопа-акселерометра располагается индикатор питания.

Испытания гироскопа

В мониторе последовательного порта Arduino IDE. Видно, что если прикоснуться к микросхеме на плате датчика рукой, то датчик покажет рост температуры.

Гироскоп-акселерометр GY-521

При изменении ориентации модуля в пространстве изменяется показания акселерометра, отображающие, вдоль какой оси (X,Y,Z соответственно) прибора действует ускорение свободного падения.

Влияние резкого поворота вдоль каждой из осей на показания гироскопа.

Помимо самого очевидного применения в летательных аппаратах гироскоп-акселерометр может оказаться полезным в умной одежде, всевозможных устройствах управления, балансирующих роботах [9], системах сигнализации и т.п. Одним словом интересное и недорогое устройство с широкими возможностями. Автор обзора — Denev.

  1. Блум Д. Изучаем Arduino: инструменты и методы технического волшебства: Пер. с англ. — СПб.: БХВ-Петербург, 2015. — 336 с.
  2. http://robocraft.ru/blog/communication/780.html
  3. http://forumdvrobot.ru/forum/3-41-1
  4. https://ngin.pro/index.php?newsid=188
  5. http://arduinoprojects. ru/2014/10/подключение-гироскопа-gy-521-mpu-6050-к-arduio/
  6. https://arduino-kit.ru/catalog/id/modul-3-h-osevogo-giroskopa-i-akselerometra-gy-521-mpu-6050
  7. https://mysku.ru/blog/china-stores/40178.html
  8. http://playground.arduino.cc/Main/MPU-6050#sketch
  9. http://robocraft.ru/blog/projects/570.html

Знакомство с девятиосевым модулем MPU 9250.

Модуль GY-9250 на базе одноименной микросхемы MPU9250 включает в себя трёхосевой гироскоп, трёхосевой акселерометр и трёхосевой магнитометр (магниторезистивный компас). Такая связка позволяет отслеживать положение в пространстве.

Модуль GY-9250 может, к примеру, применяться в системах управления различных мобильных роботов и БПЛА.

Характеристики:

  • Питание: 3,3 … 5 В постоянного тока
  • Интерфейсы подключения: I2C, SPI
  • Диапазон измерений акселерометра: +/- 2G, +/- 4G, +/- 8G, +/- 16G
  • Диапазон измерений гироскопа: +/- 250, +/- 500, +/- 1000, +/- 2000°/с
  • Чувствительность гироскопа: 131, 65,5, 32,8, 16,4 LSB/°/c
  • Диапазон измерений компаса магнитометра: +/- 4800 мкТл
  • Рабочий ток: гироскоп – 3,2 мА, акселерометр – 450 мкА, магнитометр – 280 мкА

Модуль имеет 10 выводов, но для подключения по интерфейсу I2C нам необходимо использовать лишь 4 из них:

VCC – Питание

GND – ”Земля”

SCL – Шина данных I2C

SDA – Шина данных I2C

Подключение к Arduino:

Для подключения и работы с модулем нам необходимы:

  • Любая Arduino-совместимая плата
  • Компьютер с установленной средой Arduino IDE.
  • USB кабель для подключения Arduino к персональному компьютеру

Для демонстрации работы модуля соберем на макетной плате схему с использованием графического модуля LCD1602 для наглядного представления показаний.

Подробнее узнать о модуле LCD1602 и его подключении можно здесь.

Принципиальная схема подключения компонентов:

 

 

Скетч для Arduino:

Для считывания показаний с датчиков и подключения дисплея необходимо использовать библиотеки*:

LiquidCrystal_I2C.h

MPU9250.h

Wire.h

Если их нет в вашей среде ArduinoIDE, загрузить их можно в разделе “Менеджер библиотек”.

*Библиотека Arduino – программный код, хранящийся не в скетче, а во внешних файлах, которые можно подключить к вашему проекту. Библиотека содержит в себе различные методы и структуры данных, которые нужны для упрощения работы с датчиками, индикаторами, модулями и другими электронными компонентами.

Код:

#include <LiquidCrystal_I2C.h>    // Подключение необходимых библиотек
#include <MPU9250.h>              //
#include <Wire.h>                 //
 
LiquidCrystal_I2C lcd(0x3f,16,2); // задание параметров дисплея
 
MPU9250 mpu;                      // просто нужно
 
void setup()
{
    Serial.begin(115200); 
 
    Wire.begin();
 
    delay(2000);
    mpu.setup();
    mpu.setMagneticDeclination(11.2);  //в скобках необходимо указать магнинтное отклонение
                                       //местности, в которой вы находитесь http://www.magnetic-declination.com/ 
    delay(5000);
 
    mpu.calibrateAccelGyro();          // калибровка акселерометра и гироскопа
    mpu.calibrateMag();                // калибровка магнитометра
 
    mpu.printCalibration();            // вывод сообщения о калибровке в серийный порт
 
    //экран
    lcd.
init(); // запуск дисплея lcd.backlight(); // включение подсветки дисплея lcd.setCursor(0,0); // установка курсора в ячейку на дисплее lcd.print("x"); // вывод на экран lcd.setCursor(6,0); lcd.print("y"); lcd.setCursor(11,0); lcd.print("z"); lcd.setCursor(0,1); lcd.print("ax:"); lcd.setCursor(8,1); lcd.print("ay:"); }   void loop() { static uint32_t prev_ms = millis(); if ((millis() - prev_ms) > 16) { mpu.update(); mpu.print();   prev_ms = millis();   lcd.setCursor(1,0); lcd.print(int(mpu.getRoll())); // выводим на экран округленное значение по оси X lcd.print(" "); lcd.setCursor(7,0); lcd.print(int(mpu.getPitch())); // выводим на экран округленное значение по оси Y lcd.
print(" "); lcd.setCursor(12,0); lcd.print(int(mpu.getYaw())); // выводим на экран округленное значение по оси Z lcd.print(" "); lcd.setCursor(3,1);   float ux = mpu.getAcc(0)*1000; // задаем переменную для ускорения по оси X lcd.print(int(ux)); // выводим на экран округленное значение ускорения в размерности g*1000 lcd.print(" ");   lcd.setCursor(11,1); float uy = mpu.getAcc(1)*1000; // задаем переменную для ускорения по оси Y lcd.print(int(uy)); // выводим на экран округленное значение ускорение в размерности g*1000 lcd.print(" "); delay(50);   } }

Как сделать своими руками дрон на Ардуино Уно

Дрон — очень дорогой гаджет. Как собрать квадрокоптер самому в домашних условиях? В этой инструкции я собираюсь рассказать, как сделать своими руками квадрокоптер по дешевке.

Рама коптера и контроллер полета — самодельные. Конструкция сборки доступна даже для начинающих.

Рама состоит из алюминиевой антенны (штанги), лопасти вентилятора из алюминиевого плафона и дерева. Arduino UNO наряду с MPU6050 (гироскоп + Accle) используется в качестве контроллера полёта.

Шаг 1: Материалы

Это материалы, которые используются для моего дрона. Вы можете использовать любые детали / материалы по вашему усмотрению. Если вы хотите сделать его максимально дешевым, то можете воспользоваться списком материалов ниже.

Ссылки на Амазон:

Список со ссылками на banggood:

Ссылки на gearbest:

Шаг 2: Установка моторов

Когда вы покупаете моторы, крепление мотора и несколько винтов входят в комплект. Крепление алюминиевого мотора с винтами идет с ним. (см. рисунок). Установите его на двигатель, используя винты.

Шаг 3: Делаем раму

Я использую старую алюминиевую антенну, мягкое дерево и алюминиевую пластину (лопасть вентилятора), чтобы сделать каркас.

Отрежьте 4 куска алюминиевого бруска по 20см. Размер центральной пластины составляет около 11 * 18 см…. Деревянное крепление для двигателя имеет длину около 10 см и диаметр 4,5 см (там, где установлен двигатель).

Закрепите алюминиевые стержни с помощью центральной пластины с помощью винтов и вставьте крепление двигателя под алюминиевые стержни. Ваша рама готова (см. видео).

Шаг 4: Устанавливаем все компоненты (ESC и моторы на раму)

Теперь прикрепите моторы к деревянному креплению с помощью винтов и гаек (любых типов) и соедините с ними провод ESC (произвольно), зафиксируйте ESC с помощью изоленты или стяжек, в моем случае это изолента (дешевле, чем стяжки). После подключения всех моторов и ESC отрежьте провода ESC +ve и –ve и подключите все ESC с помощью проводов или PDB. Я использую провода, потому что в моей раме нет места для ESC. Всё готово.

Шаг 5: Контроллер полёта

На основе Ардуино Уно и MPU6050, создайте контроллер полёта.

Мой контроллер основан на Joop Brokking’s YMFC-AL и его автоуровневом квадрокоптере.

Соедините все согласно диаграмме.

Шаг 6: Соединяем ESC и ресивер с контроллером полёта

*** Не соединяйте BEC-провод ESC (5 вольт), соединяйте лишь сигнальный провод
*** Запитывайте ресивер от 5вольтового источника Ардуино

Соединение ESC:

  • Цифровой пин-4 к ESC1 (правый передний CCW)
  • Цифровой пин-5 к ESC2 (правый задний CW)
  • Цифровой пин-6 к ESC3 (левый задний CCW)
  • Цифровой пин-7 к ESC4 (левый передний CW)

Соединение ресивера:

  • Цифровой пин-8 к каналу 1 ресивера
  • Цифровой пин-9 к каналу 2 ресивера
  • Цифровой пин-10 к каналу 3 ресивера
  • Цифровой пин-11 к каналу 4 ресивера

Шаг 7: Настройка контроллера полёта (загрузка скетча)

*** На этом этапе не подключайте лётную батарею

Теперь загрузите Arduino IDE и приложенный скетч и извлеките файл. Вы найдете схемы YMFC-Al, файл Readme, код калибровки ESC, код настройки и код контроллера полета.

Arduino IDE
Скетч контроллера полета

Сначала загрузите код и откройте последовательный монитор на 56000b и следуйте инструкциям в видео
Если ошибки не возникло, загрузите скетч калибровки ESC после загрузки кода. Поставьте передатчик на полную мощность и подключите летную батарею после нескольких звуковых сигналов, выключите дроссель (я думаю, что этот метод работает не для всех типов и марок ESC, но у меня это работает отлично).

После загрузки скетча калибровки ESC загрузите скетч контроллера полета и Ваш FC готов.

Файлы

Шаг 8: Установка электроники в кейс и монтаж

После завершения всех работ по соединению электрокомпонентов, положите всю электронику в коробку и завершите всю проводку. Теперь установите винты CCW на двигатели CCW и винты CW на двигатели CW. Вы готовы к полету.

Самое сложное в создании этого квадрокоптера — настройка PID. Я сломал 2 пары пропеллеров и коробку с электроникой, пытаясь научиться летать на ней.

данных DMP из i2cdevlib - проекты Geek Mom

В марте я писал об экспериментах с микросхемой IMU MPU-6050 (установленной в коммутационной плате GY-521). Кажется, что многие люди используют MPU-6050, и я хотел бы получить дополнительную информацию, потому что есть более эффективные способы доступа и обработки комбинированных данных датчика, чем были продемонстрированы в этом посте. В предыдущем эксперименте необработанные данные от датчиков 3-осевого акселерометра и 3-осевого гироскопа сравнивались с результатами, когда необработанные данные объединялись с помощью дополнительного фильтра.

Для сравнения я адаптировал программу из Arduino Playground Wiki на MPU-6050, чтобы получать необработанные данные акселерометра и гироскопа из MPU-6050. Программа рассчитывала тангаж, крен и рыскание (вращение вокруг X, Y и Z осей, соответственно, также известен как Углы Эйлера ). Эти расчеты были ограничены некоторыми свойствами как акселерометра, так и гироскопа. Данные гироскопа имеют тенденцию дрейфовать со временем, а данные акселерометра зашумлены и затрудняют расчет углов поворота в диапазонах более 180 градусов.Формулы (*) для вычисления крена,

и тангажа, (вы не можете вычислить рыскание по данным акселерометра) из показаний акселерометра:

Диапазон функции

составляет, которая определяет диапазон движения, которое вы можете легко обнаружить с помощью IMU с помощью этих функций. Кроме того, использование углов Эйлера для вычислений вращения может привести к проблеме, известной как Gimbal Lock . Поскольку повороты на угол Эйлера выполняются последовательно (например, крен, тангаж и затем рыскание), проблемы возникают, когда второе вращение в последовательности приближается к 90 градусам (), поскольку это приводит к выравниванию первой и третьей осей вращения друг с другом.Эту концепцию сложно объяснить, но видео на YouTube ниже неплохо с этим справляется:

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

Использование DMP для обработки данных

MPU6050 IMU содержит DMP (цифровой процессор движения), который объединяет данные акселерометра и гироскопа вместе, чтобы минимизировать влияние ошибок, присущих каждому датчику.DMP вычисляет результаты в терминах кватернионов и может преобразовывать результаты в углы Эйлера, а также выполнять другие вычисления с данными. Invensense не раскрывает алгоритм, который они используют для объединения данных, но мне было любопытно посмотреть, как результаты, полученные DMP, сравниваются с теми, которые я вычислил с помощью дополнительного фильтра.

Следовательно, следующим шагом было выяснить, как извлечь данные из DMP. К счастью, Джефф Роуберг написал и опубликовал очень полезную библиотеку i2cdevlib, которая делает именно это.Его можно скачать по адресу: https://github.com/jrowberg/i2cdevlib. Чтобы использовать его с MPU 6050, вам потребуются библиотечные функции в папке Arduino / MPU6050. Чтобы установить библиотеку, просто скопируйте папку Arduino / MPU6050 в то же место, что и другие ваши библиотеки Arduino.

Я использовал коммутационную плату Arduino Nano и GY-521, содержащую MPU-6050, для запуска демонстраций. Для этой настройки требуются следующие подключения: (Arduino <-> GY-521)

При использовании i2cdevlib между MPU-6050 и Arduino требуется 5 соединений.
  • 5V <-> VCC (GY-521 содержит регулятор напряжения и может использовать 3,3 В или 5 В)
  • GND <-> GND
  • A5 <-> SCL
  • A4 <-> SDA
  • Вывод 2 Arduino <-> INT (используется для прерываний)

Демонстрация чайника

Библиотека MPU6050 содержит папку «Примеры» с демонстрационной версией MPU6050_DMP6. Внутри этой папки находится скетч Arduino MPU6050_DMP6.ino для чтения кватернионных данных из DMP и отправки их через последовательный порт, а также скетч обработки MPUTeapot.pde, чтобы считывать данные из последовательного порта и отображать вращения графически.

Демоверсия запускалась более или менее прямо из коробки с небольшими изменениями. Единственное изменение, которое я внес в скетч Arduino, заключалось в уменьшении скорости передачи данных через последовательный порт с 115200 до 38400 (это установлено в строке 163 скетча). Скорость 115200, казалось, подавляла Nano, но скорость 38400 работала хорошо.

Скетч обработки называется MPUTeapot.pde, хотя отображаемый на нем рисунок представляет собой трехмерную стрелку, а не чайник.Я предполагаю, что в более ранних версиях этого скетча был изображен чайник. Я видел в сети несколько рабочих демонстраций версии для чайников, например это видео на YouTube:

Если вы собираетесь запустить этот пример, убедитесь, что вы используете 32-битную версию Processing, поскольку с момента последней проверки я проверял, что это единственная версия, которая работает с последовательной связью.

Чтобы скетч Processing заработал, мне пришлось внести следующие изменения:

  • Изменена скорость передачи данных последовательного порта на 38400, чтобы соответствовать скорости Arduino.Я также указал, с какого последовательного порта читать данные.
  • Данные, поступающие через последовательный порт в 14-байтовых пакетах, не были правильно выровнены. Каждый 14-байтовый пакет начинается с символа «$», поэтому я изменил программу, чтобы игнорировать все байты, прочитанные до первого «$».
  • Эскиз обработки отправляет символ через последовательный порт в Arduino, чтобы сообщить ему, чтобы он начал отправку данных. Я обнаружил, что скетч висит здесь, поэтому я попросил скетч «Обработка» отправить пару дополнительных символов на всякий случай.Вроде решило проблему. Вы можете скачать мою слегка измененную версию скетча Processing здесь:

Ниже видео-демонстрация демонстрационных зарисовок «чайника». Трехмерный самолет / стрелка на эскизе обработки следует за вращением IMU без значительного дрожания или запаздывания. Кроме того, демонстрация легко выполняет повороты на любой угол, даже более 180 градусов. Также было интересно то, что в течение первых нескольких секунд рисунок показывает значительный дрейф рыскания, но примерно через 8 секунд удержания IMU в неподвижном состоянии дрейф прекращается.Я предполагаю, что DMP выполняет какую-то калибровку для корректировки дрейфа рысканья. Дополнительный фильтр, который я использовал в предыдущем посте, смог скорректировать дрейф гироскопа по тангажу и крену, объединив данные акселерометра и гироскопа на этих осях, но, поскольку акселерометры не обеспечивают рыскание, он не смог исправить дрейф по рысканью . Я думаю, что, если у вас нет хороших алгоритмов калибровки и объединения данных, использование данных, рассчитанных с помощью DMP, дает значительное преимущество.

Я работаю над параллельным сравнением данных DMP идополнительный фильтр, который обсуждался в моем предыдущем посте о MPU-6050, и надеюсь, что скоро напишу о нем.

(*) Кстати, я только что открыл для себя использование LaTeX для форматирования уравнений в WordPress, и мне это очень нравится.

Связанные

MPU6050 Распиновка, конфигурация, характеристики, интерфейс Arduino и техническое описание

MPU6050 Конфигурация контактов

Номер контакта

Имя контакта

Описание

1

Vcc

Обеспечивает питание модуля, может быть от + 3В до + 5В.Обычно используется + 5В

2

Земля

Подключено к заземлению системы

3

Последовательные часы (SCL)

Используется для обеспечения тактового импульса для связи I2C

4

Последовательные данные (SDA)

Используется для передачи данных через соединение I2C

5

Вспомогательные последовательные данные (XDA)

Может использоваться для сопряжения других модулей I2C с MPU6050.Необязательно

6

Вспомогательные последовательные часы (XCL)

Может использоваться для сопряжения других модулей I2C с MPU6050. Необязательно

7

AD0

Если в одном MCU используется более одного MPU6050, то этот вывод можно использовать для изменения адреса

8

Прерывание (INT)

Вывод прерывания, указывающий, что данные доступны для чтения MCU.

MPU6050 Характеристики

  • 3-осевой акселерометр MEMS и 3-осевой гироскоп, объединенные значения
  • Источник питания: 3-5 В
  • Связь: протокол I2C
  • Встроенный 16-разрядный АЦП обеспечивает высокую точность
  • Встроенный DMP обеспечивает высокую вычислительную мощность
  • Может использоваться для взаимодействия с другими устройствами IIC, такими как магнитометр
  • Настраиваемый адрес IIC
  • Встроенный датчик температуры

Альтернатива MPU 6050

ADXL335 (3-осевой акселерометр), ADXL345 (3-осевой акселерометр), MPU9250 (9-осевой IMU)

Где использовать MPU 6050

MPU6050 - это микроэлектромеханическая система ( MEMS ), которая состоит из 3-осевого акселерометра и 3-осевого гироскопа внутри него.Это помогает нам измерять ускорение, скорость, ориентацию, смещение и многие другие параметры движения системы или объекта. Этот модуль также имеет внутри себя цифровой процессор движения (DMP), который достаточно мощный, чтобы выполнять сложные вычисления и, таким образом, освобождает микроконтроллер от работы.

Модуль также имеет два вспомогательных контакта, которые можно использовать для подключения внешних модулей IIC, таких как магнитометр, но это необязательно. Поскольку адрес IIC модуля является настраиваемым, более одного датчика MPU6050 можно подключить к микроконтроллеру с помощью вывода AD0.Этот модуль также имеет хорошо документированные и обновленные библиотеки, поэтому его очень легко использовать с известными платформами, такими как Arduino. Итак, если вы ищете датчик для управления движением для вашего RC Car , Drone , Selfbalancing Robot , Humanoid , Biped или чего-то подобного, то этот датчик может быть правильным выбором для вас.

Как использовать MPU 6050

Аппаратное обеспечение модуля очень простое, оно фактически состоит из MPU6050 в качестве основных компонентов, как показано выше.Поскольку модуль работает от 3,3 В, также используется стабилизатор напряжения. Линии IIC подтягиваются высоко с помощью резистора 4,7 кОм, а вывод прерывания сбрасывается с помощью другого резистора 4,7 кОм.

Модуль MPU6050 позволяет нам считывать данные с него через шину IIC. Любое изменение движения будет отражено в механической системе, которая, в свою очередь, изменит напряжение. Затем у ИС есть 16-битный АЦП, который он использует для точного считывания этих изменений напряжения, сохраняет их в буфере FIFO и переводит вывод INT (прерывание) в высокий уровень.Это означает, что данные готовы к чтению, поэтому мы используем MCU для чтения данных из этого буфера FIFO через связь IIC. Как бы просто это ни звучало, вы можете столкнуться с некоторой проблемой, пытаясь разобраться в данных. Однако существует множество платформ, таких как Arduino, на которых вы можете начать использовать этот модуль в кратчайшие сроки, воспользовавшись легкодоступными библиотеками, описанными ниже.

Взаимодействие MPU6050 с Arduino

очень легко связывать MPU6050 с Arudino , благодаря библиотеке, разработанной Джеффом Роубергом.Вы можете скачать библиотеку по ссылке ниже

Джефф Роуберг Библиотека MPU6050 для Arudino

После того, как вы добавили эту библиотеку в свою Arduino IDE, следуйте приведенным ниже схемам, чтобы установить соединение IIC между вашим Arduino и MPU6050 .

Библиотека предоставляет два примера программ, которые можно найти в Файл -> Примеры -> MPU6050. В этих двух примерах один будет давать необработанные значения, а другой - оптимизированные значения с использованием DMP.Следующие значения данных можно получить с помощью этого примера программы.

  • Кватернионные компоненты [w, x, y, z]
  • Углы Эйлера
  • Рыскание, тангаж, крен
  • Ускорение в реальном мире
  • Мировое ускорение кадра
  • Чайник изобретать смысл Ценности

Из всех этих данных обычно используются значения Yaw, Pitch, Roll. Однако библиотека способна на большее, и ее можно использовать для разных целей.После загрузки программы откройте последовательный монитор и установите скорость передачи 115200 бод, и вы должны увидеть, как данные печатаются на экране.

Приложения

  • Используется для измерения IMU
  • Дроны / квадрокоптеры
  • Самобалансирующиеся роботы
  • Органы управления роботизированной рукой
  • Роботы-гуманоиды
  • Датчик наклона
  • Детектор ориентации / вращения

2D Модель MPU 6050

Лучшая цена arduino с mpu6050 - отличные предложения на arduino с mpu6050 от global arduino с продавцами mpu6050

Отличные новости !!! Вы попали в нужное место для arduino с mpu6050.К настоящему времени вы уже знаете, что что бы вы ни искали, вы обязательно найдете это на AliExpress. У нас буквально тысячи отличных продуктов во всех товарных категориях. Ищете ли вы товары высокого класса или дешевые и недорогие оптовые закупки, мы гарантируем, что он есть на AliExpress.

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

AliExpress никогда не уступит по выбору, качеству и цене. Каждый день вы будете находить новые онлайн-предложения, скидки в магазинах и возможность сэкономить еще больше, собирая купоны. Но вам, возможно, придется действовать быстро, поскольку этот топовый Arduino с mpu6050 вскоре станет одним из самых востребованных бестселлеров. Подумайте, как вам будут завидовать друзья, когда вы скажете им, что приобрели свой arduino с mpu6050 на AliExpress.Благодаря самым низким ценам в Интернете, дешевым тарифам на доставку и возможности получения на месте вы можете еще больше сэкономить.

Если вы все еще не уверены в Arduino с mpu6050 и думаете о выборе аналогичного продукта, AliExpress - отличное место для сравнения цен и продавцов. Мы поможем вам решить, стоит ли доплачивать за высококлассную версию или вы получаете столь же выгодную сделку, приобретая более дешевую вещь.А если вы просто хотите побаловать себя и потратиться на самую дорогую версию, AliExpress всегда позаботится о том, чтобы вы могли получить лучшую цену за свои деньги, даже сообщая вам, когда вам будет лучше дождаться начала рекламной акции. и ожидаемая экономия.AliExpress гордится тем, что у вас всегда есть осознанный выбор при покупке в одном из сотен магазинов и продавцов на нашей платформе. Реальные покупатели оценивают качество обслуживания, цену и качество каждого магазина и продавца.Кроме того, вы можете узнать рейтинги магазина или отдельных продавцов, а также сравнить цены, доставку и скидки на один и тот же продукт, прочитав комментарии и отзывы, оставленные пользователями. Каждая покупка имеет звездный рейтинг и часто имеет комментарии, оставленные предыдущими клиентами, описывающими их опыт транзакций, поэтому вы можете покупать с уверенностью каждый раз. Короче говоря, вам не нужно верить нам на слово - просто слушайте миллионы наших довольных клиентов.

А если вы новичок на AliExpress, мы откроем вам секрет.Непосредственно перед тем, как вы нажмете «купить сейчас» в процессе транзакции, найдите время, чтобы проверить купоны - и вы сэкономите еще больше. Вы можете найти купоны магазина, купоны AliExpress или собирать купоны каждый день, играя в игры в приложении AliExpress. Вместе с бесплатной доставкой, которую предлагают большинство продавцов на нашем сайте, вы сможете приобрести arduino with mpu6050 по самой выгодной цене.

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

.

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

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