ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

零基础学ESP32:PS2摇杆——让ESP32拥有“手感”!

2026/8/27 20:43:32 拓冰建站 浏览量
零基础学ESP32:PS2摇杆——让ESP32拥有“手感”! 前面我们学了倾斜传感器、震动传感器、温度传感器——ESP32能感知姿态、震动和温度了。但还有一种非常直观的交互方式还没玩过摇杆。游戏手柄、无人机遥控器、机器人控制……这些设备的核心交互就是摇杆。它能把你的手指动作转换成电信号让设备理解“往上推”、“往下拉”、“往左拨”这些指令。今天这节课我们就用PS2摇杆模块让ESP32拥有“手感”第一步找到课程看看成品效果打开逗脑IDE点击顶部“文档”在“课程” → “ESP32” →“ESP32 MicroPython”分类下找到PS2摇杆。打开课件你会看到本节课的最终效果推动摇杆时终端实时打印出X轴、Y轴和按键的数值——往上推数值变小往下推数值变大按下摇杆按键会显示按钮状态。第二步什么是摇杆什么是ADCPS2摇杆其实就是游戏手柄上用的那种摇杆内部由两个滑动电阻X轴和Y轴和一个按键组成。滑动电阻的原理核心知识点ADC模数转换摇杆输出的是模拟电压信号0~3.3V连续变化但ESP32只能理解数字信号0和1。所以需要一个桥梁——ADC模数转换器。模拟量电压 → ADC → 数字量数值ESP32的ADC可以将0~3.3V的电压映射为0~4095的数值电压越低数值越小接近0电压越高数值越大接近4095ESP32支持ADC的引脚0、2、4、12、13、14、15、25、26、27、32、33、34、35、36、39⚠️注意有些开发板0、2、4引脚不能使用推荐使用32、33、34、35、36、39。第三步动手接线——5根线搞定PS2摇杆有5个引脚摇杆引脚连接ESP32说明GNDGND电源地VCC3.3V电源正极XGPIO32X轴模拟输出ADCYGPIO33Y轴模拟输出ADCSWGPIO15按键输出数字第四步代码——读取X、Y和按键frommachineimportPin,ADCimporttime ps2_yADC(Pin(33))ps2_y.atten(ADC.ATTN_11DB)# 这里配置测量量程为3.3Vps2_xADC(Pin(32))ps2_x.atten(ADC.ATTN_11DB)# 这里配置测量量程为3.3VbtnPin(15,Pin.IN)whileTrue:val_yps2_y.read()# 0-4095val_xps2_x.read()# 0-4095print(x:{} y:{} btn:{}.format(val_x,val_y,btn.value()))time.sleep(0.1)代码逻辑变量范围含义val_x0 ~ 4095X轴位置左→右val_y0 ~ 4095Y轴位置上→下btn.value()0 或 1按键是否按下第五步保存运行推动摇杆看数据按Ctrl S保存选择ESP32开发板设备给文件命名比如ps2.py点击保存。点击运行按钮终端开始不断打印数据。试试看摇杆居中→ x≈2000y≈2000中间值摇杆往上推→ y值变小接近0摇杆往下推→ y值变大接近4095摇杆往左推→ x值变小接近0摇杆往右推→ x值变大接近4095按下摇杆→ btn变成1或0取决于模块PS2摇杆能做什么应用场景用途游戏手柄控制游戏中角色的移动方向无人机遥控控制飞行姿态和方向机器人控制控制机器人前进、后退、转向智能家居控制摇杆代替按钮控制灯光亮度、音量大小菜单选择器上下左右选择菜单项按下确认全程回顾步骤操作效果找到课程文档→课程→ESP32→ESP32MicroPython→PS2摇杆了解PS2摇杆认识ADC理解“模拟量→数字量”的转换知道0~4095的含义动手接线GND→GND, VCC→3.3V, X→GPIO32, Y→GPIO33, SW→GPIO15硬件就位打开代码点击“打开”按钮代码进入编辑器保存运行CtrlS → 选择ESP32 → 运行终端实时打印数据推动摇杆上下左右推动按下按键数值实时变化如果你对本节课感兴趣去官网www.dounao.cn下载逗脑IDE准备好相关配件跟着课件走一遍。有任何问题或建议欢迎在评论区留言告诉我们。