一、引言
1.在高中开展机器人教学的必要性和必然性
随着智能技术的发展,智能机器人教育走 进我们的课堂已经成为必然趋势,智能机器人技术融合了机械造型、电子传感器、计算机软硬件和人工智能等众多先进技术,而这些充分体现了当代信息技术多个领 域的重要内容,更是智能技术的结晶。智能机器人作为培养学生能力和素质的智能平台之一,必将承载起信息技术教学新载体的任务,给信息技术基础教育带来新的 活力。
2.高中开展机器人教学的现状
在经济不发达地区,即便是一些条件相对较好的学校,机器人教学也几乎还是空白,咎其原因主要有:硬件条件跟不上,教师也缺乏这方面的培训。因此机器人教学的开展举步维艰。
在学习《简易机器人制作》这个模块时,笔者所在学校使用的是由华中科技大学出版社编写的教材。教材简要介绍了简易机器人的“大脑”──AT89S51芯片、简易机器人的编程环境及语言、简易机器人的编程实践等内容。由于没有硬件实验平台,在实际教学中学生对教学内容缺乏实践,因而对用程序控制C51单片机很难理解。
3.如何开展机器人教学工作
在硬件条件不允许的情况下如何开展机器人教学?笔者在实际教学中,引入Proteus软件,用软件仿真的方法,通过软件仿真的直观效果,让学生轻松的了解程序与硬件的关系,激发了学生学习的兴趣,取得了较好的教学效果。
二、基本软件的介绍
在整个教学实践中,用到了两个软件:Keil uVision3和Proteus 7 Professional,现介绍如下:
1.Keil uVision3:用C语言为89S51系列单片机编写程序,需要有专门的单片机C语言编译器,Keil uVision3就是一个较好的编译软件,用个这个软件,我们可以将C语言程序编译为一个hex文件,烧入到51单片机后,单片机即简易机器人的“大脑”就可以根据程序完成指定的控制。
2.Proteus:Proteus软件是由英国LabCenter Electronics公司开发的EDA工具软件,由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件。Proteus可以对Keil uVision3等开发工具的程序进行调试。
正是基于这个原因,笔者将Proteus引入到机器人教学中。
三、教学实例
在教材《简易机器人制作》(华中科技大学出版社编写)的第四章,教材简要介绍了简易机器人的硬件实验板,并以单片机控制LED为例,介绍了用C语言控制单片机的实践方法。在教学中,由于没有硬件试验板,学生无法直接看到程序控制单片机的实际效果,因而理解上比较困难。
笔者在实际讲授过程中,引入Proteus软件平台很好的解决了实验效果的模拟演示。鉴于刚开始学生对Proteus软件比较陌生,笔者帮助学生搭建好电路,让学生将注意力集中在编写C语言程序编程控制单片机上。以单片机控制单个LED闪烁为例,笔者教学过程如下:
教师提前在Proteus中搭建好电路(电路图如下),上课时提出实验任务:编写程序控制连接在P1.0端口上的D1(LED灯),让其闪烁。
引导学生分析如下C语言程序:
#include
sbit p=P1^0;
void delay(void)
{
unsigned int i,j,k;
for(i=20;i>0;i--)
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}
Void main( )
{
while(1)
{
p=0;
delay( );
p=1;
delay( );
}
}
程序分析:
(1)void delay( void)自定义函数的功能:实现延时。
(2) void main( ),程序的主程序。①p=0,给p1.0端口一个低电平,此时LED等亮,然后调用 delay( )延时。
②然后p=1,给p1.0端口一个高电平,此时LED熄灭,调用dalay( )延时。
③重复①②,从而达到LED灯闪烁的目的。
引导学生打开Keil uVision3软件,建立并编辑上面的C语言程序,然后进行编译,生成对应的text1.hex文件。
引导学生将生成的text1.hex文件加到Proteus中,调试编译后的程序代码对实验电路的控制效果。双击U1对象(C51单片机)出现如下对话框,在program File处指定hex文件为test1.hex 后,点击OK。
然后点击Proteus软件左下角的中第一个按钮,开始运行,观察,这时学生会发现,LED灯开始闪烁。
到此,通过Proteus软件的仿真,学生清楚的看到了实例的效果。这时,笔者进一步提出问题:如何让你的程序控制流水灯呢?笔者给出搭建好的仿真电路,请学生自己思考如何来编写控制连接在p1.0到p1.7的8个LED轮流闪烁C语言程序。
四、采用软件仿真教学的优缺点分析
采用Proteus仿真软件进行虚拟单片机实验,具有比较明显的优势,当然也存在一些不足之处。
1.从学校投入
Proteus可以基本满足中学阶段对简单机器人相关内容的仿真教学,实际问题的研究,可以先在软件环境中模拟通过,再进行硬件的投入,这样处理,不仅省时省力,也可以节省因方案不正确所造成的硬件投入的浪费,大大节省了硬件的投入,为学校节省了大量资金。
2.从学生学习效果来看
学生可以突破硬件教学板自身的限制,自己进行相关实验,通过解决实际问题,学生实验能力和实验设计能力有较大的提高,可以说,Proteus为学生提供了一个开放的平台,这对学生创新能力和实践能力的培养的作用不言而喻。
3.从教师教学来看
Proteus仿真软件功能强大,为高中没有条件开展简易机器人教学的学校提供了可能,同时将程序设计和机器人有机结合起来,为培养学生的能力起到很重要的作用,值得推广和实践。
4.缺点与不足
采用软件仿真实验成功了,硬件在实际工作中不一定保证100%正常工作,因而,不能用软件仿真完全代替硬件。但是,软件仿真,可以大大提高效率,减少了实验成本,不失为中学简易机器人教学的好助手
五、反思
从机器人教学内容看,涉及到程序涉及和硬件等多方面的知识,对学生能力来说是一个考验,但是就学生参与学习的热情和兴趣来看,对学生有很大的吸引力。
同时,我们应当看到:程序设计课程在培 养学生分析问题、解决问题的能力和培养学生创造性思维等方面有着得天独厚的作用;但是我们也应当看到:过去我们把程序设计作为教学模块,我们更关注语言的 教学,这样让初学者觉得学习程序设计就是解决了一些简单的数学问题,学生体验不到成功的乐趣,只有枯燥,这正是程序设计教学中的主要缺陷。而我们在机器人 教学中所编写的程序是智能机器人的灵魂,让学生通过为机器人编程序来学习程序设计的知识是程序设计教学入门的最好方法。在学习为机器人编写程序的过程中,学生会获得成功的喜悦、会建立成功的信心,从而取得程序设计学习的兴趣。将智能机器人作为程序设计学习的载体,会从根本上解决目前程序设计教学中存在的问题。
我国中小学智能电脑机器人教育方兴未艾,有识的信息技术基础教育的决策者和工作者应该抓住这一教育改革创新的先机,思考未来社会对人才培养的需求,让我国中小学信息技术教育走在世界前列,为培养高素质的人才打好基础。