DataLife Engine > Arduino > Беспроводной джойстик от PlayStation, Arduino

Беспроводной джойстик от PlayStation, Arduino

Если у вас есть беспроводной джойстик от PlayStation, или без "хозно" валяется у какого то старого друга.. Тогда вы сможете подключить его к Arduino и управлять своими поделками. Для этого вам не понадобится USB Host. В данной инструкции используется аналог беспроводного джойстика от PS3.

Необходимые компоненты:

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

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


Применение:

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

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


Источник: robocontroller.ru



Вернуться назад