王世达 上海市普陀区教育学院现代教育技术研究室副主任,初中、小学信息科技教研员,中学高级教师,教育硕士,长期从事信息科技学科和教育信息化研究,开发了上海市教师培训共享课程“移动学习环境的创设与APP应用探究”,并承担“上海市中小学教材教法研修一体网络课程建设项目”初中信息科技学科课程开发;参与撰写了《基于Visual Basic下的高中程序设计常用算法汇编》《玩转Scratch创意编程》两本教材。
学习背景
足球是学生们熟悉又喜欢的体育运动。本课中学生将使用乐高积木搭建足球射手机器人,使用Scratch 2.0主程序和其中的WeDo扩展模块完成程序编写,实现通过距离传感器感知足球并驱动马达实现机器人“踢球”的人机交互。将STEM的教育理念融入解决具体实际问题的过程中,培养学生观察、比较、分析的能力和创新思维。
教学目标
知识与技能:使用乐高积木设计并搭建足球射手;描述WeDo套件中马达与距离传感器的作用;独立完成Scratch和WeDo读取距离传感器数值与驱动马达操作;参照学习支架完成Scratch程序编写。
过程与方法:经历小组合作完成足球射手的积木搭建与程序设计过程;尝试观察、分析距离传感器数值与距离的关系;能合理调试马达的相关参数(功率、方向、启动时间)解决具体问题。
情感态度与价值观:体验人机交互的过程,提升学习兴趣与创新思维;在小组合作学习中培养合作精神和团队荣誉感。
教学重难点
教学重点:描述距离传感器与马达的作用与关系;使用Scratch中的WeDo扩展模块完成读取距离传感器数值与驱动马达操作。
教学难点:调试距离传感器与马达的相关参数(功率、方向、启动时间),解决操作中的问题。
教学过程
一、创设情境
为了激发学生的学习兴趣,教师以“小小足球运动员”为主题引出本课,在学生适当交流足球运动后,教师呈现足球运动员临门一脚的视频和照片,让学生思考射门的动作是如何做出的,初步理解足球射手机器人的设计要点。
二、构思设计
教师组织学生讨论机器人射门需要哪些动作,分析机器人要完成射门动作所需要的关键乐高部件。之后,学生以小组为单位设计机器人草图,并使用乐高积木实现足球射手机器人外形的搭建。
三、自主探究
教师引导学生思考要实现机器人“自动”踢球需要增加哪些部件,并组织学生使用WeDo套件中的距离传感器与马达,并通过主控制器与计算机进行连接,再调用Scratch软件中的WeDo扩展模块观察分析距离传感器数值与距离的关系,以及马达有关的相关参数(功率、方向、启动时间)设置。
四、编程与调试
教师组织学生在研讨和观察的基础上,将搭建完成的射门机器人与距离传感器、马达组合在一起,逐步完善Scratch程序编写,不断调试、修正错误,仔细观察、记录数据,选择最为合适的距离传感器数值和马达设置参数。
五、作品展示评价
教师提供给每个小组展示的机会,让学生分享作品的设计思路、解决问题的方法以及特色,并和其他小组一起对作品进行比赛与评价。
六、完善与创新
学生在观看其他小组的展示后,交流其他作品中的优点,继续完善自己的作品,并增加新的创意元素。
案例详解
一、机器人搭建
足球射手机器人的身体部分可以发挥想象自由设计,但两条腿最好能让一条固定站在地面,另一条射球脚与它分开,并与地面间留有空隙。这样就可以保证射球脚能自由活动,实现踢球动作。(如图1、图2、图3)
图1
图2
图3
二、WeDo套件介绍
WeDo是一款可以与计算机连接进行编程并控制机器人的套件。目前Scratch2.0已经可以兼容并支持WeDo套件的编程与扩展,将WeDo套件中的主控制器通过USB接口连接到计算机上,启动Scratch 2.0后,在“更多积木”模块中就可以调用“LEGO WeDo 1.0”扩展模块(如图4)。
图4
三、距离传感器与马达的探究
将距离传感器通过主控制器连接到计算机上,在Scratch中编写简单程序(如图5)。用手或其他物体在距离传感器前移动以观察距离传感器数值与距离的关系,可发现距离数值范围在0到100之间,且距离越远数值越大,距离越近数值越小。
通过开启马达并调整马达功率可发现,马达功率数值越大,马达转动越快,而且马达还可以实现向左转、向右转、向后转的功能。(如图6)
图5
图6
学生通过探究理解了距离传感器与马达的作用,并且体会到只有距离传感器的取值和马达启动运转的时机配合好,才能实现足球射手自动踢球。
四、程序设计与调试
1.需求分析
在足球射手机器人的踢球脚前安装距离传感器,当它判断球出现在正确位置时,就利用马达转动踢球脚,把球踢出去,之后再反向转动踢球脚使其恢复原位;如果判断没有球,则踢球脚保持不动。
按照需求分析,将之前搭建的机器人双腿连接在传动马达上,实现马达驱动踢球动作,并在机器人的脚前放置距离传感器,用于侦测足球是否出现。(如图7)
图7
2.程序设计
足球射手机器人的踢球脚是否转动是由距离传感器触发的,因此需要一个“如果……那么……否则”的分支结构,可将条件设置为“距离<”某一个数值,这样就可以通过读取距离传感器的值来决定是否执行后续操作。本案例中设置条件为“距离<50”。
如果条件成立,即球出现在相应位置,则启动马达,设定马达功率、转动方向、启动时间,踢球脚将球向前踢走,等待1秒后,重新设置相关参数,将踢球脚恢复到原位。本案例中设置马达功率为100,启动时间为0.2秒,转动方向根据具体情况进行调试。
如果条件不成立即球未出现,则马达关闭。
为了保证程序的有效执行,还需要一个“重复执行”的循环结构来帮助足球射手机器人一直监测距离传感器的数值。(如图8)
图8
3.程序调试
足球射手机器人到底能把球踢多远呢?学生可以调试距离传感器与马达的各项参数,在表格中记录每一次的情况,并进行比较,试一试是否可以踢得更远!
五、展开想象,创新设计
当展示交流完毕,可以再给学生一些时间来继续完善自己的作品。例如,可以从机器人外形的角度,也可以从程序编写的角度,甚至可以探究其他传感器的组合使用,为机器人添加新的功能。