Ничего не найдено :(
    В гостях у Самоделкина! » Темы » Советы » Подключение контроллера от PlayStation 2 к Arduino

    Подключение контроллера от PlayStation 2 к Arduino



    Игровая консоль Sony PlayStaion 2 когда-то была мечтой Андрюши из сериала "33 квадратных метра". Теперь это - винтаж, ретрокомпьютинг, а контроллеры от неё иногда попадаются на барахолках, к радости ардуинщиков, например, автора Arduino Project Hub под ником ElectroPeak, который выпустил под лицензией GPL версии 3 или больше по вашему выбору руководство по применению таких контроллеров в качестве устройств ввода в различных самоделках. Так контроллер выглядит без рекламных наклеек, в отличие от показанного на КДПВ:



    Контроллеры от этой консоли бывают проводными и беспроводными. Во втором случае на приёмнике имеется такой же разъём, как на кабеле проводного контроллера. Цоколёвка у него аналогичная, за исключением небольшого нюанса, о котором далее.



    Назначение выводов разъёма:

    Dаta: передача данных от ведущего устройства к ведомому (MOSI)
    Command: передача данных от ведомого устройства к ведущему (MISO)
    Vibration: питание вибродвигателей (от +7,2 до +9 В), если контроллер проводной, в беспроводном двигатели работают от батареи, а на этот вывод разъёма приёмника подавать напряжение не обязательно. На проводной тоже можно не подавать, но двигатели работать не будут. Бывают и контроллеры вообще без вибродвигателей.
    Ground: общий провод
    VCC: питание +3,3 В
    Attention: CS, т.е. Chip Select для вызова ведомого устройства и подготовки соединения
    Clock: эквивалент вывода SCK для тактовых импульсов
    No Connection: не используется
    Acknowledge: сигнал подтверждения, передаваемый от контроллера к консоли

    К Arduino всё это подключается вот так, поскольку напряжение на вывод 3 не подано, можно сделать вывод, что показан разъём приёмника беспроводного контроллера, либо вибродвигатели на проводном контроллере не задействованы, либо они в нём отсутствуют.



    Для экспериментов вам понадобятся библиотека и тренировочный скетч. Разобравшись, как всё работает, вы замените скетч своим, подогнанным под ваши задачи, библиотека же останется. В текущем виде скетч выводит в монитор последовательного порта данные о типе контроллера и действиях с ним (нажатия кнопок, перемещения ручек аналоговых датчиков). Горячее подключение контроллера библиотека не поддерживает, даже если его поддерживает сам контроллер. Работа тренировочного скетча показана на анимированном GIF'е объёмом в 2,8 МБ, расположенном здесь.

    Далее приведены основные функции библиотеки:

    ps2x.config_gamepad(clock, command, attention, data, Pressures? Rumble?); - назначает состояние выводов разъёма контроллера, определяет, нужны ли аналоговые датчики и виброотклик. Если что-то из этого не нужно, следует установить, соответственно, параметры Pressures и Rumble в false. Функция способна возвращать значение ошибки.

    ready(); - определенте типа контроллера: 0 - не определён, 1 - DualShock, 2 - Guitar Hero.

    read_gamepad(boolean motor1, byte motor2); - запускает считывание состояния клавиш, одновременно задавая состояние вибродвигателей. Первым из них можно управлять дискретно, для второго, более крупного - задавать одно из 256 значений частоты вращения.

    Button (but type); - возвращает единицу, если клавиша, название которой задано в качестве аргумента, нажата. Функция Analog (but type) делает то же самое с аналоговыми датчиками, возвращая число. У контроллера DualShock названия клавиш следующие:



    А так они расположены физически:



    Далее - небольшая "домашка" от автора инструкции. Разработать ездящую модель, у которой скорость и направление перемещения можно регулировать аналоговым способом, клавиша с квадратом управляет гудком, а клавиша с иксом - фарами.

    Источник (Source)

    Автоматический вентилятор

    Как выправить ребра радиатора, и почистить наружный блок кондиционера

    Добавить комментарий

      • smilesmilesxaxaokdontknowyahoonea
        bossscratchfoolyesyes-yesaggressivesecret
        sorrydancedance2dance3pardonhelpdrinks
        stopfriendsgoodgoodgoodwhistleswoontongue
        smokeclappingcraydeclarederisivedon-t_mentiondownload
        heatirefullaugh1mdameetingmoskingnegative
        not_ipopcornpunishreadscarescaressearch
        tauntthank_youthisto_clueumnikacuteagree
        badbeeeblack_eyeblum3blushboastboredom
        censoredpleasantrysecret2threatenvictoryyusun_bespectacled
        shokrespektlolprevedwelcomekrutoyya_za
        ya_dobryihelperne_huliganne_othodifludbanclose

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Опрос
    А Вы уже рассказали на сайте о своей самоделке?

    Последние комментарии

    Все комментарии