Приветствую Вас, Гость
Главная » 2013 » Октябрь » 19 » Беспроводной джойстик от PlayStation + Arduino
Беспроводной джойстик от PlayStation + Arduino
Проекты | 19.10.2013 в 23:10 | от: ZSeregaA | Просмотров: 21435 | Комментариев: 18 | Рейтинг: 4.9 / 10
Если у вас есть беспроводной джойстик от PlayStation, то вы сможете подключить его к Arduino и управлять своими поделками. Для этого вам не понадобится USB Host. В данной инструкции используется аналог беспроводного джойстика от PS3 купленного на eBay.

Список необходимых компонентов:


1. Беспроводной PS3 джойстик с радиоприемником.
2. Провода 6 шт.
3. Разъёмы.
4. Вилка штыревая.
5. Arduino Uno или Mega.

Подключение PS3 джойстика к Ардуино:

1. Изготовление проводов.

Возьмите провода, я использовал «джамперы» из набора. К одному концу припаяйте разъём, если нет одинарных, тогда отрежьте неиспользуемую часть разъема. Так как контакты в радиомодуле толстые, вам придётся увеличить отверстие в разъеме. Если вы используете простые провода, тогда к другому концу припаяйте штыревую вилку. У вас должен получиться вот такой провод.


Для корректной работы джойстика вам понадобится добавить как минимум два резистора. Это связано с тем, что радиомодуль работает от 3.3В, а рабочее напряжение на пинах Ардуино Уно и Мега 5В. Сам автор библиотеки пишет, что у одних пользователей работает с резисторами, у других без резисторов. В моем случае, ниже указанная схема самая стабильная.

Для пинов Command и Clock добавьте резисторы номиналом 5.6 КОм. Провода будут выглядеть так.


Радиомодуль с подключенными проводами.


2. Подключение радиомодуль к Ардуино:

Распиновка радиомодуля от PS3 джойстика (обозначены только нужные нам пины):


Подключите провода к указанным пинам на приемнике. После этого, подключите приемник к Ардуино по следующей схеме. Пины на Ардуино можно будет изменить в скетче.


Настройка и запуск программы для работы с джойстиком:

1. Скачайте и установите библиотеку PS2X_lib
2. Откройте пример из библиотеки. Если вам нужен пример с комментариями на русском языке скачайте его тут PS2X_Example_RUS
3. Настройте нужные вам пины в скетче.
4. Загрузить скетч на Ардуино.
5. Откройте монитор портов
6. Библиотека не поддерживает подключение на горячую, по этому если радиомодуль не переходит в режим поиска вам нужно: Отключить питание от радиомодуля, затем подключить питание снова снова. При необходимости  перезагрузить ардуино кнопкой ресет.
7. Включите джойстик. Некоторые клоны джойстиков могут не работать или работать не правильно. Возможно вам поможет отключение проверки ошибок. if(error == 1) - Проверка ошибок. Если ваш джойстик обнаруживается как неизвестный контроллер, но на нажатия кнопок не реагирует, попробуйте в скетче закрыть комментариями две строки. Выглядеть это будет примерно так:

// if(error == 1) //Цикл «loop» пропускается если джойстик не найден
// return;


Применение:

Сделал для вас готовую программу для управления машиной с двумя моторами. Но в скетче вам возможно придется поменять некоторые данные, так как подключение моторов может отличаться. Скачать скетч для управление машиной беспроводным джойстиком от PlayStation - RC_PSX_Bot

Видео с демонстрацией управления машинкой при использовании беспроводного джойстика и данного кода.


Оцените Материал!
Рейтинг: 4.9 / 10
Понравилась запись? - поставь лайк.
Теги: PlayStation, arduino

Это может быть вам интересно:
Всего комментариев: 18
avatar
18 redkamchatka • 14:35, 02.03.2017
Здравствуйте! А можно ли сделать то же самое с джойстиком PS4 и Bluetooth-модулем HC-06?
avatar
17 vika_2008_74 • 16:34, 23.11.2016
Будет ли оно работать на arduino nano?
avatar
15 x6mpower • 01:55, 12.04.2016
Хаотично зашкаливают оси стиков до 255, все 4 оси. Даже при выключенном джойстике. Что это может быть? Радио модуль подключен без резисторов.
avatar
16 ZSeregaA • 11:07, 12.04.2016
Почитайте статью автора библиотеки. Возможно в ней есть ответ на ваш вопрос http://www.billporter.info/2011....g-guide
avatar
0
11 falconkolya • 14:24, 18.12.2015
Будет ли библеотека PS2X_lib корректно работать с PS3 геймпадом? Интересует именно градация нажатия L2 и R2. Т.к. на PS2 геймпаде градаций нажатия этих кнопок нет
avatar
0
12 ZSeregaA • 15:03, 18.12.2015
Точно не знаю, нужно пробовать.
avatar
13 falconkolya • 01:58, 19.12.2015
Что это за приемник такой для геймпада PS3? нигде не могу его найти
avatar
0
14 ZSeregaA • 14:03, 01.01.2016
Это такой китайский джойстик, всё было в комплекте, вот фото

http://robocontroller.ru/photo/pokupki/ps2_dzhojstik/5-0-72
http://robocontroller.ru/photo/pokupki/ps2_dzhojstik/5-0-73
avatar
10 Shatun • 14:20, 20.10.2015
Ребята, имеет ли кто опыт подключения беспроводного PS2 контролера к 32 Channel board или 24 Channel board?
Пожалуйста, отзовитесь кому не сложно. Уже месяц мучений и ничего (может компоненты дефективные а может и руки...)
avatar
8 CHEREP23 • 11:41, 20.04.2015
Здравствуйте, подскажите пожалуйста, у меня джойстик PS2 беспроводной, подключил всё правильно к arduino uno, начинаю заливать, выдаёт ошибку:
RC_PSX_Bot.ino:9:34: fatal error: PS2X_lib.h: No such file or directory
compilation terminated.
В чём может быть дело?
avatar
0
9 ZSeregaA • 01:05, 22.04.2015
Скорей всего, вы не вставили библиотеку PS2X_lib. Её нужно вставлять в папку libraries. Читайте про установку библиотек дляардуино.
avatar
0
6 Chester • 15:51, 15.03.2015
Здравствуйте! Подскажите, пожалуйста, почему при загрузке Вашего скетча и переделке его под свои пины, монитор порта ничего не показывает...при загрузке примера все ок.
avatar
0
7 ZSeregaA • 16:31, 15.03.2015
Нужно смотреть ваш код, возможно там ошибка.
avatar
5 xanter133 • 21:46, 05.03.2015
Подскажите пожалуйста,у меня все работает на проводном,а подключаю два разных беспроводных , они распознаются, но оба не подключаются к своим приемникам и не реагируют на кнопки
avatar
1
3 alekseyvarlamov1705 • 19:29, 09.10.2014
Подскажите пожалуйста, у меня ардуино уно, и моторшилд на ней, 4,5,6,7, пины отвечают за движки, именно туда нужно подключать радиомодуль? И за что отвечают у вас 3 и 11 пины в коде, буду очень благодарен.
avatar
0
4 ZSeregaA • 22:10, 10.10.2014
Радиомодуль нужно подключать к свободным пинам. Не нужно подключать к пинам которые использует моторшилд. В моем коде пины 3 и 11 отвечают за скорость левого и правого моторов.
avatar
1 Стас • 01:26, 08.01.2014
дайте ссылку на такой джойстик на Ebay!
avatar
2 ZSeregaA • 02:47, 08.01.2014
Джойстик который я брал, уже не продается, вот ссылка http://www.ebay.com/itm....3.l2649
avatar