Имитация выхода 9-контактного джойстика

joystick

Ардуино-джойстик-рекордер

Я создал эту небольшую установку, которая должна записывать и воспроизводить ввод с классического 9-контактного джойстика. Я подключил 9-контактные разъемы к Arduino, считывал ввод с левой стороны с джойстика, а затем передал его на правую сторону, установив соответствующие контакты в состояние HIGH.

Это работает, и я могу играть в игры на Commodore 64, однако я заметил, что при такой настройке ток передается на Commodore 64, что, скорее всего, сильно вредит машине (я остановился сразу после того, как заметил).

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

Изображение установки:

Настройка

, 👍0


1 ответ


Лучший ответ:

2

Я бы изолировал два устройства с помощью оптоизоляторов.

схема

При включении выхода загорается инфракрасный светодиод в оптоизоляторе, который включает фототранзистор, соединяющий вход с GND. Оба устройства затем полностью гальванически развязаны (если, конечно, вы не берете питание от C64 для Arduino).

Еще один вариант, если вам не нужна гальваническая развязка, – это просто использовать простой транзистор (маломодульный NPN или N-канальный полевой МОП-транзистор логического уровня) для создания выхода с открытым стоком:

схема

Снова установите на выходе ВЫСОКИЙ уровень, и транзистор включится, подключив вход C64 к земле.

,

Спасибо (опять же, я думаю, поскольку вы всплываете с решениями для каждого вопроса, который я задаю ;)) Маженко. Я рассмотрю оба варианта, это было очень полезно., @Esshahn

@Majenko может быть транзистор 2N2222?, @Michał Stępień

@MichałStępień Да, это идеальный и распространенный транзистор., @Majenko