回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

极品飞车(山寨)警车版 简单

头像 LYon 2019.05.14 1135 0
project-image

    我为这个比赛其实投入了很多的时间和精力,不幸也踩了许许多多个坑。我本来设计的是想做一个象DFRobot的Vortex一样的多功能玩具机器人,结果发现Micro:Bit硬件资源资源不够,连几百行的主控程序代码都跑不起来。好吧,只有把每个主要的功能分别用独立的程序来做了。于是我连换了多个不同的项目方案,可每个方案程序都不能完全实现我想要的效果。我设计的程序方案主要有: 

玩具总动员 - 多功能遥控车(主控代码基本完成,多个功能集成时资源不足)

速度与激情 - 调速自动循线(基本完成,现改为极品飞车(山寨)警车版) 

如影随行 - 跟随行走(没意思效果不好放弃) 

家园防线 - 扫地机器人(磁场传感不稳定放弃)

碟影重重 - 手机摄像轨道车(需增加外部配件还未做)

全城搜捕 - 警车走迷宫(基本完成,和循线的代码不一样) 

的士速递 - 优化路径走迷宫(时间来不及还未做)

    此外我还做了给这些方案相配套的传感器自检程序、黑线检测自适应程序、爆闪警灯警报器(多线程)等程序,这一些程序转成源码加起来估计远超过1000行了。做下去才知道,原来每个功能单独实现也都有问题,主要是Mind+扩展库中的彩灯库、超声库、红外库、多线程库之间许多莫名其妙的冲突和不稳定。有的即使能运行起来,效果也强差人意。其实为我总共做的程序肯定超过了20个,绝大多数程序是因为Midn+打开原来运行正常的文件出错或者运行不正常而不得不重新编写的。其中我有个人能力问题,也有Micro:Bit硬件资源的问题,还有Mind+以及DF库文件还不完善的问题,也还连累了DF的李工多天熬夜加班帮我解决问题。 

    眼看时间到了比赛期限最后一天了,只能选其中一个简单点的循线程序来继续完善加点声光效果吧。在赛道的选择上,我选了网上比较流行的四循线传感专用高难度赛道地图。因为库以及硬件资源问题,不得不放弃了本来设计的炫酷多灯变幻爆闪警灯效果,也无法实现狂拽的连续变调警笛。

    暂时也只能这样了,以后有时间再完成那些未实现的麦昆梦吧。

 

project-image

从网上下载的巡线赛道地图,因为我的环境限制,没法做象这个地图一样大的尺寸,临时在一个箱子上用黑胶带贴了个小地图,转弯尺寸变小更是增加了小车的循线难度。


步骤1 主循环程序

循线策略:因为麦昆只有两个数字量红外循线传感器,无法实现其他小车有3-5个线性模拟循线传感器那样的高精确度小车行走路线控制,而且这两个传感器的距离比一般做黑线用的黑色电工胶带还稍窄点,本来是设想让这两个传感器同时覆盖黑线的方式行走,不过加入声光效果后程序的响应速度严重下降,有点来不及及时修正路线。于是采用了右传感器一直在黑线,左传感器在黑线左侧的方式行走。当检测左右传感数据不一样的时候优先判断左传感器是否在黑线上,如果在黑线则依次通过降低左轮速度、左轮停转、左轮倒转来向左修正路线,否则直行。

project-image
project-image
project-image

步骤2 按键检测

当按下Micro:Bit的A按键时,可以减小小车行驶速度,按B键增加小车行驶速度。

project-image

步骤3 警灯警报器效果

最闹心的是这个警灯警报效果,无法采用我单独警灯警报程序里的多线程代码,老是出现死锁问题。好啦,我投降,不用多线程了,这样一步步妥协最终只能做个单调的双灯双音交替的仅仅意思一下的山寨版警车了。

project-image

步骤4 结束函数

END函数是小车检测到终点标志后执行的代码,小车彩灯循环变化,同时演奏音乐。

project-image

材料清单

  • 麦昆: micro:bit教育机器人 V3.0 X1 链接
  • micro:bit 编程入门开发板 X1 链接
  • 18650锂电池 X1

最后给大家看看我用多线程程序单独做的警车效果(依然无法做连续变调音):

还有麦昆最高速度走迷宫基本路口测试

评论

user-avatar