友情提示:380元/半年,儿童学编程,就上码丁实验室。
为了满足拥有坦克和飞机的愿望,想着着手做一套去海边溜溜。
https://www.zhihu.com/video/985537725302394880

01 What you will need
SoftwarePython
Putty
Fritzing
Mobilekeyboard app
hardware
solidworks
25mm Dc motor 30w 300rpm
motor driver 7A/160W双路
raspberry pi
18650 cell
2节4节18650电池盒
按钮
XL7015降压模块
mobilekeyboard
02 what you will do
Mechanism-10hours
机械需要用solidworks画好图纸,加工后花两个多小时组装。
履带加机身采用全铝材料,方便钻孔。履带需加上缓冲弹簧及从动轮,螺丝部位需加入垫片,否则马达运作的时候会产生振动导致结构会产生松动。


另外,马达位置需要一前一后错开,不要装在同一侧,否则转向会产生不顺畅的效果。
树莓派供电由2节18650电池组成产生7.4vdc电压,并接入Dc降压模块转换至5v供电。在电源端口,串接一个按钮用于启动关闭树莓派系统。
马达驱动器供电为6-27v,所以此处接入4节18650电池足够,另外此处+-接反将会烧掉驱动器。

每个马达的方向控制可以通过正接或反接驱动器输出口方向来控制,不过此处占用树莓派3个GPIO口,正反转,刹车则通过GPIO对应电平控制:

接线图:

Program-8hours
起初准备通过红外来遥控方向的,后来图方便想了一下还是通过蓝牙+mobilekeyboard来做,因为mobilekeyboard已经开发好了硬件和安卓app。

程序端,通过putty来调试与编写程序,将方向,前进,后退等GPIO状态分别定义为python函数,将其与键盘上自定义按键关联,当检测到键盘输入对应字符时,执行相应函数。
导入curse模块,使用while来监控键盘按下并执行相应动作。


03 test

最后,在平地和沙滩测试一下越过障碍物,发现螺丝位因为振动容易产生松动,还有由于mobilekeyboard可以响应鼠标操作,有时候会因为误操作将鼠标从程序命令端口切换出来导致无法响应键盘按键,所以这两点都是值得改善的地方。
另外后续可以加高级功能,如同时响应方向操作,加传感器避障,加摄像头采集等等。