作者:袁晓蜜
随着科技发展,创客教育已经融入到日常的教育中,mBot作为智能教育机器人,非常适合学生学习编程领域的知识。学生可以亲自动手搭建机器人,并且通过图形化编程软件mBlock,轻松学习编程知识,体验计算机科学的魅力。在学习本课之前,学生已完成机器人的搭建并通过编程实践让机器人动起来了,本节课主要学习使用超声波传感器来解决生活中的实际问题。
过程与方法:通过使用超声波传感器制作避障机器人,体会探究学习的方法。
情感态度与价值观:在动手实践中感受创客的过程,培养算法思维能力。
重点:能够使用超声波传感器让机器人动起来更加智能。
难点:将分支结构设计思维应用于问题的实践解决,培养学生算法思维。
教学资源:mBot机器人硬件和外接超声波传感器、mBlock编程软件。
教师引导学生分析(如图1):汽车在倒车过程中是如何判断出后方有障碍物的?这是根据什么原理实现的?
师生分析得出结论:汽车的尾部安装了倒车雷达,可以判断汽车与障碍物的距离,而倒车雷达就是根据超声波的原理,利用超声波传感器来实现的。
1.介绍超声波和超声波传感器
超声波:通常当声波频率高于20千赫兹时,人的耳朵是听不见的,这种声波称为“超声波”。最早人们是从蝙蝠的身上发现了超声波的存在,它能在夜间飞行时依靠发出的超声波来定位和觅食。
超声波传感器:人们利用超声波的特性研制而成的传感器叫作超声波传感器(如图2),它就像mBot机器人的“大眼睛”。一只“眼睛”发射超声波信号,另一只“眼睛”接收反射回来的信号,因此能够探测机器人与障碍物之间的距离,从而实现避障的功能。
2.测量超声波传感器的值
教师演示测量超声波传感器值的方法,即通过“熊猫说”的形式在舞台上实时显示超声波传感器的值。(如图3)
为了使数值显示稳定且更易读,还可以借助“四舍五入”指令使显示出来的数值为整数。通过测量得出结论,所测数值的单位是cm,测量范围3~400cm。
二、实践探究,问题解决
1.分析问题,提出任务
首先在mBot机器人的前方设置一个障碍物(如图4),然后出示任务一,让学生思考分析如何使用超声波传感器识别前方的障碍物,使机器人更聪明、更智能地动起来。
任务一:mBot识别障碍物自动停止(1星任务)
任务要求:mBot在板载按钮启动后行驶,探测到有障碍物就停止前进,没有障碍物就继续前进。
任务提示:有障碍物,即探测到“超声波传感器的距离<10”。
2.任务分析,算法呈现
根据任务的描述,使用流程图(如图5)进一步分析,找出对应的指令,编程实践。
师生分析:首先通过按钮启动,然后进行条件的判断,如果距离<10,机器人就停止,否则前进。这种“条件判断选择执行”的程序就是“分支结构”,对应哪条指令呢?(如果……否则……)判断的条件使用的指令是什么?(超声波传感器接口3的距离<10)由此可以看出,“分支结构”具有条件判断的功能,根据不同的判断结果选择不同的分支执行,因此机器人就具有了智能性。条件只判断一次能实现吗?在实践的过程中学生会发现,条件判断不能只执行一次,“循环结构”的特点就是重复执行,因此还需要加入重复执行指令。
下面同学们就来动手试试吧!
3.编写程序,算法实现(如图6)
4.调试硬件,测试运行
(1)连接串口,安装固件,点击绿旗,在线调试。
(2)指令替换(如图7),上传程序,离线运行。
三、综合创作,个性发展
超声波传感器的使用让机器人具有了智能性,引导学生联系生活实际想一想,还可以用超声波传感器解决哪些实际问题?然后出示任务二,让学生设计自己的智能机器人。
任务二:请你选择适合的任务,设计自己的智能机器人,以解决生活中遇到的问题。
1.具体任务说明
(1)智能避障机器人(2星任务)
任务情境:智能机器人遇到障碍物时不仅能及时停止前进,还可以轻松躲开障碍物,因此请你在任务一的基础上设计一款智能避障机器人。
任务要求:mBot机器人在板载按钮启动后行驶,若探测到前方有障碍物就转弯躲避(左转、右转、调头或后退),若没有障碍物就继续前进。
任务提示:①有障碍物,即探测到“超声波传感器的距离<10”。②若能结合实际添加已学的“声光”效果,任务升级3星。
(2)车辆自动礼让行人(2星任务)
任务情境:很多时候,“让”出来的交通会更快捷、不拥堵,因此请你设计一款智能小车礼让行人。
任务要求:mBot机器人在板载按钮启动后行驶,若遇到前方有行人过马路(距离<10)就停止前进,若行人离开就继续前进。
任务提示:①有行人过马路,即探测到“超声波传感器的距离<10”。②设计当行人离开的“距离>20”再继续前进,任务升级3星。
(3)悬崖勒马新技能(3星任务)
任务情境:同学们都知道“悬崖勒马”这个成语故事吗?故事告诉我们如果到了危险的边缘要及时回头。那怎样才能让我们的mBot机器人也知道在遇到危险的悬崖边时自动停下来,使其具有智能识别路面的技能呢?首先要对mBot机器人进行改装,将超声波传感器改装到mBot底部,测量它与桌面的距离,然后根据任务要求编程设计。
任务要求:mBot在板载按钮启动后行驶,探测到前方有路就继续前进,没有路(即为悬崖)就停止前进。
任务提示:①将超声波传感器改装到mBot底部,测量与桌面的距离,然后编程设计。②前方有路,即探测到“超声波传感器的距离<?”。
2.学生编程实践 学生选择感兴趣的任务后,分组进行共同研究、设计、实践。
3.机器人成果展示 学生分组进行机器人展示,并讲解设计思路,根据各组实现的效果进行星级奖励。
【设计意图】本环节是对所学新知的巩固,使学生进一步感受超声波传感器的自动避障功能,同时提供多个任务供学生选择,学生根据自己的兴趣和想法自行分组完成任务,充分体现团队协作的精神。
四、归纳梳理,拓展延伸
1.总结本课的知识
2.拓展技术的应用 在现实生活中我们不难发现,超声波传感器的身影无处不在,带来的各种便利也是有目共睹的(如倒车雷达、扫地机器人等)。随着科技水平的不断发展,超声波传感器的应用领域已越来越广。
【设计意图】 本环节帮助学生总结梳理知识体系,并将技术应用拓展到实际生活中,鼓励学生创新,鼓励学生造物。