На высоком уровне этот проект реализует библиотека V-USB(ранее AVR-USB) от Objective Development, которую я часто использую для эмуляции USB-клавиатуры.

Я использовал стандартный дескриптор отчета для USB-клавиатуры, у которого есть 8-байтный буфер отчетов. Это может быть немного излишним, поскольку в проекте используется только 4 байта(1 для каждой кнопки), но это позволяет легко расширить функциональность в будущем.

Каждая кнопка имитирует только 1 ключ, с его индивидуальным нажатием и клавишным событием, которые точно такие же, как у обычной клавиатуры.

В стандартной прошивке эмулируются нажатия для клавиш с 1 по 4. Хотя это можно легко изменить.

Схема устройства

HID клавиатура на 4 клавиши(ATtiny85) - схема

Печатная плата

Программирование микроконтроллера

Если у вас нет программатора, который поддерживает высоковольтное последовательное программирование(HVSP), вы не сможете повторно перепрограммировать ATTiny85 после включения fuse бита RSTDISBL. (Программатор Atmel STK500 поддерживает HVSP!)

Если у вас есть программатор, который поддерживает только ISP, вы все равно сможете успешно прошить МК, прошивка должна быть залита перед установкой fuse бита RSTDISBL.

Если вы хотите поэкспериментировать/протестировать этот проект, не имея программатора поддерживающего HVSP, я предлагаю протестировать его без включения fuse бита RSTDISBL. Это приведет к тому, что кнопка 3 не будет работать (поскольку она подключена к выводу 1, который еще работает как линия сброса), но все остальные кнопки будут работать. Только когда вы уверены, что довольны прошивкой, вы можете установить fuse бит RSTDISBL.

Рекомендуемые настройки битов конфигурации:

EXTENDED: 0xFF
HIGH: 0x5D (используйте 0xDD для тестирования без установленного fuse бита RSTDISBL, как описано выше)
LOW: 0xC1


Архив для статьи "HID клавиатура на 4 клавиши(ATtiny85)"
Описание:

Исходный код AVRStudio 4, файл прошивки микроконтроллера, макет печатной платы Eagle

Размер файла: 623.54 KB Количество загрузок: 732 Скачать