«Retrogaming» Подключаем джойстик от Dendi/NES к Raspberry Pi 3 B+

admin

Учредитель
Команда форума
Администратор
5 Мар 2016
1,128
711
#1
Сегодня мы открыли на форуме раздел «Raspberry Pi — Arduino», и к этому не большому событию решил сделать тему, о том «Как подключить джойстик от Dendi к Raspberry Pi 3».

Для многих это будет хорошим поводом изучить платформу, работу с GPIO пинами на малине, так же приобщиться к той самой культуре игр 90-00x. Ну а для некоторых способ вспомнить те самые игры с китайской Dendi нулевых. Лично в то время очень уважал Battle City, «танчики» в народе =).

Для начала нам понадобиться:
  • Любой джойстик оригинальной NES, или её китайский клон. (В моем случае я буду использовать джойстик от китайского клона-клона «Комбат»).
proxy.php?image=https%3A%2F%2Fi.imgur.com%2F99h7dOY.jpg&hash=8f07f58163f95ed9ff5ec5c543ff26d1
С оригиналом сама плата полностью идентична, отличие только; внешний вид, цена и разъем подключения.
  • 5-ти жильный провод (Я взял удлинитель USB 2.0, так как родной провод уже давным давно прогнил и никуда не годиться).
proxy.php?image=https%3A%2F%2Fi.imgur.com%2FAW4DyOd.jpg&hash=42560272fd0c6e65aeee13613ca14e45
  • Сам собственно Для просмотра ссылки необходимо: Войти или Регистрация (У меня используется raspberry pi 3 model b).
  • Перемычки DuPont Line 5 штук, МАМА-ПАПА или МАМА-МАМА. (В любом случае будем использовать только МАМУ. Требуются они для удобного и безопасного подключения проводов к GPIO пинам малины).
  • Так же понадобиться инструмент: Паяльник, Отвертка.
  • Желательна термоусадка, для изоляции провода. В моем случае использовалась с диаметром 1,3,4 мм.
Часть 1: Подготовка джойстика

Наша задача, отпаять старые провода от платы и припаять наш новый «USB удлинитель». При этом требуется записать порядок проводов, для того что бы не запутаться.
proxy.php?image=https%3A%2F%2Fi.imgur.com%2FbwzXxfk.jpg&hash=1d3005c3dbe00c4a1e4c0a9ca84fcd80
proxy.php?image=https%3A%2F%2Fi.imgur.com%2FzWOC2Kr.jpg&hash=b8fdcaf0f19c080fa0a37bdcc311b91b
К слову изначально я как и любой русский человек отрезал провода, после чего уже взялся «измерять». Берем собственно импровизированный «тестер»(Батарейка с светодиодом, плюс разорван на 2 щупа.), и проверяем «кто от куда». Благо — ничего не выкинул и все такая возможность осталась.
proxy.php?image=https%3A%2F%2Fi.imgur.com%2Fc2kxyol.jpg&hash=a6d8f0b2963406341de40ee102f07ea9
После проверки и записи результата, мы внимательно смотрим на плату и на схему.

Для просмотра ссылки необходимо: Войти или Регистрация

У нас есть 5 проводов:
  • Clock — Коричневый
  • Latch — Белый
  • Data — Синий
  • Питание(+) — Красный
  • Земля(-) — Желтый
После того как мы все записали, можно припаивать «USB Удлинитель», записывая соответствия цветов. У меня это: коричневый-армированная часть удлинителя, синий-розовый, красный-зеленый, желтый-черный, белый-белый.
proxy.php?image=https%3A%2F%2Fi.imgur.com%2F5ltQfkB.jpg&hash=c9425b13291451890f8b43e498a1ffbd
В моем случае я приклеел провод к плате термоклеем, сделал это для того что бы не вырвать его в процессе использования, что и вам рекомендую сделать.
proxy.php?image=https%3A%2F%2Fi.imgur.com%2FsY5e4qL.jpg&hash=bac41db723772c1836cb7a826a3c02b4
У нас получился джойстик от Dendi с USB разъемом, естественно если подключить его сейчас то максимум что произойдет — вы спалите себе джойстик.

Теперь нам требуется отрезать USB-штекер, и припаять DuPont Line МАМА для удобного подключения к Raspberry Pi. Благо перемычки можно подобрать любого цвета, в моем случае припаяны оригинальные цвета для того что бы не запутаться в дальнейшем.
proxy.php?image=https%3A%2F%2Fi.imgur.com%2FxsEcM9z.jpg&hash=e71b4e63584280733201c7de850b63bc
proxy.php?image=https%3A%2F%2Fi.imgur.com%2FNH0vpHz.jpg&hash=63597c139e757869539c35fb6cb7c0a7
На этом подготовка джойстика окончена. К слову; Если вам вдруг придет в голову покрасить его — не делайте этого, в моем случае краска разъела пластмассу и джойстик потерял свой вид.
proxy.php?image=https%3A%2F%2Fi.imgur.com%2Fp2qP3k1.jpg&hash=9e511c84a749244e231f34da92a1a987
 
Последнее редактирование:

admin

Учредитель
Команда форума
Администратор
5 Мар 2016
1,128
711
#2
Часть 2: Подготовка «Малины» и подключение джойстика к ней

Теперь остались мелочи, мы будем использовать эмулятор консоли RetroPie. Собственного его установка:
Код:
Команды выполняем поочередно в терминале
sudo apt-get update
sudo apt-get install -y git dialog
cd
git clone git://github.com/petrockblog/RetroPie-Setup.git
cd RetroPie-Setup
chmod +x retropie_setup.sh
sudo ./retropie_setup.sh
Далее в окне выбираем Binaries-based installation
Для запуска RetroPie, используется команда:​

Код:
emulationstation
Подробная установка старой версии, описанием на стороннем ресурсе (ССЫЛКА Для просмотра ссылки необходимо: Войти или Регистрация)

После установки желательно, обновить полностью Raspbian и перезагрузить его.
Теперь снова заходим в папку установки RetroPie, и запускаем ее.
Код:
Start SNESDev on Boot -> Option 2 -> Polling pads and button

Install/Update multi/console gamepad driver for GPIO
Enable gamecon_gpio_rpi with SNES-pad config
Снова перезагружаем малину

Описание пинов на Raspberry Pi 3 (Broadcom)

proxy.php?image=https%3A%2F%2Fi.imgur.com%2F2i9zpAj.png&hash=90defccbb4196e22de96ce57ec08fb33


Осталась подключить наш джойстик и наслаждаться любой игрой, подключаем к GPIO по данным соответствиям:
Код:
Питание(+) – 3v3
Земля(-) - GND
Data – GPIO 3
Clock – GPIO 10
Latch – GPIO 11
proxy.php?image=https%3A%2F%2Fi.imgur.com%2FtPaV68V.jpg&hash=aceac3dfa4bb0b99687ab484c05d28bf
Подробное использование новых версий RetroPie вы можете найти в интернете. Мне удалось запустить и провернуть это все на новой pi 3 model b. Если кто-то решиться это сделать, обязательно пишите под темой о своем опыте. Мне лично было бы очень интересно узнать, есть ли готовые библиотеки для более простой работы джойстика с малиной.
 

carlcox

Резидент
Резидент клуба
27 Ноя 2017
218
54
#3
Не совсем я понял, читал статью думал найду решение своей проблемы
Купил я такой же джойстик 250р обошлось уже с усб шнуром !! И кароче не могу понять почему джойстик в Играх на ПК в эмуляторе не работает. кароче если игра без эмулятора, то работает !
Может кто подсказать? кто межет проверял эмуль на которо уже работает джос