Реклама

Скромный Arduino может многое, но знаете ли вы, что он может эмулировать USB-клавиатуру? С помощью этой простой схемы вы можете объединить те, которые трудно запомнить длинные сочетания клавиш, в одну настраиваемую комбинацию клавиш. Вот конечный результат:

Никогда не использовал Arduino раньше? Проверьте наш руководство по началу работы Начало работы с Arduino: руководство для начинающихArduino - это платформа для создания прототипов электроники с открытым исходным кодом, основанная на гибком, простом в использовании аппаратном и программном обеспечении. Он предназначен для художников, дизайнеров, любителей и всех, кто заинтересован в создании интерактивных объектов или сред. Подробнее первый.

Что вам нужно

Части ярлыка Arduino
Вот что вам нужно, чтобы сделать этот проект:

  • 1 х Arduino Pro Micro.
  • Мгновенные кнопки или кнопки клавиатуры.
  • Резисторы 10 кОм.
  • Ассорти из соединительных проводов.
  • 1 х 220 Ом резисторы.
  • 1 х 5 мм (0,197 дюйма) светодиод.
  • 1 х 5 мм светодиодный держатель.

Вам понадобится очень специфическая Arduino для этого проекта. Я использую

instagram viewer
Pro Micro, поскольку они такие маленькие и дешевые, вам нужен Arduino с встроенным в процессор USB-Serial (Atmega32u4). Можно построить этот проект с другими Arduinos, такими как UNO или Nano, однако требуется много кропотливой работы, чтобы заново прошить биос и возиться, чтобы все заработало. Клоны других моделей Arduino обычно не работают вообще, но клон Pro Micro тоже подойдет.

Плата модуля OSOYOO Pro Micro ATmega32U4 5 В / 16 МГц с двухрядным разъемом для Arduino Леонардо Заменить ATmega328 Pro MiniПлата модуля OSOYOO Pro Micro ATmega32U4 5 В / 16 МГц с двухрядным разъемом для Arduino Леонардо Заменить ATmega328 Pro Mini Купить сейчас на Amazon $10.99

Вам понадобится одна мгновенная кнопка, один резистор 10 кОм и соответствующий соединительный провод для каждой кнопки, которую вы хотите использовать. Я использую механические переключатели клавиатуры Cherry MX для фактических кнопок быстрого доступа, хотя Любые Переключатель подойдет, если он мгновенный, а не защелкивающийся.

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

План строительства

Вот как это будет работать. Arduino будет запрограммирован, чтобы действовать как клавиатура USB - что касается вашего компьютера, то это так. Несколько кнопок, подключенных к Arduino, будут отправлять ключевые команды на ваш компьютер. Вы нажмете только одну кнопку, но ваш компьютер будет думать, что вы нажали Alt > F4, например.

Выбор переключателя

Arduino Cherry MX

Существует несколько вариантов коммутаторов серии MX. Этот сайт обеспечивает отличное введение, однако они в основном сводятся к шуму и давлению. Некоторые модели требуют большего усилия для нажатия, а некоторые модели издают механический щелчок при нажатии. Я использовал Cherry MX Browns, которые не шумят при нажатии. Все они имеют одинаковые размеры, поэтому выбирайте любую понравившуюся вам модель (или смешивайте и подбирайте), не беспокоясь.

Вам также, конечно, нужно будет купить некоторые ключевые заглавные буквы, и есть целый мир нестандартные конструкции там на выбор - мы купили у KeyboardCo в Великобритании

Дело

Я напечатал это дело в 3D, и вы можете скачать .STL файлы из Thingiverse. Не беспокойтесь, если у вас нет 3D-принтера, вы все равно можете его построить. Многие веб-сайты предоставляют услуги 3D-печати, такие как 3D-хабы или Shapeways. Кроме того, это очень простой случай, вы можете сделать свой собственный из пластика, плексигласа, дерева или даже картона. Если вы хотите быть по-настоящему экономным, Cherry MX продает тестер / сэмплер, установленный на Амазонка (Великобритания). Вам понадобятся 4 болта M5 x 35 мм и 4 гайки M5. Конечно, вы можете заменить их подходящей альтернативой, которая у вас есть.

Клавиатура Max Key, Cherry MX Switch, комплект тестера (9 переключателей Pro Sampler Tester Kit)Клавиатура Max Key, Cherry MX Switch, комплект тестера (9 переключателей Pro Sampler Tester Kit) Купить сейчас на Amazon $14.99

Если вы делаете свой собственный случай, вам нужно знать одну важную деталь: переключатели Cherry MX легко вставляются в их монтажные отверстия. Для них требуется квадратное монтажное отверстие 14 x 14 мм (0,551 дюйма), толщина пластины не должна превышать 1,5 мм (0,059 дюйма). Отойдите слишком далеко от этих размеров, и ваши переключатели могут больше не устанавливаться правильно.

Ярлык чехол
Корпус для 3D-печати состоит из двух частей: верхней и нижней. Вставьте переключатели Cherry MX в квадратные отверстия:

Ярлык Cherry MX Mount

Убедитесь, что вы правильно установили переключатели. На верхней части надписи «ЧЕРРИ», а на нижней - небольшая выемка. Вставьте 3 мм светодиод в этот маленький слот:

Ярлык Cherry MX LED

Вы можете обнаружить, что светодиоды лучше всего смотрятся «вверх ногами». Это было в случае с клавишными колпачками, которые я использовал, и это никак не влияет на переключатели.

Теперь у вас должно быть девять переключателей с 9 светодиодами. Нет необходимости склеивать какие-либо из этих частей. Припой будет удерживать светодиоды, а трение удержит переключатели.

Ярлык Cherry MX All

Затем, привинтите крепление светодиода (пока оставьте светодиод снятым). Вы закончите сборку корпуса позже, как только схема будет построена.

Схема

Эта схема построена на картоне. Это отлично подходит для построения полупостоянных цепей, без затрат на печатную плату (PCB). Это просто кусок стекловолокна с медными гусеницами, идущими параллельно в одном направлении. Эти треки могут быть припаяны, а также вырезать. Разрезать дорожку можно с помощью специального инструмента или небольшого сверла.

Не слишком уверен в пайке? Посмотри на эти простые проекты Узнайте, как паять, с помощью этих простых советов и проектовВас немного пугает мысль о раскаленном железе и расплавленном металле? Если вы хотите начать работать с электроникой, вам нужно научиться паять. Позвольте нам помочь. Подробнее первый.

Вот схема макета (исключая концевые отведения):

Arduino Сочетание клавиш

Убедитесь, что вы вырезали следы под резисторами и Arduino. Так как считывание схемы платы может быть очень трудным, вот макетная версия:

Ардуйно ярлык макет

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

Сочетание клавиш

Это должно аккуратно вписаться в нижней части корпуса:

Сочетание клавиш в коробке

Убедитесь, что дорожки движутся вертикально.

Подключить анод (длинная нога, позитив) от светодиода до резистора 200 Ом, а затем до +5 В. Подключите катод (короткая нога, негатив) К земле, приземляться. Накройте ножки термоусадочной трубкой, а затем вставьте держатель в светодиод. Нет необходимости в каком-либо клее, однако ваш светодиодный держатель может быть не плотным, поэтому вам, возможно, придется адаптировать эти инструкции.

Светодиодный индикатор состояния ярлыка

Вместо этого вы можете использовать двухцветный светодиод - это позволит вам настроить два или более банков переключателей с разными цветными индикаторами состояния для каждого банка.

Теперь пришло время припаять все светодиоды для клавишных колпачков. Они используются исключительно для того, чтобы клавиши светились, поэтому вы можете пропустить их, если хотите, и их не нужно подключать к цифровому выводу, только для питания. Соедините все аноды вместе и все катоды вместе. Учитесь на моей ошибке - это гораздо проще сделать, прежде чем подключать коммутаторы! Подсоедините аноды к +5 В через резистор 220 Ом, а катоды - к земле. Эти светодиоды подключены параллельно. Вот схема только для этих светодиодов:

Сочетание кнопок светодиодов цепи

Используйте небольшой кусок термоусадочной трубки, чтобы закрыть соединение между светодиодами и Arduino:

Ярлык светодиодный термоусадочный

Включите Arduino для проверки работы всех светодиодов. Вам не нужно загружать любой код. Если какие-либо светодиоды не работают, проверьте и перепроверьте проводку

Ярлык светодиодного тестирования

Теперь подключите коммутаторы. Они должны быть подключены через резистор 10 кОм, иначе Arduino умрет. Это называется мертвым коротким замыканием - +5 В попадает прямо в землю, и все, что осталось от вашего Arduino, будет клуб дыма (поверьте мне, я уже убил одного, так что вам не придется). Вот схема для одного переключателя:

Arduino Схема быстрого доступа

Эта схема одинакова для всех девяти переключателей. Подключите переключатели к цифровым контактам с 2 по 10, каждый со своим собственным резистором 10К на землю. Будьте осторожны при пайке переключателей Cherry MX, они могут быть немного хрупкими, у меня несколько контактов сломалось. Возможно, вы захотите припаять их непосредственно к еще нескольким картонам, однако концевые выводы все еще подходят.

Вот и все для проводки. Возможно, вы захотите смонтировать гнездо USB типа B, однако крошечные контакты на них часто довольно трудно паять. Если вы не хотите этого делать, не беспокойтесь. Разъем Micro USB на Arduino аккуратно подходит к отверстию в корпусе. Если вас немного смущают разные типы USB, убедитесь, что вы понять разницу Понять типы USB-кабелей и какой использоватьПочему так много разных типов USB-кабелей? Узнайте о различиях между типами разъемов USB и о том, как купить лучший кабель. Подробнее .

Наконец, дважды проверьте правильность схемы. Короткий может легко уничтожить Arduino, и это может быть легко сделать с помощью картона

Код

Теперь проверьте правильность схемы. Это хорошая идея, прежде чем продолжить, так что вы можете исправить любые проблемы, пока можете. Загрузите этот тестовый код (не забудьте выбрать правильную плату и порт из инструменты > доска и инструменты > порт меню):

кнопки const int [] = {2,3,4,5,6,7,8,9,10}; // массив всех пинов кнопок void setup () {// поместите здесь свой установочный код, чтобы запустить его один раз: Serial.begin (9600); pinMode (2, INPUT); pinMode (3, INPUT); pinMode (4, INPUT); pinMode (5, INPUT); pinMode (6, INPUT); pinMode (7, INPUT); pinMode (8, INPUT); pinMode (9, INPUT); pinMode (10, INPUT); } void loop () {// поместите ваш основной код здесь для повторного запуска: for (int i = 2; я <11; ++ i) {if (digitalRead (i) == HIGH) {// сброс программного обеспечения улучшает задержку точности (10); if (digitalRead (i) == HIGH) {// проверка переключателей Serial.print ("input"); Serial.println (i); задержка (250); } } } }

Возможно, вам придется изменить контакты, если вы изменили схему.

После загрузки откройте серийный монитор (в правом верхнем углу > Серийный монитор). Один за другим нажмите каждую кнопку. Вы должны увидеть серийный монитор, показывающий номер нажатой кнопки. Как и в случае со светодиодом, если ваш компьютер жалуется на слишком большой ток или светодиоды гаснут, когда вы нажимаете кнопку, немедленно отключайтесь! У вас есть короткое замыкание где-то в цепи, дважды проверьте правильность цепи и нет ли коротких замыканий между соединениями.

Если все работает, продолжайте и вставьте схему в коробку. Вы можете использовать немного клея, чтобы удержать цепь на месте (хотя провода держали мои в порядке). Закрепите крышку также.

Сделать Arduino похожей на клавиатуру очень просто. Если вы используете Nano или UNO, вы собираетесь перепрограммировать Arduino, используя Обновление прошивки устройства (DFU). Это обычно используется для прошивки новой прошивки на Arduino. Вы собираетесь использовать его для прошивки Arduino новой прошивкой, которая заставит его работать как клавиатура. Это не будет рассмотрено здесь, так как это довольно сложная задача. Сайт Arduino есть хороший учебник для этого.

Arduino Pro Micro делает этот шаг очень простым. Логика, необходимая для эмуляции клавиатуры USB, уже встроена в процессор, поэтому это так же просто, как написать некоторый код!

Сначала настройте ключи:

int keys [] = {2, 3, 4, 5, 6, 7, 8, 9, 10};

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

Массив - это набор единомышленников. Компьютеры могут оптимизировать ваш код для быстрого доступа к ним, и они ускоряют процесс написания кода.

Теперь инициализируйте все контакты как входы:

void setup () {// поместите здесь свой установочный код, чтобы запустить его один раз: Keyboard.begin (); // настройка клавиатуры для (int i = 2; я <11; ++ i) {// инициализировать контакты pinMode (i, INPUT); } }

Это говорит Arduino, что все выводы в массиве являются входными. Для этого используется цикл, а не запись pinMode (2, INPUT) девять раз, ты должен написать это только один раз. Это также вызывает Keyboard.begin. Это устанавливает функцию, встроенную в библиотеку Arduino, разработанную специально для эмуляции клавиатуры.

Создайте метод с именем readButton:

логическое readButton (int pin) {// кнопки проверки и отладки if (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == HIGH) {return true; }} return false; }

Это берет булавку и проверяет, нажата она или нет. Просто возвращается ПРАВДА или ЛОЖНЫЙ. Он также содержит некоторые отладка программного обеспечения - простая задержка, а затем повторная проверка переключателя гарантирует, что кнопка действительно была нажата.

Теперь еще один цикл вызывается внутри void loop ():

void loop () {// поместите ваш основной код здесь для повторного запуска: for (int i = 2; я <11; ++ i) {// проверяем кнопки if (readButton (i)) {doAction (i); } } }

Опять же, это перебирает каждый элемент в массиве и проверяет, был ли он нажат. Это делается под названием readButton метод, который вы создали ранее. Если кнопка была нажата, она передает этот номер пина другому методу, называемому DoAction:

void doAction (int pin) {// выполнить переключение задач (pin) {case 2: Keyboard.println ("drive.google.com"); перемена; вариант 3: Keyboard.println ("makeuseof.com"); перемена; case 4: // CMD + T (новая вкладка, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press ( 'т'); задержка (100); Keyboard.releaseAll (); перемена; case 5: // ваша задача здесь break; case 6: // ваша задача здесь break; case 7: // ваша задача здесь break; case 8: // ваша задача здесь break; case 9: // ваша задача здесь break; } }

Это проверяет номер булавки, используя переключатель заявление. Переключатель операторов (иногда называется случай переключения) похожи на если оператора, однако они полезны для проверки того, что одна вещь (в данном случае номер пин-кода) равна одному из нескольких разных результатов. По сути, они гораздо быстрее для расчета.

Основные компоненты находятся внутри этого оператора switch. Keyboard.println записывает текст на компьютер, как будто вы физически набираете каждую клавишу. Keyboard.press нажимает и удерживает одну клавишу Не забудьте выпустить их, используя Keyboard.releaseAll после небольшой задержки!

Вот полный код:

int keys [] = {2, 3, 4, 5, 6, 7, 8, 9, 10}; void setup () {// поместите здесь свой установочный код, чтобы запустить его один раз: Keyboard.begin (); // настройка клавиатуры для (int i = 2; я <11; ++ i) {// инициализировать контакты pinMode (i, INPUT); } } void loop () {// поместите ваш основной код здесь для повторного запуска: for (int i = 2; я <11; ++ i) {// проверяем кнопки if (readButton (i)) {doAction (i); } } } boolean readButton (int pin) {// проверить и отменить кнопки if (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == HIGH) {return true; }} return false; } void doAction (int pin) {// выполнить задачу switch (pin) {case 2: Keyboard.println ("drive.google.com"); перемена; вариант 3: Keyboard.println ("makeuseof.com"); перемена; case 4: // CMD + T (новая вкладка, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press ( 'т'); задержка (100); Keyboard.releaseAll (); перемена; case 5: // ваша задача здесь break; case 6: // ваша задача здесь break; case 7: // ваша задача здесь break; case 8: // ваша задача здесь break; case 9: // ваша задача здесь break; } }

В дополнение ко всем цифровым и буквенным клавишам Arduino может нажимать большинство специальных клавиш, называемых Модификаторы клавиатуры. Это особенно полезно для нажатия сочетаний клавиш. На сайте Arduino есть полезный список.

Теперь осталось только создать несколько ярлыков. Вы можете сопоставить это с существующими ярлыками, такими как Alt + F4 (закрыть программу в Windows) или Cmd + Q (выйти из программы macOS). В качестве альтернативы, обязательно прочитайте наш полное руководство по сочетанию клавиш Сочетания клавиш Windows 101: полное руководствоСочетания клавиш могут сэкономить вам часы времени. Освойте универсальные сочетания клавиш Windows, приемы клавиатуры для конкретных программ и несколько других советов, чтобы ускорить вашу работу. Подробнее , как создать ярлыки Windows Как создать ярлыки на рабочем столе Windows простым способомСмарт-ярлыки на рабочем столе помогут вам бездумно просеивать меню и папки. Мы показываем вам быстрые и простые способы их создания. Подробнее , и каждый ярлык Chromebook Каждое сочетание клавиш Chromebook вам понадобитсяMaster Chrome OS с этим списком всех важных сочетаний клавиш Chromebook, которые вам когда-либо понадобятся. Подробнее чтобы начать делать свои собственные ярлыки.

Вы создали свой собственный ярлык? Дайте мне знать в комментариях, я хотел бы видеть некоторые картины!

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