张蓝兮+潘梦琪+胡又农
摘 要 为了为通用技术课程机器人与创新模块培养师资,开设智能小车选修课。针对授课对象来源广泛、基础知识范围和水平参差不齐、授课课时少等特点,在教学中改理论灌输式教学为实践驱动式教学、改图形化编程为C语言编程、改虚拟机器人仿真软件为实际硬件组装、改模块化的硬件为基本元器件硬件。整个教学流程包括元器件及工具的获取、焊接及组装、实验研究平台的搭建、步步为营环环相扣的学习研究、自主探索提高与发展等几大步骤。实践表明,基于实践驱动式的智能小车教学,充分考虑了师范院校本科生的特点,可以有效弥补传统智能小车教学过程中的不足,在培养学生动手能力和创新精神方面产生良好的效果,具有一定的实践意义。
关键词 机器人与创新;智能小车;通用技术课程;信息技术
中图分类号:G652 文献标识码:B
文章编号:1671-489X(2017)16-0138-04
Abstract In order to train teachers for the Robotics and Innovation module of general technology, we have set up a smart car elective course. Facing the wide range of students, scope and level of basic knowledge is uneven, less hours of teaching and so on, in the tea-ching, we change indoctrination teaching for practice-driven tea-ching, change the graphical programming for the C language pro-gramming, change the virtual robot simulation software for the actualhardware assembly, change the modular hardware for the basic com-ponent hardware. The whole teaching process includes the acquisi-tion of tools and component, welding and assembly, the construction of the experimental research platform, the step-by-step study and research on independent research and development. Practice shows that, based on the practice-driven smart car teaching, taking full account of the characteristics of undergraduate students in normal colleges and universities can effectively make up for the lack of tradi-tional intelligent car teaching process, in the training of students hands-on ability and innovative spirit to produce good results, a cer-tain practical significance.
Key words robot and innovation; smart car; general technology; in-formation technology
1 引言
隨着时代发展,对人才的需求也不断发生变化,迫切需要大量创新实践型人才,基础教育中的通用技术课程在此背景下应运而生。机器人与创新是通用技术课程中的一个选修模块,受到众多学生和教师的欢迎。机器人与创新模块大多以智能小车为载体展开,在课程中不仅使学生学习到单片机硬件、软件以及传感器和控制技术等一些基础知识,同时给学生带来丰富的趣味性和进一步探索的热情。课程打破了传统乏味的“说教式”教学方式,通过动手实践,增强了学生主动参与的意识,在“动手”和“动脑”之间建立了紧密的联系。
为基础教育培养师资是师范院校的责任和义务。目前,为基础教育通用技术课程培养师资已经被越来越多的师范类院校所重视。然而与数学、物理等传统学科不同的是,通用技术在众多师范院校中尚未形成独立的学科或专业,通用技术教师的培养仍然是分散地进行,没有形成完整的体系。
针对通用技术课程机器人与创新模块的师资培养,首都师范大学及其他部分师范院校开设了智能小车选修课,授课对象大多是教育技术、信息技术、物理、数学等理科生,其中也不乏感兴趣的文科生。面对来源广泛、基础知识范围和水平参差不齐的学生,以及授课课时少等特点,如何授课才能使课程顺利完成,取得良好的教学效果,并使学生从中获益,受到学生的喜爱,是值得深入研究和实践探索的。
2 智能小车教学中存在的问题与改进对策
改理论灌输式教学为实践驱动式教学 智能小车虽然小,但是其中蕴藏的知识十分丰富,电子技术、控制技术、机械技术、信息技术、传感器技术、人工智能技术等均有所体现。通常师范类本科生是不可能全面具备上述知识的,为了弥补基础知识的缺失,部分教师在授课时用大量课时进行理论知识的讲授。由于理论知识相对枯燥、趣味性不强,往往几堂课下来,学生便失去学习的热情。
过于偏重理论知识讲授的传统“说课式”教学方式,占用大量的课时,导致实际课时减少,学生只能被动接受教师的知识灌输,对各种知识的认知只停留在表面,无法通过实践进行深入学习。因此,笔者认为应该改传统理论灌输式教学为实践驱动式教学。endprint
实践驱动式教学要求教师在课程前期,通过简单的实践激发起学生的学习兴趣;在课程中,将理论知识与实践相结合,“即用即学”与“即学即用”配合,加深学生对抽象理论知识的理解,并通过实践将理论知识加以应用;更加深入和完整的理论知识学习,则留给学生课下解决。在完成基本教学任务的前提下,教师还可以鼓励有兴趣、有能力的学生结合实践进行更深层次的探究。在课程后期,教师可以基于所学知识设置相应的任务,根据任务完成情况掌握学生的学习情况。在整个教学过程中,实践贯穿始终,通过实践内化理论,可以很好地激发学生的学习热情和好奇心,既完成教学任务,又可以增强学生的实践能力和解决问题的能力。
改图形化编程为C语言编程 程序是实现智能小车各种功能的灵魂,通过设计和编写程序,可以培养学生良好的思维能力和创新精神,这也是开设智能小车课程的重要目的。因此,程序设计是智能小车课程中至关重要的环节。
当前,很多智能小车教学中采用图形化的编程软件进行程序设计,但由于本科生已经具备使用C语言编程的基本能力,因此,对本科生而言,使用图形化的编程软件太过简单,既不能提高设计程序能力,也不能培养思维能力和创新精神。同时,采用图形化编程软件编写的程序可移植性差,依赖于特定的硬件,不利于学生以后进行深入学习。因此,笔者建议改图形化编程为C语言编程。
由于C语言的实验环境是在字符方式下进行的,实验过程比较枯燥,实验结果表示单调,容易导致学生学习热情不高,最终影响学生综合应用能力的提高[1]。在智能小车课程中选用C语言作为编程语言,将智能小车与C语言代码结合起来,可以有效弥补C语言实验过程枯燥、实验结果表示单调的不足,既能给学生带来一定的挑战性,激发他们的学习动机,又可以使学生快速上手,避免学习新语言带来的难度和时间的消耗成本。随着课程的进行,学生综合运用C语言的能力也有了很大的提升。
改虚拟机器人仿真软件为实际硬件组装 除培养学生良好的思维能力和创新精神外,培养学生的动手能力也是开设智能小车课程的重要目的之一。通过智能小车的硬件组装,可以充分培养学生的动手能力和探索精神。同时,选修本课程的师范类院校本科生未来很可能负责基础教育中机器人与创新模块的讲授,在未来的授课中也避免不了带领学生进行实践和对小车进行改装。因此,智能小车的硬件组装环节是智能小车教学中不可或缺的一部分,缺乏硬件组装环节的智能小车教学和纸上谈兵别无二致。
当前,有些学校为了缩减课程开销,采用虚拟机器人仿真软件代替硬件组装[2]。学生接触不到实际的硬件,不能亲手组装,体验不到一辆小车在自己手中诞生的成就感,也就无法锻炼动手能力和探索精神。缺乏硬件组装过程,学生也无法获得感性认识,对下一步学习和探索的积极性也会大打折扣。同时失去了解决组装过程中出现各种突发状况的机会,同样不利于学生对知识的获取,也不利于学生未来的发展和开展教学。
改模块化的硬件为基本元器件硬件 在智能小车教学的硬件选择上,大多数学校都选择乐高等模块化的硬件器材。模块化的硬件器材封装了所有元件,采用模块化的硬件器材进行教学,学生在学习过程中缺乏对底层硬件的感知,无法了解智能小车的硬件结构体系、机械结构以及控制系统的原理与结构,不利于学生深入地学习和灵活运用,严重影响教学效果,更不利于学生创新精神的形成。
目前,市面上有多种可供选择的智能小车。在智能小车的选择方面不能只关心功能是否多、性能是否高,是否适合教学、是否适合学生才是需要重点考虑的内容。就小车功能而言,重点关注循迹功能、遥控功能和避障功能,由于摄像、寻光、平衡等功能未安排在课程中,因此不做过多考虑。就小车结构而言,课程安排了元器件焊接、機械组装等环节,因此考虑购置散件,而非组装好的成品。此外,在选购小车时还考虑了成本、可维修性等诸多因素。总之,选择一款合适的小车,是决定课程能否顺利进行的关键环节。
在选购中,主控单元选用STC89C52单片机作为控制核心。STC89C52单片机使用经典的MCS-51内核。MCS-51资料完备,体系成熟,价格便宜,学习难度低,适合应用于教学之中[3]。
避障模块方面采用超声波避障和红外避障。选择超声波模块时,通过超声波的发射和接收,还可以对障碍物的距离做出判断并显示。红外避障模块选择F5红外发射管和F5红外接收管,均为市面常见的LED产品,价格便宜,易于学生购买。
循迹模块方面选用两个发光二极管进行左右地面的勘测,综合单片机查询方式,通过程序控制小车轮胎的转动,从而使小车实现沿路径移动的功能。
电机方面采用两个直流减速电机。直流减速电机具有转动力矩大、体积小、重量轻、装配简单、使用方便等优点,适合学生进行组装。
电源模块方面采用充电宝或计算机供电,也可以选择电池组进行供电,学生可以根据需求自行选择。
3 实践驱动式的智能小车教学流程
元器件及工具的获取 组装智能小车,除了需要必要的元器件外,还需要一些特殊的组装工具,如电烙铁、螺丝刀等。课程所需的元器件及工具均可在网上进行购买,且商家会提供多种套餐服务,在一定程度上降低选择购买的难度。但网上提供的套餐多种多样,质量也参差不齐,大部分非专业的学生不具备辨别的能力。因此,在课程开始前,教师可根据教学的实际需求,为学生选择合适的智能小车类型和组装工具,给他们提供购买清单,让学生自行购买。通过前期购买,学生会对各种元器件、工具和最终成品有一个初步的感性认识,从而激发好奇心和学习兴趣,为后面的教学奠定一定的基础,有利于后面教学的顺利进行。
焊接及组装 要想组装好一辆智能小车,焊接工作必不可少。尽管本科生具备一定的操作能力和安全常识,但由于选修此课程的学生大多是教育技术、信息技术、物理、数学等理科生,和一些对智能小车感兴趣的文科生,除少部分信息技术和物理学专业的学生接触过焊接外,其他学生均未在本科学习过程中体验过焊接,因此在焊接电路之前,教师要先介绍一下焊接的基本方法和注意事项,然后让学生自己动手焊接每一个元器件。在焊接过程中,教师要把握好学生的整体进度,随时检查学生的焊接情况,避免给下一步的教学留下隐患。教师还可以挑选出几名焊接技术优异的学生充当助手,帮助其他学生解决焊接时出现的问题。endprint
选修智能小车课程的学生大多是第一次接触焊接和组装,焊接的体验可以极大地激发学生学习的兴趣,提高学生的实践能力。同时,通过处理焊接过程中出现的各种各样的问题,学生还可以掌握更多的理论和实践知识,增强解决实际问题的能力。组装的体验有助于学生了解智能小车的硬件结构体系、机械结构以及控制系统的原理与结构,还可以体会到一辆小车在自己手中诞生的成就感,为学生深入学习和创新打下坚实的基础。
实验研究平台的搭建 智能小车的焊接与组装仅是智能小车课程的一部分。组装完成后,紧接着要通过调试,让小车顺利地实现循迹、寻光、避障等功能。在此过程中,需要使用专门的程序烧录工具将事先写好的程序烧录到小车中,从而实现小车的多种功能。通过程序烧录,可以令学生直观地看到自己的小车动起来并做出多种智能反应,使学生体验到强烈的喜悦感和自豪感,由此维持学生的学习兴趣和热情,为接下来的编程做铺垫。
市面上针对智能小车的编程软件有很多,此次选择的是Keil C51软件。Keil C51软件具有丰富的库函数、强大的集成开发调试工具和全Windows界面,可以为学生的编程降低难度;同时,显示更加简洁、方便,易于学生接受并快速上手。
步步为营、环环相扣的学习研究 在以往的C语言教学中,大量的课时用于理论知识的讲授,只有少部分课时用于上机实验,但由于上机次数少、单次上机时练习的内容多,导致很多学生独立编程时往往以失败告终,以至于大多数学生过分依赖课本案例,没有独立编程和调试的经验,对前面所学知识掌握不透彻,也没有建立起良好的编程思想。针对这种情况,此次采取理论知识讲授与上机实验相结合的方式,每节课进行相应知识点的讲解,然后立即配以编程,出现问题即刻解决。同时,在课程讲授方面,先由实现简单功能的程序入手,然后过渡到复杂功能,循序渐进,从而不断保持学生的学习积极性和学习兴趣,增强学生的设计开发能力。
以实现LED灯的闪烁为例进行说明。在焊接阶段,学生已经对LED灯有了初步的了解,所以授课时不必再对LED灯做过多的介绍,只需介绍单片机输出端口的控制原理以及高低电平的概念,随后结合C语言,讲解程序的编写过程和重难点部分,给学生建立一个流程框架。讲解结束后,让学生结合所学知识自行编写LED灯的闪烁程序,烧录到小车中,验证程序编写是否正确。若未实现目标功能,可先由学生自主反思,找出原因,进行修改,也可视具体情况由教师直接给予帮助。
在整个教学过程中,理论知识的讲解只是其中的一小部分,学生自行编程和调试修改才是教学过程的重点。但是学生后期的编程离不开教师前期的讲解,这样可以很好地调动学生的学习积极性和求知欲。同时,通过编程,有助于培养学生的思维能力和创新意识。在随后进行的反思和修改环节中,学生通过对程序进行检查和修改,会加深对理论知识的理解和应用,还能增强学生的探索意识。最终通过修改获得成功,学生能收获满满的成就感,增强解决问题的能力。
在之后的每节课中,都可以惯用此教学流程——讲授新知→编程练习→烧录检验和修改反思。同时,可以逐步加深课程难度,在实现LED灯闪烁的基础上,加入数码管的显示功能,还可以在此基础上,进一步实现将小车传感器的逻辑状态通过数码管显示出来,以完成小车传感器信号检测部分的全部程序。
在小车传感器信号检测部分程序正确完成的情况下,可以开始小车电机部分程序的编写,如控制前进、后退、转弯等小车运动的基本控制程序。
信号检测与基本控制程序都以函数的形式一个个地调试完成,此时便可开展小车运动算法方面的学习和研究,如躲避障碍物、沿特定轨道前进、走迷宫等。由于信号检测与基本控制程序都是经过调试的正确函数,因此在编写小车运动程序时,可以把精力全部放在算法研究上,无须在信号检测和基本控制上花费精力。
通过步步为营、循序渐进的讲授和实践,学生在不知不觉中便完成一个上百行的程序,很多学生都很惊讶,自己怎么如此“伟大”?
自主探索、提高与发展 智能小车选修课的课时是有限的,所教授的知识、实现的功能也是有限的,但是智能小车所包含的知识远不只此,这就需要学生在课后不断进行自主探索,学习更多的相关内容,不断充实自己,获得提高。
到了学期后期,教师可以安排一些自主探索的时间,让学生自主探索一些前面课程没有涉及的内容,如蓝牙无线遥控、电机调速、PID控制等;也可以让学生自主举办小车比赛,以提高他们参与学习的积极性,激发深入探索的热情。
4 总结
综上所述,实践驱动式的智能小车教学模式充分考虑了师范院校本科生的特点,通过实践与理论相结合,改变了传统智能小车教学中的不足,使智能小车的教学更加有效和有趣,在培养学生的动手能力和创新精神方面取得积极的效果,具有一定的实践意义。
参考文献
[1]尹华,肖随贵.在C语言实验课程中引入教育机器人的教学改革思考[J].教育与职业,2009(33):182-183.
[2]張瑞芳.西安市中学机器人教学的开设现状与发展对策研究[D].西安:陕西师范大学,2016.
[3]张兵.MCS-51单片机构建机器人的实践研究[D].武汉:华中师范大学,2006.endprint