用Xbox360游戏手柄通过python代码控制树莓派4B点亮LED灯

材料:

1.树莓派4B一个(系统我安装的是Ubuntu 20.04.2 LST arm64位)
2.Xbox360游戏手柄一个
3.LED灯一个

Xbox手柄简介:

只介绍本次要用到的按键部分:
X键和Y键的编号分别2号键和3号键,编程中用函数获取这两个键是否按下的状态,来控制LED灯的亮灭。用Y控制树莓派针脚输出高电平使LED灯亮,用X控制针脚输出低电平使LED灯灭,代码及注释下文给出。

用Xbox360游戏手柄通过python代码控制树莓派4B点亮LED灯
; 开始:

1)在系统上安装软件joystick和xboxdrv

sudo apt-get install joystick
sudo apt-get install xboxdrv

2)安装python以及pygame库

sudo apt-get install python
sudo apt-get install python-pygame

3)将LED灯的正极接到树莓派的以BCM编码的21号针脚(GPIO.29),负极接到相邻的GND(接地)

用Xbox360游戏手柄通过python代码控制树莓派4B点亮LED灯
用Xbox360游戏手柄通过python代码控制树莓派4B点亮LED灯
手柄连接到树莓派上,输入指令lsusb
lsusb

有如下红框显示则连接成功

用Xbox360游戏手柄通过python代码控制树莓派4B点亮LED灯
4)创建xbox.py文件,添加如下代码并保存

import pygame
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

GPIO.setup(21,GPIO.OUT)
GPIO.setwarnings(False)

pygame.init()
pygame.joystick.init()

joystick = pygame.joystick.Joystick(0)

joystick.init()

done = False

while not done:

        for event_ in pygame.event.get():

            if event_.type == pygame.JOYBUTTONDOWN or event_.type == pygame.JOYBUTTONUP:

                if joystick.get_button(3)==1:

                    GPIO.output(21,GPIO.HIGH)

                if joystick.get_button(2)==1:

                    GPIO.output(21,GPIO.LOW)

pygame.quit()

5)在命令行中输入以下指令运行xbox.py

python xbox.py

随后操作手柄,按下Y键LED灯亮,按下X键LED灯灭
按Y键:

用Xbox360游戏手柄通过python代码控制树莓派4B点亮LED灯
按X键:
用Xbox360游戏手柄通过python代码控制树莓派4B点亮LED灯

参考资料:
https://blog.csdn.net/xingqilui126com/article/details/52075823
https://blog.csdn.net/qq_41556318/article/details/86305263

Original: https://blog.csdn.net/qq_41732048/article/details/113744053
Author: 哈哈个屁哦
Title: 用Xbox360游戏手柄通过python代码控制树莓派4B点亮LED灯

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/781317/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球