25-кнопочная МАКРО-клавиатура
25-кнопочная MACRO-клавиатура — контроллер с Arduino Pro Micro. Использует переключатели клавиатуры, кнопку сброса и светодиод.
Резюме:
Я разработал это, чтобы иметь возможность назначать сочетания клавиш для различных программ, которые я использую регулярно. Это МАКРО-клавиатура; в сочетании с JoyToKey предоставит множество опций для различного программного обеспечения, пакетных файлов, ярлыков и т. д. В настоящее время использ��ется в основном для fusion 360.
Списки для Macro Keyboard V2 — по состоянию на 19.11.2022 г.
Список материалов:
PLA-нить
ТПУ нить
25 клавишных переключателей (я использовал переключатели Akko)
25 диодов (1N4001 или аналогичный)
1 светодиод (стандартный светодиод 5x9 мм — любой цвет)
Резистор 220 Ом (или любой другой, подходящий к вашему светодиоду)
Тактильная кнопка 6x6x3,5 (высота кнопки 1 мм)
Соединительный провод (или одножильный Cat5)
HiLetGo Арудино Про Микро
X4 — винты M3 x 16 мм (я использовал крестообразную головку)
Паяльник
Припой
Кабель Micro USB-USB (рекомендуется не менее 3 футов)
Маленькие застежки-молнии
*** Некоторые модели, возможно, потребуется сориентировать перед нарезкой.
Список печати PLA:
X1 — проставка 2 мм (можно выбрать другой цвет основания и верха для индивидуальности)
X1 — MacroPadBase
X1 — Макропадтоп
X1 — кнопка сброса (будет видна, можно выбрать цвет, отличный от основного, чтобы она выделялась)
X1 — кнопка сброса 2 (не видна) * Обновление от 23 июня 2007 г. — привет @iComputerFreak
X1 — держатель сброса (не виден)
X25 — KeyCap1 (можно выбрать разные цвета)
Список печати ТПУ:
x1 — Люверс
Дополнительная тестовая печать PLA:
X1 — KeyCapPlate TEST1_TEST (для проверки ��озможности блокировки и расстояния между клавишами)
Настройки печати PLA (Prusa Slicer):
Качество 0,20 мм — высота слоя
2 периметра
Общий НОАК
Поддерживает: Нет
Заполнение 15% — Гириод
Скорость первого слоя 15 мм/с.
Настройки печати TPU (Prusa Slicer):
Качество 0,20 мм — высота слоя
Общие настройки FLEX
KeyCapPlate быстро печатает и сообщит, подойдут ли ваши переключатели (14 x 14 мм).
Сборка:
Я еще не написал полного описания, но планирую сделать это, когда у меня будет время. На данный момент фотографий должно быть достаточно.
При нажатии колпачков клавиш, напечатанных на 3D-принтере, на переключателях появляется выемка, которая соответствует «точке» на колпачке клавиш, напечатанных на 3D-принтере; выровняйте их и затем сильно нажмите. Все колпачки клавиш должны с усилием встать на место. Вы можете снять их несколько раз без особого риска, что они расшатаются.
Проводка:
Ключевые переключатели соединены в матрицу 5x5.
Линии одного цвета предназначены для рядов: синий, оранжевый, зеленый, коричневый, серый.
Двойные цветные линии предназначены для столбцов: 2Blue, 2Orange, 2Green, 2Brown, 2Grey.
Желтая линия соответствует выходу светодиода.
В окончательном подключении я подключил столбцы задом наперед — так что, если вы будете следовать приведенным ниже сценариям, они будут работать так, как мне пришлось приспособиться для этого… В противном случае вам может потребоваться поменять местами ключи для двух тестовых сценариев. (В окончательном сценарии я перевернул колпины, чтобы они читались в сценарии более естественно.)
Скрипты:
Вот тестовые сценарии x2 (.ino) и окончательный сценарий, который используется в данный момент.
* Сценарий последовательного тестирования Arduino:
Тестовый сценарий для вывода только на последовательный монитор
#include
#include
#include
#include
#include
#include
#include
#include
#include <Клавиатура.h>
const intledPin = 14; // номер контакта светодиода
константные байтовые строки = 5; //пять строк
константный байт cols = 5; //пять столбцов
символьные клавиши[строки][столбцы] = {
{'E','D','C','B','A'},
{'J','I','H','G','F'},
{'О','Н','М','Л','К'},
{'T','S','R','Q','P'},
{'Y','X','W','V','U'}
};
байт rowPins[строки] = {2, 3, 4, 5, 6}; //подключаемся к выводам строк клавиатуры
байт colPins[cols] = {7, 8, 9, 10, 16}; //подключаемся к выводам колонки клавиатуры
Клавиатура клавиатуры = Клавиатура( makeKeymap(keys), rowPins, colPins, rows, cols );
недействительная настройка() {
// поместите сюда свой код установки для однократного запуска:
Серийный.начало(9600);
pinMode (ledPin, ВЫХОД);
Клавиатура.begin();
}
недействительный цикл() {
// поместите сюда свой основной код для многократного запуска:
символьный ключ = keypad.getKey();
если(ключ!= NO_KEY){
Serial.println(ключ);
Keyboard.write(ключ);





























