Использование Arduino Micro с MPU6050

У меня есть Arduino Micro и плата гироскопа/акселерометра MPU6050; Я хочу прочитать данные DMP из MPU6050, но скетч требует использования вывода прерывания, из которых у меня нет доступных выводов прерывания, и их нельзя переключать.

Мне интересно, как читать данные DMP, когда это необходимо. Я пытался, но всегда получал значение 180 для любого чтения.

Спасибо!

, 👍2

Обсуждение

У вас есть текущий код, который вы используете? Если это так, отредактируйте вопрос, чтобы включить это. Спасибо!, @Anonymous Penguin


2 ответа


2

Я довольно долго искал все, что касается MPU6050, но есть только слухи и шутки о функциональности dmp. Один проект включает в себя сложный обратный инжиниринг, который сделали некоторые мудрые люди, а именно: http://www.i2cdevlib.com/ документы/html/class_m_p_u6050.html

Это также использует прерывание, которого, я полагаю, вы не можете избежать. Почему именно это было бы необходимо, я не могу вам сказать.. Я предполагаю, что dmp как-то работает с fifo-буфером и может взаимодействовать только через него. В цитируемой библиотеке есть примеры с dmp и без него, которые я действительно могу порекомендовать.

Используя эту штуку для квадрокоптера, я могу просто сказать, что dmp слишком медленный для управления такой быстрой системой, поэтому, возможно, сначала подумайте, что вам действительно нужно. По моему опыту, он делает некоторые волшебные вещи, но ведет себя странно из-за того, что это не документальный фильм, с которым сложно работать.

Надеюсь, это поможет.

,

0

На самом деле вы можете избежать использования прерывания с комбинацией MPU6050/DMP. См. текущую ветку по адресу https://github.com/jrowberg/i2cdevlib/issues/479 и этот пост например. Я использовал систему на базе MPU-6050, используя конфигурацию с опросом (вместо прерывания) в течение нескольких месяцев без каких-либо проблем (кроме надоедливой проблемы с шумом двигателя, которую я сейчас пытаюсь решить).

С уважением,

Фрэнк

,