
PS2无线遥控手柄与STM32单片机通信 / `5 B: V9 B% d: {! C; h6 Z6 o' `7 h# K1 x PS2无线遥控手柄8 E( Z0 p3 Q+ M/ I) E3 R 接下来要做一个小车玩玩,在网上淘了一个PS2无线遥控手柄,用于控制小车的前进、后退等功能。 z% R3 [5 n7 x/ |3 B R) i ! H) F; G! W9 Z* I5 F 实物图如下:5 \6 q: j" ^+ V8 W( `$ `% L: W" x y ![]() 9 h! P( ^3 z C6 ~7 r PS2游戏摇杆原理及控制实现 $ V }: u- o5 ?! ?' j 接收器2 l& B7 p* ^4 c' a0 b; b 与这个手柄配套的还有一个接收器,用于接收PS2无线遥控手柄发送过来的数据, W S: A1 b% m. H2 p ![]() ![]() % ?0 d1 T, F- |. P3 D 当接收器上的绿灯常亮时,证明手柄和接收器配对成功,可以正常进行数据通讯。如果手柄和接收器断开了,按手柄上的START键即可恢复配对; " {6 @1 U4 R+ t% g 当手柄上的MODE指示灯没有点亮的时候,游戏摇杆四个方向输出按键键码值;当点击MODE按键后,手柄上的MODE指示灯变亮(红色),此时游戏摇杆四个方向输出AD值。% B& l$ H* x7 M' I" ~/ ^5 F. p % P% f8 C( s ^- o( F 硬件连接0 P) M5 p/ p3 C' W+ l 接收器与STM32连接如下:" E- A$ S8 Y+ {8 Z% ] ![]() ![]() “注: 使用杜邦线直接与核心板相连即可,这里为了拍照查看方便,选用智能风扇的那个底板与接收器相连。: q6 t" Q# B8 r. e& H% a ![]() ![]() 添加工程包含路径; n; I5 b9 I+ }# q2 q ![]() ![]() ![]() ![]() ^% |% G2 K" [4 O. p main.c文件直接使用即可,不用修改了。 X% ~5 b5 q7 ~6 g. q$ | e$ B ) \1 h3 ^: f1 R, G! h1 @ 结果展示. w/ a) j. ?1 p5 R1 f 测试出了所有按键的键码值,留着备用: ![]() 只需要占用4个GPIO口即可实现16个按键的扩展,而且具有无线功能,作为小车的遥控器太适合了。3 m! l) C8 r6 U9 T& C/ }( S ! Z! V7 n! b" z% d k7 T |
兄弟,上源码啊 |
兄弟,上源码啊 |
兄弟,上源码啊 |