Создание адаптера Atari 2600 на базе Arduino для подключения к компьютеру
Компоненты и материалы
| Компонент | Количество |
|---|---|
| Arduino Micro (на базе ATmega32U4) | 1 |
Необходимые инструменты
- Паяльник
Приложения и сервисы
- Arduino IDE
О проекте
Недавно я увлекся винтажными компьютерами. Одной из самых культовых систем является Atari 2600 (1977 г.). Я нашел приставку в хорошем состоянии, но при включении она просто «пыхнула» — классическая проблема старого железа. Эмуляторы работают, но не дают ощущения настоящего геймпада. Решение — сделать адаптер, позволяющий подключить оригинальный джойстик Atari к компьютеру по USB.
Шаг 1: Изучение внутренностей контроллера
Разобрав контроллер, я удивился: внутри всего 5 кнопок (вверх, вниз, влево, вправо, огонь) и никакой схемы управления. Каждая кнопка замыкает свой контакт на общий земляной провод. Это идеально для микроконтроллера.




Шаг 2: Необходимые детали
Важно: Проект не будет работать на Arduino Uno, Nano или Mega. Нужен микроконтроллер с поддержкой HID (Human Interface Device), например ATmega32U4 — он есть в Arduino Micro (или Pro Micro).
- Arduino Pro Micro
- Мужские_pin-разъемы (pin headers)
- USB-кабель micro-USB
- Корпус (я напечатал на 3D-принтере)


Шаг 3: Распиновка 9-пинового разъема Atari
У контроллера 9-пиновой разъем, используется 6 пинов: 5 кнопок + земля. С помощью мультиметра в режиме прозвонки определил соответствие цветов проводов и кнопок:
- Черный — Ground (GND)
- Оранжевый — Fire (Огонь)
- Зеленый — Up (Вверх)
- Коричневый — Down (Вниз)
- Синий — Left (Влево)
- Белый — Right (Вправо)


Шаг 4: Корпус и 9-пиновый разъем
Готовых 9-пиновых разъемов сейчас не найти, поэтому напечатал корпус на 3D-принтере. Внутрь вставляются male pin headers, которые контактируют с разъемом контроллера. Файлы для печати: Atari%2BAdapter_2831_29.stl




Шаг 5: Монтаж и пайка
Подключение проводов к Arduino Pro Micro (проверьте цвета проводов вашего контроллера):
- Черный (GND) → GND Arduino
- Оранжевый (Fire) → Pin 3
- Зеленый (Up) → Pin 4
- Коричневый (Down) → Pin 5
- Синий (Left) → Pin 6
- Белый (Right) → Pin 7

Шаг 6: Загрузка кода
Код использует библиотеку Keyboard. При нажатии кнопки (контакт замыкается на GND, уровень LOW) отправляется соответствующее нажатие клавиши. Используются внутренние подтягивающие резисторы (INPUT_PULLUP), поэтому внешние резисторы не нужны. Код полностью прокомментирован.
AtariController.ino
// Код доступен для скачивания, превью отсутствует
Шаг 7: Сборка корпуса
Корпус состоит из верхней и нижней частей. Arduino крепится в нижнюю часть (с отверстием для micro-USB), 9-пиновый разъем — в переднюю часть. Детали склеиваются. Для прочности и веса внутри добавил горячий клей. Затем корпус зашкуривал и покрасил: один вариант с красной полосой, другой — с имитацией дерева, как у оригинальной Atari.



Шаг 8: Использование
- Подключите контроллер Atari к адаптеру.
- Вставьте micro-USB в компьютер. Система определит устройство как клавиатуру.
- Настройте эмулятор: Up=W, Left=A, Right=D, Down=S, Fire=Spacebar.
Работает также на Android через OTG-кабель.


Код
- AtariController.ino
3D-модели
Atari%2BAdapter_2831_29.stl
Производственный процесс
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
- DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
- Создание пользовательских LED-часов с будильником — видно с 12 метров
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Оптимизированные решения питания для проектов на Arduino
- Крестики-нолики на Arduino с матрицей MAX7219 и картонным корпусом
- Пошаговое руководство: сборка умного четырёхногого робота на Arduino
- Своё рулевое управление (джойстик) для игр на Arduino
- Построение полнофункционального станка с ЧПУ на базе Arduino Nano R3