Arduino nano как клавиатура HID

Я немного нуб в области Arduino, но я нашел Arduino nano, который я купил давным-давно, поэтому я решил, "почему бы не сделать проект". Я много играю в гоночные игры, поэтому хотел сделать с ним простую кнопку зажигания, но каждый раз, когда я пытался скомпилировать или проверить ее, она говорила:

Keyboard not found. Does your sketch include the line #include "Keyboard.h"

, 👍6

Обсуждение

Вы включили библиотеку клавиатуры из меню скетча?, @dandavis

@dandavis - это было бы невозможно или, по крайней мере, бессмысленно, так как нет такой библиотеки для нано., @Chris Stratton

@ChrisStratton: хорошая идея., @dandavis

В отличие от официального Arduino Uno, который использует перепрограммируемый ATmega16U2 для интерфейса USB-UART, Nano использует не перепрограммируемый чип FTDI., @gre_gor

Типичный Nano не имеет аппаратной поддержки для этого - так что вы можете сделать это только с помощью таких средств, как программное обеспечение-приблизительный USB, или путем добавления чипа интерфейса USB-устройства. Как следует из ответа, есть лучшие варианты платформы., @Chris Stratton

Может быть, этот вопрос поможет вам. https://arduinoprosto.ru/q/76557/how-can-i-make-my-arduino-uno-press-space-on-my-laptop-keyboard/76570#76570, @Dorian

Arduino Nano я не уверен. Но я уверен, что вы можете сделать это с помощью Arduino UNO. https://www.youtube.com/watch?v=tvqA-JcTQNg, @Yiming


2 ответа


14

Купите себе Arduino Leonardo, Micro или Pro Micro (или Due, Ноль, M0). Они могут имитировать клавиатуру.
Начните с чтения справочника Arduino Клавиатура Мышь.

Arduino Nano не может использовать библиотеку клавиатуры и мыши Arduino.

Уже много лет существует библиотека под названием "V-USB", которая требует некоторого дополнительного оборудования и позволяет микроконтроллеру ATmega328P выступать в качестве USB-устройства. Это не что - то для новичка.

Несколько лет назад Arduino изменил способ использования USB. Библиотека NicoHood HID использует новые возможности. Это позволяет, например, иметь расширенные функции для USB-клавиатуры, такие как мультимедийные клавиши.

Для обычной клавиатуры и мыши подойдет библиотека мыши с клавиатурой Arduino. Он идеально подойдет для кнопки зажигания. Но вы должны купить одну из этих плат (Леонардо и так далее).

,

или нано плата, @JoSSte


3

Решение получить плату со встроенной поддержкой USB не является предпочтительным для тех, кто просто хочет использовать уже имеющиеся платы. Можно использовать плату, которая может взаимодействовать с вашим компьютером по последовательному каналу, например Arduino Nano, для отправки данных в программу Python, которая затем может превратить ввод с Arduino в нажатия клавиш и т. Д.

Для такого подхода вам нужно будет знать python. Используемые библиотеки:

pyserial - связь с Arduino

pynput - управление клавиатурой компьютера

threading (поставляется с python) - позволяет pyserial и pynput работать одновременно

,