先看小车上路效果:

上路效果

其实买树莓派的契机,就是想自己动手做个遥控车,小时候没有条件去做,现在圆一下当初的梦想。男人的快乐,如此简单。 废话不多说,直接进入正题。

准备

  • 一颗爱手工的心
  • 已经配置好的树莓派一只,之前我写过入门树莓派的文章
  • 工具材料以及大概价格:
    • 热融胶枪+热融胶,¥30
    • 雪糕棍(宽18mm),¥10
    • 四种杜邦线(长30cm),¥5
    • 四只tt马达,带橡胶轮胎,¥12
    • MG995舵机,¥12
    • 一次性筷子,¥0
    • 5V2A充电宝,用于给树莓派单独供电,¥自备
    • 12V可充电电池,¥自行购买
    • 双路L298N电路板,¥5
    • 4个小轴承,按照一次性筷子的尺寸买,内径要比筷子尖大,比筷子体小,¥4
    • 小刀,螺丝刀,电脑,手机等物品

开始制作

动手部分

  1. 取四个雪糕棍,在两端钻孔,共8个孔,孔的直径应该稍大于轴承的内径,注意小心打孔,雪糕棍很脆弱。 打孔
  2. 把四个轴承夹在打好孔的雪糕棍中间,孔位对齐。用热融胶固定雪糕棍。 固定
  3. 取两根筷子,均从筷子尖切适当距离,再把切断处打磨至筷子尖相近直径(中间粗两头细的效果),用热融胶粘到tt马达中间位置(转轴挡住了,可以歪一点没关系),注意要绕着马达粘一圈,不要节约,热融胶粘塑料不够紧。效果如下: 前桥受力轴
  4. 用热融胶固定两组雪糕棍,注意雪糕棍不要与马达有摩擦。 固定
  5. 取两根筷子,从尖部切断适当距离,同样的方法粘到tt马达的远端。取一根雪糕棍,以同样的距离在两端打孔。这部分做转向结构。
  6. 找准合适位置,把舵机固定在前桥上,使舵机臂位于中间位置,按图示方法连接转向结构: 转向结构
  7. 四只tt马达分两组,并联在L298N的两组输出上。由于L298N自带一个5V输出,而5V也在MG995需求电压范围内,我们可以直接把舵机的输入接在L298N的5V输出上。
  8. 自由发挥,把小车的其他部分装好。以下是我做的: 完工

代码部分

  1. 连接杜邦线(以下均为树莓派板子排针的物理序号):
    • L298N的IN1-IN4分别接在11, 12, 13, 15
    • 拔掉L298N的两个使能,并分别接在16, 18
    • 舵机的信号线接在22
  2. 树莓派端的代码,我用python写的,通过蓝牙控制,代码仓库:car_controller_server
  3. 手机端的代码,我用flutter写的,代码仓库:car_controller

具体逻辑挺简单,就是蓝牙连接,然后发消息控制树莓派输出信号到GPIO。通过这个项目,又学了新技能Flutter

简单说说

最初在想各种方案,一开始打算用速度差实现转弯,左边两个轮子不转,右边两个转,就实现了左转,事实证明此方法行不通,力学分析不到位,充电宝那点电流带不动马达。 过了段时间,狠了狠心,买了块12V,3000mah的锂电池,马达转的贼猛。但是花¥7.5买的全金属MG90舵机却拉跨了,一直抽搐,原因可能是没用轴承摩擦太大,遂又搁置一段时间。 最终,花¥12.5大价钱买了MG995,还有18mm的雪糕棍(到手发现全部是17mm的,淦他娘的淘宝无良商家)。诞生了这个雪糕战车。 万事还是得走出第一步,动手做了才知道效果,头脑想的都不算!