木果创客
我们一直在努力!

创客父子的快乐分享 |scratch程序当“巡线”遇到了“赛车”!新挑战!!

前两天看到一个群友分享了《暴走卡丁车》的程序,我便想跟儿子一起用mblock玩巡线。儿子尚小,程序不求完美只求简单,所以开始的程序是这样的:

0
“山寨越野车”:

0 (1)

“盘山路”:

0 (5)

只要移动步数不大,这个程序已经可以对付很多线路了,步数如果往上加,这时候就容易出现小车的两个“传感器”同时冲出车道,我自己提前做了功课,这种情况就加个判断,即两个传感器都碰到白色,则小车后退,后退步数略大于车道上前进步数(这样回到车道再向前时可能出现一个传感器还在车道上,另一个在外面,则小车知道怎么转弯了。多试几次能调整到车道上。当然仍然有极端情况需要另外加程序)。但是儿子第一反应却是:当两个传感器都在路外面时,他就要“出手”帮小车。带小孩玩编程、创客,最好顺着小孩子的思路玩,有时反而玩出创意。我采纳了这个“半自动”巡线方案,在各种可以动用的方法中最后我选择了makeblock的摇杆,没想到玩巡线还能带上摇杆的学习、实践。在对摇杆的用法简单介绍后,我们加入了用摇杆让小车退回车道的程序:

0 (3)

为了力求精简,利用摇杆向前、左右转弯就暂不考虑了。可是我是个“贪心”的爸爸,每次玩总是在最大化利用手上的电子元件上“绞尽脑汁”。这不,新点子来了,利用手上的电位器作为“无级变速”调整小车速度,还让小车显示当前速度,方便查看和操控:

0

当然,把电位器带进来前先得简单介绍下电位器的操作和数值变化区间,为了让数值在一个适合巡线速度的范围内变化,又得用到除法,对刚上一年级的小朋友来讲,除法有点难了,只是大致讲下,让他知道除法是为了得到我们想要的较小的数值。小车很拉风地又跑了几圈,儿子也知道了为了减少小车在遇到急弯时冲出车道,应该在转弯前用电位器降低车速,然后在相对较直的车道上时则可以提高车速。

创意往往是不断量变的。既然开始的自动巡线已经演变成人工调速、自动转弯、事故营救的设计,那肯定要来点计时和比赛成绩的设计了,于是我添加了一个新角色,红色的起跑线,横在车道上,当小车角色碰到这个角色时,就停止前进,否则就开始起步飙车跟时间赛跑了。在让红色起跑线角色隐藏的各种方法中,我选择了超声波传感器,当用手在超声波传感器上示意比赛开始,这个角色就隐藏。同时增加一个变量,让它等于计时器的时间。程序又“进化”了:

0 (1)

添加的角色的程序:

0 (4)

舞台:

0 (5)

可惜mbot主板接口有限,否则把数码管同时接上显示时间,效果也不错!

儿子没事还经常在纸上画线条说画赛车道,这下让他过把瘾画了各种车道(有些车道真是把小车“虐”了个够),给舞台写个简单程序切换“地图”:

0 (6)

于是,经过上午、下午的折腾(还要经常被妹妹来干扰),父子俩好好玩了几把山地赛车游戏:出发时超声波发令、过弯时电位器减速、“抛锚”时摇杆营救、冲刺加速、撞线!破纪录!电脑上赛完车,接着在地板上再玩巡线,利用巡线传感器给小车做的程序也很简单,家里的简易车道是可以应对了:

0 (7)

Vege

智能巡线小车完善源程序下载

转自合作网站 www.botdiy.com苔萌智造局

未经允许不得转载:木果创客mbot机器人 » 创客父子的快乐分享 |scratch程序当“巡线”遇到了“赛车”!新挑战!!

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

木果创客 mBot机器人 服务教学 更专业 更用心!

购买mBot木果创客淘宝店