|
PS2无线遥控手柄与STM32单片机通信 ) t+ `/ U! s- E2 K$ c PS2无线遥控手柄 接下来要做一个小车玩玩,在网上淘了一个PS2无线遥控手柄,用于控制小车的前进、后退等功能。" x* c1 h3 S+ ?9 D ! n; x5 x* Z8 g) c/ E! ~2 u" \ 1 [% ]/ s. ]! Y7 P6 v. N 实物图如下:" x, y. A; }6 ?
PS2游戏摇杆原理及控制实现5 d4 e. P6 x: O, |9 G- d1 X : P/ {8 N& _0 G- q3 Q1 j4 H& a * R# I0 |/ F5 f" G( l9 } 接收器 与这个手柄配套的还有一个接收器,用于接收PS2无线遥控手柄发送过来的数据* p. p7 M# p2 l2 y3 `7 i
2 a- s7 K/ z# Q/ g4 `3 I8 n1 B & T4 V8 A. B7 _! I' z 当接收器上的绿灯常亮时,证明手柄和接收器配对成功,可以正常进行数据通讯。如果手柄和接收器断开了,按手柄上的START键即可恢复配对;9 i7 z5 |+ E: G% \ 0 M D$ G, n# {4 J7 \, B; _ ( E* a7 ]$ q1 \ 当手柄上的MODE指示灯没有点亮的时候,游戏摇杆四个方向输出按键键码值;当点击MODE按键后,手柄上的MODE指示灯变亮(红色),此时游戏摇杆四个方向输出AD值。 " g- x3 u) R7 P, d+ M$ X 3 S w: C0 t! L" D 硬件连接 y6 d. t5 V& |$ w5 D [8 c 接收器与STM32连接如下:5 f; B# h! e! C* d4 J1 \
“注: 使用杜邦线直接与核心板相连即可,这里为了拍照查看方便,选用智能风扇的那个底板与接收器相连。
添加工程包含路径: N" s3 G0 p- F' O/ V+ A% Y# z8 c) M( A
' G! \+ E' L Q! o main.c文件直接使用即可,不用修改了。4 m' `5 s! l% x+ M 3 I/ }( h2 [! p5 T" P9 S# } ) J" [' a; Z `! g7 S 结果展示7 j# l4 p2 m# E 测试出了所有按键的键码值,留着备用:0 N$ v4 G+ d& l% w
只需要占用4个GPIO口即可实现16个按键的扩展,而且具有无线功能,作为小车的遥控器太适合了。: m7 y- G+ _* d# y/ P) {+ Z# V& `' `3 z 4 R# _% \& c' H4 L- t. v6 e8 E |
| 兄弟,上源码啊 |
| 兄弟,上源码啊 |
| 兄弟,上源码啊 |
【LSM6DSV320X评测】使用MEMS Studio训练数据并使用MLC功能进行识别
LSM6DSV320X测评 Linux平台驱动移植与姿态感知应用实现
【LSM6DSV320X评测】MEMS上位机体验 以及MLS数据预采集
【STWINKT1B评测】【一】开箱
【我的STM32U5 项目秀】+04-MPU6050在STM32U5上的移植
【年中粉丝节】+MPU9250传感器
技术文| 如何使用J-Link烧录SPI Flash
STM32实现IAP功能的学习笔记
STM32学习笔记11— 温湿度采集实验
Linux设备开发SPI对应的脚都被用咋办?
微信公众号
手机版