Управление ардуино с клавиатуры через компьютер

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

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

Я спросил об этом на бирже стека робототехники, но мне сказали спросите здесь.

Список применимых функций/блоков кода был бы лучшим ответом, но я возьму все, что заставит моего бота двигаться :)

Изменить Я использую беспроводную клавиатуру, но моя Arduino подключена через USB.

, 👍1

Обсуждение

Если вы хотите, чтобы клавиатура оставалась подключенной к компьютеру, вам нужно, чтобы компьютер сообщал Arduino, что делать., @Ignacio Vazquez-Abrams

Это может быть так же просто, как открыть терминальную программу, такую как последовательный монитор IDE, и передать нажатия клавиш на Arduino., @Chris Stratton

Вы не упомянули, какой тип связи вы собираетесь установить между компьютером и Arduino: последовательный (USB), WiFi, Bluetooth... Весь необходимый код будет сначала зависеть от этого!, @jfpoilpret

@ IgnacioVazquez-Abrams Да, верно. как бы я это сделал. как я уже сказал, я еще не свободно владею языком. Я использую Python и Basic., @Vince Scalia


1 ответ


1

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

К сожалению, я не знаю, как просто подключить USB-клавиатуру и взять ключи. Обычно последовательная связь обрабатывается между двумя системами так же, как два человека отправляют друг другу текстовые сообщения. Когда вы видите, что на вашем телефоне мигает свет, вы знаете, что у вас есть текст и как открыть его, чтобы получить сообщение. В случае Arduino он проверяет бит флага, называемый RX, для полученного сообщения и помечает бит для передачи сообщения (TX). Затем каждая система получает свое сообщение и интерпретирует его. В случае вашего скетча вы будете искать этот флаг и планировать действие всякий раз, когда он отмечен. Прочитайте о последовательной связи здесь и поработайте с примерами, чтобы получить представление о ней. Потому что вам, вероятно, нужен ответ в режиме реального времени. , возможно, стоит также проверить прерывания. Это внезапные события, которые помечаются (например, получение вашего текста) и обрабатываются немедленно, вместо того, чтобы ждать, пока программа обновится и найдет значения вручную. И последнее замечание: скорость передачи — это расчетные временные рамки, которые вы и ваш получатель согласовываете. Было бы трудно получить полное сообщение, если бы вы продолжали отключать своего друга, как это происходит с компьютерами. Поначалу это может показаться сложным, но держитесь. Нет ничего более смехотворно приятного, чем получить этот ответный символ с вашего устройства.

Есть отличное руководство по настройке Arduino для работы через iPhone здесь. , но для этого требуется плата Ethernet, то есть маршрутизатор и плата беспроводной связи.

Не зная, что вы собираетесь с ним делать, трудно сказать, как вам помочь, но я надеюсь, что это поможет вам в этом.

,