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

У цьому проєкті створюється клавіатура на базі мікроконтролера, яка відправляє натискання кнопок по USB та сполучається з Windows застосунком AutoHotKey, призначеним для створення застосунків і макросів.

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

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

Програмне забезпечення AutoHotKey може призначати будь-яку дію на натискання кнопки:

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

Даний проєкт є повністю експериментальним. Для виконання проєкту знадобляться знання в області розробки схем і програмування Arduino. При використанні мікроконтролера ви можете звернутися до сайту trinket, однак інформації там не дуже багато.

Крок 1: Використовувані компоненти

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

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

Інструменти:

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

Крок 2: Модифікація корпусу

У проєкті використовується клавіатурний блок mx cherry, але ви можете підібрати й інші пристрої з кількома перемикачами: ігрові контролери, цифрові блоки клавіатури або просто перемикачі, встановлені на друкованій платі.

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

Крок 3: Збірка схеми

Я почав з припаювання повнорозмірного провідника до входів, ізолювавши з іншого боку. Далі необхідно припаяти резистори та з'єднання між кнопками, і в завершенні розмістити всі необхідні провідники.

Встановіть усі компоненти так, щоб вони розміщувалися на своїх місцях і не виступали. Далі припаюйте мікроконтролер і резистори на друковану плату та підключіть кнопки.

Крок 4: Код Trinket Arduino

На цьому етапі вказано програмний код, використаний у проєкті. Можливо, вам знадобиться внести деякі зміни для вхідних значень для отримання найкращих результатів. Я замінив кнопки з літерою F на кнопки з літерами і виконав тестування в блокноті.

Крок 5: Код AutoHotKey

SetTitleMatchMode, 2
Гарячі клавіші для вставлення часу в документ
; Клавіші F6 і F7 завжди мають однакову функцію незалежно від активної програми
F6::
Run, "C:\Windows\Sysnative\SnippingTool.exe" ; відкриває snipping tool
return
#IfWinActive, Snipping Tool ; якщо snipping tool відкрито, та ж кнопка закриє його
F6:: 
{ WinClose Snipping Tool }
return
#IfWinActive
F7::
FormatTime, CurrentDateTime,, yyyyMMdd ; вставляє поточну дату в зазначеному форматі
SendInput %CurrentDateTime%
return
; Функції клавіш F8 і F9 відрізняються в залежності від активної програми
#IfWinActive, Program Manager ; функції, якщо робочий стіл активний
F8::
run taskmgr.exe ; відкриває диспетчер завдань
return
F9::
IfWinExist Google Chrome ; відкриває Chrome або розгортає вікно, якщо воно вже відкрите
WinActivate, Google Chrome 
else
run "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
return
#IfWinActive
#IfWinActive, Chrome ; специфічні функції Chrome
F8::
Send, ^+{Tab} ; перейти вліво на вкладку
return
F9::
Send, ^{Tab} ; перейти вправо на вкладку
return
#IfWinActive
#IfWinActive ahk_class CabinetWClass ; специфічні функції провідника Windows
F8::
Send, !{Up} ; перейти на рівень вище в папці
return
F9::
Send, ^n ; відкриває нове вікно
return
#IfWinActive

Крок 6: Внесення змін

Використання окремого usb-пристрою дозволить вам виконувати натискання кнопок відповідно до ваших уподобань.

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

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

Top