《机器人制作之电子骰子》教学设计
本帖最后由 tzlzy 于 2016-4-8 17:18 编辑一、学情分析机器人制作课是温州市青少年活动中心开展的Arduino特色课程之一,每周一次课,每次课时长1.5小时。本课教学对象是机器人制作五班的学生,学段为五年级。机器人制作课程的核心内容为Arduino电子设计。通过前面三次课的学习(走近Arduino、流水灯机器人、按钮控制的机器人),学生了解了机器人的基本组成、Arduino机器人的数字输入与输出,熟悉了教育版ArduBlock的一般使用方法。本课在上节课《按钮控制的机器人》基础上进行迁移,以倾斜开关代替按钮,以数码管代替发光二极管,加入随机数、子程序等新知识,制作电子骰子,既在学生原有基础上进行适当提升,又满足其自己动手完成机器人作品的强烈需求及期待,也大大提高其进一步学习Arduino机器人的浓烈兴趣。二、教学目标1.知识与技能认识数码管,了解其分类;认识倾斜开关,进一步理解数字传感器使用方法;学会简单使用随机数。2.过程与方法使用数码管显示不同的数字,了解数码管使用的一般过程;在子程序调用过程中,体验程序模块化的优势。3.情感态度与价值观在制作电子骰子及使用电子骰子进行游戏的过程中,体验机器人制作的乐趣。三、教学重难点教学重点:数码管的硬件搭建及编程控制教学难点: 子程序及随机数的灵活运用四、硬件搭建本课用到的硬件器材主要有DreamerNano控制器、中型面包板、共阳极数码管、330Ω电阻、倾斜开关、面包线及USB数据线。 (一)Dreamer Nano控制器Dreamer Nano( 图1)是DFRobot出品的基于最新Arduino Leonardo的小尺寸Leonardo控制板。它兼容Leonardo的全部功能,并把全部尺寸封装在一个45x20mm的尺寸里,非常适合一些对控制器尺寸有要求的项目,比如飞控,小型互动作品等。另外,该控制器IO设计简单友好,搭配通用面包板使用,容易入门。它有21个数字输入输出口,7个PWM口以及6个模拟输入口。支持USB特性,可以模拟鼠标和键盘,极大地提高了应用场合。
图1Dreamer Nano控制器(二)共阳极数码管数码管是由多个发光二极管封装在一起组成的“8”字型半导体发光器件。按发光二极管单元连接方式进行分类,数码管可分为共阳极数码管和共阴极数码管;按发光二极管的个数进行分类,数码管可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(小数点显示);按能显示多少个“8”,数码管又可分为一位、二位、三位等。如图2所示,从左到右依次为七段数码管、八段数码管和二位数码管。
图2 数码管本课使用的数码管是共阳极数码管。共阳数码管指将一位数码管中所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。在应用时,将其公共阳极COM接到主控板的+5V针脚。当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就熄灭。数码管中LED位置与控制管脚的具体关系,如图3所示。由图可知,数码管上排五个针脚的1、2、4、5分别对应数码管中的a、b、c、d字段;6、7、9、10针脚分别对应数码管中的e、f、g、h字段。
图3 数码管引脚图(三)电子骰子硬件搭建根据教学流程,硬件搭建分为两个个部分。第一部分是数码管的接线。使用数码管显示数字,需要将其上下两排的针脚通过面包线接在Nano的数字针脚上。在Fritzing软件中完成硬件的搭建,使用Nano控制器的D2至D9针脚控制数码管。其中,数码管上排的1、2、4、5四个针脚对应Nano的D2至D5;数码管下排的6、7、9、10四个针脚对应Nano的D6-D9;数码管中间的3和8针脚只要有一个通过电阻连接+5V即可。数码管控制关系图及实物图如下图4、图5。
图4数码管控制关系图
图5数码管控制实物图第二部分是电子骰子的全部接线。在数码管的基础上,增加了倾斜开关的硬件连接示意图及实物图分别如下图6、图7所示。其中,倾角开关接在Nano的数字针脚10。
图6 电子骰子示意图
图7电子骰子实物图五、程序编写本课采用的编程环境是ArduBlock教育版。ArduBlock是Arduino IDE的可视化编程插件,它必须依附于Arduino IDE环境启动,是最受欢迎的Arduino编程入门工具之一。ArduBlock教育版是著名创客何琪辰为中小学Arduino课程定制的版本。ArduBlock教育版对Arduino IDE版本要求是1.5或更高版本。如果使用较低版本,ArduBlock教育版部分模块显示的是英文。软件安装简单,只要将压缩包(下载地址:http://blog.sina.com.cn/s/blog_6611ddcf0101kfs7.html)中的libraries和tools文件夹,复制到Arduino的安装目录下,再重新运行Arduino IDE,点击“工具”中的“ArduBlock”便可。电子骰子的程序主要包含三个部分,一是通过点亮数码管相应针脚,显示数字0-6中的任意一个;而是通过使用子程序及子程序调用将代码模块化;三是使用倾角开关随机显示0-6中的任意数字。主要程序片段如图8-10所示。 图8 数码管显示数字“6” 图9 使用子程序显示数字“6”
图10 电子骰子六、教学过程在实际教学中,本课通过以下四个环节完成的:复习旧知,引入新课;合作学习,突破重点;整合完善,成就自我;拓展提升,课堂小结。(一)复习旧知,引入新课本环节主要通过带领学生回顾上节课《按钮控制的机器人》所习得的内容,引导学生将按钮控制的相关知识迁移到倾角传感器上,从而了解倾角传感器的原理、使用方法及特性。具体操作上,首先请同学回忆“按下按钮LED亮,放开按钮LED灭”的硬件连接及程序编写,并上传到主控板中;再请同学拿出倾角传感器,轻轻晃动,感受滚珠在元件内随角度不同而引起的位置变化;最后,请同学将电路中的按钮拿下,使用倾角开关作为替代。同时左右晃动倾角开关,观察LED亮灭情况。通过观察,清楚倾角开关的导通端与开路端。(二)合作学习,突破重点本部分主要分三个步骤进行。步骤一:让学生拿出数码管,结合教师给出的引脚图,进行接线。为方便调试,可对班级接线进行统一。数码管上面四个针脚接到D2-D5(中间针脚不接);数码管下面四个针脚接到D6-D9;中间引脚上下二者选其一,通过电阻连接在Nano主控板的+5V针脚。硬件搭建难度系数不大,但较为繁琐且易出错,可建议学生两人一组,相互检查。步骤二:通过分组合作,显示指定数字。将班级学生分为六组,每组使用数码管显示其组号的数字(1-6),如第一组使用数码管显示数字“1”。教师在黑板上画出数码管示意图,并将其对应段标上引脚号,方便学生观察。同时,讲解点亮数码管中一段LED最简单的方式:设置这段LED所在的数字针脚为低电平。注意:共阳极数码管,低电平亮灯,与学生之前的经验相悖,易出错。步骤三:教师抛出问题:如何让数码管依次显示数字1-6?学生回答并讨论这种显示方式(将1-6组的程序以延时为分割合在一起)的优劣。教师在讨论的基础上引出程序模块化思想及子函数的具体用法,注意提醒学生子程序只能以字母开头。教师向学生发送使用子程序编写的包含1-6六个数字的半成品程序,要求学生在该半成品的基础上完成教师抛出的问题。代码片段如图11。
图11 主程序示范(三)整合完善,成就自我以小组为单位,分析电子骰子的运行流程。具体流程如下图12。
图12 电子骰子运行流程图电子骰子运行的关键在于倾斜开关导通时,数码管上面的数字是随机显示的。涉及到的主要知识点为随机数。教师讲解随机数的用法,如图13,表示的是先产生1-6六个随机整数(随机数的最大值取不到,并且所取随机数均是整数)。
图13 随机数用法举例学生以组为单位,根据电子骰子运行流程图编写并完善程序。教师在这个过程中,根据不同学生的最近发展区,提供相应教学支架即可,不作集体示范。(四)拓展提升,课堂总结学完本次课,为鼓励学生产生其他创意想法,笔者为学生提供一份表格作参考,如表1所示。值得说明的是,这份表格只作参考用,任何有创意的想法都是值得表扬的。希望同学可以将自己的创意设计写下来。表1 创意表格
创意维度描述举例
电子骰子进阶版优化程序,使电子骰子停止时,总显示较大的数利用随机函数,对倾角开关由导通到断开时显示的数字作“特殊”处理
模拟交通灯在简易交通灯的基础上,加入数码管倒计时红灯亮时,数码管倒计时。计时为1的下一秒,红灯灭,绿灯亮
最后对本课进行总结:数码管尽管接线复杂,但其原理及编程控制都很简单。我们学习本课的主要目的,除了了解数码管、子程序、随机数等基础知识,更重要的是对项目的运行流程进行分析,培养逻辑思维,在不断的优化完善中,提高解决问题的能力。因此,学习Arduino机器人并不只是学习机器人知识,更希望大家在学习完机器人课程后,逻辑思维能力及解决问题的能力有所提高。七、教学反思本课是一节以学习数码管知识为基础的机器人课,教学对象为小学生。数码管电路连接复杂,编程也容易出错,因此学生极易产生畏难排斥心理。针对这一现实,本课采用了几种“特殊”手段进行处理。首先,在教学内容上,倾角开关的知识习得在上节课按钮的基础上进行迁移,降低了学习难度;同时,以电子骰子为教学内容,学生在完成作品以后,可以与同学进行比赛,类似于“猜拳”活动,大大激发了其学习兴趣。其次,在教学难度上,小梯度螺旋式上升。学生通过动手操作实践,一步步获得直接经验以作为解决下一个问题的基础。最后,在教学方式上,运用流程图展示分析,鼓励学生分组合作,大胆提出自身观点,课堂氛围活跃。半成品加工的方式也给学生完成完整作品带来了极大帮助。另外,本课还有一些需要改进的地方。比如,如何高效率引导学生小组合作;如何合理细致评价学生作品等。希望在今后的教学中有针对性的改进,以促提高。
顶起,刘版主的帖子 哇课件准备得好认真…… 刘版主的帖子 大连林海 发表于 2016-4-9 06:39
刘版主的帖子
怕被ash砍,你懂得~~~:lol hnyzcj 发表于 2016-4-8 20:19
顶起,刘版主的帖子
哦也吼吼吼 iooops 发表于 2016-4-9 01:16
哇课件准备得好认真……
必须的:victory: tzlzy 发表于 2016-4-10 15:35
必须的
刘大版主藏货不少。 tzlzy 发表于 2016-4-10 15:33
怕被ash砍,你懂得~~~
{:5_168:}我不懂 hnyzcj 发表于 2016-4-10 17:23
刘大版主藏货不少。
{:5_161:} 课件的内容和侧重点真的不同 dsweiliang 发表于 2016-4-11 08:39
课件的内容和侧重点真的不同
{:5_193:} 想当初刚进大学时候看人家用单片机编写点子骰子,觉得好难啊,第一关c语言就是一个当时跨不过去的鸿沟啊。。。 Eric 发表于 2016-4-11 12:36
想当初刚进大学时候看人家用单片机编写点子骰子,觉得好难啊,第一关c语言就是一个当时跨不过去的鸿沟啊。 ...
我现在想想用c语言编也觉得好难啊:lol 模块化编程 好帖,顶一下
页:
[1]