行空板M10+Xbox手柄+舵机旋转发射平台

2026-10-22 15:24:18 66阅读

一、项目简介

行空板M10+Xbox蓝牙手柄控制的旋转发射平台。手柄左摇杆控制水平旋转,A键击发。发射器用激光切割亚克力,半齿轮+齿条+皮筋机械结构,电磁继电器控制电机。扩展板板载WS2812提供彩灯。原设计两轴后因俯仰舵机受重力负载抖动,最终只保留水平旋转。

行空板M10+Xbox手柄+舵机旋转发射平台

二、硬件清单

行空板M10、行空板扩展板(引出P2/P11/P13)、Xbox Series X手柄(蓝牙)、水平舵机接P2、电磁继电器接P11控制击发电机、WS2812灯板接P13(扩展板板载3颗)、直流电机、激光切割亚克力板3mm/5mm、皮筋、半齿轮+齿条、独立5V/3A电源。

三、发射器结构

全激光切割亚克力拼接。工作原理:上膛阶段电机转动半齿轮有齿段咬合齿条向后拉同时拉伸皮筋储能。击发阶段半齿轮转到无齿段齿条失去约束在皮筋拉力下瞬间回弹。撞击阶段齿条带动撞杆高速前冲击打从弹仓落入的子弹。结构简单击发力度大响应快。

四、电路连接

P2→水平舵机信号线、P11→继电器IN、P13→WS2812灯板DIN。关键:舵机一定独立供电(行空板5V带舵机容易电压跌落抖动复位)。电源和行空板必须共地否则PWM信号漂移。5V继电器可从行空板5V取电(约70mA电流小)。

五、踩坑记录

坑1:Xbox手柄蓝牙连接-断开无限循环,重烧行空板固件V0.4.5解决。坑2:蓝牙按钮索引与USB不同(实测A=0,B=1,X=3,Y=4索引2被跳过)。坑3:P7不能作舵机引脚(不在支持列表中)。坑4:pinpong NeoPixel.write()需指定索引用range_color()替代。坑5:过度滤波反引入抖动,最简版角度整数变化才发指令无抖。

六、核心代码

Python用pygame(手柄)+pinpong(硬件控制)行空板预装。摇杆→死区0.05→映射到0~180°→角度变化才下发指令。按键A击发继电器吸合0.5秒。X开灯B关灯。Y急停舵机回中继电器断开。彩灯用HSV转RGB彩虹效果。蓝牙配对用bluetoothctl配对后trust自动回连。


作者:云天
链接:https://www.aiddithome.com/p/1d0d51a57a921.html
本作遵循 [CC BY 4.0 署名] 许可,版权归作者所有。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
4条评论
下班才有空
1楼 · 2026-10-22 15:25:00

去掉俯仰轴这个取舍很务实,和重力负载死磕不如做减法

深圳打工人Alan
2楼 · 2026-10-22 15:24:59

踩坑记录写得真详细,尤其是舵机抖动那段,过度滤波反而引入抖动这个教训深刻

探头看一眼
3楼 · 2026-10-22 15:24:59

Xbox手柄蓝牙配对用bluetoothctl trust自动回连,省了很多事

触底反弹的Tony
4楼 · 2026-10-22 15:24:58

半齿轮+齿条+皮筋的击发机构,经典又可靠