先看小车上路效果:
其实买树莓派的契机,就是想自己动手做个遥控车,小时候没有条件去做,现在圆一下当初的梦想。男人的快乐,如此简单。 废话不多说,直接进入正题。
准备
- 一颗爱手工的心
- 已经配置好的树莓派一只,之前我写过入门树莓派的文章
- 工具材料以及大概价格:
- 热融胶枪+热融胶,¥30
- 雪糕棍(宽18mm),¥10
- 四种杜邦线(长30cm),¥5
- 四只tt马达,带橡胶轮胎,¥12
- MG995舵机,¥12
- 一次性筷子,¥0
- 5V2A充电宝,用于给树莓派单独供电,¥自备
- 12V可充电电池,¥自行购买
- 双路L298N电路板,¥5
- 4个小轴承,按照一次性筷子的尺寸买,内径要比筷子尖大,比筷子体小,¥4
- 小刀,螺丝刀,电脑,手机等物品
开始制作
动手部分
- 取四个雪糕棍,在两端钻孔,共8个孔,孔的直径应该稍大于轴承的内径,注意小心打孔,雪糕棍很脆弱。 打孔
- 把四个轴承夹在打好孔的雪糕棍中间,孔位对齐。用热融胶固定雪糕棍。 固定
- 取两根筷子,均从筷子尖切适当距离,再把切断处打磨至筷子尖相近直径(中间粗两头细的效果),用热融胶粘到tt马达中间位置(转轴挡住了,可以歪一点没关系),注意要绕着马达粘一圈,不要节约,热融胶粘塑料不够紧。效果如下: 前桥受力轴
- 用热融胶固定两组雪糕棍,注意雪糕棍不要与马达有摩擦。 固定
- 取两根筷子,从尖部切断适当距离,同样的方法粘到tt马达的远端。取一根雪糕棍,以同样的距离在两端打孔。这部分做转向结构。
- 找准合适位置,把舵机固定在前桥上,使舵机臂位于中间位置,按图示方法连接转向结构: 转向结构
- 四只tt马达分两组,并联在L298N的两组输出上。由于L298N自带一个5V输出,而5V也在MG995需求电压范围内,我们可以直接把舵机的输入接在L298N的5V输出上。
- 自由发挥,把小车的其他部分装好。以下是我做的: 完工
代码部分
- 连接杜邦线(以下均为树莓派板子排针的物理序号):
- L298N的
IN1
-IN4
分别接在11
,12
,13
,15
- 拔掉L298N的两个使能,并分别接在
16
,18
- 舵机的信号线接在
22
- L298N的
- 树莓派端的代码,我用python写的,通过蓝牙控制,代码仓库:car_controller_server
- 手机端的代码,我用flutter写的,代码仓库:car_controller
具体逻辑挺简单,就是蓝牙连接,然后发消息控制树莓派输出信号到GPIO。通过这个项目,又学了新技能Flutter
简单说说
最初在想各种方案,一开始打算用速度差实现转弯,左边两个轮子不转,右边两个转,就实现了左转,事实证明此方法行不通,力学分析不到位,充电宝那点电流带不动马达。 过了段时间,狠了狠心,买了块12V,3000mah的锂电池,马达转的贼猛。但是花¥7.5买的全金属MG90舵机却拉跨了,一直抽搐,原因可能是没用轴承摩擦太大,遂又搁置一段时间。 最终,花¥12.5大价钱买了MG995,还有18mm的雪糕棍(到手发现全部是17mm的,淦他娘的淘宝无良商家)。诞生了这个雪糕战车。 万事还是得走出第一步,动手做了才知道效果,头脑想的都不算!