подключите USB клавиатуру к Arduino с помощью clk и проводов передачи данных
Редактировать: То, что я ищу, - это какая-то библиотека, которую можно было бы использовать с arduino для чтения вывода протокола HID из Data+ и Data-кабелей USB.
========== Если я перережу кабель USB-клавиатуры, подключу питание и заземлю, могу ли я использовать clk и провода данных для считывания нажатий клавиш в Arduino? Если да, то какие-нибудь указатели на библиотеки и схемы?
Простые I инструкции? Версия "для чайников"?
ПРАВКА
Следуя некоторым предложениям ниже, я нашел это:
https://github.com/julianschuler/USBKeyboard
Что похоже на то, что я хочу сделать, в основном подключить линии в arduinio и читать с клавиатуры, используя протокол HID в этой библиотеке.
Обновление 2
Это не то, что я хочу. Кто-нибудь знает, как это можно сделать?
@Rick Dearman, 👍1
Обсуждение1 ответ
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
- Почему я получаю avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?
- Эмуляция стандартного периферийного USB-устройства Mifare с помощью RFID-RC522
- Arduino Uno: avrdude: stk500_recv(): программатор не отвечает
- Arduino Nano (клон) не распознается
- В чем разница между delay() и delaymicroseconds()
- Программирование Arduino на Паскале?
- Arduino Uno R3 (с Atmega 16u2) и MAC OSX 10.11 (El Capitan) не работают
- Как подключить Arduino Nano к ноутбуку с Linux
С какого устройства вы хотите считывать нажатия клавиш? с клавиатуры USB?, @chrisl
да, с клавиатуры., @Rick Dearman
Я думаю, что вы можете сделать это с помощью экрана USB-хоста., @chrisl
"Похоже, это то, что я хочу сделать"... нет, это не так ... прочтите его еще раз, @jsotola
Если можно сделать AVR-бит-бит по протоколу USB в качестве устройства, это также может быть возможно в качестве хоста. Вы пытались найти такую библиотеку или проект?, @the busybee
@thebusybee Я не нашел ни одного. Это то, о чем я прошу., @Rick Dearman
ОК. Это может быть связано с тем, что все используют экран хоста USB. И поскольку протокол USB довольно сложен, скорее всего, никто не писал такую низкоуровневую библиотеку. -- Неужели это действительно не вариант использовать клавиатуру без USB? Это проект для многих пользователей или только для вас в одном "воплощении"?, @the busybee