У Arduino Uno нет встроенной поддержки USB-HID (эмуляция клавиатуры/мыши), потому что на ней стоит чип ATmega16U2 для USB-UART преобразования.
Хак: Перепрошиваем этот чип! Да, тот самый маленький чип, который отвечает за связь с компьютером.
Инструкция для хакеров:
- Подключите Arduino Uno к компьютеру и откройте «Диспетчер устройств». Запомните номер COM-порта.
- Скачайте прошивку для ATmega16U2 (например, Arduino-keyboard-0.3.hex).
- Переведите ATmega16U2 в режим программирования: замкните перемычкой контакты
RSTиGNDна плате (рядом с USB-разъемом). - Залейте новую прошивку через программу
FLIPилиdfu-programmer. - Перезагрузите плату. Теперь компьютер видит Arduino как клавиатуру!
Пример использования:
// Теперь пины 0-13 работают как обычно, но мы можем отправлять клавиши!
// (Библиотека HID для ATmega16U2 уже интегрирована)
void setup() {
// Инициализация HID
Keyboard.begin();
}
void loop() {
// При нажатии кнопки на пине 2 отправляем клавишу "A"
if (digitalRead(2) == LOW) {
Keyboard.press('A');
delay(100);
Keyboard.release('A');
}
}
Где применить: Создать собственную игровую клавиатуру, педаль для ПК или макроклавиатуру для фотошопа!