2016-03-27 3 views
0

Мне нужно определить, в каком направлении движется элемент. Я хочу знать, движется ли элемент вверх или вниз.Arduino - обнаружение движения/движения?

Возможно ли это с помощью этой платформы и с помощью специального щита?

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

ОБНОВЛЕНИЕ: Я обновил вопрос, исправил направления - это не вперед/назад, а вверх/вниз.

+1

Моей первой мыслью было использовать акселерометр. Однако придерживаться этого подхода является то, что вы получите только данные ускорения - вам придется затем интегрировать это, чтобы определить направление движения. (вычислите площадь под кривой - один со временем по оси X и ускорение по оси Y. Вам понадобится 3 из этих кривых). Однако она будет работать в глубоком космосе или где-либо еще, нет никакой доступной точки отсчета для отскочить звук/свет/радиоволны. 3-осевые акселерометры дешевы - пара баксов на блошиной бухте. – enhzflep

+1

MPU6050 - недорогой и простой в использовании акселерометр. В Интернете есть много учебников и примеров, например https://www.youtube.com/watch?v=89-UkKhdIOE. Также вы можете найти отличную библиотеку для использования чипа – Fruchtzwerg

+0

Спасибо, ребята, за ответы, они были, безусловно, полезны :) – Adrian

ответ

1

В целом, чтобы знать направление движения, вам нужны результаты измерений гироскопов, которые обычно представлены как кватернионы. Чтобы получить расстояние, вам необходимо интегрировать данные о acceletation. Но обратите внимание, что этот метод не очень терпит. Вы можете использовать 6 осей-мембранных датчиков, которые измеряют ускорение и скорость вращения. Существуют щиты arduino, основанные на ICs Invensense mpu6050 и mpu9250. Попробуйте библиотеки, такие как i2cdevlib. Также, возможно, полезно внедрить встроенную прошивку Invensense, она портируется на ARM и платформы для микрочипов и должна легко перемещать коды на платформу arduino. Еще одна полезная ссылка: freeImu.

+0

Спасибо тоже за ответ, это тоже было очень полезно! Кстати, когда вы сказали «терпеть», вы хотели сказать «точно» правильно? – Adrian

+1

Да, конечно, лучший допуск, который я получил в измерении угла гироскопа, составлял около 3-4%. Также это зависит от времени. Примерно через 5 минут измерения я должен выполнить калибровку датчиков вместе с g-вектором. –

+0

Спасибо за ваш комментарий, я думаю, что эти датчики все еще не точны в эти дни? Или я ошибаюсь?Извините, я просто погружаюсь в этот мир :) – Adrian

Смежные вопросы