Proteus IOT Builder在单片机教学中的应用
2018-05-08李文趋
李文趋
摘要 针对单片机教学中如何让学生快速入门的问题,利用Proteus最新的8.7版本中的IOT Builder模块的可视化编程模块,让学生可以快速设计、仿真运行自己的实验项目。通过小夜灯这个项目的案例讲述,呈现了IOT Builder可视化设计的教学优势。
【关键词】Proteus 单片机 可视化编程 IOTBuilder
1 引言
Proteus是英国Labcenter公司开发的一款虚拟仿真软件,该软件可用于模拟电路与数字电路、单片机、微机原理与接口等课程的实验教学,突破硬件实验平台以及时间空间的限制,大大方便了教师的教学和学生的学习,在国内高校已经比较广泛地应用与教学。Proteus的最新版本8.7版推出了一个IOT (Intemet ofthings)模块,该模块基于Arduino硬件平台,可以实现可视化的软硬件设计和开发,对于学生学习单片机的硬件、软件设计和开发是很好的入门工具。本文基于Proteus IOT Builder模块,研究探讨其在单片机教学中的应用。
2 可视化仿真教学案例
以小夜灯的设计为例,要设计一个小夜灯,该灯只有在夜晚且有人靠近时才会点亮。此案例需要添加的硬件模块有:光照传感器、红外传感器、LED灯,在设计好硬件部分后需要编写单片机的软件,控制LED灯的亮和灭。
2.1 硬件电路的仿真
首先在Proteus 8.7版中新建一个工程,在选择工程的固件时要选择Arduino Uno,即我们的工程是基于Arduino Uno平台的,工程创建完成后如图1。Visual Designer窗口是编写单片机程序的窗口,默认有SETUP和LOOP两个函数,我们要先完成硬件电路的设计仿真,因此,暂时不用编写程序。
接下来我们需要添加三个外围设备:(irove红外距离传感器、Grove亮度传感器和Grove LED。通过“Project/Add Peripheral”添加外围设备。添加Grove亮度传感器入图2所示,其他连个外围设备添加图略。
三个外围设备都添加好后,两个Grove传感器的连接器默认都是AO,如果不修改会导致外围设备的硬件冲突,这里我们这两个传感器的连接器设置为AO和A2,设置好之后的外设设备电路仿真图如图3。
至此,硬件部分完成,可以看到,通过使用Grove模块化的硬件,整个设計过程大大简化了。
2.2 单片机软件设计
IOT Builder通过其特有的Visual Designer窗口,以可视化组件的方式来编写代码,以流程图的方式来编写程序,这个过程不需要编写代码,设计完流程图后也就完成了代码的编写。在SETUP函数中,要完成单片机1/0端口的初始化,将连接两个传感器的端口设置为输入模式,将连接LED灯的端口设置为输出模式,图略。
接下来要读取亮度传感器的数值。将Project目录树下的PD1下的readLuminance()方法拖动到LOOP函数中,并将读取到数值赋给Lux变量(即读取的亮度传感器数值赋给Lux,其读取的数值范围为0-1000,亮度越高读取的数值越大),结果如图4。
继续读取距离传感器数值。用GPI对象的readDistance()方法读取红外距离传感器数值并赋值给cm变量。图略。
然后设置点亮LED灯的阈值。本例我们将阈值设置为Lux<100且cm<20,即亮度小于100且距离小于20就点亮LED灯,否则灯就不亮。从工作面板中拖出两个if判断模块,按照设定的阈值点灯和灭灯。设置完成后如图5。
至此,软件部分完成。接下来仿真测试。编译成功后单击运行按钮,按照我们设定的阈值测试,当cm<20且Lux<100时灯亮,否则不亮。图略。
3 教学效果探讨
通过IOT Builder模块可视化编程的功能,在教学实践中大部分学生能够比较轻松地完成该实验,对比以往没有采用可视化技术时学生实验完成率明显提高。可视化的设计和编程过程相比以往的纯代码的方式来说比较简单、思路清楚,因为不涉及具体的C语言语句的编写,不容易出错,调试也比较方便。这解决了学生学习时的一个最大的痛点:初学的学生在编写代码时,由于不熟练或没有经验,代码中往往会有各种错误导致编译失败,反复多次之后如果程序还是不能正确运行,就会导致很多学生不愿意动手、学习兴趣下降。我们在实验教学中使用了IOT可视化编程以后取得了良好的效果,学生普遍比较爱动手、会动手了。在用可视化编程完成开发后还可以自动生成C语言源代码,学生可以通过生成的源代码研究可视化模块和C语言源程序的对应关系,加深对程序的理解。不过应该指出的是该软件用于初学者入门是比较不错的,但是如果用于比较复杂的工程应用是不合适的,在可视化编程界面中放置不下很多流程图,这一点要提醒学生和使用者。
4 结语
单片机的开发涉及软件和硬件的开发,如何引导学生快速入门十分重要,否则学生可能会由于学习的难度失去学习的兴趣和动力。Proteus IOT Builder可视化编程模块通过可视化的硬件和软件设计能够帮助学生快速入门,是一款具有良好教学效果的教学软件。
参考文献
[1]胡中玉,岳强,张茂荣.Proteus软件在模拟电路实验中的应用[J].电子技术.2015 (10):26-28.
[2]方天红,张升义.Proteus在“数字逻辑电路”课程项目驱动教学中的应用[J].实验室研究与探索,2014 (04):195-198.
[3]朱嵘涛,徐爱钧.Proteus仿真软件在电类专业课程中的应用研究[J].微型机与应用,2017 (08):88-91.
[4]朱学华,基于Proteus的单片机课程教学模式探索[J].电子测试,2018 (01):75-76+68.
[5]王海燕,杨艳华.Proteus和Keil软件在单片机实验教学中的应用[J],实验室研究与探索,2012 (05):88-91.
[6]江世明.基于Proteus的单片机应用技术[M].北京:电子工业出版社,2009.
[7]朱敏玲,张伟,侯凌燕,基于Proteus的微机原理与接口技术的教学改革[J].实验室研究与探索,2016 (01):155-160.
[8]陈逸菲,王玉芳,孙宁.Proteus在《微机原理与接口技术》教学中的应用[J].软件导刊,2018 (05):220-222+22.
[9]陈吕洲Arduino程序设计基础[M].北京:北京航空航天大学出版社,201 5.
[10]ht tp: //www. proteusedu. com/home/ge tShareDetai l?works. id-37.