Міні 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-пристрою дозволить вам виконувати натискання кнопок відповідно до ваших уподобань.
Прикреплені файли:
- minikeyboard.ino (2 Кб)