Пытаюсь сделать управление танчиком через WASD - как в компьютерной игре. На данном этапе пытаюсь просто надёжно связать компьютерную клавиатуру с ардуиной.
Имею Arduino uno, опознаваемую как CH340. на неё поставлен USB Host Shield, в его USB разъём подключена клавиатура. Всё куплено понятно на Алишке… И всё работает с моими кодами, но почему-то весьма недолго. Где-то через минуту клавиатура моргает и перестаёт работать…
Я подключала без Shield-а, одна клавиатура работала нормально, другая “отваливалась”.
Насколько помню, решилось это подтягиванием D+ и D- через резисторы 10к
Некоторые USB клавиатуры могут работать в режиме PS/2
Если у вас есть переходник USB - PS/2, то проверьте свою клавиатуру подключив ее к ПК. Подключать надо к выключенному ПК.
Если такая проверка не доступна, пропускайте шаг проверки, и сразу собирайте макет на Ардуино. Примеров довольно много, так что один из первых попавшихся https://www.instructables.com/Connect-Arduino-UNO-to-USB-Keyboard/
Если не заработает, и есть есть цифровой осциллограф, то на собранном макете, при запущенной программе посмотреть осциллографом на линии D+ или D- . Если там по линии Clock примерно раз в пол секунды проходят короткие пачки импульсов (обычно 11 импульсов), то эта клавиатура может работать в PS/2 режиме, и надо смотреть, почему не прошла инициализация.
Я подключал только одну клавиатуру, и описал ее поведение, но сильно не разбирался, насколько это общий или частный случай.
Дополнение. Про осциллограф я возможно лишнее написал. Я использовал осциллограф, т.к. сначала пробовал скетч с ошибками, ничего не работало и я полез смотреть осциллографом. Потом на нормальном скетче и без осциллографа увидел, то клавиатура не реагирует на нажатия и периодически шлет 0xAA. После инициализации заработала нормально.