基于Matlab的温度传感器数据采集和界面开发_第1页
基于Matlab的温度传感器数据采集和界面开发_第2页
基于Matlab的温度传感器数据采集和界面开发_第3页
基于Matlab的温度传感器数据采集和界面开发_第4页
基于Matlab的温度传感器数据采集和界面开发_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

无线传感网络技术课程实训温度传感器数据采集及界面开发院(系)名称电子与信息工程学院专业班级物联网121班学号120402007学生姓名薛红见指导教师贾旭副教授起止时间:2015.6.29—2015.7.17课程设计(论文)任务及评语院(系):电子与信息工程学院教研室:物联网工程学号120402007学生姓名薛红见专业班级物联网121班课程设计(论文)题目温度传感器数据采集及界面开发课程设计(论文)任务任务要求:建立点对点的无线传感网络;在上位机开发出GUI界面;读取温度传感器采集数据;数据经串口在GUI界面中显示;采集数据转化为具有实际意义的可用数据。技术要求:1、GUI界面采用MATLAB语言进行开发;2、无线数据通信部分采用Zigbee协议;3、系统正常运行,软件界面友好、操作简单。指导教师评语及成绩平时成绩:答辩成绩:论文成绩:作品成绩:总成绩:指导教师签字:年月日注:平时成绩占20%,答辩成绩占20%,论文成绩占40%,作品成绩20%。本科生课程设计(论文)PAGEI目录第1章绪论 11.1温度传感器技术应用概况 11.2本文研究内容 2第2章温度传感器数据采集总体设计方案 32.1传感器信息采集设计方案 32.2总体设计方案框图及分析 4第3章基于MATLAB温度传感器的设计 53.1温度传感器的设计理念 53.1.1温度传感器的定义 53.1.2传感器的原理 53.2传感器GUI布局 6第4章温度传感器程序软件及调试 94.1编写回调函数 94.2附各按键的程序源代码 11第5章串口调制及界面运行 125.1界面串口选择 125.2打开串口查看结果 12参考文献 15PAGEXVPAGE2第1章绪论1.1温度传感器技术应用概况随着现代人们生活水平的提高以及我国网络技术应用的普及,我国的网络技术的开发水平已经达到了一定的层次。人们日常生活中对网络的需求也是日益增多,故此,我们在生活的各个方面对传感器网络技术传感器网络技术的开发及应用也被人们所普遍接受,并得到广泛的应用。传感器网络是信息感知和采集的一场革命,也被认为是21世纪最重要的技术之一。它将会对人类未来的生活方式长生深远的影响,通过对传感器信息的采集程序的设计思路,传感器将外界的温度等模拟量转变为数字信号,再将收集到的信号通过计算机进一步给予显示、处理、传输与记录,对收集到的自然数据的传达给人类。本次的温度传感器系统设计对温度信息的收集是由温度传感器网络系统来完成的。温度传感器网络是在监测区域内合理的布置大量的传感器节点,并且节点之间通过自组织方式构成网络。传感器节点监测的数据沿着其他传感器节点逐跳地进行传输,在传输过程中监测数据可能被多个节点处理,经过多跳后路由到汇聚节点,最后通过互联网或卫星到达管理节点,再将所得信息数据传递给控制计算机。如图1.1为传感器网络的体系结构图。此图详细的画出了传感器节点之间传递信息的过程。图1.1传感器网络体系结构在我们现代日常生活当中,传感器技术应用的十分广阔。从传感器的诞生至今为止,传感器的体积在不断的减小,种类也从单一到现在生产的多种多样,种类及用途在不断的增多,而且传感器的价格也越来越便宜,符合我国大部分人的使用需求。现代的普通传感器的价格十分便宜,而且,质量也随着我国工业能力的不断增强也在不断的上升。我国对现代化传感器的研究也是投入了大量的资金,这大大加快了传感器技术在我国的发展。从小小的收音机到大型的军事通信设备,无不用到传感器技术。传感器技术也为我们的生活和工作提供了很大的方便。温度传感器技术一般应用在对环境的测试中。例如,在我国的深山老林中防火是一件必不可少的事情,但是随着人力资源的短缺以及昂贵的人力劳动来说太过浪费。我们可以使用传感器技术进行防火预警;在一些金属的熔炼过程中对温度的控制是必不可少的,但是人又不能时刻测量温度,在这个过程当中温度传感器就发挥了重要的作用;在我们的生活当中对天气的了解比不可少,但是专业的技术人员和了解自然环境变化的人才也不是太多,这就需要用到传感器技术,不需要很专业的知识就能够对天气进行了解判断并给予通报。1.2本文研究内容本文研究内容为研究温度传感器信息采集和界面程序的开发。本次程序设计的目的是通过3周课程设计的学习,熟练的操作传感器等器件连接以及使用等知识,并熟悉掌握MATLAB操作流程。通过传感器将所需的环境温度由模拟量转变为数字信号,再将收集到的信号通过计算机进一步给予显示、处理、传输与记录,创建GUI界面并且进行功能的设置,连接物理装置和调节串口连接后对收集到的自然数据通过设计的界面展示给我们。传感器器件之间信息的传递是由物联网传感器技术来完成的。传感器采集环境信息传后传递控制计算机进行整理后由界面展现出来所测的数据。使得数据采集的质量和效率大大提高,也节省了对硬件设备的投资,为用户节省资金;通过对MATLAB的应用,使得软件在数据采集系统的作用越来越大,并且增加本系统设计的灵活性,给我们对传感器技术的使用提供了便利。PAGEPAGE15第2章温度传感器数据采集总体设计方案2.1传感器信息采集设计方案在我们日常的生活当中到处都充满应用了传感器技术的产品,但是我们对传感器技术信息的采集原理有很多的疑问。为什么这么一个小小的电子设备能够具有收集信息的功能,它是怎么收集信息的,又是怎么将信息传递给显示器,将信息传递给我们的。我们对传感器技术充满了疑惑和憧憬,也使得我更加坚定的学习传感器信息采集和界面开发的信心。通过这三周的学习使我了解了有关传感器信息采集的一些知识,也跟着老师学习了怎样通过MATLAB来创建界面和对界面的调试过程。下面我将会利用这三周来学习到的知识和以前所学习的知识来叙述两种采集方案并对这两种方案的自身特点和应用适用的环境进行比较,决定使用哪种方案来设计一种简单、便宜又能够充分利用其采集信息能力的温度传感器信息采集和界面开发程序。方案1:利用物联网串口连接及应用的方法将传感器通过协调器来连接串口,通过传感器对信息的采集将信息通过适配器传递给控制计算机,调试串口后直接来显示温度传感器所传来的温度信息。此方案的优点是简单、快捷、准确性高,利用很少的设备就可以完成对所在环境信息的测量,并且信息的错误率相当低。但是,这个方案只适用于我们对传感器信息采集的教学方面和一些传感器设备研究的实验室。因为它只能连接很少的传感器,并不能大面积的信息采集,也不能大范围的推广到我们普通人的日常生活当中。如图2.1所示,我们可以使用串口调试助手对串口进行调制。图2.1串口调试助手界面方案2:利用MATLAB创建一个关于显示传感器所传信息的GUI窗口,在窗口上创建有关串口类型及波特率等功的按钮,并对这些按钮的字符大小、颜色和形状进行设置,还要将设置好的按钮位置进行合理的排布并保存。然后在按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数后运行出有关信息的GUI界面来给我们传达信息。这个设计方案加入了界面开发程序,将很大程度上增加可控传感器的数量以及更加方便的扩大我们对大面积地域内我们所需信息的采集能力。不但解除了单个传感器对信息采集面积大小束缚,也提高了我们对一个区域内传感器使用状态的判断能力。通过仔细的比较这两种设计方案,与方案1相比,方案2用软件对信息的大面积采集更加方便,也扩宽了我们对传感器技术的应用途径。信息处理及显示的信息更加准确,在日常生活或工作中使用更加方便。其结构可靠性更高、制作成本也比较低廉、操作也简单。所以选择方案2。2.2总体设计方案框图及分析如图2.2所示,本文设计了一种的传感器信息采集及界面开发为基础的应用性界面。利用传感器接收外界的温度信息,通过无线传感器网络技术传递给控制计算机对数据进行整理、分类、总结等处理,然后通过GUI界面对整理的信息进行显示,以达到对一定环境内温度测量的目的。次方案操作简单,所需硬件相对来说比较少,节省硬件设施的不必要浪费。图2.2总体设计方框图

第3章基于MATLAB温度传感器的设计3.1温度传感器的设计理念3.1.1温度传感器的定义温度传感器是指能够感受温度并转换成可用输出信号的传感器。温度传感器是温度测量仪表的核心部分,种类繁多,按测量方式可分为接触式和非接触式两大类,按照传感器材料及电子元件特性可分为热电阻和热电偶两大类。如图3.1所示,是本文收集到的集中温度传感器本,从图中可以看出传感器的体积有大有小,功能也比较齐全。可以看出传感器应用范围之广。图3.1温度传感器3.1.2传感器的原理虽然传感器种类繁多,功能各异,但是其工作原理却大同小异,可以使用图3.2来总体概括传感器的工作原理。如图3.2为传感器的工作原理图。图3.2传感器原理图3.2传感器GUI布局通过本次对温度传感器信息采集和界面开发学习。让我们来熟练的掌握有关界面的操作。我们应该了解本文是一个利用MATLABGUI设计实现一个图形用户界面的传感器程序。首先我们可以利用MATLAB创建一个简单地GUI界面,并熟悉界面上各设置键的不同功能。然后在界面上添加温度传感器信息采集界面所需的按钮,并且对添加好的按钮进行命名、大小调制和颜色选择,最后的步骤是对按钮的位置进行合理的排布,尽量使按钮集中在静态文本框下面。这样能在我们接下来的设置和调制阶段节省很多时间,也不易形成错乱的操作。接下来我们将进入具体的操作过程。(1)如图3.3所示,打开Matlab,输入Guide回车或者在工具栏上点击图标将会生成一个GUI界面生成选择的那种Guide窗口。通过这个窗口,我们可以发现对GUI界面的操作类型,创建一个新的GUI界面或打开一个已经存在的界面图,然后进入下一步骤。图3.3Guide窗口(2)如图3.4所示,双击“BlankGUI(Default)”按钮就会出现一个新的GUI窗口,这个窗口上具有多个功能键,我们应该熟练的掌握这些按键的功能,并为我们接下来的操作进行基础知识的积累。在操作时注意我们所做的产品应具有哪些功能,不要产生错误的操作。图3.4Guide窗口(3)如图3.5所示,根据温度传感器信息采集和界面开发的需求,在创建好的GUI窗口上一些所需的按钮,将所需的界面图标都添加到这个窗口上,为下一步的操作打下基础。图3.5Guide窗口添加按钮(4)如图3.6所示,在添加好温度传感器信息采集和界面开发程序所需的按钮后,根据GUI界面上各个按钮的作用不同,分别对各个按钮和图标进行排位以及对他们进行颜色等的设置,以达到一个好的视觉效果。并对其进行仔细的检查,看是否存在错误的设置。图3.6Guide窗口按钮设置在温度传感器信息采集和界面开发的最后,对设置好的GUI界面进行保存。仔细的记住界面保存的地址,以便于当我们发现错误的时候进行修改,并利于我们对系统功能的添加或删除等。

第4章温度传感器程序软件及调试4.1编写回调函数通过这三周有关MATLAV界面设计的学习,我们在老师的带领下成功的完成了有关计算机程序的设计和界面的开发,也了解到了有关回调函数的相关知识,回调函数在界面开发方面占据了很大的地位,我们在这个课程设计当中最主要的学习目标是完全掌握有关回调函数的运用和编写有关自己的回调函数的学习,完成上述步骤之后,我们将要进入函数的设计部分,在这里我们将接触到有关在GUI开发环境下,选择工具栏上的进入菜单编辑器,分别选择和创建主菜单和子菜单。如图4.1所示为完成GUI界面设计后我们将进入函数设计的截图。图4.1结束GUI界面设计图完成上图后,我们即将进入有关程序函数编写的过程。在整个温度传感器数据采集和界面开发过程中,函数编写的过程也是最难得。在次过程中,我们可以在图书馆查询相关资料,也可在网络上收集有关的作品。在此过程中我们也会用到编写的框图。如图4.2所示为函数编写过程的截图。图4.2函数设计图框初始化参数,查看在温度传感器信息采集和界面开发程序运行接收数据时,这个这段代码可以检验是否在运行前勾选了十六进制显示,以免程序接收数据过程发生错误。hasData=false;isShow=false;isStopDisp=false;isHexDisp=false;isHexSend=false;numRec=0;numSend=0;strRec='';完成对信息的初始化后,将上述参数作为应用数据,存入窗口对象内。setappdata(hObject,'hasData',hasData);setappdata(hObject,'strRec',strRec);setappdata(hObject,'numRec',numRec);setappdata(hObject,'numSend',numSend);setappdata(hObject,'isShow',isShow);setappdata(hObject,'isStopDisp',isStopDisp);setappdata(hObject,'isHexDisp',isHexDisp);setappdata(hObject,'isHexSend',isHexSend);guidata(hObject,handles);打开和关闭按钮的回调函数及波特率等的设计rates=[30060012002400480096001920038400430005600057600115200];baud_rate=rates(get(handles.rate,'value'));编写一段函数来获取参数hasData=getappdata(handles.figure1,'hasData');strRec=getappdata(handles.figure1,'strRec');numRec=getappdata(handles.figure1,'numRec');4.2附各按键的程序源代码把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。functionvarargout=serial_communication2(varargin)gui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_OpeningFcn',@serial_communication2_OpeningFcn,...'gui_OutputFcn',@serial_communication2_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});endfunctionvarargout=serial_communication2_OutputFcn(hObject,eventdata,handles)varargout{1}=handles.output;end第5章串口调制及界面运行5.1界面串口选择在我们完成对温度传感器信息采集和界面开发的程序调制后,我们就可以来运行这个程序。通常我们的控制计算机支持的串口类型为COM3。选择串口完成后,调制波特率,一般对于我们调制波特率来说都将其调制到最大值,即115200,然后进行数据显示环节,即选择界面输出数值为十六进制的值。在我们读取数值的时候,我们就可以感受温度传感器信息采集和界面开发技术给我们带来的便捷。如图5.1所示,通过运行界面调制,选择串口类型即COM3,调制波特率为115200,进制选择十六进制的。图5.1运行界面调制波特率等5.2打开串口查看结果选择完运行程序后,在运行出的界面选择串口类型等操作完成后,点击“打开串口”,仔细观察本次设计的温度传感器所测量到的波率图。通常情况下,温度传感器数据采集和界面开发程序所输出的数据是不断更新的,而且一般来说,这个系统的准确度比较高。如图5.2为次运行的结果截图图5.2运行界面结果通过本次实验实现了温度传感器信息采集和界面开发。对Matlab的操作有了进一步的认识和了解,通过多次的修改调查做出实验,验证了实验的正确性,大大的提高了我们对Matlab功能的认识,培养了我们的兴趣。第6章总结传感器信息采集及GUI界面设计是一项设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论