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

83 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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/)