APP下载

Arduino在工科低年级开放实验项目中的实践探讨

2019-06-05李结松

大学教育 2019年6期
关键词:开放实验室工科低年级

李结松

[摘 要]许多高校都开设了开放实验室,但低年级学生参与度不高,主要原因在于开放实验项目不能契合低年级学生的需求。为了满足学生参加电子竞赛和申报大学生创新项目的需要,广州医科大学生物医学工程实验中心在开放实验室中开设了Arduino项目,通过聘请高年级学生担任助理实验师的做法,开展了基础实验项目以及综合拓展项目,使低年级学生的动手能力得到明显提升。

[关键词]Arduino;低年级;工科;开放实验室

[中图分类号] G642.423 [文献标识码] A [文章编号] 2095-3437(2019)06-0085-03

为了提升学生实践动手能力和创新创业能力,近年来很多高校对实验室开放进行了探索和尝试,开设了许多综合性实验和设计性实验,各高校设立开放实验室已经成为共识, 开放实验室成为培养创新型人才的重要基地[1]。但从实际运行效果看,部分学生参与度并不高,特别是低年级学生没有太大积极性。笔者与大一、大二学生进行了深入交流,发现主要原因有两点:一是面向低年级学生开放的实验项目少且吸引力不足,二是指导开放实验的师资不足。经过几年的摸索,广州医科大学在生物医学工程专业低年级开设了Arduino的开放实验项目,通过聘请高年级学生勤工俭学做助理实验师的做法,极大地提升了低年级学生对开放实验项目的参与度,取得了较好的成效。

一、Arduino简介

Arduino 是一种开源电子平台。该平台起源于意大利,主要基于AVR单片机微控制器和相应的开发软件而设计,最初是为一些非电子工程专业的学生而设计。自从2005年Arduino推出以来,市场上已经推出了各式各样的Arduino版本,受到了许多电子发烧友的广泛关注[2]。由于Arduino具有高度的模块化特点,因此有时叫它“电子积木”[3]。

Arduino包括一块具备I/O功能的电路板以及一套程序开发软件[4]。Arduino可以用来开发交互式产品,比如它可以读取開关和传感器信号,也可以控制电灯、电机和其他各式各样的物理设备[5];Arduino 还可以开发出与PC相连的外围装置,与PC进行通信。Arduino的硬件电路板可以采用下图所示的现成电路板,也可以自行焊接组装,而程序开发环境的软件则可以从官网下载[6]。

Arduino主要核心资源是ATMEGA328,内置Flash 32 KB ,时钟频率 16 MHz。主流UNO大都采用了USB to Serial 芯片,不仅降低了成本,更主要的是使得Arduino UNO 在PC 端可以显示为一个USB 设备,使用更加便捷[7]。Arduino UNO 具有14个数字I/O口(其中带~标号的6个数字端口可以作为PWM端口),6个模拟I/O 口,一个复位开关,一个ICSP下载口,支持USB接口,可通过USB 接口供电,也可以使用单独的电源供电[8]。Arduino开发板如下图所示:

二、Arduino在工科低年级专业开设的必要性

(一)提高工科生实践动手能力的需要

近几年各用人单位越来越重视毕业生的动手能力和实践操作水平,因此各大高校十分重视实践教学管理,支持本科生参与科研活动,早做课题,早进团队,希望以科研促进教学,以此促进创新型人才的培养[9]。但在实际的教学过程中,大多数学生编程基础薄弱,加上硬件实验设备具有封闭性,无法激发学生的学习兴趣,抑制了学生的创新能力。

(二)参加电子竞赛和大学生创新项目的需要

每年有数以万计的本科一、二年级学生参加全国或者省级的电子设计竞赛活动,迫切需要学习单片机的相关知识。但目前国内理工科院校的单片机原理与应用课程,一般开设在第五学期,无法满足低年级学生的需求。此外,还有部分学生申报大学生创新项目,也需要提前学习掌握单片机知识。

(三)Arduino平台简单易用、成本低

Arduino作为一款开源电子平台,有很强的易用性和扩展性,该实验平台不需要学生掌握复杂的编程语言,只需了解其函数用法即可进行创新应用设计,可以被初学者轻松掌握,对于高级用户也具有足够的灵活性。Arduino的官方Web站点包含丰富的源代码,其中的代码样例和示例都是免费共享的,硬件也是开源的。Arduino的很多案例代码都能在相关技术论坛得到,初学者只要下载、学习、修改、烧录、调试,即可得到自己的项目,这也使其很快在不同领域得到了越来越广泛的应用[10]。

此外,Arduino开发板价格低廉,在网上购买套件不足200元,在开放实验室经费紧张的情形下,推广成本低。

三、Arduino实验项目的开展流程

(一)选拔高年级学生作为实验辅导的主干力量

Arduino项目虽然入门容易,但对于大一、大二的学生来说,仍然是有一定的门槛。在带教开放实验的师资不足之情形下,我们选定了数名基础知识扎实的大三学生,对他们进行培训,并为他们申请设立勤工助学岗位,让他们以助理实验师的身份,每周利用一次晚上的时间,带着低年级学生开展实验项目。

(二)加强学生实验前的预习环节

为了减少实验中的讲授时间,将更多的时间留给学生进行实际操作,要求学生提前观看教学视频,视频的内容与该次实验密切相关,教学视频的内容主要来源于网络或者以前的教学内容。

(三)加强实验中的交流互动

开放实验活动每周开展一次,每次持续3节课时间。第一节课前15分钟用来和学生交流,了解和检查课前观看视频的情况,并对上次的课后实验作业进行检查和探讨;接下来的25分钟用来讲解实验计划中安排的授课内容;第二、三节课开展1~2个实验项目。因低年级学生尚未接触专业基础知识,在实验项目过程中许多学生会提出各种问题,这时需要及时在课堂上予以解决,否则会影响学习积极性。为此,在前面几次的实验项目中,需要配备5~6名辅导人员,这期间会有大量双向交流,学生们学起来不会感到十分费力,几乎所有学生都能在实验时间段内完成基础实验。

(四)加强实验后的效果评估与考核

所有学生都需要撰写和提交实验报告。此外,通过教学评估软件,所有学生扫描二维码,完成在线评价,用来评估本周的学习目标是否达到,并可提出实验改进意见。

四、Arduino实验项目的开展内容

经过摸索,我们设立了10个深入浅出的基础实验项目和1个综合拓展实验项目。这些项目,如果用传统单片机平台来做,冗长复杂的代码早已让学生望而却步。而用Arduino平台来完成,Arduino 自带的 I/O 接口以及扩展板能与各种传感器、步进电机、蓝牙、舵机等相连。由于是开源硬件,各类软件库资源十分丰富,初学者只要根据示例代码稍加修改调试,即可得到自己的项目,学生上手容易,极大提高了他们的兴趣和自信心。

(一)基础实验项目示例

1.LED闪烁器

实验效果:面包板上LED每隔1秒交替亮灭1次。该实验项目类似于经典编程语言的“Hello,World”。

2.交通信号灯

实验效果:三色LED信号灯从绿灯亮变成黄灯亮,再变成红灯亮,然后重新开始。

3.警报器

实验效果:当有人经过时,压电扬声器发出一高一低的警报声。

4.简单的电机控制系统

实验效果:变阻器旋钮旋转到最左侧,电机停止;向右旋转,电机加速,直到旋转到最右端,电机获得最大速度。

5.二进制计数器

实验效果:驱动8个独立的LED,每个LED独立点亮和熄灭,它们每秒变化1次,以二进制方式从0加到255,之后再重新开始。

6.LED点阵显示简单动画

实验效果:在8[×]8LED点阵矩阵上显示一个心形图案,持续时间大约半秒后,显示器上原来亮的LED灭,灭的LED点亮,这种明暗转换使图案呈现出简单的动画效果。

7.基本LCD控制

实验效果:在LCD上显示“Guangzhou Medical University”。

8.温度传感器[11]

实验效果:使用DS18B20采集温度,并在LCD上显示出来。当手指触摸温度传感器时,实时显示手指温度。

9.简单舵机控制

实验效果:旋转可变电位器,使舵机在0至180度范围内灵活转动。

10.超声测距[12]

实验效果:将传感器静放在桌子上,测量传感器与天花板之间的距离,将距离显示在LCD上。

(二)综合拓展实验项目示例:智能小车的组装与设计

为了进一步培养学生的动手创新能力,我校开放实验室还开展了综合拓展项目:智能小车的组装与设计。该项目包含了UNO主板、超声模块、红光模块、蓝牙模块、电机及电机驱动模块,器件模块都是套装,无需焊接,只需将传感器直接插在扩展板上即可,相比传统面包板实验,省去了搭电路的麻烦,学生可以直观感受,大大激发了学生的求知欲和创造力。智能小车的主要构造如下图所示:

在综合实验环节中,首先需要掌握智能小车的基本功能,再让学生由浅入深,逐一加上传感器模块完成以下实验项目:

1.智能小车的组装。在多功能平台上固定主控板、四轮驱动套件和传感器支架等,使小车能够完成电动驱动行驶。

2.巡线小车。加入红外探测模块,使智能小车可以在画有黑线的白色路面上行驶。由于黑色和白色对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”——黑线。

3.避障小车。避障模块是通过超声波传感器和红外传感器实现的。超声波发射器向某一方向发射超声波,当遇到障碍物立即反射回来,通过发射与接收到超声波的时间差可计算小车与障碍物之间的距离,从而实现避障功能。红外避障的原理是当发射的红外线遇到障碍物时,被反射到接收传感器,传感器检测到这一信号,就可以确认正前方有障碍物。

4.手机APP遥控小车。基于BLE-LINK 蓝牙4.0模块实现Android手机对智能小车的遥控,通过Android手机的终端程序,借助蓝牙模块实现对智能小车的基本控制(前进、后退、左转、右转、停止)。

学生通过主动学习,反复实验,逐一解决出现的各种问题,如通讯不灵敏、小车速度调整等,在这个过程中可以迅速提升学生分析问题、解决问题的能力,有利于创造思维能力的培养。

五、实验项目开展成效

通过在大学低年级中引入Arduino项目,建立开源硬件的创新能力培养平台,引导学生尽可能早地接触电子信息领域的专业知识,成效比较明显。

(一)学生申报校级大学生创新项目数量增多

2016年开展Arduino项目之前,生物医学工程专业的学生每年申报成功的大学生创新项目为1~2项,2016~2018年这一数据增加为3~4项,其中有2项成功申报为省级大学生创新项目。

(二)在全国、省级大学生电子设计大赛中成绩有所突破

2016年之前,我校仅获得省级电子设计竞赛三等奖1项。而近两年在全国、省级大学生电子设计竞赛中,我校获得省级一等奖1项、二等奖2项、三等奖3项,其中有4个奖项都运用到Arduino平台。2017年由大一、大二学生组队完成的光定位项目,获得了广东省赛区二等奖,打破了低年级学生获奖难的瓶颈。

(三)动手能力、编程能力和创新能力明显提升

由于較早使用C语言编程,为后面的单片机开发和嵌入式系统学习打下了坚实的基础,学生的知识应用创新能力在大四的毕业设计中也得到了很好的体现。

因此,在工科低年级学生中开展Arduino开放实验项目,可有效激发学生的学习兴趣,充分调动学生的学习积极性,激发学生的想象力和创新精神,对培养提升本科生的实践应用能力是值得探索的。

[ 参 考 文 献 ]

[1] 巩宪伟,陈亚敏,巩天骄. 基于培养创新型人才的开放实验室管理与建设[J].实验技术与管理,2016(11):271-273.

[2] 宋楠,韩广义. Arduino开发从零开始学[M].北京:清华大学出版社, 2016.

[3] 孙骏荣,吴明展, 卢聪勇. Arduino一试就上手[M].北京:科学出版社,2012.

[4] Massimo Banzi. 爱上Arduino[M].于欣龙,郭浩赟,译. 北京:人民邮电出版社, 2011.

[5] 杨继志, 杨宇环. 基于Arduino 的网络互动产品创新设计[J]. 机电产品开发与创新,2012(1):99-100.

[6] 邓欣,王进,于洪,等.开源硬件在“智能机器人”实践课程中的应用[J].计算机教育,2015(18) :105-110.

[7] Michael McRoberts. Arduino从基础到实践 [M]. 刘瑞阳, 译. 北京:电子工业出版社,2017.

[8] 李旷琦,黄梓钊,蔡志岗.基于Arduino 的XBee 与Yeelink结合的温湿度监控网络的搭建[J]. 现代电子技术,2017(6):140-143.

[9] 孙秋凤. 基于开源平台Arduino的大学创客实践探索[J].人才培养,2016(12):112-115.

[10] 施志雄.Arduino在大学工科教学中应用探索[J].西昌学院学报,2012(4):50-53.

[11] 温涛,范梅红.基于Arduino和ZigBee的无线温度监测系统[J]. 科技与创新,2017(21):57+61.

[12] 康凌.基于arduino的超声测距系统的设计[J].电子世界,2013(20):140-141.

[责任编辑:钟 岚]

猜你喜欢

开放实验室工科低年级
新工科背景下计算机专业创新创业人才培养探究
新工科背景下课程建设研究
新工科背景下项目推动式教学模式的探索
天津大学:成立全球首个新工科教育中心
开放实验室的思考与实践
开放实验室物联网安防系统设计
开放实验室与学生创新能力的培养
高校开放实验室智能管理系统的设计
浅谈如何培养低年级学生的说话能力
一年级同音字教学例谈