Arduino仿真教学的实验开发
2020-06-03陈新娟卜捷捷
陈新娟 卜捷捷
摘 要: Arduino包含硬件和软件两部分,硬件部分灵活实用,软件部分基于C语言开发,易于上手且与Proteus仿真软件相兼容,在教学过程中因为成本低、时效性高,而得到一致认可。利用Arduino Uno开发板,编译生成hex文件,再于Proteus软件平台添加开发板Arduino Uno,加载生成的hex文件并编译完成交通灯功能仿真。Arduino与Proteus的联调功能仿真,在單片机、传感器教学以及机电控制等教学中具有参考性和推广价值。
关键词: Arduino; Proteus; 交通灯; 仿真教学
中图分类号:TP31 文献标识码:A 文章编号:1006-8228(2020)04-90-02
Development of simulation teaching experiment using Arduino
Chen Xinjuan, Bu Jiejie
(Suzhou College of information Technology, Suzhou, Jiangsu 215200, China)
Abstract: Arduino includes two parts: hardware and software. The hardware part is flexible and practical. The software part is developed with C language. It is easy to use and compatible with Proteus simulation software. In the teaching process, Arduino has been unanimously recognized for its low cost and high timeliness. Using Arduino Uno development board, compile and generate a hex file, and adding Arduino Uno development board in Proteus software platform, load the generated hex file and compile it to complete the traffic light function simulation. The simulation of the joint debugging function of Arduino and Proteus has reference and popularization value in the teaching of single chip microcomputer, sensor and electromechanical control.
Key words: Arduino; Proteus; traffic light; simulation teaching
1 实验平台性能分析
Arduino是一款简单易学且功能丰富的开源平台,包含硬件部分(各种型号的Arduino开发板)和软件部分(Arduino IDE),以及广大爱好者和专业人员共同搭建和维护的互联网社区和资源。
Arduino硬件部分可以独立工作,也可以与外部硬件设备协同工作。比如利用Arduino配合各种传感器来感知环境,使用Arduino控制电机来驱动机械臂、机器人和无人机,更可以用Arduino来控制多彩的LED。这不仅可以为我们生活带来便利,还可让我们用光和彩进行创作[1,5]。
Arduino IDE软件是Arduino开发板的程序开发环境。只要在IDE中编写好程序代码,并且将程序上传到Arduino后,Arduino就会根据客户的要求执行交给他的任务。Arduino开发语言是基于C/C++的[2]。
2 实验平台开发
对于电子专业的学生和电子爱好者,若想在寝室或者家中用Arduino做一些基础控制实验,那么用Proteus电路仿真软件是再好不过的选择[3]。下面我们用实例来具体介绍在Proteus环境下Arduino仿真教学实验的开发。
2.1 实验准备
所需实验设备:电脑一台,系统为win7 32位/64位(其他系统比如Win8,Win10未经测试)软件,ArduinoIDE(版本可在太极创客网站下载中文版),Proteus 7.5或以上。理论上讲,只要能顺利安装这两个软件的windows系统就都可以实验。
2.2 操作步骤演示
2.2.1 基于ArduinoIDE的软件编程
下面我们以一例简易交通灯设计进行仿真实现演示。首先打开Arduino编译调试软件ArduinoIDE,在工具里选开发板“Arduino Uno”。因为在Arduino开发板家族中,Uno开发板是最适合初学者的Arduino开发板。由于它简单易学、稳定可靠,Uno开发板也是应用最为广泛且参考资料最多的开发板。
简而言之,在选好板子后我们把此次演练的交通灯设计的程序写在编译窗口,程序已经预先写好了。程序开头部分是定义一些引脚,主程序基本思路是让红灯亮两秒后熄灭,而后闪亮黄灯,每次闪亮200毫秒,闪三次,然后是点亮绿灯两秒,这样周而复始地运行,当然,可以根据实际需要更改设计。
调试成功无误后,一般的做法是接上硬件,上传程序至Uno开发板,观察结果。如果是这样,那就没有我们下面的仿真调试了,这里主要借助于电子EDA仿真软件Proteus来讲讲Arduino实验的另一种做法。点击IDE软件菜单里“文件”,“首选项”,“设置”,在设置对话框里把显示详细输出“编译”打钩。重新再编译后,在编译详细结果窗口我们可以找到英文字符类似xxxxx.hex,如图1所示,根据英文字符的提示打开此hex文件的完整目录,记下目录地址[4]:
2.2.2 基于Proteus的联调仿真
接下来就是Proteus部分的操作了,Proteus是英国著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外圍电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。这里我们主要利用它的原理图布图和仿真,由于Proteus元件库里没有Arduino元件,要仿真Arduino就必须安装Arduino元件,就像若要仿真电机马达数码管就必须有个电机马达数码管元件一样。我们在网上找到Proteus中的Arduino元件压缩包,将解压后的文件夹中的两个文件复制到Protues安装目录下的LIBRARY文件夹中。例如:D:\Program Files (x86)\LabcenterElectronics\Proteus 8 Professional\LIBRARY
(具体位置依据安装选择确定)。重启Proteus程序后,放置元件“Arduino”,选择Uno,就可以直接放上去了,然后放上这个实验所需要的红、黄、绿三个LED灯,连上相应的引脚,此次实验的DSN图就这样画好了,如图2所示,先不要急着放置,我们试着双击这个Uno芯片,发现弹出对话框。Program File这一项是空的,还记得刚才我们记下的文件目录吗?对了,此处要放的正是在ArduinoIDE中生成的hex文件。
现在,我们可以放心的点击仿真运行按钮,如果一切无误,就可以看到仿真结果了。
3 结束语
仿真实验平台在成本、安全性、效率方面有得天独厚的优势,能很好的解决各类院校特别是高职院校实验室建设经费不足的问题,也不会因操作失误而造成人身事故。在实际实验之前利用仿真实验来预习,有助于学生从实验整体到局部建立起直观的感性认识,能有效地克服实验中常出现的盲目操作及过场的现象,缩短实验的时间。对于一些难度大、操作步骤多的实验,在实验后再做仿真实验,可以使学生了解每一实验步骤在实验中所起的作用,进一步理解实验原理,消化实验内容。本文就Arduino仿真实验的开发举了个例,希望能有抛砖引玉的效果。
参考文献(References):
[1] 饶珺.Arduino创客项目在工程训练中的应用[J].课程教育研究,2018.44.
[2] 黄永前.STEM的教学模式在中职<传感器技术应用>课程教学应用研究[J].电子测试,2019.18.
[3] 惠振亮.Arduino在机械类专业教学中的应用探索[J].甘肃科技,2019.2.
[4] 王希娟,李娟娟.基于Arduino单片机的交通灯倒计时显示器设计[J].计算机光盘软件与应用,2014.22.
[5] 陈为通.基于Arduino开发系统的智能家居系统设计[J].中国新通信,2016.6.