文章概览
想弄一个简单的,摇杆控制 asdw,玩糖豆人
实现思路
摇杆端,用stm读取摇杆ADC值,通过串口发送信号到电脑
电脑端,用python的pyserial接收串口消息,用pyautogui发送按键指令
设置:摇杆前后左右对应asdw;按下摇杆对应空格
优化处理
实现效果不咋地,一开始啥优化也没加,就是一直发送按键松开的命令,导致消息阻塞,0.5s才能接受一次串口。
测试发现不是串口接受能力不行,而是pyautogui发送指令太频繁
之后改变了一下,只有按键情况发生变化时,pyautogui才发送指令,响应速度可以达到0.001s,但是偶尔卡住,可能需要再调一调阈值
使用体验
- 只有一个摇杆,握不住
- 杜邦线连接,老是掉
- 没法同时按前进和空格
- 玩糖豆人不合适,没法精确控制方向(摇杆应该做到能精确控制移动方向,但是映射到键盘就不行,在左右移动交汇处,容易连续触发,导致卡死)
多想多做,发篇一作