跳转到主要内容

读取索尼PS2游戏控制器的CircuitPython库

项目描述

简介

Documentation Status Discord Build Status Code Style: Black

读取索尼PS2或PS1(“PSX”)游戏控制器的CircuitPython库

依赖关系

此驱动程序依赖于

请确保所有依赖项都可在CircuitPython文件系统中使用。这可以通过下载 Adafruit库和驱动程序包 或使用 circup 安装单个库来实现。

从PyPI安装

在支持GNU/Linux系统(如Raspberry Pi)上,您可以从PyPI 本地安装驱动程序。要为当前用户安装

pip3 install circuitpython-ps2controller

全局安装系统(在某些情况下可能需要)

sudo pip3 install circuitpython-ps2controller

在当前项目中的虚拟环境中安装

mkdir project-name && cd project-name
python3 -m venv .venv
source .env/bin/activate
pip3 install circuitpython-ps2controller

使用Circup将安装到连接的CircuitPython设备

确保您已将circup安装在Python环境中。如果需要,可以使用以下命令安装:

pip3 install circup

安装circup后,您的CircuitPython设备连接,请使用以下命令进行安装:

circup install ps2controller

或者使用以下命令更新现有版本:

circup update

用法示例

import board
from ps2controller import PS2Controller

# one way to wire this up, for example on a Pico
ps2 = PS2Controller(dat=board.GP2, cmd=board.GP3, att=board.GP4, clk=board.GP5)

print("hi! Press buttons")
while True:
    events = ps2.update()
    if events:
        print("events", events)
        print("sticks: L:", ps2.analog_left(), "R:", ps2.analog_right())

接线

连接到PSX控制器需要四个GPIO引脚。这些可以是任何引脚。接线如下:

  • CLK引脚 - 时钟OUT到控制器(蓝色线)

  • CMD引脚 - 命令数据OUT到控制器(橙色线)

  • ATT引脚 - 注意/芯片选择OUT到控制器(黄色线)

  • DAT引脚 - 从控制器接收数据(棕色线)

  • GND引脚 - 信号地(黑色线)

  • VCC引脚 - +3.3V电源(红色线)

  • VCC2引脚 - +7.5V电源到振动马达(可选)

以下是在Raspberry Pi Pico上接线的一种方法

https://raw.githubusercontent.com/todbot/CircuitPython_PS2Controller/main/docs/ps2controller_wiring.png

(感谢Vanepp通过nandanhere/PiPyPS2提供的Fritzing接线图)

参考

此库高度受SukkoPera/PsxNewLib库的启发。它目前只在少数PS1和PS2控制器上进行了测试,但应该很容易添加任何专业控制器的调整。

其他有用的资源

文档

该库的API文档可以在Read the Docs上找到。

有关构建库文档的信息,请参阅此指南

贡献

欢迎贡献!在向本项目贡献之前,请阅读我们的行为准则,以帮助本项目保持友好。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分布

circuitpython-ps2controller-1.2.2.tar.gz (90.1 kB 查看散列值)

上传时间

构建分布

circuitpython_ps2controller-1.2.2-py3-none-any.whl (8.5 kB 查看散列值)

上传时间 Python 3

由以下支持