
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05




Сделать пользовательские USB-контроллеры клавиатуры и мыши просто.
Я использую несколько сочетаний клавиш при оценке изображений в Adobe Lightroom и обнаружил, что могу работать еще быстрее, используя простой джойстик игрового контроллера. Я смоделировал его на макетной плате с двумя компонентами, которые у меня уже были в моей мастерской, и обнаружил, что он отлично работает, но ему нужен более красивый «шкаф», чтобы он мог жить на моем столе.
Поскольку он основан на Arduino, настроить функции джойстика и добавить дополнительные кнопки, циферблаты или другие элементы управления очень просто.
Этот проект состоит из трех разделов:
- Аппаратное обеспечение
- Программное обеспечение
- Настольный футляр для хранения указанного оборудования
Запчасти
- Arduino - 5v 16MHz Itsy Bitsy от Adafruit. Многие другие Arduinos будут работать нормально, но убедитесь, что их USB-порт может работать с библиотеками клавиатуры и мыши.
- Джойстик - игровой контроллер в стиле 2-х осевой с переключателем (вот упаковка из десяти: WGCD 10pcs Joystick Breakout Module Game Controller для Arduino PS2).
- Дерево или акрил для корпуса. Может быть, покрасить.
- Провод и USB-кабель.
Шаг 1. Аппаратное обеспечение



Ардуино
Я хотел использовать небольшую плату Arduino, чтобы сделать эту сборку как можно более компактной. У меня есть несколько Pro Trinkets, но они не подходят для моделирования клавиатуры и мыши, потому что USB не полностью реализован на Trinkets. Для этого проекта я использовал Itsy Bitsy 5V 16MHz от Adafruit, который может использовать стандартные библиотеки HID в качестве клавиатуры и мыши через USB.
Джойстик
Это тип джойстика, который используется в игровых контроллерах. Они двухосные и имеют переключатель, который временно включается при нажатии ручки. Их легко найти в Интернете. Если вы хотите купить только одну, они могут стоить от 4 до 10 долларов, но их можно купить оптом 10 упаковками на Amazon примерно за 11 долларов.
Обратите внимание, похожие джойстики от Adafruit и Sparkfun имеют другую распиновку, чем все остальные, которые вы можете найти в Интернете. Обратите на это внимание при подключении.
На Arduino этот проект использует A0 для переключателя, A1 для оси X и A2 для оси Y. Остается 19 других входных контактов, с которыми вы можете проявить творческий подход.
На джойстик 5В подается питание 5В USB (обозначено как таковое на Itsy Bitsy). И у него есть земля - подключите его к земле Arduino.
Шаг 2: Программное обеспечение

Код Arduino очень прост. Я запрограммировал его специально для нескольких сочетаний клавиш Lightroom, которые я использую для оценки изображений. Нажатие переключателя переключает между видом лупы («e») и сетки («g»). Перемещение джойстика влево и вправо приводит к переходу к предыдущему (стрелка влево) или следующему (стрелка вправо) изображению. При нажатии ручки вверх к рейтингу добавляется звездочка («[»), а при нажатии на нее флажок снимается («u»). (Поверьте мне, это имеет смысл в том, как я оцениваю свои изображения.) Вы можете изменить код, чтобы делать все, что хотите.
Основной цикл сначала считывает состояние переключателя. Если он изменился с ВЫСОКОГО на НИЗКИЙ, он переключается и набирает «e» или «g» для переключения между режимами просмотра «Лупа» и «Сетка».
Затем программа отображает аналоговые значения джойстика (от 0 до 1024) в другой диапазон (от -5 до +5). Код распознает +/- значения 5 как действия для отправки символов, поэтому вам нужно переместить джойстик ближе к концу его диапазона, чтобы отправить сочетание клавиш. Затем джойстик должен пройти через 0, прежде чем он отправит еще одно нажатие клавиши. Код для этого довольно короткий и довольно элегантный. В итоге вы должны быть намеренными в своих движениях, и он не будет случайно отправлять поток того же нажатия клавиши (что и сделала моя первая версия кода!).
Вы можете использовать библиотеку мыши и аналоговые значения с джойстика для управления курсором, колесами прокрутки, регуляторами громкости или любой другой аналоговой (ish) функцией.
Шаг 3: Кейс, часть 1 - Дизайн и раскрой



Иметь макет на моем столе просто не круто, да и эргономика тоже не идеальна. Пришло время разработать футляр.
Это был бы идеальный проект для 3D-печати корпуса. У меня нет 3D-принтера, но есть лазерный резак, так что теперь для меня все выглядит как проект лазерной резки. На создание этого дизайна в Adobe Illustrator ушел целый вечер, включая игру с множеством различных концепций, таких как простая палка, более органичная форма с использованием петель, вырезанных лазером, и квадратные формы.
Я начал с того, что держал макетную плату под разной высотой и под разными углами, и решил, что угол в 30 ° на высоте от 80 до 100 мм от стола будет удобен. Окончательный дизайн немного похож на небольшой полетный джойстик, и его удобно держать в руке.
Исходный файл Adobe Illustrator вместе с версиями DXF и PDF включены ниже. (DXF и PDF не тестировались на лазерном резаке.) Файл также включает виды сверху и сбоку джойстика, которые вы можете использовать при создании собственного проекта.
В этой конструкции использованы материалы двух толщин. Все, кроме верха, изготовлено из «служебной» фанеры 0,187 дюйма из местного магазина больших коробок. Лист 2 x 4 дюйма стоит всего около 8 долларов. в совершенстве. Верх сделан из фанеры толщиной 3 мм, чтобы обеспечить дополнительное пространство для ручки джойстика. Этот проект тоже подойдет в прозрачном акриле.
Пара замечаний о преимуществах изготовления прототипов: сначала я сделал пробную вырезку и сборку из картона, что помогло найти одну дизайнерскую ошибку. Когда я вырезал деревянную версию в первый раз, я также обнаружил, что верхняя пластина была очень хрупкой из-за отверстия, поэтому я переработал выступы, чтобы добавить им дополнительную прочность. Я также обнаружил, что джойстик ударяется о боковую часть корпуса, поэтому я сделал два изменения: я переместил крепление, чтобы лучше центрировать его, и я использовал дерево толщиной 3 мм вместо 5 мм сверху. В загруженном файле дизайна есть все эти изменения - только не забудьте вырезать верхнюю часть из более тонкой древесины.
Шаг 4: Кейс, часть 2 - Покраска и сборка



Со всеми вырезанными частями я провел окончательную сухую сборку и временно установил джойстик. Все было хорошо, поэтому я склеил все детали, кроме верха. Установить джойстик после того, как прикреплен верх, невозможно, так что это будет позже.
Правый нижний угол верха мог попасть в основание моего большого пальца, поэтому я скругил нижние углы быстрым шлифованием.
Если вам нравится лазерная резка или если вы сделали это из акрила, готово! Я хотел, чтобы изделие было красивее, чтобы оно подходило к моему рабочему столу. Я нанес ему базовый слой черной краски, а затем несколько слоев Rust-oleum Forged Hammered Burnished Amber. Я использовал этот продукт на отделке моего стола, так что он связывает части вместе. Мне также нравится металлический вид этой краски. Я замаскировал внутреннюю часть суставов пальцев там, где подходит верх, чтобы краска не испортила посадку.
Джойстик и Arduino были соединены черными проводами и термоусадочными трубками, чтобы они выглядели чистыми, а провода были обрезаны до длины, которая выглядела правильно при установке.
Джойстик закреплен на центральной стойке. Винты, которые у меня были, были немного длинными, поэтому я укоротил их, ввинчивая в неиспользованную древесину, и отшлифовал кончики настольной шлифовальной машинкой. У Arduino нет монтажных отверстий, поэтому его приклеили на место горячим клеем.
Когда все было смонтировано, я защелкнул верхнюю часть без приклеивания. Он прилегает достаточно плотно, чтобы удерживать себя, и не имеет конструктивного значения.
Шаг 5: Завершение



Готовый проект отлично смотрится на моем столе.
Первое, для чего я его использовал, - это редактировать картинки для этого Instuctable.
Выполнено!
Рекомендуемые:
USB-ДЖОЙСТИК С НУЛЕВОЙ ЗАДЕРЖКОЙ - АВТО АНАЛОГОВАЯ МОДИФИКАЦИЯ: 5 шагов

USB-ДЖОЙСТИК С НУЛЕВОЙ ЗАДЕРЖКОЙ - АВТО АНАЛОГОВАЯ МОДИФИКАЦИЯ: Это дополнительный проект к модификации истинного аналогового джойстика USB-кодировщика с нулевой задержкой. Перед добавлением этого устройства вам необходимо успешно модифицировать, протестировать и откалибровать кодировщик в предыдущем проекте. Когда закончил и работал
USB-джойстик DIY MPU-6050: 5 шагов

USB-джойстик DIY MPU-6050: с Microsoft Flight Simulator 2020 я быстро понял, насколько сложно использовать клавиатуру для выполнения плана. Поискав в Интернете, я не смог найти подходящий джойстик по разумной цене. У большинства интернет-магазинов их не было в наличии. Популярность M
USB-джойстик на эффекте Холла: 7 шагов (с изображениями)

USB-джойстик на эффекте Холла: в этих инструкциях показано, как использовать промышленный джойстик на эффекте Холла для создания высокопроизводительного USB-джойстика. Есть еще один связанный с ним миниатюрный USB-джойстик с инструкциями, который может обеспечить недорогое решение; >
Крошечный USB-джойстик: 5 шагов (с изображениями)

Крошечный USB-джойстик: в этой инструкции показано, как сделать очень простой крошечный USB-джойстик. Эта инструкция связана с USB-джойстиком на эффекте Холла для обеспечения недорогого решения
Преобразование джойстика из старого игрового порта в USB-джойстик с помощью Arduino: 5 шагов

Преобразование старого джойстика игрового порта в USB-джойстик с Arduino: Краткое заявление об отказе от ответственности: цель этого проекта не в том, чтобы преобразовать дешевый джойстик для игрового порта. Смысл этого проекта - сделать универсальный и настраиваемый джойстик, который можно было бы легко модифицировать. Причина, по которой я выбрал Arduino, была