Как подключить джойстик от денди к пк. Подключаем джойстик от Dendy к компьютеру

06.03.2020

Читайте также

Как установить MIUI9: описание для телефонов Xiaomi
Почему мой телефон Xiaomi не включается?
Учетная запись Mi забыла пароль — Простое решение проблемы
Разблокировка загрузчика устройств разблокировки Xiaomi Mi достигает 50, что нужно сделать
Обновление прошивки HTC One

В статье я не только покажу вам, как подключить джойстик от денди к компьютеру , но и предложу скачать игры для консолей Dendy, Nintendo, Sega. Так что если вы не собираетесь подключать джойстик, вы можете просто загружать игры и играть на обычной клавиатуре.

Дизайн очень простой. Но, прежде чем тестировать созданный вами интерфейс, убедитесь, что все провода правильно припаяны и что оголенные провода ничего не касаются. Я настоятельно рекомендую использовать корпус для этих интерфейсов, чтобы снизить риск короткого замыкания.

Начнем с джойстика для Dendy (NES) … Если вы есть геймпад, и на нем есть кнопки A, B, Turbo A, Turbo B, Select и Begin (последние две могут не существовать, настоятельно рекомендую не брать их) и общается по 5 проводам, то это либо NES, либо Аналог NES будет работать, если вы все сделаете правильно.

Однако пора переходить к делу. Все, что вам нужно, это разъем порта LPT (он параллельный, он от принтера), паяльник, пять абсолютно любых диодов и, собственно, сам джойстик. Приступим.

Вот сам разъем джойстика (он похож на COM?)

Все распаяно по схеме, если вы хотите подключить два джойстика, то все провода тоже припаяны кроме контактов 8 и 7 на NES, они должны припаять к контактам 11 и 12 на LPT.

А если у вас джойстик с другим разъемом, см. Ниже:

Чтобы припаять провода по схеме, нужно открыть разъем, но я предлагаю сделать все намного проще. Можно просто сделать своего рода адаптер-удлинитель. Помимо LPT нам еще понадобится COM-коннектор (папа)

Еще одна очень важная деталь. Диоды имеют маркировку, их следует припаять полосой вверх. Вы просто припаиваете проводку по схеме к LPT и все.

Получается очень даже. Но дизайн не так важен, как работа!

А теперь программа имеет значение.

Нам потребуется:

1) Установить драйвер и настроить его.

2) Запустить эмулятор консоли и через него откройте интересующую вас игру.

Начнем с установки и настройки драйвера.

Если верить мануалу, он подходит для ОС: Win9x/Me/ NT/XP/2k. Распаковать в любое удобное место и запустить Setup.exe … На экране появится окно, по которому нужно нажать:

Процесс установки заключается в нажатии кнопки «Далее» и не должен вызывать никаких затруднений. , поэтому подробно разбираться не вижу смысла.

После установки в меню «Пуск» появится папка «Джойстик с параллельным портом», а в ней несколько ярлыков. Нас интересует «Настроить джойстики» — и запускаем. На экране появится окно утилиты настройки джойстика. В нем нажимаем кнопку «Добавить».

Мы увидеть окно для настройки нового джойстика. Выставляем в нем значения, как показано на рисунке. Не смущайтесь при выборе типа интерфейса, в нашем случае это не связано с ОС Linux.

Правильно выставив все значения, нажимаем на кнопку« Добавить ». Попадаем в предыдущее окно. Если у нас всего один джойстик, можете смело нажимать кнопку «Готово». Если нам нужно настроить второй джойстик, то снова нажмите «Добавить», появится уже знакомый диалог, хотя наш выбор уже несколько ограничен, но значения нужно будет выставить так же, как на картинке выше . Единственное исключение — в предпоследней строке, т.е. номер контроллера теперь указывается не 1, а 2 или больше, в зависимости от того, какой джойстик мы подключаем к учетной записи.

Ну, половина работы — это Готово, осталось проверить работоспособность джойстика.

Заходим в «Панель управления» и запускаем ярлык «Игровые устройства». Выбираем интересующий нас джойстик и нажимаем на кнопку «Свойства». Откроется окно свойств. Во вкладке «Проверка» мы можем проверить, работает ли наш джойстик. В тот момент, когда к джойстику никто не прикасается и ни одна из его кнопок не нажимается, крестик осей будет в центре белой области, а изображения кнопок будут одинаково темно-красными..

Всем детям 90-х знакомы. Ворвавшись на внутренний рынок, приставка быстро завоевала популярность, и теперь в каждом доме собираются дети всех возрастов за увлекательной игрой. Затем, когда компьютеры стали настолько доступными, что их мог купить каждый, постепенно закончилась эпоха денди. Кроме того, среди приставок стали появляться более продвинутые аналоги, такие как Sega, Sony PlayStation и Nintendo 64.

Однако тяга к игрушкам 90-х не утихает до сих пор. Теперь вам не нужно гнаться за патронами за всеми своими друзьями и знакомыми. Достаточно провести несколько простых манипуляций, и возможность поиграть в «Денди» появится на персональном компьютере.

Что такое «Денди»

» Денди »- это консоль с одним или двумя джойстиками. Носителями игр были особые патроны … Это микросхема в пластиковом корпусе, на которой хранилась записанная игра. В эпоху недостаточного интернета для того, чтобы поиграть во что-то новенькое, был актуален обмен картриджей с соседями или друзьями.

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

Немного истории

Самая первая, которая перенесла игры с игровых автоматов на домашние экраны телевизоров. была японской компанией Nintendo в 1984 году. Консоль взорвала мир видеоигр и стала настоящей сенсацией. Теперь каждый мог играть в любые игры, доступные на Dandy, в комфортной обстановке. Интересно, что название консоли в Японии было Family Computer или Famicom. А в Европу и США она попала чуть позже под именем NES.

Приставка попала в Россию в 1992 году и называлась «Денди». Его копировали и воспроизводили в различных форматах. Правда, на первых порах с ней конкурировали существующие «Атари» и им подобные. Но «Денди» быстро обошел все известные форматы и покорил сердца любителей игр того времени. Однако с появлением нового Genesis или Sega Mega Drive 2, а затем и Sony PlayStation, ему пришлось занять место на этом рынке.

В современном мире также можно найти версии оригинальные приставки Денди в специализированных магазинах и играйте для так называемых «фанатов».

«Денди»: эпоха модерна

Вы можете окунуться в волшебный мир игр на «денди» в современном мире. Для этого есть много возможностей. Один из самых простых и доступных — подключить джойстик Денди к компьютеру. Благодаря рынку электроники, приобретение различных вариантов устройств доступно в Интернете или на радиорынках. Современный джойстик для «Денди», как правило, имеет порт USB, через который его можно подключить к ПК. Этот подход содержит минимум манипуляций.. Если есть желание повозиться с паяльником и случайно был обнаружен оригинальный джойстик, то его тоже можно подключить, создав специальный переходник своими руками.

Подключаем джойстик от «Денди» к компьютеру через USB

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

После Найдя джойстик для «денди», нужно озаботиться программным обеспечением … Для этого нужно скачать специальное приложение — эмулятор консоли. Поскольку официально «Денди» имеет аббревиатуру NES, то искать соответствующую программу нужно именно по такому запросу. В сети много эмуляторов. Но принцип работы этого приложения тот же — запуск игр на «Денди» в окне программы.

Эмулятор

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

Вы можете продемонстрировать, как подключить джойстик Dandy к компьютеру с помощью одного из популярных эмуляторов — FCEUX. Его окно выглядит как на фото ниже.

Загрузка и установка не займет много времени, так как программа весит не более 2 мегабайт и проста в освоении.

Теперь пора подключить и настроить джойстик от «Денди». Для этого вам необходимо вставить его в USB порт компьютера. Затем выберите «Конфигурация» в меню эмулятора и перейдите в раздел «Ввод».

В открывшемся окне конфигурации, чтобы настроить джойстик, нажмите «Настроить». Откроется новый интерфейс, который визуально будет напоминать расположение кнопок на джойстике. Таким образом, путем нажатия на обозначенную кнопку и установки соответствующей клавиши на клавиатуре ПК настраивается поведение в эмуляторе. После установки всех кнопок джойстика нужно все сохранить и выйти в главное окно программы.

Далее нужно найти нужную игру … Их также много в свободном доступе на Интернет. Игры запускаются через меню эмулятора File, в котором нужно выбрать пункт Open ROM. ROM — это образ игры, упакованный в формате, понятном эмулятору. Помимо основных возможностей, программа позволяет в любой момент сохранить состояние игры, а также запустить ее с того же места. Многим детям в эпоху сложных игр этого было мало.

Как подключить джойстик от «Денди» к компьютеру через LPT порт

Вполне себе выпущено множество разновидностей и клонов приставки «Денди».. Соответственно, джойстики могли иметь разную форму и количество контактов. В большинстве случаев использовались цифры 9 или 15. 9-контактный разъем очень похож на компьютерный. Именно этот фактор можно использовать для создания переходника от «денди» к ПК.

Для начала вам понадобятся два разъема — LPT и COM. Их придется разобрать, чтобы можно было правильно припаять провода. Пайка производится по простой схеме, показанной на рисунке ниже.

Как видите, разъем 1 на джойстике подключается к разъемам 5–9 через серию диодов. Остальные припаиваются напрямую. Соединив провода и спаяв их в правильной последовательности, вы сможете снова собрать все вместе. Адаптер готов к первому тесту.

Драйверы джойстика

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

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

Сам процесс загрузки и установки прост. После успешной установки на рабочем столе появится значок этой программы. После его запуска вы увидите окно с предложением добавить новое устройство в конфигурацию. Вам нужно нажать кнопку «Добавить». Далее программа отобразит окно, в котором нужно указать, как будет производиться соединение. В настройках нужно указать следующее:

    параллельный порт — LPT1 соответственно, если он один;

    тип контроллера — SNES или NES;

    тип интерфейса — Linux;

    номер контроллера — Controler 1;

    подтип контроллера — NES.

Теперь осталось нажать на кнопку «Добавить». Это добавит устройство в систему. В следующем окне необходимо нажать Готово.

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

Краткий обзор популярных эмуляторов

Небольшой список самых популярных и удобные рабочие эмуляторы:

    FCEUX. Этот эмулятор уже упоминался в статье. Имеет открытый исходный код и может работать в самых разных системах. Имеет широкий набор настроек и функций.

    iNES. Простой и легкий эмулятор для операционной системы Windows. Имеет минимальный пакет настроек и конфигураций.

    Nestopia. Также может работать в операционных системах Windows, Linux, Mac OS. Множество настроек и функций.

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

    RetroCopy. Это один из эмуляторов мульти-консолей, который может воспроизводить изображения не только игр Dandy, но также Sega, Nintendo и многих других игровых автоматов и консолей.

выводы

Конечно, радиолюбителям будет интереснее вторая версия джойстика Денди для ПК. Для простых геймеров, решивших окунуться в ностальгию по старым играм, отлично подойдет способ №1. Во-первых, стоимость джойстиков с USB не так велика. К тому же теперь их можно купить практически на любом углу. Во-вторых, это значительная экономия времени при подключении и калибровке нового устройства.

В сети в большом количестве есть игры «Денди». Играть с джойстиком или клавиатурой — это личный выбор. Но именно полное погружение в атмосферу той эпохи все же даст только полное восстановление игрового процесса.

Игры с джойстиком были портированы энтузиастами денди так, чтобы их можно было использовать на большое количество разных эмуляторов. Еще одним существенным преимуществом является то, что простейший джойстик также можно использовать для эмуляции других консолей, таких как Sony PlayStation или Sega. Вам просто нужно установить соответствующую программу и найти образ нужной игры.

Dendy (Денди) — легендарная консоль, которая, по сути, была аппаратным клоном консоли Famicom от Nintendo. , собранный на Тайване из китайских комплектующих. Естественно, 20 лет назад эти подробности никого не интересовали: сам факт владения приставкой с несколькими картриджами считался самым большим счастьем. Денди стал нарицательным, мечтой детей и взрослых.

Сегодня популярны другие консоли, но иногда возникает желание вернуться в те годы, когда главным героем игр был Супер Марио. , и Mortal Kombat еще не был таким красочным и реалистичным, но уже вовлекал юных геймеров в паутину смертельных сражений. Чтобы вернуть эти ощущения, вам просто нужно придумать, как подключить Денди к телевизору.

Подключение

Стандартно приставка идет с RF кабель, который подключается к разъему антенны на телевизоре.

Помните, что подключать и отключать антенну можно только при выключенном устройстве!

Само подключение производится следующим образом:

После этого на экране должна появиться игра, картридж с которой вы установили в приставку.

AV-кабель

Если вы хотите для достижения наилучшего качества изображения используйте кабель AV (низкочастотный) вместо стандартного кабеля RF. С его помощью приставка подключается к телевизору не через антенный разъем, а через видеовход.
В этом случае установка дополнительного оборудования не требуется: вам просто нужно соединить два устройства с помощью кабеля, и затем переключитесь в режим AV на телевизоре.

Если в телевизоре нет AV-выхода, но есть разъем SCART, используйте специальный переходник.

Всему свое время

Помните, что Денди больше 20 лет, поэтому ваша любимая игра может выглядеть очень непривлекательно на экране с высоким разрешением. Поэтому лучше купить и подключить PS3 к телевизору, а игры Dendy запускать на компьютере, скачав эмулятор.
Конечно, вы не сможете достичь полного ощущения погружения в прошлое, но если бы Например, вы подключаете геймпад к компьютеру, вы можете провести незабываемый вечер в компании любимых детских игр.

Для справки — разъемы «папа» «- со штифтами и« мама »с отверстиями для штифтов, откуда взялись такие аналогии, можно только догадываться …

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

Давайте сначала рассмотрим LPT порт более подробно.

Если у кого еще нет видел его, показываю пару таких выводов:

Если честно, я не нашел этого на задней панели и пошел глубже. На материнской плате оказался LPT порт.

В свою «коллекцию» железок я откопал нужную вилку, которую подключил к материнской плате. Если вы попали в аналогичную ситуацию и у вас на системном блоке задней панели нет выхода LPT, но он присутствует на материнской плате, аналогичный штекер можно найти на каком-нибудь радиорынке или у перекупщиков запчастей. для компьютеров. На многих материнских платах, особенно старых, он не припаян жестко, а имеет именно такую ​​вилку, поэтому найти его не составит труда:

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

Чтобы не нагружать схему, я не стал писать надписи на самой картинке, а обозначил все нужные нам контакты цветами. Индивидуальные контакты Параллельные порты предназначены для разных целей, одни для ввода, другие для вывода. Не будем вдаваться в тонкости работы компьютера и LPT портов. Думаю, достаточно будет объяснить только те, которые нам нужны. Итак:

  • Желтый — Часы
  • Оранжевый {! LANG -0b2c110af29ab95e15eb48352021af12!} {! LANG-bd3144360784723aa0042e23413697e4!} {! LANG-b3c4930c59d45e99f49727a489be467f!}
  • # li> LANGee>
  • {! b> {! LANG-7150c8307571262d6039f3129b16e37e!}
  • {! LANG-c7708dcc92237eead85935eec9ef1ebf!} {! LANG-f2948f8250e42a1ff88a7f0> #! {! LANG-158a070e947fb1645c33878157f6b3cc!} {! LANG-ac7110205bace316890c77edf23be5ff!} {! LANG-f9ecee204a6fdb1d6deedea0d2!

    {! LANG-50a1b1eafc5913f3b2b7b4a1c295df5a! }

    {! LANG-1888eaf8069ac4765c0040c3e4e375b0!}

    {! LANG-f835508c11f6c1f9e0a28db018875944!}

    {! LANG-f4ba0518c99e77b82aaef2aeb02d04 e1!}

    {! LANG-dbc4c71ee6ec246cb8d2bd2fa4d831f7!}

    {! LANG-c69efe17614e0cdbdbe6a0203b391921!}

    {! LANG-1a436dbd89cae07fad32e8d5a09e9c10!} {! LANG-2980284ff966d1f70864a7583bc8d032!} {! LANG-6164bf2f56b5928586002e48003e02fa!} {! LANG-d10dee489f4efe645662fd6a80feb170!} {! LANG-8e485383b6e425944d663ad99ba4b465!}

    {! LANG-5f4c22d16c4ede21ad43ca5957ed10d2!}
    {! LANG-d91d823723624092222b9a4eb51fe7bd!}
    {! LANG-4363264cd25958d16c4779e! }
    (контакт 15) ——> Данные контактной площадки 5

    Обратите внимание, что контакт 14 не используется, поскольку это не вход параллельного порта.

    После всех манипуляций получилось вот что:

    5 одинаковых диодов не нашел, пришлось брать диф ferent от других. Лучше конечно, если все 5 будут одинаковыми. Если одинаковых нет, то по параметрам они должны быть примерно одинаковыми, т.е. необходимо, чтобы их сопротивление не сильно отличалось.

    Разъем DB25M можно взять от нуль-модема шнур или от старого кабеля принтера (Centronics «а). Лишь бы он был разборным. Хотя, конечно, можно отрезать сам кабель и прозвонить мультиметром. Где я взял такой разъем? Все из того же» сборника «компьютерный мусор. Зато у моего разъема с другой стороны не было отрезков проводов, а был вполне приличный разъем, который я не разбирал, а« протыкал »провода в соответствующие« дырочки »и подключал их к разъем джойстика. В итоге получилось очень аккуратно:

    Иногда , особо прожорливые производители подключили джойстики к консоли не внешним разъемом, а внутренним, а то и того хуже — припаяли приставку к плате. Но даже из этой ситуации предлагаю вам выход. Разбираем ваш джойстик. На фотографиях ниже нужные нам контакты я обвел чашечками соответствующих цветов. На этих двух фото для наглядности по сути один и тот же джойстик с разных сторон. Две фотографии ниже можно увеличить, нажав на них. Далее соединяем эти контакты с другими концами провода и соединяем по любой из схем выше, как в случае соединителя трека. Только на этот раз у нас нет разъема, а есть предварительно размеченные провода.

    Это все, что касается оборудования. Прочтите вторую часть — ПО или как правильно настроить драйверы для джойстиков dendé [появится в ближайшие дни].

    Дизайн очень простой. Но перед проверкой созданного вами интерфейса дважды убедитесь, что все провода правильно припаяны и что оголенные провода ничего не касаются. Я настоятельно рекомендую использовать корпус для этих интерфейсов, чтобы снизить риск короткого замыкания.

    NES и SNES имеют разные разъемы. Также существует множество аналогов NES (среди них наш российский денди, кенга и т. Д.), И поскольку Nintendo использовала проприетарные разъемы для своих фирменных автомобилей, производители клонов не могли их повторить и использовали стандартные разъемы D-Cannon. В любом случае, если у вас есть геймпад, и на нем есть кнопки A, B, Turbo A, Turbo B, Select и Begin (последние две могут не существовать) и общается по 5 проводам, то это либо NES, либо аналог NES и будет работать, если вы все сделаете правильно. Геймпады SNES также используют 5 проводов, но имеют больше кнопок, поэтому они подключаются немного иначе. Более подробно можно узнать через поисковики …

    А теперь небольшой FAQ

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

    Я испытываю ностальгию до глубины души. контента, я решил, что очень хочу играть в Dendy и хочу играть на ноутбуке, но не на клавиатуре, а на старом добром джойстике.

    Ниже я опишу, с какими проблемами я столкнулся и как я их решил.

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

    Возникла проблема, как подключить джойстик от денди к ноуту.

    Немного погуглив, понял, что в основном это решается подключением через LPT порт и использованием готовых драйверов, но у меня есть ноутбук и он мне не подходит. Потом я вспомнил, что у меня есть плата Arduino Uno, и решил, что пойду своим путем и буду использовать его.

    0. Определение распиновки на джойстике

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

    Мне не удалось найти спецификацию на свой noname денди, поэтому я начал осматривать внутреннюю плату, чтобы найти там питание и землю, и понять, какой из пяти контактов на джойстике к ним подключен. Я быстро с этим справился. Оказалось, что это два крайних контакта.

    К Arduino я подключил все напрямую, питание — Источник питания 5 В, земля — ​​земля, остальные три контакта подключены к цифровым выводам 2, 3 и 4.

    1. Описание протокола джойстика

    Найти эту информацию оказалось не так-то просто. Всего несколько сообщений на паре форумов. Лично мне помог этот пост: code.google.com/p/avrtoys/wiki/joystick, а именно этот код: avrtoys.googlecode.com/svn/trunk/joystick/main.c. А вот ссылка на заметку, упомянутую в этой записи в журнале Радио: ftp.radio.ru/pub/arhiv/1996/06-96/46-6-1996.gif. Из всего этого я пришел к выводу, что вам нужно отправить сигнал в Latch, а затем отправить сигнал в Clock 8 раз и каждый раз читать значение из Data, которое после каждого Clock будет содержать информацию о следующей кнопке джойстика.

    2. Настройка среды

    Если у вас уже все настроено или вы довольны Arduino IDE, вы можете перейти к шагу 3.
    Я не знаю как вы, но лично официальная Arduino IDE меня ужасно удручает, поэтому я вкратце расскажу, как пользоваться моей любимой IDE.
    Прежде всего, я скачал исходный код Arduino IDE и нашел там код, отвечающий за компиляцию и загрузку прошивки. Потратив немного времени, я выбрал все используемые там команды:
    #! /bin/bash avr-gcc -c -g -Os -fno-exceptions -ffunction-section -fdata-section -mmcu = atmega328p -DF_CPU = 16000000UL -I/usr/share/arduino/hardware/arduino/cores/ arduino -I/usr/share/arduino/hardware/arduino/options/standard $ filename.cpp -o $ filename.o avr-gcc -Os -Wl, — gc-section -mmcu = atmega328p -o $ filename.elf $ filename.o libArduino.a -lm avr-objcopy -O ihex -R .eeprom $ filename.elf $ filename.elf.hex avrdude -V -p m328p -b 115200 -c arduino -P/dev/ttyACM0 -U flash : w: $ filename.elf.hex
    В приведенной выше команде при компоновке libArduino. используется библиотека, ее можно получить, скомпилировав все файлы * .c и * .cpp из папки с заголовками и собрав все объекты-объекты в один архив. Или вы можете просто запустить IDE Arduino, скомпилировать любой проект и скопировать файл/tmp/build*.tmp/core.a. Это будет абсолютно равноценно.
    Все эти команды актуальны для Arduino Uno, для других Arduino нужно изменить некоторые параметры.

    Теперь, используя эти команды, вы можете легко настроить вашу среду IDE для автоматической компиляции и загрузки микропрограммы.

    3. Запись кода прошивки

    Здесь нужно было только определить, какие из 2, 3 и 4 контактов отвечают за Latch, Clock и Data. Я решил это методом проб и ошибок. Мы предполагаем, что 4 — это Data, и делаем Serial.println (digitalRead (4)), если есть какая-то реакция при нажатии кнопок, то это она. Остальные 2 контакта определились, когда уже писалась прошивка, если все работает то вы угадали, нет — меняем местами.

    Опять же, код был написан на основе avrtoys.googlecode.com/svn/trunk/joystick/main.c:

    Код прошивки

    #include const int data = 2; const int latch = 3; const int clock = 4; const int TICK = 2; void init_joystick (int data, int latch, int clock) (pinMode (data, INPUT); pinMode (clock, OUTPUT); pinMode (latch, OUTPUT); digitalWrite (clock, HIGH);) int get_keys_state_joystick (int data, int latch , int clock) (digitalWrite (защелка, HIGH); delayMicroseconds (TICK); digitalWrite (latch, LOW); int keys_state = 0; for (int i = 0; i

    В результате я получил 1 байт, содержащий информацию обо всех 8 кнопках джойстика, каждая в соответствующем бите. Я получил следующее расположение: A, B, Select, Start, Up, Down, Left, Right. Затем это байт отправляется на компьютер, где его принимает и обрабатывает мой «драйвер».
    Как видите, можно легко подключить второй джойстик.

    4. Написание «драйвера»

    Здесь необходимо было принять этот самый байт от Arduino и имитировать нажатие кнопок клавиатуры. Да, нажатия джойстика будут обрабатываться как нажатия клавиш, хорошие или плохие.
    Я выбрал Python в качестве своего программирования язык. просто и эффектно ctive, я думаю, он идеально подходил для этой задачи.

    Единственная проблема, которая тут возникла, это дребезг контактов джойстика. Я решил это введением временного интервала после изменения состояния кнопки, в течение которого состояние не меняется. Это заняло 0,05 с.

    Для имитации нажатия клавиш на клавиатуре я использовал утилиту xte, входящую в состав Xautomation. Это очень легко использовать, вот пример: xte «keydown Left». См. Man xte для получения дополнительной информации.

    Чтобы выйти из драйвера, я использовал состояние, когда вся D-панель нажата. Этому состоянию соответствует число 0xf0.

    Код драйвера

    #! /usr/bin/python import serial import os import time def bool_to_updown (val): if val: return «up» else: return «down» exit_keys = 0xf0 delta_time = 0,05 keys = [[«Right», False, 0,0], [«Влево», Ложь, 0,0], [«Вниз», Ложь, 0,0], [«Вверх», Ложь, 0,0], [«s», Ложь, 0,0], # START [«a», False, 0.0], # SELECT [«x», False, 0.0], # B [«z», False, 0.0]] # A ser = serial.Serial («/dev/ttyACM0», 57600) keys_state = 0 пока keys_state! = exit_keys: keys_state = ord (ser.read ()) для i в диапазоне (8): if not bool (keys_state & (1 delta_time: os.system («xte» key (0) (1) «». format (bool_to_updown (keys [i]), keys [i])) keys [i] = not keys [i] keys [i] = time.time () для i в диапазоне (8): os.system ( «xte» keyup (0) «». format (keys [i])) ser.close () print («До свидания!»)

    5. Ура! Давайте сыграем !

    Все! Осталось только настроить эмулятор денди, я выбрал FCEUX.
    Указываем в настройках те ключи, которые указаны в драйвере iii и вспоминаем свое детство!

    Заключение

    На самом деле, есть и другие, возможно, более эффективные способы использования Arduino в этой ситуации. Например, если у вас есть Arduino Leonardo, вы можете использовать объект Keyboard для отправки команд с клавиатуры прямо на свой компьютер. также может, насколько я понимаю, перепрограммировать Arduino, чтобы он отображался как джойстик/клавиатура/мышь, а также напрямую отправлять команды. Вот руководство: http://mitchte ch.net/arduino-usb-hid-keyboard/. Однако моя методика меня полностью устраивает и результатом я более чем доволен.

    Как ни крути, но Arduino — прекрасная площадка для подобных экспериментов.
    Теперь осталось только собрать все это в виде отдельного устройства.

    И напоследок видео:

Оцените статью
Botgadget.ru
Добавить комментарий