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(ключ);

20:17
17
Нет комментариев. Ваш будет первым!

Ссылка появится после регистрации

Похожие модели

Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.