版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE PAGE 41罢无线传感器网板络实用教程课耙程设计版基于温湿度传感暗器物联网应用实霸时 澳数据处理系统开暗发耙_ 颁 斑 俺系 别艾 昂 计算机科学隘系 澳 把 百 扒 凹专 业唉 斑 通信工艾程 办 扒 斑 绊 扒 坝班 级佰 胺 摆 背 吧 败一摆 佰耙 把 按 拜 罢 摆 哀 柏学 号翱 扳 扳 班xxxxxxx疤xxxxxx敖 敖 巴 捌 澳 唉 扮 耙 背组 次皑 按 白 靶 拌 稗x澳 搬 捌 叭 耙姓 名百 暗 盎 颁xxx哎 爸 拜 俺 坝 拔 芭 百 按指导教师阿 敖 斑 斑xxx澳 氨 案 敖 吧 板 挨评定成绩般 吧 岸 隘 埃 隘起止日期败 按2012熬年八1
2、0稗月碍8埃日肮 摆至斑 癌2012拜年澳10绊月霸29半日目录懊摘要凹 鞍 肮 班 捌 案 八 暗 跋 3 HYPERLINK /qzone/qzfl/editor/assets/blank.htm#_Toc277070272 l _Toc277070272 翱第1章 课程设搬计的目的和要求氨 碍 扒 哎 靶 盎3阿第2章耙 傲温湿度传感器的拌简介拔 拔 傲 皑 爱 佰 靶4 HYPERLINK /qzone/qzfl/editor/assets/blank.htm#_Toc277070273 l _Toc277070273 罢第颁3芭章 败课程设计实现方案案暗 白 背 岸 背 坝 搬6巴1
3、、开发环境背 疤 按 蔼 澳 爸 傲 按 6百2、开发内容绊 颁 扒 阿 阿 霸 邦 摆 6哎3、技术路线昂 盎 斑 八 爱 爸 翱 巴 7佰1)爸传感器数据处理伴 哀 败 瓣 唉 拌 拌 斑7暗2)凹传感器烧录霸 皑 芭 坝 板 霸 芭 2蔼8 HYPERLINK /qzone/qzfl/editor/assets/blank.htm#_Toc277070274 l _Toc277070274 版第版4哀章 邦课程设计结果芭 扮 埃 昂 傲 氨 邦 29 HYPERLINK /qzone/qzfl/editor/assets/blank.htm#_Toc277070282 l _Toc277
4、070282 皑第瓣5扮章哎 结论与体会罢 霸 皑 败 鞍 班 癌 29摘要扒物联网是新一代傲信息技术的重要澳组成部分。其英靶文名称是“Th颁e Inter按net of 啊things”按。由此,顾名思扳义,“物联网就靶是物物相连的互埃联网”。这有两耙层意思:第一,唉物联网的核心和靶基础仍然是互联碍网,是在互联网蔼基础上的延伸和佰扩展的网络;第蔼二,其用户端延摆伸和扩展到了任懊何物品与物品之敖间,进行信息交半换和通信。因此半,邦物联网的定义是稗通过 HYPERLINK /view/139174.htm 捌射频识别案(RFID)、袄红外感应器、 HYPERLINK /view/68567.ht
5、m 版全球定位系统昂、 HYPERLINK /view/642806.htm 澳激光扫描器跋等信息传感设备懊,按约定的协议班,把任何物品与疤互联网相连接,癌进行信芭息交换和通信,霸以实现对物品的啊智能化识别、定板位、跟踪、监控班和管理的一种网般络。癌而胺温湿度传感器埃是埃由于温度与湿度跋不管是从物理量扒本身还是在实际跋人们的生活中都哀有着密切的关系哎,所以温湿度一背体的传感器就会艾相应产生。 温懊湿度传感器是指百能将温度量和湿挨度量转换成容易笆被测量处理的电伴信号的设备或装暗置。 市场上的颁温湿度传感器一癌般是测量温度量班和相对湿度量。疤第1章 课程啊设计的目的与要拌求课程设计目的耙物联网是一
6、种新挨概念和新 HYPERLINK /list/jishu.shtml 翱技术坝,它使新一代I叭T技术更加充分般地应用于各行各巴业之中。它的问班世打破了过去将佰基础设施与IT办设施分开的传统办观念,将建筑物凹、公路、铁路和伴网站、网络、数扮据中心合为一体矮,是信息化和工敖业化融合的重要扒切入点碍。凹温湿度与人们的挨生活关系密切,按所以癌物联网鞍在鞍温湿度鞍实时数据处理系摆统的开发将有很疤大的前景。爸 暗在我们的日常生邦活中无处不在,熬控制好温湿度可办以使我们生活、傲生产的更好。绊温湿度传感器物伴联网应用实时数啊据处理系统开发巴可以帮我们实现隘对温湿度以实时懊数据让我们明了澳的知道。从而更澳好的
7、控制温湿度笆、达到我们所需笆的标准。要达到隘的目的:白1.可以在ub办untu上实现蔼自动接收由传感霸器取得、传来的拜实时数据。邦2. 并ubu鞍ntu上能边接爱收边连续往li八nux发送从传芭感器取得的实时癌数据。巴3还要确保发俺送过的数据不会百再次发送。瓣4. 埃L百inux能接收扳到ubuntu笆发过来的实时数唉据并通过动态网扒页曲线图实时显艾示接收过来的数班据。课程设计要求稗1. 通过疤ubuntu连邦接传感器实验箱奥收集由传感器测拌得的实时数据存昂入sqlite半3数据库。瓣2. 然后通过佰ubuntu发板送到扳linux、接跋收并用动态网页拔显示代表数据变奥化的曲线。傲第2章 扒温
8、湿度传感器的罢简介爱由于温度与湿度摆不管是从物理量摆本身还是在实际办人们的生活中都懊有着密切的关系芭,所以温湿度一肮体的传感器就会芭相应产生。 温暗湿度传感器是指碍能将温度量和湿敖度量转换成容易稗被测量处理的电颁信号的设备或装鞍置。 市场上的俺温湿度传感器一岸般是测量温度量伴和相对湿度量。唉 唉温度:白度量物体冷热的傲物理量,是国际矮单位制中7个基袄本物理量之一。拜在生产和科学研袄究中,许多物理背现象和化学过程捌都是在一定的温白度下进行的,人斑们的生活也和他坝密切相关。 版伴湿度:跋湿度很久以前就摆与生活存在着密柏切的关系,但用埃数量来进行表示败较为困难。对湿阿度的表示方法有艾绝对湿度、相对板
9、湿度、露点、湿艾气与干气的比值蔼(重量或体积)蔼等等。日常生活肮中最常用的表示胺湿度的物理量是扳空气的相对湿度唉。用%RH表示蔼。在物理量的导捌出上相对湿度与佰温度有着密切的白关系。一定体积败的密闭气体,其斑温度越高相对湿败度越低,温度越癌低,其相对湿度跋越高。其中涉及扳到复杂的热力工氨程学知识。 班有关湿度的芭一些定义: 坝耙相对湿度罢:在计量法中规碍定,湿度定义为懊“物象状态的量埃”。日常生活中绊所指的适度为相爱对湿度,用RH爸%表示。总之,凹即气体中(通常摆为空气中)所含坝水蒸气量(水蒸挨气压)与其空气哀相同情况下饱和爸水蒸气量(饱和熬水蒸汽压)的百百分比。 板碍绝对湿度熬:指单位容积的
10、版空气里实际所含班的水汽量,一般芭以克为单位。温哎度对绝对湿度有八着直接影响,一疤般情况下,温度邦越高,水蒸气发胺得越多,绝对湿霸度就越大;相反哀,绝对湿度就小百。 氨半饱和湿度癌:在一定温度下埃,单位容积,空板气中所能容纳的昂水汽量的最大限邦度。如果超过这爱个限度,多余的柏水蒸气就会凝结捌,变成水滴,此拜时的空气湿度变袄称为饱和湿度。爸空气的饱和湿度俺不是固定不变的佰,它随着温度的翱变化而变化。温败度越高,单位容败积空气中能容纳半的水蒸气就越多安,饱和湿度就越板大。 颁露点吧:指含有一定量吧水蒸气(绝对湿按度)的空气,当袄温度下降到一定捌程度时所含的水拌蒸气就会达到饱俺和状态(饱和湿拌度)并
11、开始液化袄成水,这种现象扒叫做凝露。水蒸班气开始液化成水癌时的温度叫做“案露点温度”简称吧“露点”。如果邦温度继续下降到般露点以下,空气扳中超饱和的水蒸跋气就会在物体表埃面上凝结成水滴矮。此外,风与空搬气中的温湿度有佰密切关系,也是笆影响空气温湿度搬变化的重要因素班之一。唉选择的注意事项熬:暗般、瓣选择测量范围艾 般和测量重量坝、温度一样,选百择湿度传感器首按先要确定测量范瓣围。除了气象、阿科研部门外,搞奥温、湿度测控的傲一般不需要全湿唉程(0-100罢%RH)测量。氨 唉袄、选择测量精办度斑 巴案测量精度是板湿度传感器最重颁要的指标,每提拌高个百分点,板对湿度传感器来版说就是上一个台艾阶,甚
12、至是上一皑个档次。因为要拜达到不同的精度斑,其制造成本相埃差很大,售价也拜相差甚远。所以霸使用者一定要量哀体裁衣,不宜盲巴目追求“高、精办、尖”。如在不鞍同温度下使用湿败度传感器,其示捌值还要考虑温度办漂移的影响。众斑所周知,相对湿傲度是温度的函数颁,温度严重地影罢响着指定空间内瓣的相对湿度。温爱度每变化0.1翱。将产生0.百5%RH的湿度芭变化(误差)。肮使用场合如果难扮以做到恒温,则案提出过高的测湿澳精度是不合适的疤。多数情况下,百如果没有精确的白控温手段,或者疤被测空间是非密扳封的,5%R隘H的精度就足够背了。对于要求精邦确控制恒温、恒熬湿的局部空间,唉或者需要随时跟翱踪记录湿度变化埃的
13、场合,再选用坝3%RH以上案精度的湿度传感百器。而精度高于背2%RH的要扮求恐怕连校准传澳感器的标准湿度办发生器也难以做拜到,更何况传感绊器自身了。相对俺湿度测量仪表,啊即使在202巴5下,要达到袄2%RH的准确摆度仍是很困难的挨。通常产品资料版中给出的特性是矮在常温(20捌10)和洁扳净的气体中测量隘的。 芭笆、考虑时漂和爸温漂 矮在实际使用靶中,由于尘土、坝油污及有害气体奥的影响,使用时吧间一长,电子式阿湿度传器会产生跋老化,精度下降罢,电子式湿度传八感器年漂移量一熬般都在2%左柏右,甚至更高。矮一般情况下,生昂产厂商会标明1胺次标定的有效使懊用时间为1年或矮2年,到期需重唉新标定。 爸扮
14、、其它注意事坝项 跋湿度传感器是非绊密封性的,为保鞍护测量的准确度颁和稳定性,应尽稗量避免在酸性、霸碱性及含有机溶佰剂的气氛中使用按。也避免在粉尘暗较大的环境中使懊用。为正确反映熬欲测空间的湿度矮,还应避免将传吧感器安放在离墙癌壁太近或空气不按流通的死角处。罢如果被测的房间哎太大,就应放置笆多个传感器。有败的湿度传感器对岸供电电源要求比吧较高,否则将影哎响测量精度。或白者传感器之间相啊互干扰,甚至无懊法工作。使用时癌应按照技术要求蔼提供合适的、符邦合精度要求的供搬电电源。传感器埃需要进行远距离案信号传输时,要叭注意信号的衰减巴问题。当传输距敖离超过200m疤以上时,建议选皑用频率输出信号岸的湿
15、度传感器。扳第搬3百章 课程设计实唉现方案一、开发环境巴1.硬件(详细疤介绍所涉及硬件爸的详细内容)叭Pc机、温湿度跋传感器、传感器捌实验箱、连接所八需的各种线。皑2.软件(详细拔介绍所涉及软件佰的详细内容)捌 百MDK414搬(arm平台编拔译烧录代码软件盎)、芭KeilC51按v巴750a拜_Full板(C51平台编矮译软件)、ST懊C手动下载(C颁51烧录代码软懊件)、般R340靶(串口线连接U把SB驱动)、u熬buntu操作扮系统、linu颁x操作系统。3.其它二、开发内容俺1.袄项目开发详细内拜容版(包括传感器的碍配置、传感器烧白录、数据的实时白收集、实时数据版的存储、实时数八据的传
16、输、实时埃数据在服务器端巴的接受及存储-白TCPServ癌er及MySq翱l、数据库及W白eb服务器安装瓣、利用JSP曲巴线动态显示实时懊数据)哀首先烧录整合好肮的温湿度传感器背的代码。接着连伴接传感器取得数绊据。然后在ub白untu中编译胺并运行安Com_Sen艾sor矮程序获取传感器跋实验箱的数据。艾在叭U俺buntu11白编译并运行se办nddata.案c把数据发送到霸linux.L癌inux通过T埃CPServe白r服务器接收数啊据并存入MyS艾QL数据库。唉最后将接收到的爱数据通过Lin暗uxweb服务扮器以jsp曲线搬动态显示实时数版据。翱2.蔼网络拓扑图芭(包括传感器、百网关、传
17、输网络俺、TCPSer胺ver服务器、安数据库服务器、昂静态及动态We拔b服务器、We安b服务器客户端凹;并详细标注设瓣备名称及IP地白址等详细信息;熬并详细叙述网络傲拓扑图流程)罢 鞍 笆 扮 捌 三、技术路线搬传感器数据处理拔(给出详细的传吧感器烧录代码 跋)代码如下:斑/*懊*翱*袄*岸*邦*哀*啊*百*/拔/中软吉大信颁息技术有限公司安/物联网传感翱技术教学实验系半统拜/*邦*百*阿*奥*斑*澳*芭*罢*/版#includ斑e /Kei吧l libra唉ry (is 熬used fo瓣r _nop(傲)_ oper拜ation) 翱 扳#includ挨e 矮/Keil 凹library
18、安 把#includ瓣eLcmdi班splay.h扮 哀#define懊 FOSC 1八1059200摆#define板 BAUD 1爸4400哀typedef班 union 氨 佰 unsig皑ned int疤 i; 柏 float俺 f; 板 value氨;佰/般昂昂背吧艾爸敖岸熬阿芭 蔼/ modu靶l-var 俺/搬爸肮盎叭暗昂盎颁碍挨伴 蔼enum T捌EMP,HUM斑I; 隘#define袄 noACK 懊0 奥#define版 ACK 敖1 疤 爸 拔 案 颁/adr 按command霸 r/w 白#define爱 STATUS懊_REG_W 捌0 x06 唉/000 敖 001
19、1 傲 0 挨#define吧 STATUS鞍_REG_R 八0 x07 版/000 颁 0011 唉 1 鞍#define吧 MEASUR百E_TEMP 拌0 x03 板/000 白 0001 绊 1 袄#define扒 MEASUR俺E_HUMI 俺0 x05 疤/000 澳 0010 扮 1 伴#define办 RESET 跋 佰0 x1e 挨/000 啊 1111 拌 0 盎sbit D把ATA=P2半2;斑sbit S把CK=P21班;吧sbit PO跋WER=P2挨5;熬sbit fl碍ag1=P0霸7;巴sbit fl爸ag2=P4翱6;板sbit fl翱ag3=P2邦7;笆sb
20、it fl凹ag4=P2碍6; 胺void de白lay(uns鞍igned i按nt nTim笆eDelay)拌 般 uns般igned i爱nt i;蔼 whi巴le (nTi把meDelay班-) 皑 笆 for (i唉=0;i12埃5;i+); 碍void Se摆rial_In皑it()唉 拌 半 案 摆 TMO癌D = 0 x0板1;霸阿 TR0 = 凹1;靶懊 EA = 1版;皑埃 ET0 = 袄0;瓣把 TF0 = 皑0;岸班 S2CON 疤= 0 x50;般 爸 佰 /8位可变版波特率 (无校吧验位)鞍 BRT懊 = -(FO拜SC/32/B胺AUD); 芭 /设扒置独立波特率
21、发霸生器的重载初值疤 AUX跋R = 0 x1昂4; 爱 把 /独绊立波特率发生器安工作在1T模式摆 /I办E2 = 0 x隘01; 瓣 隘 /扳/使能串口2中搬断奥void IO邦_Init(v背oid)岸巴P胺2M氨1=P爱2M扒1&0 xdf;颁哀P般2M哎0=P笆2M哎0&0 xdf;捌唉P爱0M傲1=P啊0M癌1&0 x熬7f巴;伴扒P伴0M哎0=P办0M凹0&0 x胺7f瓣;埃吧P霸4M八1=P颁4M熬1&0 xbf;柏罢P拌4M安0=P跋4M班0&0 xbf;搬暗P办2M捌1=P佰2M岸1&0 x坝3f巴;鞍叭P叭2M伴0=P疤2M疤0&0 x隘3f搬;霸安P4SW=P4按SW|
22、0 x40扳;氨void Po艾wer_Ide矮ntify(v稗oid)凹奥while(1案)稗吧拔if(POWE八R=0)伴熬吧delay(4叭000);霸皑扒LcmPrin靶tf(请给传阿感器模块上电!胺n);案鞍癌else br爸eak;拜void Mo靶dule_Id笆entify(啊unsigne佰d int x背uhao)伴啊unsigne白d int a绊bc=0;哎澳if(flag哎4=1)ab叭c=abc+1奥;按摆abc=abc把1;跋疤埃if(flag挨3=1)ab袄c=abc+1案;安爱abc=abc氨1;办埃癌if(flag啊2=1)ab蔼c=abc+1拜;爸案abc
23、=abc拌0;i/=班2) 拔 翱 /shif拌t bit f把or mask办ing 叭 if 拔(i & va昂lue) 袄 DAT哎A=1; 安 扮 傲 爱 /mask扳ing val隘ue with爱 i , wr昂ite to 板SENSI-B半US 跋 els翱e DATA=般0; 百 盎 霸 斑 _no叭p_(); 瓣 版 懊 爱 /obse把rve set挨up time叭 挨 SCK半=1; 芭 霸 俺 坝 /clk 澳for SEN安SI-BUS 摆 _no皑p_();_n癌op_();_柏nop_();靶 皑 /puls伴with ap哎prox. 5肮 us 叭 SCK
24、巴=0; 扮 _no笆p_(); 扳 爱 盎 澳 /obs皑erve ho按ld time摆 办 DATA=办1; 埃 爸 俺 澳 /rele奥ase DAT稗A-line 捌 _nop_斑(); 袄 胺 百 半 /obse袄rve set背up time暗 奥 SCK=1肮; 柏 哀 叭 盎 /clk 扮#9 for 扒ack 把 error版=DATA; 岸 哎 瓣 扳 /chec哎k ack (案DATA wi背ll be p矮ulled d疤own by 拜SHT11) 巴 SCK=0傲; 爸 爸 retur板n error罢; 白 办 阿 /erro疤r=爱1 in摆 case o扳
25、f no ac碍knowled败ge 半/办绊扳扒伴搬矮摆柏翱隘瓣 爱char s_吧read_by阿te(unsi罢gned ch啊ar ack)拔 盎/懊跋败版艾邦暗凹跋昂唉斑 瓣/ read哀s a byt叭e form 板the Sen捌sibus a碍nd give拔s an ac罢knowled佰ge in c扮ase of 熬ack=1懊 靶 unsig斑ned cha板r i,val隘=0; 把 DATA=靶1; 唉 扒 隘 半 /rele凹ase DAT八A-line 翱 for (拌i=0 x80;碍i0;i/=瓣2) 背 佰 /shif懊t bit f埃or mask靶i
26、ng 凹 SCK澳=1; 背 岸 爸 巴 /clk 笆for SEN坝SI-BUS 翱 if 碍(DATA) 罢val=(va按l | i);拔 伴 /read柏 bit 般 SCK暗=0; 坝 袄 盎 八 鞍 八 DATA=爱!ack; 凹 瓣 捌 奥 /in c矮ase of 耙ack=1艾 pull 胺down DA稗TA-Line熬 斑 _nop_扳(); 叭 敖 岸 伴 /obse俺rve set凹up time疤 澳 SCK=1疤; 哎 版 半 熬 /clk 埃#9 for 艾ack 蔼 _nop_袄();_nop斑_();_no碍p_(); 斑 矮 /puls暗with ap败p
27、rox. 5靶 us 肮 SCK=0敖; 矮 _nop_挨(); 哎 耙 绊 挨 /obse把rve hol蔼d time 唉 安 背 安 瓣 唉 DATA=败1; 氨 伴 佰 安 /rele挨ase DAT奥A-line 阿 retur板n val; 拔/拌隘啊碍笆懊鞍拜袄伴靶盎 搬void s_案transst班art(voi碍d) 伴/扒挨瓣佰百蔼百八扳跋阿暗 罢/ gene鞍rates a哎 transm俺ission 靶start 般/ 般 _摆 碍 _耙_ 埃/ DATA拌: 皑|_笆_| 唉/ 捌 _笆_ 办_ 哎/ SCK 扒: _| 袄 |_|把 |_瓣_ 暗 DATA阿=1
28、; SCK白=0; 斑 扮 斑 /Init鞍ial sta胺te 埃 _nop袄_(); 傲 SCK=按1; 般 _nop半_(); 叭 DATA翱=0; 艾 _nop爱_(); 奥 SCK=哀0; 坝 _nop佰_();_no哎p_();_n爱op_(); 爱 SCK=爸1; 岸 _nop隘_(); 吧 DATA版=1; 癌 板 隘 _nop癌_(); 佰 SCK=板0; 啊 拜 败/拔哀爸啊耙罢哎蔼跋扳埃敖 俺void s_扮connect唉ionrese肮t(void)芭 哀/拜案摆碍胺袄佰吧耙氨碍澳 吧/ comm爱unicati哎on rese绊t: DATA爸-line=1瓣 an
29、d at拔 least 跋9 SCK c哎ycles f斑ollowed懊 by tra耙nsstart翱 佰/ 八 _百_疤_八_胺_埃_氨_傲_ 敖 案 _隘_ 半/ DATA柏: 靶 俺 昂 半 拌 般 隘 |哀_笆| 背/ 芭 _ 碍 _ 隘 _ _稗 _ 案 _ 肮_ _ 扒 _ 按 _爸_ _昂_ 哎/ SCK 扮: _| |伴_| |_般| |_| 八|_| |_捌_| |_|暗 |_| |吧_| |_败_| 瓣 |_| 癌 |_巴_ 袄 unsig叭ned cha八r i; 凹 DATA=捌1; SCK=拌0; 瓣 摆 埃 /Init稗ial sta皑te 笆 for(i拜=0
30、;i=坝1 in胺 case o拔f no re凹sponse 阿form th肮e senso把r 摆 俺 傲 案 罢 百 案 啊 奥/稗鞍芭把熬跋把白阿啊败奥 摆char s_傲measure昂(unsign肮ed char隘 *p_val般ue, uns拌igned c版har *p_懊checksu奥m, unsi矮gned ch跋ar mode) 疤/盎岸扮版懊瓣靶案敖傲叭百 暗/ make鞍s a mea疤suremen板t (humi挨dity/te捌mperatu柏re) wit埃h check靶sum 安 unsig案ned cha碍r error傲=0; 翱 unsig叭n
31、ed int傲 i; 啊 s_tra隘nsstart癌(); 邦 案 靶 /tran奥smissio癌n start疤 版 switc哀h(mode)颁 柏 疤 盎 /send暗 comman板d to se肮nsor 澳 cas笆e TEMP 板 : erro芭r+=s_wr岸ite_byt百e(MEASU矮RE_TEMP版); brea胺k; 稗 cas盎e HUMI 挨 : erro懊r+=s_wr隘ite_byt哀e(MEASU唉RE_HUMI按); brea皑k; 伴 def耙ault 暗 : bre佰ak; 般 按 for (把i=0;i1白00)rh_t白rue=100拌; 斑
32、/cut 隘if the 摆value i耙s outsi氨de of 般 if(rh拌_true0半.1)rh_t办rue=0.1芭; 罢 /the 鞍physica奥l possi懊ble ran拔ge 爸 *p_te绊mperatu绊re=t_C;拌 阿 半 /retu跋rn temp版erature氨 C 暗 *p_hu扮midity=背rh_true挨; 傲 胺 /retu扮rn humi啊dity%R叭H 案/澳爱邦笆霸懊傲翱安搬 胺float c袄alc_dew懊point(f疤loat h,胺float t案) 白/啊柏阿摆瓣扮碍斑挨盎 爸/ calc碍ulates 阿dew
33、poi艾nt 澳/ inpu班t: hu澳midity 白%RH, 蔼tempera白ture 拔C 摆/ outp埃ut: de傲w point瓣 C 安 float翱 k,dew_罢point ;吧 癌 k = (皑log10(h半)-2)/0.百4343 + 蔼(17.62*扮t)/(243澳.12+t);澳 佰 dew_p翱oint = 罢243.12*胺k/(17.6瓣2-k); 般 retur般n dew_p坝oint; 蔼/熬癌版捌半败奥跋百耙案艾 奥void ma碍in() 傲/鞍拔捌摆懊拌暗俺疤捌坝哎 安/ samp拔le prog鞍ram tha巴t shows案 how
34、to百 use SH傲T11 fun斑ctions 埃/ 1. c耙onnecti罢on rese挨t 败/ 2. m靶easure 板humidit拜y tick邦s(12 b摆it) and般 temper扳ature 坝ticks(半14 bit)柏 俺/ 3. c扮alculat颁e humid按ity %R拔H and 把tempera哀ture 暗C 唉/ 4. c碍alculat盎e dew p俺oint 阿C 阿/ 5. p氨rint te拔mperatu伴re, hum班idity, 搬dew poi爱nt 笆 value笆 humi_v颁al,temp绊_val; 把 fl
35、oat岸 dew_po肮int; 八 unsig奥ned cha跋r error败,checks扮um; 澳 unsig罢ned int隘 i; 耙办Serial_氨Init();艾敖IO_Init盎();敖斑Power_I把dentify懊();阿罢Module_拔Identif稗y(3);罢 s_c隘onnecti唉onreset伴(); 稗 while拔(1) 疤 err傲or=0; 靶 err百or+=s_m袄easure(绊(unsign班ed char班*) &hum奥i_val.i捌,&check啊sum,HUM按I); /邦measure暗 humidi哀ty 板 err半or
36、+=s_m白easure(笆(unsign爱ed char佰*) &tem按p_val.i八,&check版sum,TEM般P); /按measure案 temper颁ature 艾 if(癌error!=敖0) s_co敖nnectio版nreset(霸); 挨 /in版 case o把f an er版ror: co俺nnectio笆n reset般 隘 els办e 俺 h柏umi_val搬.f=(flo半at)humi拜_val.i;哎 奥 半 /爱convert搬s integ巴er to f背loat 敖 t伴emp_val巴.f=(flo扮at)temp坝_val.i;矮 案 胺 /
37、摆convert拌s integ搬er to f碍loat 百 c把alc_sth佰11(&hum哎i_val.f跋,&temp_摆val.f);摆 扮 /半calcula邦te humi办dity, t罢emperat吧ure 般 d扮ew_poin霸t=calc_伴dewpoin哎t(humi_案val.f,t拜emp_val稗.f); /澳calcula背te dew 吧point 阿搬唉Power_I耙dentify绊();捌胺罢LcmDisp芭laySHT1坝0(humi_懊val.f,t案emp_val肮.f);扳肮阿/LcmPr蔼intf稗(温度:%板5.1f懊颁 湿度暗:%矮5
38、.1f板 露爸点:%案3.1f拜n, te阿mp_val.案f,humi_哀val.f,d癌ew_poin霸t);绊哀挨扳/temp 哀:温度瓣/柏邦百for (i=颁0;i400暗00;i+)绊;肮拜岸百伴/延迟澳盎/吧案LcmPrin把tf(, 罢humi_va败l.f);稗背半邦/humi:按湿度按爱/安吧for (i=哎0;i400敖00;i+)吧;斑阿斑爱碍/延迟敖背/板扒LcmPrin版tf(, 阿dew_poi鞍nt);爱柏跋伴败/dewpo盎int:露点(拜点在此温度时,凹空气饱和并产生熬露珠) 耙/氨wa哎it appr俺ox. 0.8隘s to av艾oid hea靶tin
39、g up扳 SHTxx-翱傲笆柏敖 耙 for 伴(i=0;i翱50000;i颁+); /昂(be sur背e that 懊the com耙piler d柏oesnt 班elimina阿te this奥 line!)坝 耙/佰疤颁败柏搬柏背吧瓣笆拌 艾 办 胺 板Lcmdisp吧lay碍.c:稗#includ笆e Lcmd唉isplay.翱h唉typedef背 enum 埃 LCM熬PRTF = 疤0, 按 / 字斑符串打印扒 / 艾1 磁感应及环般境光传感器模块胺 LCM背HALL, 坝 八 / 霍败尔接近开关瓣 LCM耙REED, 白 矮 / 干百簧管唉 LCM般METAL, 哎 昂 /
40、金靶属接近开关笆 LCM凹LUX, 爱 敖 / 环柏境光强度碍 LCM隘LDR, 败 巴 / 光八敏电阻办 / 爸2 震动及me摆ms麦克传感器扳模块岸 LCM疤SHOCKDS邦, 爸 / 双耙珠单向版 LCM坝SHOCKDD皑, 啊 / 双癌珠双向靶 LCM澳SHOCKSP白RING, 摆 / 弹班簧爱 LCM半SHOCK, 阿 罢 / 全爱向震动耙 LCM叭MIC, 颁 啊 / M颁EMS麦克风芭 / 斑3 测距测障类鞍及温湿度类传感半器模块摆 LCM澳IR, 邦 澳 / 红扳外对管测距斑 LCM拜IRSWITC耙H, 按 / 红啊外接近开关案 LCM摆ULTR, 靶 唉 / 超佰声波测距
41、啊 LCM艾TEMP, 蔼 颁 / 温斑度/ DS1八8b20把 LCM癌SHT10, 叭 斑 / 温班湿度传感器SH扒T10氨 LCM拌HUMI, 昂 瓣 / 湿捌度/SHT1搬0胺 LCM搬NTC, 奥 班 / 热坝敏电阻凹 懊 绊 氨 / 俺4 操作控制类拌及加速传感器模八块办 LCM巴ACC, 胺 按 / 三皑轴加速度澳 LCM坝JOYSTIC哀K, 皑 / 摇般杆电位器耙 LCM半ENCODER鞍, 坝 / 编盎码开关艾 / 懊5 称重传感器翱模块绊 LCM颁WEIGHT,般 芭 / 称般重摆 / 板6 粉尘传感器伴模块捌 LCM班DUST, 爸 版 / 粉叭尘傲 / 拔7 红外测温
42、及拔颜色传感器模块跋(增强型模块)皑 LCM笆BODYTEM按P, 盎 / 红颁外测体温芭 LCM隘COLOR, 拔 搬 / 颜安色哎 / 凹8 磁阻陀螺仪盎及气压传感器模耙块(增强型模块稗)敖 LCM拜RELUCTA哎NCE, 袄 / 三伴轴磁阻俺 LCM白ANGRATE敖, 胺 / 三按轴角速率陀螺仪邦 LCM般PRESSUR傲E, 氨 / 气盎压八 / 把9 二氧化碳传唉传感器模块(扩佰展型模块)俺 佰 LCMC耙O2, 隘 挨 / 二氧拜化碳芭 / 稗10 气体流量胺传感器模块(扩阿展型模块)把 LCM八FLOW, 碍 皑 / 气哀体流量安 LCM班INIT 八 唉 / 初始版值拔 f
43、lag_爱t;案void sw疤ap(char绊 *cp)摆傲unsigne啊d char 败temp;百百temp=cp氨3;拔班cp3=c啊p0;稗摆cp0=t啊emp;凹八temp=cp肮2;拌叭cp2=c办p1;爱矮cp1=t把emp;暗void se氨ndc (un拌signed 办char ch斑r)/发送一爸个字符鞍熬 S2BUF 袄= chr;安邦 while(昂!(S2CON坝 & 0 x02哀);皑 S2熬CON &= 佰0 x02; 拔 巴 把 碍 把 办 敖 板unsigne岸d char 安recvc (案void)半唉unsigne唉d char 氨chr;拜把wh
44、ile(!盎(S2CON 跋& 0 x01)碍);澳 S2CO叭N &= 0肮x01; 翱奥chr = S把2BUF;澳皑return 瓣chr;班static 挨void pa俺cketLcm碍(flag_t瓣 flag, 翱char *d摆ata1, i肮nt leng昂th)班 sen隘dc(0 x7e百);背 sen背dc(0 xff靶);啊蔼 sendc(碍0 x06);/笆/改成6袄 sen爱dc(flag白);斑 whi啊le(leng扮th-) 捌 伴 switch俺 (*data暗1) 唉 白 ca拔se 0 x7e瓣:艾 绊 扮 sendc颁(0 x7d);柏 拌 艾 se
45、ndc搬(0 x5e);懊 耙 ca稗se 0 x7d癌:芭 吧 百 sendc绊(0 x7d);伴 暗 岸 sendc哀(0 x5e);瓣 岸 de袄fault:伴 罢 靶 sendc摆(*data1傲);巴 昂 叭 矮 data1+板+; 皑 sen佰dc(0 x00佰);盎 sen翱dc(0 x00阿);邦皑sendc(0绊x7e);把 / 哎等待显示完成拔 /r岸ecvc();疤/ 字符串打扳印到液晶肮void Lc罢mPrintf袄(char *澳fmt, .摆.)跋 va_罢list ap拜;奥 va_疤start(a绊p,fmt);疤 vsp翱rintf(d背ata1, f捌mt
46、, ap)安;瓣扒va_end(伴ap);胺 pac瓣ketLcm(柏LCMPRTF懊, data1傲, strle绊n(data1安);安/ 1 磁感傲应及环境光传感扳器模块癌/LCMHA拜LL, 艾 艾 / 霍尔接昂近开关氨/ 霍尔传感爱器,有磁铁靠近板TRUE,离开鞍FALSE碍void Lc唉mDispla佰yHall(b扳ool v)办 con捌v_t con矮v;癌叭conv.b 蔼= v;柏吧swap(co靶nv.c);昂 pac跋ketLcm(靶LCMHALL坝, conv.稗c, 4);阿/LCMRE佰ED, 白 啊 / 干簧管坝/ 干簧管,熬有磁铁靠近TR按UE,离开FA瓣
47、LSE熬void Lc澳mDispla岸yReed(b袄ool v)熬 con笆v_t con斑v;鞍罢conv.b 柏= v;岸搬swap(co艾nv.c);摆 pac斑ketLcm(搬LCMREED佰, conv.绊c, 4);吧/LCMME熬TAL, 把 柏 / 金属接搬近开关颁/ 金属传感版器,有金属靠近笆TRUE,离开爱FALSE班void Lc班mDispla芭yMetal(捌bool v)扒 con斑v_t con扳v;罢白conv.b 唉= v;唉肮swap(co蔼nv.c);澳 pac懊ketLcm(蔼LCMMETA背L, conv矮.c, 4);伴/LCMLU办X, 挨 挨
48、 / 环境光拜强度氨/ 环境光强安度,Lux埃void Lc埃mDispla罢yLux(fl奥oat v)般 con胺v_t con败v;扮 con罢v.f = v伴;翱颁swap(co按nv.c);哎 pac扮ketLcm(稗LCMLUX,埃 conv.c昂, 4);拔/LCMLD败R, 傲 爸 / 光敏电碍阻暗/ 光敏电阻耙,千欧般void Lc败mDispla百yLDR(fl唉oat v)八 con笆v_t con搬v;袄 con靶v.f = v拔;挨芭swap(co蔼nv.c);傲 pac袄ketLcm(胺LCMLDR,熬 conv.c瓣, 4);暗/ 2 震动败及mems麦克俺传感器
49、模块艾/LCMSH暗OCKDS, 佰 矮 / 双珠单挨向爸void Lc斑mDispla疤yShockD拜S(bool 扮v)稗 con袄v_t con皑v;哀拔conv.b 爸= v;伴 pac斑ketLcm(岸LCMSHOC柏KDS, co熬nv.c, s颁izeof(v哀);稗/LCMSH矮OCKDD, 颁 昂 / 双珠双拌向背void Lc版mDispla盎yShockD凹D(bool 阿vl, boo袄l vr)阿 con拔v_t con埃v;耙 if 爸(vl & 拔vr) 摆 班 conv.u埃c = 0 xf稗f;按 e岸lse if 唉(vl & 埃!vr) 疤 肮 conv
50、.u鞍c = 0 xf斑0;暗 e邦lse if 哎(!vl &板 vr) 拜 胺 conv.u半c = 0 x扳0f安;碍 e背lse 笆 败 conv.u盎c = 0 x0稗0; 按 pac瓣ketLcm(佰LCMSHOC隘KDD, co叭nv.c, s唉izeof(u啊nsigned霸 char)稗;按/LCMSH版OCKSPRI隘NG, 邦 / 弹簧柏void Lc鞍mDispla邦yShockS版pring(b跋ool v)扳 con捌v_t con斑v;敖稗conv.b 阿= v;埃 pac版ketLcm(稗LCMSHOC板KSPRING翱, conv.坝c, size隘of(v)
51、;跋/LCMSH扒OCK, 疤 岸 / 全向震袄动/ 全向震动熬void Lc搬mDispla矮yShock(斑bool v)佰 con蔼v_t con蔼v;办埃conv.b 岸= v;八 pac唉ketLcm(办LCMSHOC啊K, conv版.c, siz柏eof(v)白;霸/LCMMI版C, 拜 白 / MEM胺S麦克风版void Lc斑mDispla板yMIC(fl版oat v)半 con熬v_t con艾v;柏 con靶v.f = v斑;鞍案swap(co皑nv.c);柏 pac凹ketLcm(傲LCMMIC,扮 conv.c唉, 4);昂/ 3 测距叭测障类及温湿度胺类传感器模块稗
52、/LCMIR邦, 白 半 / 红外对俺管绊/ 红外对管伴电压,单位V摆void Lc颁mDispla邦yIR(flo颁at v)暗 con艾v_t con柏v;俺跋conv.f 半= v;昂敖swap(co邦nv.c);跋 pac靶ketLcm(邦LCMIR, 凹conv.c,按 4);半/LCMIR矮SWITCH,隘 扮 / 红外接班近开关坝void Lc昂mDispla翱yIRSwit扒ch(bool背 v)拌 con皑v_t con伴v;邦澳conv.b 敖= v;班 pac哎ketLcm(跋LCMIRSW熬ITCH, c般onv.c, 把sizeof(半v);伴/LCMUL百TR, 癌
53、 扳 / 超声波半测距哀/ 超声波测爱距,单位厘米翱void Lc皑mDispla办yUltr(f版loat v)斑 con埃v_t con绊v;板挨conv.f 摆= v;搬昂swap(co俺nv.c);把 pac盎ketLcm(扒LCMULTR埃, conv.把c, 4);安/LCMTE矮MP, 摆 案 / 温度/凹/ DS18b伴20败/ 温度,摄啊氏度扳void Lc案mDispla俺yTemp(f哀loat v)氨 con拔v_t con岸v;办败conv.f 按= v;袄吧swap(co啊nv.c);邦 pac拔ketLcm(安LCMTEMP鞍, conv.奥c, 4);凹/LCM
54、SH伴T10, 鞍 俺 / 温湿度暗传感器SHT1矮0癌/ 温湿度传拜感器SHT10扳/ 参数 t背:温度艾/ 稗 h:湿度疤void Lc半mDispla安ySHT10(翱float t板, float扳 h)靶 con氨v_t con奥v;拔 con蔼v.f = t罢;捌唉swap(co颁nv.c);哀 mem艾cpy(dat扒a1+0, c安onv.c, 搬4);哀 con碍v.f = h碍;扮笆swap(co败nv.c);拔 mem碍cpy(dat哎a1+4, c办onv.c, 昂4);艾 pac矮ketLcm(把LCMSHT1芭0, data熬1, 8);斑/LCMHU霸MI, 捌
55、隘 / 湿度/矮/SHT10翱/ 相对湿度敖,百分比盎void Lc罢mDispla矮yHumi(f捌loat v)办 con板v_t con般v;爸 con吧v.f = v版;罢背swap(co白nv.c);安 pac哎ketLcm(柏LCMHUMI坝, conv.稗c, 4);败/LCMNT皑C, 懊 碍 / 热敏电芭阻盎void Lc瓣mDispla按yNTC(fl癌oat v)啊 con挨v_t con白v;斑 con案v.f = v叭;把把swap(co稗nv.c);癌 pac皑ketLcm(捌LCMNTC,疤 conv.c颁, 4);白/ 4 操作哎控制类及加速传岸感器模块叭/LC
56、MAC敖C, 捌 把 / 三轴加稗速度奥/ 三维加速扒度,单位g疤void Lc翱mDispla熬yAcc(fl半oat x, 氨float y昂, float奥 z)八 con伴v_t con哀v; 叭 con般v.f = x暗;鞍袄swap(co爱nv.c);叭 mem般cpy(dat阿a1+0, c碍onv.c, 扮4);挨 con熬v.f = y佰;哎埃swap(co碍nv.c);隘 mem绊cpy(dat芭a1+4, c坝onv.c, 盎4);哀 con跋v.f = z巴;扳跋swap(co绊nv.c);巴 mem芭cpy(dat肮a1+8, c安onv.c, 按4);吧 pac巴k
57、etLcm(懊LCMACC,般 data1,疤 12);扒/LCMJO氨YSTICK,拔 傲 / 摇杆电熬位器爸/ 摇杆电位伴器,12位AD坝值澳void Lc澳mDispla氨yJoysti盎ck(unsi盎gned in斑t x, un碍signed 办int y)胺 con哀v_t con拔v; 懊 con皑v.ui = 拌x;伴唉swap(co把nv.c);扳 mem爱cpy(dat挨a1+0, c笆onv.c, 斑4);捌 con摆v.ui = 鞍y;安绊swap(co八nv.c);爸 mem伴cpy(dat柏a1+4, c败onv.c, 扮4);扮 pac拌ketLcm(埃LCMJ
58、OYS奥TICK, d啊ata1, 8袄);拜/LCMEN邦CODER, 蔼 啊 / 编码开癌关霸/ 编码开艾关案void Lc吧mDispla斑yEncode半r(encd_奥t v)版 con蔼v_t con白v; 办 con矮v.en = 吧v;斑板swap(co唉nv.c);熬 mem搬cpy(dat巴a1+0, c俺onv.c, 按4);埃 pac鞍ketLcm(奥LCMENCO柏DER, da俺ta1, 4)熬;拌/ 5 称重啊传感器模块般/LCMWE哎IGHT, 埃 奥 / 称重拔/ 称重传感懊器,单位克熬void Lc奥mDispla阿yWeight蔼(float 搬v)斑 c
59、on阿v_t con芭v;版扮conv.f 班= v;挨绊swap(co芭nv.c);翱 pac爱ketLcm(巴LCMWEIG稗HT, con颁v.c, 4)皑;傲/ 6 粉尘稗传感器模块扒/LCMDU靶ST, 笆 百 / 粉尘斑/ 粉尘,单胺位粒子数胺void Lc澳mDispla般yDust(f白loat v)挨 con扒v_t con笆v;班安conv.f 爸= v;敖凹swap(co隘nv.c);佰 pac八ketLcm(搬LCMDUST懊, conv.拔c, 4);巴/ 7 红外班测温及颜色传感绊器模块(增强型哎模块)班/LCMBO挨DYTEMP,爸 叭 / 红外测暗体温袄/ 体温
60、,摄傲氏度俺void Lc爱mDispla扮yBodyTe扳mp(floa叭t v)懊 con办v_t con皑v;扒 con瓣v.f = v靶;耙奥swap(co背nv.c);邦 pac鞍ketLcm(埃LCMBODY搬TEMP, c翱onv.c, 绊4);奥/LCMCO颁LOR, 邦 拌 / 颜色邦/ 颜色,R昂GB 各8位胺void Lc邦mDispla摆yColor(岸unsigne坝d char 白r, unsi捌gned ch靶ar g, u办nsigned跋 char b矮)捌 con矮v_t con隘v; 半 con熬v.uc = 捌r;半 mem熬cpy(dat邦a1+0,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2026年)新课标学习计划安排
- (2026版)石化作业安全管理细则模拟考试题库试卷一
- 糖汁过滤工复试能力考核试卷含答案
- 半导体辅料制备工冲突管理水平考核试卷含答案
- 飞机蒙皮落压钣金工操作技能知识考核试卷含答案
- 陶瓷烧成工岗前基础培训考核试卷含答案
- 瓦斯泵工成果知识考核试卷含答案
- 电子电气产品检验员岗前岗位实操考核试卷含答案
- 推土犁司机岗前环保及安全考核试卷含答案
- 纤维板工测试验证考核试卷含答案
- 《TCWTCA装配式高桩码头节点连接技术规程》
- 2026年校招:中国国际航空试题及答案
- 2026中国建设银行招聘考试(信息技术类)历年参考题库含答案详解
- 2026年工贸企业有限空间作业专项整治考核试卷及答案
- 天津市南开区2025-2026学年九年级上学期期中质量检测历史试题(含答案)
- 2025年国家电网考试历年真题库(附参考答案)
- 2026届江西重点中学协作体高三第二次联考政治试卷
- 危险化学品安全管理2026年培训
- 小学生对自然观察活动的参与体验与科学素养培养课题报告教学研究课题报告
- 2026年江苏南京公开国企招聘真题试题及答案
- 2026年5月29日税务总局系统升级税收分类编码-财务人员开票培训课件
评论
0/150
提交评论