подключите USB клавиатуру к Arduino с помощью clk и проводов передачи данных

Редактировать: То, что я ищу, - это какая-то библиотека, которую можно было бы использовать с arduino для чтения вывода протокола HID из Data+ и Data-кабелей USB.

========== Если я перережу кабель USB-клавиатуры, подключу питание и заземлю, могу ли я использовать clk и провода данных для считывания нажатий клавиш в Arduino? Если да, то какие-нибудь указатели на библиотеки и схемы?

Простые I инструкции? Версия "для чайников"?

ПРАВКА

Следуя некоторым предложениям ниже, я нашел это:

https://github.com/julianschuler/USBKeyboard

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

Обновление 2

Это не то, что я хочу. Кто-нибудь знает, как это можно сделать?

, 👍1

Обсуждение

С какого устройства вы хотите считывать нажатия клавиш? с клавиатуры USB?, @chrisl

да, с клавиатуры., @Rick Dearman

Я думаю, что вы можете сделать это с помощью экрана USB-хоста., @chrisl

"Похоже, это то, что я хочу сделать"... нет, это не так ... прочтите его еще раз, @jsotola

Если можно сделать AVR-бит-бит по протоколу USB в качестве устройства, это также может быть возможно в качестве хоста. Вы пытались найти такую библиотеку или проект?, @the busybee

@thebusybee Я не нашел ни одного. Это то, о чем я прошу., @Rick Dearman

ОК. Это может быть связано с тем, что все используют экран хоста USB. И поскольку протокол USB довольно сложен, скорее всего, никто не писал такую низкоуровневую библиотеку. -- Неужели это действительно не вариант использовать клавиатуру без USB? Это проект для многих пользователей или только для вас в одном "воплощении"?, @the busybee


1 ответ


3

USB не имеет данных и тактовых линий. Он имеет пару линий передачи данных с инвертированной полярностью (D+ и D-). Протокол USB значительно сложнее, чем вы себе представляете.

Однако есть один нюанс: некоторые клавиатуры имеют возможность работать в режиме IBM PS/2. Для этого вам понадобится адаптер USB-PS/2 (на фото ниже), а затем используйте библиотеку PS2Keyboard.h. Однако ваш пробег может отличаться, так как не все клавиатуры будут работать.

,

Где я могу получить информацию об этом протоколе? Мне не нужен адаптер, я хочу подключить кабели напрямую и управлять данными., @Rick Dearman

Я думаю, что на самом деле вам не нужен адаптер. Он должен просто подключить контакты USB-разъема к контактам штекера PS/2. Таким образом, вы могли бы просто напрямую подключить линии к Arduino. Очень короткий поиск в Google дал некоторые многообещающие результаты, @chrisl

Эти адаптеры работают только в том случае, если USB-клавиатура оснащена двойным контроллером, который понимает протокол PS2, а также протокол HID USB. (Большинство современных клавиатур этого не делают) У меня нет ни одного из них, и я ищу библиотеку или метод для прямого взаимодействия протокола HID с Arduino., @Rick Dearman

Затем вам нужно будет инвестировать в защиту хоста usb., @Majenko