Считать клавиши с обычной USB-клавиатуры

Arduino USB

Я хочу написать скетч Arduino (если нет другой возможности , он также может быть простым c), чтобы захватить клавиатурные входы с моей обычной USB-клавиатуры. Желательно без дорогостоящего оборудования, но, как уже упоминалось, если нет другой возможности, это тоже будет сделано.

Возможно ли это с V-USB? Я посмотрел их сайт, но, похоже, это только поддерживает быть рабом и имитировать клавиатуру.

, 👍3

Обсуждение

USB host shield-это то, что вам нужно., @Majenko

PS2 намного проще. И большинство usb-клавиатур, как правило, также "говорят" PS2, но ваш миллиметр может варьироваться. Таким образом, вам не нужен никакой USB-хост-щит. Видишь http://playground.arduino.cc/Main/PS2Keyboard и http://pinouts.ru/InputCables/usb_ps2_mouse_pinout.shtml для пинаута., @Gerben

@Majenko делает это снова. Этот USB-щит просто великолепен. https://www.arduino.cc/en/Main/ArduinoUSBHostShield, @SDsolar


2 ответа


Лучший ответ:

3

Как предлагается в комментариях, у вас есть два варианта:

Как предложил Мадженко, вы можете использовать экран USB-хоста Arduino: Picture of USB Host Shield

В качестве альтернативы вы можете вместо этого использовать клавиатуру PS2 (как предложил Гербен). В Arduino уже есть библиотека для работы с клавиатурами PS2, поэтому ее реализация будет простой. Для справки (и примера программы) playground.arduino.cc/Main/PS2Keyboard

Если у вас нет доступа к клавиатуре PS2 или вы просто хотите использовать клавиатуру USB, Гербен также предлагает, чтобы большинство USB-клавиатур можно было преобразовать в клавиатуры PS2 с помощью адаптера: USB to PS2 adapter

Клавиатура должна поддерживать оба формата (USB и PS2).

На следующей веб-странице показаны подключения, необходимые для перехода с USB на PS2: Распиновка адаптера USB на PS/2

Pinout connection

,

Гербен и Майенко, дайте мне знать, если вы хотите опубликовать свой собственный ответ, и я удалю ваш контент из своего ответа. В противном случае спасибо вам за ваши предложения в комментариях, и я надеюсь, что отдал должное вашим предложениям., @sa_leinad


2

Я могу использовать эту библиотеку: https://github.com/techpaul/PS2KeyAdvanced и данные USB +/- подключены к контактам 2+3 arduino для считывания клавиш на стандартных клавиатурах.

keyboard.begin( 3, 2); // D3= data+, D2= data-

Стандартная клавиатура-это та, для которой не требуется драйвер для работы на любом компьютере. Я перепробовал несколько библиотек, адаптеры последовательной клавиатуры и конвертеры ps2/usb, и этот метод работает лучше всего. Поскольку конвертер ps2-USB-это просто физическое изменение контакта без какой-либо логики, стандартные USB-клавиатуры просто волшебным образом работают с библиотеками PS2; даже caps lock и то, что нет...

,