APP下载

基于Arduino和Flash的DisLab设计

2016-05-12王红晨刘汉军

关键词:摆球程序开发高电平

王红晨,刘汉军

(海南师范大学 物理与电子工程学院,海南 海口 571158)

基于Arduino和Flash的DisLab设计

王红晨,刘汉军

(海南师范大学 物理与电子工程学院,海南 海口 571158)

针对目前市场上的DisLab(Digital Information System Lab)数字化信息系统成本高,软件移植性差等问题,介绍一种利用传感器、Arduino和Flash CS6开发Dislab的方法.同时,利用该方法开发了一种验证机械能守恒的数字化信息系统.结果表明,该方法设计的Dislab呈现的内容直观易懂、硬件成本低、可移植性强,在教育教学中具有广泛的应用价值.

Arduino;Flash;DisLab;传感器

DisLab主要由传感器、数据采集器和计算机软件三部分组成,其工作原理是由数据采集器采集传感器上的数据[1-2],并传输给电脑上的软件显示出来。目前市场上有许多DisLab系统,大都价格昂贵,而且计算机软件不能够在其它教学软件中调用,软件的界面设计过于专业,在课堂教学中不适合进行实验演示.

Arduino是一款便捷灵活、方便上手的开源微控制平台[3-4],该平台包括硬件和软件两部分,硬件部分是Arduino电路板;软件部分是计算机中的程序开发环境Arduino IDE.Arduino把单片机编程中很多常用的功能如延时、数据读写、中断等模块化封装成一个个子程序供程序开发者调用,程序开发者只需着眼于程序的逻辑结构,而不必关心底层函数的设计,从而降低了编程的复杂度.

Flash是一款集动画制作与应用程序开发于一体的动画创作软件,其具备的脚本语言Actionscript 3.0(简称AS3.0)是一种强大的面向对象的编程语言[5-6].采用AS3.0语言编写的软件具有很强的人机交互和数据交互的特点,它还具备完善的事件处理机制,使程序员更容易设计和编写复杂的代码.

1 DisLab系统的总体设计方案

本文提出的DisLab系统利用Arduino作为数据采集器[7-8],应用Flash CS6编写上位机交互软件,其结构框图见图1.

1.1 数据采集器设计

硬件上Arduino的数据输入输出口与传感器相连采集传感器上的数据,串口连接计算机用于数据的上传;软件上应用Arduino IDE编写控制板上程序,实现传感器信息的采集、处理并通过串口传给上位机.

1.2 计算机软件设计

应用Flash CS6软件对系统界面进行布局,通过AS3.0脚本语言编写系统的控制程序.由于AS3.0实现网络通信是基于TCP/IP协议的,不能直接访问串口以获取Arduino所采集的数据,因此,串口和TCP之间必须要有一个串口-TCP转换代理程序将串口和socket进行关联,该代理程序只完成数据的转发.

图1 系统结构框图Fig.1Structure diagram of system

2 DisLab系统的开发

利用上述设计方案,以验证机械能守恒为实例,开发了一种基于Arduino和Flash的DisLab.

2.1 实验原理

本文采用摆球法验证机械能守恒,原理见图2.在铁架台上固定一个摆盘和摆球,在摆盘的A、B、C、D四点分别固定安装一个光电门传感器.在不计空气阻力,只考虑重力做功的情况下,利用公式计算,摆球在任意点x处的机械能为:E=mv2x/2+mghx,实验中,摆球的直径是0.008 m,质量为0.0075 kg,摆球通过光电门传感器挡光时间为tx,摆球在某点的速度为vx=0.008/tx.

图2 实验装置原理图Fig.2Schematic diagram of experimental apparatus

2.2 硬件设计

本设计采用以槽型光耦WYCH2010为核心的光电门传感器模块,有遮挡时输出高电平,无遮挡时输出低电平,用Arduino的D3-D6口采集光电门输出的数据,电路连接图见图3.

图3 Arduino与光电门连接图Fig.3Connection diagram of Arduino and photoelectric door

2.3 软件设计

2.3.1 Arduino端程序设计

Arduino端的主流程图见图4所示:当系统上电或复位键被按下时,系统初始化I/O口的工作模式、设定串口波特率及设定计数器初值,并一直监测I/O是否接收到高电平,当接收到高电平时计时开始,高电平跳变到低电平时计时结束,并将计时时间传输给上位机.

2.3.2 Flash端程序设计

Flash端程序设计主要包括,软件界面设计子程序,通信子程序,数据处理和显示子程序.通信子程序主要实现和串口代理的通信,接收Arduino发送来的数据,将数据处理后显示在flash编写的程序中. Flash端通信设计流程图见图5.

2.3.3 实验结果

计算机软件测试图如图6所示:实验表明,基于Arduino和Flash开发的验证机械能守恒的数字化信息系统不仅运行稳定,而且能精确快速的采集光电门数据,同时以动画演示的形式生动、直观的展示实验现象,利用表格中的显示数据分析实验结果.

Arduino支持的传感器类型很多,选择不同类型的传感器,利用Arduino和Flash可以开发各种演示实验的Dislab系统.由于该方法的硬件投入成本低,软件开发后可以移植,开发的数字化信息系统在物理实验教学中具有一定的实际意义.

图4 Arduino端流程图Fig.4Flow diagram of Arduino

图5 Flash端流程图Fig.5Flow diagram of Flash

图6 软件测试图Fig.6 Software testing figure

3 结论

[1]徐勤华,李俊丽.博采众长相得益彰——谈DIS数字化信息系统在物理实验中的应用[J].浙江教育技术,2012(4):42-48.

[2]朱文静,陈江洪,李纪强,等.基于Dislab瞬时速度连续性的测量研究[J].大学物理实验,2013,26(3):76-78.

[3]蔡睿妍.Arduino的原理及应用[J].电子设计工程,2012,20(16):155-157.

[4]刘泽良,胡日新.物联网技术下基于Arduino的智能公交系统模型设计[J].实验技术与管理,2014,31(11):140-143.

[5]胡奇光.基于Flash ActionScript3.0的动画设计的研究[J].计算机与数字工程,2010,38(7):147-150.

[6]孙晓波.基于Flash的远程工业监控系统设计[J].电子设计工程.2012,20(9):64-65.

[7]翁浩峰.在Flash课件中使用传感器[J].物理通报.2010(6):35-37.

[8]翁浩峰.DIDLab在法拉第电磁感应定律定量实验中的应用[J].物理通报,2012(8):83-84.

Design of Dislab Based on Arduino and Flash

WANG Hongchen,LIU Hanjun

(School of Physics and Electronic Engineering,Hainan Normal University,Haikou 571158,China)

Facing the issue of high cost and bad portability of Dislab(Digital Information System Lab)in the current market,we introduce a method by using senor,Arduino and Flash CS6 to develop Dislab.Meanwhile,we developed Dislab with this method which verified conservation law of mechanical energy.The results show that design of Dislab presents lots of advantages,which are straightforward content,low cost of hardware,high transportability and widespread application value in education and teaching.

Arduino;Flash;DisLab;Sensor

TP 274

A

1674-4942(2016)02-0230-03

2016-03-28

海南省教育科学“十二五”规划项目(QJY125020)

猜你喜欢

摆球程序开发高电平
摆球实验材料
一种基于FPGA的PWM防错输出控制电路
单摆周期问题的归纳与深化
APP应用程序开发模式探究
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
基于TestStand的自动检测程序开发
基于嵌入式系统Windows CE的应用程序开发
基于App inventor 2手机程序开发过程的学习与实——以“喵喵定时器”APP开发为例
大摆角耦合摆的运动规律的数值分析
DM 50KW中波广播发射机欠推动故障分析