Установка беспроводной связи. между ПК и arduino pro micro для обмена речью и данными гироскопа

У меня есть клиентский проект по созданию беспроводной мыши с креплением на голову. Какой беспроводной модуль мне следует использовать, чтобы я мог обмениваться данными между ноутбуком и arduino pro micro через USB-порт, как беспроводная мышь? Я использую датчик ускорения + гироскоп MPU6050 для движения курсора и модуль распознавания голоса Electrohouse V3.1 для распознавания речи. Для обмена такими данными между ПК и ардуино я нашел много вариантов. Следовательно, я в замешательстве. Пожалуйста, помогите мне решить, что использовать, чтобы можно было достичь рентабельности и эффективности. Должен ли я использовать Bluetooth, RF Shield, XBEE или любой другой модуль?

, 👍0


1 ответ


1

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

Большинство беспроводных мышей используют для связи nRF24L01+ (или, скорее, встроенный эквивалент SoC). Для этой связи они используют USB-ключ, подключенный к компьютеру. Компьютер понятия не имеет, что такое nRF24L01+, но знает, что такое USB-мышь. Таким образом, в ключе есть микроконтроллер, который получает данные от nRF24L01+, интерпретирует их и отправляет правильные инструкции по USB, чтобы компьютер думал, что это USB-мышь.

Какие данные передаются по беспроводной сети и в какой именно форме осуществляется это беспроводное соединение, совершенно не имеет значения для компьютера. Как правило, выбирается однокристальная система, эквивалентная nRF24L01+ (например, nRF52810), потому что это одночиповое решение с простым в использовании беспроводным протоколом, что обеспечивает дешевую и простую разработку и внедрение.

Единственным исключением из этого общего правила (и всегда есть исключение из каждого правила) является Bluetooth. Это потому, что существует концепция (насколько это касается компьютера) Bluetooth-мыши. Таким образом, возможно, используя правильный адаптер Bluetooth на вашем Arduino, чтобы сам компьютер видел Arduino как мышь Bluetooth. Это может быть сложнее реализовать с использованием небольших микроконтроллеров, но в результате получается потенциально более дешевое решение с меньшим количеством компонентов.

Однако самое простое решение для вас, вероятно, таково:

  • Один Arduino со встроенным USB-подключением (Pro Micro, Leonardo и т. д. – все, что основано на ATMega32U4)

Он будет подключен напрямую к компьютеру и запрограммирован на эмуляцию USB-мыши

  • Один Arduino, который лучше всего подходит для ваших датчиков (наверное, не имеет большого значения, для чего он нужен. Мини? Микро? Нано? Уно? Вероятно, все они подойдут).

К этому вы подключаете свои датчики, распознавание голоса и т. д.

  • Пара модулей беспроводной связи какой-либо формы

Я бы порекомендовал nRF24L01+ — он прост в использовании, имеет очень удобный пакетный протокол, дешев и содержит множество примеров и библиотек. Они подключены к обоим Arduino и используются для связи между ними.

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

,

Подходит ли упомянутый вами модуль для отправки как речевых данных, так и данных о движении курсора на ПК от пользователя arduino? Я спрашиваю об этом, потому что операции щелчка и операции перемещения курсора должны отправляться через Arduino на стороне пользователя. Может ли модуль справиться с отправкой такого количества данных? Нравятся голосовые команды, такие как выбор, ввод, опции и движение курсора.?, @Nahian Rifaat

Ваш модуль VR обрабатывает все эти данные, не так ли?, @Majenko

Да, все работало хорошо и без задержек через usb-кабель, когда я говорил команду модулю VR, перемещая курсор. Может ли модуль nRF24L01 отправить эти данные без задержки?, @Nahian Rifaat

Таким образом, вы не отправляете им большие объемы данных. Просто команда, чтобы щелкнуть мышью., @Majenko

Если модуль VR чем-то похож на те, которые я использовал в прошлом, это «Аудио -> Микрофон -> Модуль VR -> [последовательный] -> Arduino -> Делайте все, что хотите». Это бит «делай, что хочешь», который представляет собой связь по беспроводной сети. Это может быть один бит в одном байте., @Majenko