Оглавление:
- Запасы
- Шаг 1. Дизайн
- Шаг 2: Распечатайте свое творение
- Шаг 3: Подготовка прототипа платы
- Шаг 4: Необязательно: украсьте корпус контроллера
- Шаг 5: Окончательная сборка
- Шаг 6: запрограммируйте свой Arduino
- Шаг 7: Играйте в свои игры
- Шаг 8: извлеченные уроки
Видео: Контроллер Go: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Вы любите играть в игры на своем смартфоне? Вы устали от игр с неуклюжим сенсорным управлением? Ненавижу забывать заряжать контроллер Bluetooth? Вам нужен кабель, который вы купили, но никогда не используете?
Почему бы не сделать свой собственный контроллер на ходу?
Я уверен, что довольно поздно начал игру (каламбур), но недавно я обнаружил, что мой старый смартфон может играть в ретро-игры с помощью эмуляции. Когда я рос, я был большим поклонником систем Game Boy, и у меня остались приятные воспоминания о том, как я часами играл и напрягал глаза во время долгих поездок на машине, отчаянно пытаясь найти точку сохранения, пока не разрядился аккумулятор или солнце не было слишком далеко за горизонтом, чтобы увидеть мой экран. Теперь я могу играть на своем телефоне и испытывать ностальгию, но с красивым экраном с подсветкой. Спасибо технологиям!
Отказ от ответственности: эмуляция игр - это щекотливая тема, которая в некоторых случаях обходится стороной с пиратством. Пожалуйста, учитесь и играйте ответственно!
Фон:
Я решил продолжить этот проект после создания сочетания клавиш. Изучая библиотеку клавиатуры Arduino и придумывая сочетания клавиш, я привязал некоторые из тестовых кнопок к WASD. Он сразу же начал работать с моими компьютерными играми, и это заставило меня крутиться. Примерно в то же время на моем телефоне закончилось место для аудиокниг, и я решил, как использовать USB-накопитель с телефоном, поскольку моя модель не поддерживает карты microSD. Именно тогда я узнал об OTG. OTG использует заряд аккумулятора вашего телефона для питания подключенного к нему устройства. Сюда входят клавиатуры, мыши и флеш-накопители, и это лишь некоторые из них. Телефон может питать устройства 5 В и угадайте, что требуется для работы Arduino Micro? Это был брак, заключенный на небесах.
Запасы
Ардуино Микро
Доска прототипа
Кнопки 12 x 6 мм (я использовал классические тактильные переключатели мгновенного действия на макетной плате)
Паяльник и припой
3д принтер
Кабель на ходу (OTG); Я сделал свой собственный
Кабель для зарядки Micro USB
Шаг 1. Дизайн
Я хотел, чтобы мой контроллер был портативным и предлагал все кнопки, которые мне понадобятся для игр вплоть до эпохи Super Nintendo. Это означало, что мне понадобится 12 кнопок. Четыре для навигационной панели (d-pad) и восемь для A, B, X, Y, Start, Select, Left Trigger и Right Trigger. У меня также было дополнительное требование: я хотел, чтобы он был симметричным, чтобы я мог играть одной рукой любой рукой. Это дополнительное требование может показаться странным, но чтобы дать некоторый контекст, я должен упомянуть, что в последнее время я регулярно обнаруживаю, что держу спящего ребенка и использую только одну руку в течение ограниченного игрового времени.
Определив требования, я решил спроектировать свой контроллер в САПР. Я лично использую OnShape, но знаю, что многие люди также добились успеха с Fusion360. Я хотел бы поблагодарить других людей на этом сайте, которые создают свои собственные творения. Это тяжелая работа! Дизайн, который я придумал, был очень простым, но мне потребовалось много часов, чтобы он остался доволен. Даже когда я печатаю это, я замечаю много улучшений, которые хотел бы внести.
(Я планирую разместить файлы.stl на Thingiverse, когда позволит время. Файлы будут там, поэтому я могу обновлять их без необходимости постоянно загружать сюда файлы.)
Шаг 2: Распечатайте свое творение
У меня есть принтер Ender 3, который у меня был всего несколько месяцев. Это отличный принтер для начала, если вы хотите заняться 3D-печатью. Я не осознавал, насколько он не в порядке, пока не измерил свои части для этого проекта. До этого проекта я использовал его только для печати миниатюр для настольных игр. Мини вышли великолепно, и меня не особо заботили размеры. Потребовалось несколько калибровочных кубиков и новый рулон нити, прежде чем я был доволен результатами.
Шаг 3: Подготовка прототипа платы
Перед тем, как паять кнопки на макетную плату, я протестировал все кнопки на макетной плате и одновременно протестировал свой код Arduino. Я перейду к коду позже.
Сейчас самое подходящее время для обрезки макета платы по размеру. Используйте свой распечатанный корпус контроллера в качестве ориентира и установите кнопки насухо, чтобы убедиться, что все совпадает. Я просто взял кусочки для проволоки и отрезал лишнюю доску, а затем отшлифовал края наждачной бумагой с зернистостью 150.
Подключение контроллера действительно простое, поскольку мы используем внутренние подтягивающие резисторы Arduino Micro. Все кнопки идут на вход и землю. Кнопки, которые я использую, представляют собой обычные 6-миллиметровые тактильные переключатели мгновенного действия.
Припаять кнопки к Arduino было небольшой забавной головоломкой. Некоторые кнопки находились под ардуино, и мне пришлось вытащить из-под него провода, прежде чем припаять ардуино к плате прототипа. Если вы присмотритесь к кнопке на плате, я пропустил левую и правую кнопки направления.
Для моей конкретной конструкции я припаял кнопки направления вверх и вниз (я пропустил левую и правую кнопки направления) к макетной плате вместе с некоторыми очень длинными проводами, затем перевернул плату и припаял ардуино. У меня нет схемы, потому что я в основном паял кнопки по одной наугад (могу загрузить одну, если будет достаточно интереса). После того, как Arduino закреплен, я перевернул плату обратно на сторону кнопок и припаял остальные кнопки и их провода.
Шаг 4: Необязательно: украсьте корпус контроллера
Перед окончательной сборкой самое время отшлифовать, заполнить зазоры и покрасить корпус контроллера. Я решил пропустить этот шаг для своего прототипа, потому что хотел иметь что-то, что можно было бы использовать немедленно. Когда я неизбежно улучшу свой дизайн до чего-то более изысканного, я приложу к нему ту боль, которой он заслуживает.
Шаг 5: Окончательная сборка
Пришло время поместить все ваши кнопки и готовую макетную плату в корпус. В своей конструкции я использовал винты для листового металла # 4-24 x 1/2. Они выполняют свою работу, но не подходят так хорошо, как мне хотелось бы.
Шаг 6: запрограммируйте свой Arduino
Вы можете сделать этот шаг раньше, когда вы еще разрабатываете плату или после того, как все припаяете к прототипу платы. Мне просто нравится, чтобы это было в отдельном разделе.
Код очень прост по сравнению с большинством программ Arduino, которые я видел. Нам нужно только назначить каждой кнопке значение клавиатуры, и Arduino выполнит цикл, чтобы проверить, какие кнопки были нажаты, и отправить эту информацию на наш телефон.
Для тех, кому интересно, я использую приложение retroArch, чтобы играть в свои ретро-игры. Клавиши, которые я использовал, настроены на раскладку клавиатуры по умолчанию, используемую для retroArch.
#include #include "Keyboard.h" #define NUM_BUTTONS 12 const uint8_t BUTTON_PINS [NUM_BUTTONS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // a = 'x' // b = 'z' // x = 's' // y = 'a' // левое плечо = 'q' // правое плечо = 'w' // select = 'rshift '// start =' enter '// up =' key: up '// down =' key: down '// left =' key: left '// right =' key: right 'const char BUTTON_KEYS [NUM_BUTTONS] = {KEY_RETURN, KEY_DOWN_ARROW, KEY_UP_ARROW, KEY_LEFT_ARROW, KEY_RIGHT_ARROW, KEY_RIGHT_SHIFT, 'z', 'x', 's', 'a', 'q', 'w'}; Bounce * buttons = new Bounce [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {buttons .attach (BUTTON_PINS , INPUT_PULLUP); кнопки .interval (25); } // инициализируем управление клавиатурой: Keyboard.begin (); } void loop () {// проверяем, изменилось ли значение для (int i = 0; i <NUM_BUTTONS; i ++) {buttons .update (); if (buttons .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (buttons .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}
Шаг 7: Играйте в свои игры
В качестве альтернативы этот контроллер можно использовать с ПК без кабеля OTG для отправки нажатий клавиш или макросов. У меня также был друг, который сказал, что такой контроллер также может быть полезен для рисования планшетов, хотя я никогда раньше с ним не связывался.
Надеюсь, вы нашли это руководство полезным. Ниже приведен раздел извлеченных уроков для тех, кому интересно, что я узнал в процессе и что бы я хотел сделать по-другому.
Шаг 8: извлеченные уроки
CAD:
Раньше я никогда особо не связывался с программным обеспечением САПР, и мне приходилось учиться на ходу с этим дизайном. Изначально я выбрал более вертикальный дизайн, который поместился бы в ваших руках так же, как Wii Nunchuk. Мои ограниченные познания в области дизайна с использованием органических форм стали моим недостатком. Может быть, мне стоит взять Intructables на курс проектирования САПР.
Кнопки:
Кнопки, которые я использовал, были громче, чем хотелось бы (особенно когда вы пытались не дать кому-то проснуться). Я бы хотел найти более тихие кнопки. Включение пружин между кнопками и их колпачками будет иметь большое значение, чтобы сделать конструкцию более отполированной. На мой вкус, кнопки слишком сильно провисают.
Пайка:
Я новичок в пайке и у меня не очень устойчивые руки. Пайка всех этих крошечных проводов повсюду заняла намного больше времени, чем я ожидал. Если бы мне пришлось делать это снова и снова, я бы определенно наметил, где будут проходить мои провода, прежде чем брать утюг. Это уменьшило бы количество ошибок, обнаруженных мной после прикрепления Arduino к прототипу платы, и сэкономило бы мне время.
Рекомендуемые:
Как установить, запустить и подключить контроллер к эмулятору: 7 шагов
Как установить, запустить и подключить контроллер к эмулятору: вы когда-нибудь сидели без дела и вспоминали свое детство юного геймера и иногда хотели бы вернуться к этим старым жемчужинам прошлого? Что ж, для этого есть приложение … точнее, есть сообщество геймеров, которые создают программы
(ОБНОВЛЕНИЕ - ЕСТЬ НЕБОЛЬШАЯ ПРОБЛЕМА) USB-КОНТРОЛЛЕР ИГРЫ ДЛЯ ПК: 10 шагов (с изображениями)
(ОБНОВЛЕНИЕ - ЕСТЬ НЕБОЛЬШАЯ ПРОБЛЕМА) USB-КОНТРОЛЛЕР ИГРЫ ДЛЯ ПК: ИГРОВОЙ КОНТРОЛЛЕР ДЛЯ ЛЮБОЙ ИГРЫ (ПОЧТИ)
Сделайте ленточный контроллер: 11 шагов (с изображениями)
Создайте ленточный контроллер: ленточные контроллеры - отличный способ управлять синтезатором. Они состоят из сенсорной полоски, которая позволяет непрерывно контролировать высоту звука. Электропроводящая полоса, называемая «велостат», которая реагирует на изменения напряжения или сопротивления, вызванные
Контроллер DIY на базе Arduino - Игровой контроллер Arduino PS2 - Игра в Tekken с DIY-геймпадом Arduino: 7 шагов
Контроллер DIY на базе Arduino | Игровой контроллер Arduino PS2 | Игра в Tekken с помощью DIY Arduino Gamepad: Здравствуйте, ребята, играть в игры всегда весело, но играть с вашим собственным игровым контроллером DIY еще веселее. Поэтому мы создадим игровой контроллер с использованием arduino pro micro в этих инструкциях
YABC - еще один контроллер Blynk - контроллер температуры и влажности облака IoT, ESP8266: 4 шага
YABC - Еще один контроллер Blynk - Контроллер температуры и влажности облака IoT, ESP8266: Привет, производители, недавно я начал выращивать грибы дома, вешенки, но у меня уже есть 3x таких контроллера дома для контроля температуры ферментера для моего домашнего пива, жена также сейчас занимается этим чайным грибом, и в качестве термостата для тепла