mmote.ru/content/posts/dualshock-avr-usb/index.md

83 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

2023-01-01 18:21:01 +03:00
---
title: "Подключение геймпадов от PlayStation к USB"
categories: ["mcu", "archive"]
date: 2015-08-13T00:00:00+03:00
draft: false
featured_image: gamepads.jpg
---
Недавно на барахолке повезло купить два геймпада DualShock2 по очень таки низкой цене. Но вот незадача - у геймпадов PlayStation свой разъем и общаются с консолью они по интерфейсу SPI. Пару минут гугла и находим сайт со схемой переходника PSX->USB на ATmega8. Ну что ж, берёмся за дело.<!--more-->
Нам понадобятся:
* ATmega8
* 2 резистора 22-68 Ом
* резистор 1.5-2.2 кОм
* 2 стабилитрона 3.6в
* кварцевый резонатор 12 МГц
* 2 конденсатора 22 пФ
* светодиод и резистор для него (100-500 Ом)
* USB шнур
Схема следующая:
![Схема|642](schematic.gif)
![Подключение контроллеров|276](connections.png)
Назначение контактов в геймпадах уже было подписано заботливыми (наверное) китайцами.
![Плата с распиновкой|300](pcb_pins.jpg)
**DI = DAT**
**DO = CMD**
**CS = SEL**
![Распиновка разъема|](pinout.png)
Мегу я прошил ещё до пайки. Прошивку заливал вторую (psx2.hex), так как геймпадов у меня два. Фьюзы выставляются на тактирование от внешнего резонатора (High Freq.)
![Фьюзы для CodeVisionAvr|](fusebits.png)
Если честно, мне лень было травить плату для такой схемы, так что я просто расцарапал и залудил кусочек стеклотекстолита. Затем напаял микросхему сверху. Вышло следующее:
![|300](shit1.jpg)
Напаял основные части:
![|300](shit2.jpg)
В качестве корпуса я взял старый блок питания от радиотелефона.
Просверлил в нём дырки, протянул через них провода от геймпадов, припаял:
![|300](shit3.jpg)
Вот такая красота получилась:
![|300](gamepads.jpg)
Так устройство распознаётся в системе: ![|295](pc1.png)
Откалибровать геймпады можно зайдя в **Панель управления -> Устройства и принтеры** (Win7). Там находим наше устройство:
![|525](pc2.png)
Щёлкаем правой кнопкой -> **Параметры игровых устройств управления**
![|808](pc3.png)
Если при нажатии кнопок на геймпаде в окошке ничего не меняется, что что-то пошло не так.
**Ссылки:**
[Прошивка и исходник](psx_to_usb.zip)
[Сайт-источник](http://www.radiomexanik.spb.ru/kompyuternaya-elektronika/podklyuchenie-dzhoystikov-ot-igrovyih-pristavok-k-shine-usb.html)
[Распиновка отсюда](http://radiokot.ru/lab/controller/17/)