Автор Тема: Проект для Arduino Nano v3 Sega USB Gamepads  (Прочитано 998 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Hz

  • Пользователь
  • Сообщений: 71
  • Пол: Мужской
    • Просмотр профиля
Проект для Arduino Nano v3 Sega USB Gamepads
« : 03 Декабрь 2023, 17:07:26 »
Нигде не нашёл готовых проектов. Из готовых прошивок попадается только на 12МГц кварце и почти всё на Atmega8. Здесь готовый проект для Arduino Nano v3 (CH340).
Тему отредактировал.
Переделал проект из другого - JoyDivision от Stefan Blixth. Теперь всё работает нормально, определяется на андроиде как два джойстика, а не как в прошлой моей "поделке". :)
Для прошивки через Arduino IDE - распаковать в Документы\Arduino\libraries, открыть проект Документы\Arduino\libraries\Sega\examples\sega\sega.ino.
Схема подключения джойстиков (естественно, можно переделать по своему):
Pin      Sega MD-GamePad  Arduino Nano-Pin (Port 1)   Arduino Nano-Pin (Port 2)
   1     Up / Z           5                           14
   2     Down / Y         6                           15
   3     Left / X         7                           16
   4     Right / Mode     8                           17
   5     +5V              +5v                         +5v
   6     B / A            9                           18
   7     Select           11                          12
   8     GND              GND                         GND
   9     C / Start        10                          19
Подключение USB:
2: D+
4: D-
Меняется при желании в usbconfig.h
[ Указанное вложение недоступно ]
[ Указанное вложение недоступно ]
« Последнее редактирование: 24 Декабрь 2023, 21:23:50 от Hz »

Оффлайн avvatarr

  • Пользователь
  • Сообщений: 1
    • Просмотр профиля
Проект для Arduino Nano v3 Sega USB Gamepads
« Ответ #1 : 20 Апрель 2024, 19:47:53 »
Вопрос , и какую библиотеку использовать ??? ато не могу залить скейтч

Оффлайн Hz

  • Пользователь
  • Сообщений: 71
  • Пол: Мужской
    • Просмотр профиля
Re: Проект для Arduino Nano v3 Sega USB Gamepads
« Ответ #2 : 29 Июнь 2024, 15:20:11 »
Только сейчас увидел. Библиотека "Sega".
В архиве папка Sega. Её нужно скинуть в папку с библиотеками Arduino IDE (Мои документы\Arduino\libraries).
В Arduino IDE после этого появляется библиотека Sega. У меня Arduino IDE 2.2.1, всё работает нормально. А что за ошибка вообще?

Оффлайн skillazz

  • Пользователь
  • Сообщений: 174
  • Пол: Мужской
    • Просмотр профиля
Проект для Arduino Nano v3 Sega USB Gamepads
« Ответ #3 : 29 Июнь 2024, 18:21:42 »
Если что, еще есть полностью рабочие проекты на pro micro. https://github.com/MickGyver/DaemonBite-Retro-Controllers-USB

Оффлайн NST

  • Пользователь
  • Сообщений: 3
    • Просмотр профиля
Проект для Arduino Nano v3 Sega USB Gamepads
« Ответ #4 : 17 Январь 2025, 22:11:26 »
В общем благодарю автора предоставленный проект. Изначально не сразу понял причем тут схема USB-Connector, и куда все это лепить.  В начале я думал что оно должно работать через свой собственный USB разъем через который прошивается Arduino Nano. За тем я столкнулся с проблемой второго порта джойстика, я не понимал что это за пины 14 15 16 17 18 19, ведь их нет на плате Arduino Nano, в общем так как я не имею опыта в понимаю всего это пришлось, полазить в других источниках интернета. Короче я разбирался с этим, целый день собрал эту схему и все заработало, подключается и к ПК и к смартфону Андройду. 
Приложите полную схему по подключению. А то для начинающих не со всем понятно что Пины 14 15 16 17 18 19 это А0 А1 А2 А3 А4 А5, и то что подключение USB D+ и D- я не сразу понял что подключается все это к пинам D2 и D4 на плате Arduino Nano.         

Оффлайн Hz

  • Пользователь
  • Сообщений: 71
  • Пол: Мужской
    • Просмотр профиля
Re: Проект для Arduino Nano v3 Sega USB Gamepads
« Ответ #5 : 23 Январь 2025, 20:31:54 »
Я сам начинающий, думал так будет проще. Как руки дойдут, попробую нарисовать, если кто-нибудь не сделает раньше. На некоторых джойстиках(геймпадах) включается трёхкнопочный режим при нажатии mode(или какой-нибудь комбинации с mode). Не знаю, джойстики косячные, или проблема в прошивке/схеме.
Синие джойстики от Hamy4 работают нормально, а два других чёрных у меня с такой проблемой.

Оффлайн NST

  • Пользователь
  • Сообщений: 3
    • Просмотр профиля
Проект для Arduino Nano v3 Sega USB Gamepads
« Ответ #6 : 25 Январь 2025, 21:41:03 »
Вообще как я понял питание 5 вольт для джойстиков многовато, я подал плюс через 100Om глюки пропали. А так был глюк при нажатии на MODE срабатывал 3-х кнопочный режим, а назад уже не вернешь тока питание отрубать и снова подключать. Иногда даже крестовина отключалась. Вот у меня джойстики от Hamy4 но я думал что они от сеги, пришлось перепаять местами проводку, что бы совпадало с сегой.   

Добавлено позже:
Если что, еще есть полностью рабочие проекты на pro micro. https://github.com/MickGyver/DaemonBite-Retro-Controllers-USB
Нет, не полностью, проект SegaTwoControllersUSB на андройде определяется как один джойстик. 
« Последнее редактирование: 25 Январь 2025, 21:48:04 от NST »

Оффлайн Hz

  • Пользователь
  • Сообщений: 71
  • Пол: Мужской
    • Просмотр профиля
Проект для Arduino Nano v3 Sega USB Gamepads
« Ответ #7 : 26 Январь 2025, 15:16:41 »
Джойстики от Hamy и от сеги одинаковые. Возможно у меня где-то косяк в описании. Сейчас пробовал питание на джойстики подать через резистор 100 ом - один стал работать нормально с MODE, а другой всё равно начинает "глючить", если пользоваться MODE. Проблема проявляется на одном конкретно геймпаде независимо от разъёма (I или II), к которому он подключен. Пробовал другой резистор, на 560 Ом, та же история.
Но, как я понимаю, это не трёхкнопочный режим. Трёхкнопочный режим нормально обрабатывается прошивкой. А с этим багом вместе с  крестиком срабатывают x/y/z/mode.
Через стабилитрон 3.6в - трёхкнопочный режим :), если подать питание 3.3в, тоже трёхкнопочный режим

Оффлайн NST

  • Пользователь
  • Сообщений: 3
    • Просмотр профиля
Проект для Arduino Nano v3 Sega USB Gamepads
« Ответ #8 : 26 Январь 2025, 19:38:37 »
Джойстики покупал в Озоне может там какой то другой Hamy у меня распиловка отличалась питание по другому шло в другие штырьки. Но суть не в этом. Вопрос, почему когда подключаешь один джойстик второй возникают какие-то глюки, Arduino делает опрос второго постоянно в цикле, и нажимаются кнопки сами по себе, из за этого нельзя настроить джойстик в эмуляторах, так как он постоянно нажимает кнопки. А если подключить второй джойстик сразу все приходит в норму. Мне постоянно нужно подключать обязательно 2 джойстика.