Мини USB клавиатура на микроконтроллере

Тонкости создания миниатюрной USB клавиатуры на основе микроконтроллера. Узнайте, как собрать и программировать устройство для использования с AutoHotKey.

Мини USB Клавиатура на Микроконтроллере

Мини USB Клавиатура на Микроконтроллере

В данном проекте создается клавиатура на базе микроконтроллера, которая отправляет нажатия кнопок по USB и сопрягается с Windows приложением AutoHotKey, предназначенного для создания приложений и макросов.

AutoHotKey может использоваться с вашей оригинальной клавиатурой без необходимости дополнительной клавиатуры. Данное устройство не предназначено для всех, однако может применяться в следующих ситуациях:

  • Использование одной кнопки вместо нажатия комбинации горячих клавиш
  • Создание специальных контроллеров для игр и интерфейсов
  • Создание специальных программных задач, например, использование каждой кнопки для сохранения различных типов идентификатора файла в приложении.

Программное обеспечение AutoHotKey может назначать любое действие на нажатие кнопки:

  • Запуск приложений
  • Многошаговые команды, выполняемые с помощью клавиатуры
  • Упрощение действий при использовании ярлыков
  • Запуск специфических веб-адресов
  • Вставка сниппетов текста.

Данный проект является полностью экспериментальным. Для выполнения проекта понадобятся знания в области разработки схем и программирования arduino. При использовании микроконтроллера вы можете обратиться к сайту trinket, однако информации там не очень много.

Шаг 1: Используемые компоненты

Мини USB Клавиатура на Микроконтроллере

Материалы / компоненты:

  • Микроконтроллер Adafruit Trinket
  • Механический клавиатурный блок Mx Cherry
  • Небольшая печатная плата
  • Резисторы: 1кОм (x4 штуки), 100кОм (x2 штуки)
  • Припой
  • Проводники.

Инструменты:

  • Паяльник
  • Ножовка по металлу
  • Плоскогубцы.

Шаг 2: Модификация корпуса

Мини USB Клавиатура на Микроконтроллере

В проекте используется клавиатурный блок mx cherry, но вы можете подобрать и другие устройства с несколькими переключателями: игровые контроллеры, цифровые блоки клавиатуры или просто переключатели, установленные на печатной плате.

В отдельных стенках корпуса нужно прорезать канавки. Это необходимо для размещения проводников внутри корпуса. Я использовал плоскогубцы для удаления пластиковых перегородок корпуса между верхними и нижними кнопками для пропуска большего количества проводников.

Шаг 3: Сборка схемы

Мини USB Клавиатура на Микроконтроллере

Мини USB Клавиатура на Микроконтроллере

Мини USB Клавиатура на Микроконтроллере

Мини USB Клавиатура на Микроконтроллере

Мини USB Клавиатура на Микроконтроллере

Мини USB Клавиатура на Микроконтроллере

Мини USB Клавиатура на Микроконтроллере

Я начал с припаивания полноразмерного проводника к входам, заизолировав с другой стороны. Далее необходимо припаять резисторы и соединения между кнопками, и в завершении расположить все необходимые проводники.

Установите все компоненты так, чтобы они располагались на своих местах и не выступали. Далее припаяйте микроконтроллер и резисторы на печатную плату и подключите кнопки.

Шаг 4: Код Trinket Arduino

Мини USB Клавиатура на Микроконтроллере

На данном шаге указан программный код, используемый в проекте. Возможно, вам потребуется внести некоторые изменения для входных значений для получения наилучших результатов. Я заменил кнопки с буквой F на кнопки с буквами и выполнил тестирование в блокноте.

Шаг 5: Код AutoHotKey

Мини USB Клавиатура на Микроконтроллере

SetTitleMatchMode, 2
Hotstring to enter time stamp in document
; F6 and F7 keys always have the same function regardless of the active program
F6::
Run, «C:WindowsSysnativeSnippingTool.exe» ; opens snipping tool
return
#IfWinActive, Snipping Tool ; if snipping tool is open, the same button will close it
F6::
{ WinClose Snipping Tool }
return
#IfWinActive
F7::
FormatTime, CurrentDateTime,, yyyyMMdd ; inserts the current date in a specified format
SendInput %CurrentDateTime%
return
; F8 and F9 keys function varies by the active program
#IfWinActive, Program Manager ; functions if desktop is active
F8::
run taskmgr.exe ; open task manager
return
F9::
IfWinExist Google Chrome ; open Chrome or maximize window if open already
WinActivate, Google Chrome
else
run «C:Program Files (x86)GoogleChromeApplicationchrome.exe»
return
#IfWinActive
#IfWinActive, Chrome ; Chrome specific functions
F8::
Send, ^+{Tab} ; go left a tab
return
F9::
Send, ^{Tab} ; go right a tab
return
#IfWinActive
#IfWinActive ahk_class CabinetWClass ; windows explorer specific functions
F8::
Send, !{Up} ; go up a folder level
return
F9::
Send, ^n ; opens a new window
return
#IfWinActive

Шаг 6: Внесение изменений

Мини USB Клавиатура на Микроконтроллере

Использование отдельного usb-устройства позволит вам выполнять нажатие кнопок в соответствии с вашими предпочтениями.

Оригинал статьи

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *