版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录[13]。在进行Arduino开发时通常使用setup()和loop()两个函数,这两个函数也是Arduino程序开发必备的两个函数。4.2主程序测试本系统程序开发采用Arduino开发环境,基于C/C++语言编写,使用Arduino自带的函数库。软件设计部分采用了通用的模块化的设计方法,根据系统实现的数据采集、数据传输、数据显示等几个主要功能来进行软件开发,软件以setup()和loop()等库函数为支持,根据各个子模块需要完成的功能来进行相应的功能函数程序编写,模块化编程的思想使软件整体架构更清晰化,大大减少了开发量,有利于程序代码的编写和优化,方便开发者对程序进行移植、调试和扩展。接通电源后,系统首先在主程序中对Arduino相关端口进行定义并且对串口进行初始化处理;其次,通过调用数据采集子程序,读取模拟输入采集模块、传感器模块数据;然后,运行数据处理子程序,将读取的数据通过相应公式进行计算,并判断数据是否产生更新。最后,通过显示子程序将处理后的数据通过串口发送到显示屏,从而实现数据的实时显示。图4.2为主程序流程图。图4.2主程序流程图4.3显示系统程序测试 为了使系统能更直观的显示采集数据,利用串口显示屏,将接收到的数据实时进行显示。本设计显示模块为HMI显示屏,如图4.3所示为HMI显示屏进行串口通信流程图,指令参数配置说明如表4-1所示。图4.3显示模块屏串口通信流程图表4-1变量存储器读写指令详解指令功能说明strlen字符串变量长度测试变量必须是字符串类型wepo写入变量到用户存储区(EEPROM)写入内容为变量字符串时,在存储区的占用空间为最大字符量+1;写入内容为常量字符串时,在存储区的占用空间为实际字符数+1写入内容为变量数值或常量数值时,在存储区占用的空间统一为4字符repo从用户存储区(EEPROM)读入变量读入内容为变量字符串的时候,在储存区中的读取数据量为此变量的最大字符数+1读入内容为变量数值时候,在储存区中的读取数据量统一为4字节rept从用户存储区读取数据并发送到串口不管存储区中的数据是字符串还是数值,设备都按16进制来读取和发送指定的字节数量到串口,并且不会发结束符设备接收指令结束符为“0XFF0XFF0XFF”三个字符串口屏发送数据是:低位在前,高位在后使用用户存储区读写操作过程中请切记规划好数据区位置,以免位置交错引起数据覆盖错乱DHT11温湿度传感器模块程序测试该模块的软件设计采用DHT11库文件,假若Arduino自带库文件中没有,则可另行下载后传入管理库中。Arduino开发板传开始信号给DHT11温湿度传感器,然后传感器接收开始信号,延时一段时间准备输出,读取传感器响应信号,数据传输结束,总线电平由上拉电平拉高,传感器会向主机发送80us高电平与低电平信号,之后传感器开始发送40位数据[14]。40位数据格式为:数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验[15]。如图4.5、4.6所示分别为DHT11通讯过程时序图和DHT11温湿度传感器通讯流程图。图4.5DHT11通讯过程时序图图4.6DHT11温湿度传感器通讯流程图光敏传感器模块软件测试光敏传感器读取1到1023之间的自然数,数值大小可由光照强度决定,随着光照强度变化,光敏传感器读取到的数据值发生改变,采集代码如下: int
brightnessReadData=analogRead(brightnessPin);
第五章 第五章第五章系统测试完成硬件与软件部分的设计后,对系统进行调试,验证系统是否能够达到预期要求。5.1系统软件测试打开ArduinoIDE开发环境,点击编译按钮对程序代码进行编译,窗口下方提示正在编译项目。编译成功或出错都会在窗口下方提示。图5.1为编译过程。 图5.1Arduino程序编译过程编译成功后,点击上传按钮,上传完成后,窗口下方有提示,如图5.2所示,程序已上传成功。图5.2程序编译无误提示界面图5.2系统性能测试本系统数据采集端包括模拟输入电压采集、DHT11温湿度传感器模块、光敏传感器模块。多通道模拟输入电压数据采集测试本系统可实现同时对7路模拟输入电压采集的功能。将模拟输入电压接口保护模块与Arduino系统板连接,利用可调电位器分压将电位调至不同标准电压值,测量得电压值,如下表5-1所示。表5-1模拟输入电压采集值标准值数据(V)通道号1V2V3V4V11.001.993.023.9920.991.942.994.0231.012.033.053.9840.981.952.973.9950.991.993.014.0061.001.983.004.0170.971.973.034.00由表中数据可观察到,7路通道采集到的模拟电压值与标准值较为接近。DHT11温湿度传感器模块功能测试表5-2为DHT11温湿度传感器模块所采集到的温度及湿度数据。表5-2温湿度数据值序号温度(℃)湿度(%)120.072.0220.372.0320.267.0420.166.0520.172.0620.070.0720.069.0819.973.0920.071.01020.070.0表5-3为对温湿度传感器模块进行吹热气时测得数据。表5-3对DHT11传感器模块吹热气时测得值序号温度(℃)湿度(%)122.995.0222.695.0321.694.0422.095.0522.195.0621.794.0721.394.0821.594.0921.595.01020.793.0光敏传感器模块功能测试表5-4所示为在正常光照情况下和遮住光敏传感器时所测得值。表5-4光敏传感器所测得数据序号光照强度(%)正常光照遮住光敏传感器188.26.2288.06.0387.96.3489.16.6589.66.4689.66.5789.16.8888.96.7988.66.51088.76.85.3总结本论文进行了一次完整的系统开发过程,在此过程中更深一步的了解到了多种传感器的原理以及作用,明白了数据采集系统是如何把难以辨别出的非电量信号转变为可直接用肉眼看见的屏幕上的数字。该系统能够实现一定程度的智能化,能够提高数据采集的质量,但是,毫无疑问,数据采集系统仍然还有很大的发展空间,由于我本身的能力不足,这个系统还有很大的完善空间。这个系统仍然还可以通过提升整体系统的性能,例如优化各个模块的程序、换用性能更好的继电器来实现在以下几个方面的优化:(一)提高数据采集系统在采集模拟量、非电气量信号时的精确度;(二)提高数据采集系统在工作的效率,降低功耗;(三)对系统的整体框架设计、显示界面的摆放安排和模拟通道调节的便利性;(四)需要增加多个传感器模块以便增强数据采集系统的通用性,例如:大气传感器模块、噪声监测模块等。 附录 附录参考文献王健.基于DCS数据采集及上层应用系统的开发[D].北京化工大学,2010.贾晓寒,郭利强,郭涛.基于LabVIEW的水压传感器数据采集系统设计[J].仪表技术与传感器,2016(12):83-86.白双星.基于物联网的工业现场数据采集网络系统的设计与实现[D].北京交通大学,2019.冯伟昌.基于FPGA的的图像融合系统设计研究[D].天津大学,2010.徐虹.基于RaspberryPi的大棚WEB管理模型设计与实现[D].华中师范大学,2015.马斌.单片机原理及应用[M].人民邮电出版社:,201401.366.刘光定.传感器与检测技术[M].重庆大学出版社:高职高专机电一体化专业系列教材,201608.187.A.K.Das,S.Hajra,M.K.Mandal.RGBimageencryptionusingmicrocontrollerATMEGA32[J].MicrosystemTechnologies,2018(prepublish).卢文景.基于物联网技术的智能种植系统设计与实现[D].中国海洋大学,2015.刘雨佳,漆梓渊,徐明坤,蔡琴.一种基于ArduinoNano单片机的智能插座设计[J].计算机产品与流通,2019(03):176-177.吴冰峰.基于Arduino的剩余电压测试控制装置[J].安全与电磁兼容,2019(04):105-108.郭继宁,刘德胜,薛达.基于Arduino的救援机器人目标识别系统设计[J].渤海大学学报(自然科学版),2017,38(02):177-181.邱宇.基于微信的温室大棚环境监测系统设计与实现[D].重庆师范大学,2017.许秀富.基于Android手机语音控制家居系统的设计与实现[D].成都理工大学,2018.韩丹翱,王菲.DHT11数字式温湿度传感器的应用性研究[J].电子设计工程,2013,21(13):83-85+88.孙文,多通道数据采集系统的设计与实现[D].湖南大学,2013.刘世银.基于USB的数据采集系统研究与设计[D].武汉理工大学,2013.孟萌.基于Arduino的物联网数据采集器设计与实现[D].北京工业大学,2016.朱晨.基于ArduinoMega2560的智能家居控制系统的实现[D].武汉邮电科学研究院,2018.杨芳明.基于ARM的草莓园环境监管控制算法研究[D].南昌航空大学,2013.张旭,亓学广,李世光,芮昱,邱彪.基于STM32电力数据采集系统的设计[J].电子测量技术,2010,33(11):90-93.孔利东.基于FPGA的数据采集与处理技术的研究[D].武汉理工大学,2007.王登宏,厉佳男,贺雪辉,毛天翔,张水英.基于Arduino的手机同步显示温湿度检测系统的设计与实现[J].工业控制计算机,2016,29(07):42-43+45.李戈琦,张燕,向伦伦.基于Arduino的土壤温湿度远程监测系统设计[J].湖北农业科学,2015,54(16):4060-4063.赵强,石富文.Arduino库的编写实例:制作基于DHT11的温湿度计[J].电子制作,2020(13):65-68+71刘强强,翟宝蓉,任凯.基于DHT11的温湿度监测系统[J].华北科技学院学报,2017,14(05):59-63张玉杰,马立云,张贺艳.基于ARM和FPGA的LED显示屏控制系统的设计[J].计算机测量与控制,2009,17(12):2429-2431.王丽蒙,王加胜.基于Arduino的智能宿舍控制系统设计与实现[J].工业控制计算机,2021,34(01):31-33.刘寺杰,徐敏,张晨宇,赵娅丽.基于HMI智能串口屏显示的温湿度测量系统[J].科教导刊(下旬),2018(24):59-60+84.YuryV.Ivanov,NorikoChikumoto,HirofumiWatanabe,HirohisaTakano,NoriyukiInoue,SatarouYamaguchi.Multi-channelDataAcquisitionSystemfora500mDCHTSPowerCableinIshikari[J].PhysicsProcedia,2016,81.WangFanHuangLeiWuSupingLiKunLiJiansheGaoYanmingCaoYun'e.Designofmulti-channeldataacquisitionandprocessingmodelandoptimizationofmoisturesensorburiedposition[J].EditorialOfficeofTransactionsoftheChineseSocietyofAgriculturalEngineering,2015,31(21).附录intAnalogtemp[7]={0};//存放上次模拟采集数据intV[7]={0};//存放本次模拟采集数据intaddressData=0x10;//存放显示屏数据地址intsensortemp[3]={0};//存放上次传感器采集数据intsensortData[5]={0};//存放本次传感器采集数据voidsetup(){Serial.begin(9600);//使用9600的波特率进行串口通讯Serial3.begin(115200,SERIAL_8N1);//使用115200的波特率进行串口通讯}//串口发送程序//串口发送程序数据格式bytedata[8]={0xA5,0x5A,0x05,0x82,0x00,0x10,0x00,0x00};voidSendData(void){inti,j;//模拟通道数据显示for(i=0;i<7;i++){Serial.print("模拟通道");Serial.print(i);Serial.print("=");Serial.print(V[i]/1000.0,2);//串口输出电压值,并且不换行Serial.println("V");//这部分的判断是用来过滤重复的数据,只有本次的电压值和上次不一时才进行输出if(Analogtemp[i]!=V[i]){//串口输出字符V,并且换行Analogtemp[i]=V[i];data[5]=(addressData+i);data[6]=(V[i]>>4)&0x00FF;data[7]=V[i]&0x00FF;for(j=0;j<4;j++){Serial3.write(data[j]);}}}//温度传感器数据显示Serial.print("Humidity(%):");Serial.println(sensortData[0]/100.0,2);if(sensortemp[0]!=sensortData[0]){sensortemp[0]=sensortData[0];data[5]=(0x0021);data[6]=(sensortData[0]>>8)&0x00FF;data[7]=sensortData[0]&0x00FF;for(j=0;j<4;j++){Serial3.write(data[j]);}}//湿度传感器数据显示Serial.print("Temperature°C):");Serial.println(sensortData[2]/100.0,2);if(sensortemp[1]!=sensortData[2]){sensortemp[1]=sensortData[2];data[5]=(0x0020);data[6]=(sensortData[2]>>8)&0x00FF;data[7]=sensortData[2]&0x00FF;for(j=0;j<4;j++){Serial3.write(data[j]);}}//光敏传感器数据显示Serial.print("Brightness%):");Serial.println(sensortData[4]/100.0,2);if(sensortemp[0]!=sensortData[4]){sensortemp[0]=sensortData[4];data[5]=(0x0022);data[6]=(sensortData[4]>>8)&0x00FF;data[7]=sensortData[4]&0x00FF;for(j=0;j<4;j++){Serial3.write(data[j]);}}}voidDataProcess(){inti;//从模拟电压数据处理for(i=0;i<7;i++){V[i]=V[i]*(5.0/1023.0)*1000.0;}//各传感器数据处理sensortData[0]=(sensortData[0]*100)+sensortData[1];sensortDa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东河源市连平县招聘临聘教师16人备考题库及答案详解参考
- 2026江苏南京大学化学学院助理招聘备考题库及答案详解(真题汇编)
- 2026上半年海南事业单位联考海口市美兰区招聘71人备考题库(第一号)附参考答案详解(能力提升)
- 2026广东韶关市始兴县招聘教师52人备考题库(编制)附参考答案详解(a卷)
- 2026广东韶关市“百万英才汇南粤”始兴县招聘教师52人备考题库附参考答案详解ab卷
- 2026广东广州市天河区东风实验小学招聘语文、数学、音乐教师备考题库附答案详解(黄金题型)
- 2026福建南平机电职业学校招聘中职政治教师2人备考题库必考题
- 成都印钞有限公司2026年度工作人员招聘备考题库含答案
- 2025年中级银行从业资格之《中级银行管理》试题一及完整答案详解
- 2025北京大学深圳研究生院培训中心培训专员招聘5人(广东)备考题库完美版
- 2026福建厦门市高崎出入境边防检查站招聘警务辅助人员30人备考题库及完整答案详解
- 2026西藏自治区教育考试院招聘非编工作人员11人笔试备考试题及答案解析
- 2026年度黑龙江省生态环境厅所属事业单位公开招聘工作人员57人备考题库及一套答案详解
- 炎症因子风暴与神经递质紊乱的干细胞干预策略
- 2026年1月浙江省高考(首考)英语试题(含答案)+听力音频+听力材料
- 中国大型SUV市场数据洞察报告-
- GB/T 3487-2024乘用车轮辋规格系列
- 物业保洁保安培训课件
- 人教版初中英语七至九年级单词汇总表(七年级至九年级全5册)
- cnc加工中心点检表
- 计划决策评审-汇报模板课件
评论
0/150
提交评论