新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于nRF24L01的无线温湿度检测系统设汁

基于nRF24L01的无线温湿度检测系统设汁

作者:时间:2012-03-01来源:网络收藏

2.3 串行通信模块
主机单片机接收到的数据后,经MAX232电平转换可实现单片机程序下载与升级,同时可实现单片机与PC机(上位机)的通信,以便将显示数据信息通过此电路传送到PC机,并存PC机上显示,其串行通信电路如图6所示。

本文引用地址:http://www.eepw.com.cn/article/155230.htm

i.JPG



3 软件设计
3.1 下位机软件
本系统使用C语言编程,应根据设计任务的要求确定系统程序的完整结构,尽可能采用模块化程序设计方法,将任务划分为相对独立的功能模块,明确各模块的功能、时间顺序和相互关系,系统的软件设计可以分为几个部分,首先是各个模块的底层驱动程序编写,而后是系统联机调试,最后再编写上位机的系统程序。
主程序是控制和管理的核心,系统上电后,首先进行初始化,系统开始正常运转后,再进行温、湿度的监测与处理等操作。
3.2 上位机软件设计
系统上位机能完成的功能有显示串口号,提示串口是否已被成功打开;同时,上位机能够与下位机同步显示温度,而且能够实时曲线显示温度;上位机能够设置下限和上限,当高于上限或低于下限温湿度时,还能够报警。将主机单片机的控制电路串行接口与电脑串口经过电平转换连接后,选择正确的通信协议,设置好波特率,即可进行通信。图7所示是上位机操作界面图。

a.JPG


上位机软件可在PC机上通过VC6.0编写,主要是对MSComm控件及CserialPort类进行操作。
首先是串口设置。本系统利用的是CSERIALPORT类中的初始化函数InitPort (this,nport,nbtl,‘N’,8,1,m_dwCommEvents,512).其巾nport为串口号,nbtl为波特率,可利用串口设置对话框中的串口号和波特率两个组合框分别得到初始化函数中的nport和nbtl。
其次是对温湿度上下限的设置。可利用CSERIALPORT类中的启动串口监测进程函数Start Monitoring、发送字符串函数WriteToPort以及关闭串口进程StopMonitoring来进行温度上下限的设置,其信息通过这些函数发送到串口,单片机从RS232上收到数据后,与自身的温度相比较,再进行相应的处理。
第三是曲线显示。动态曲线显示可利用CHistogram类中的SetRange(200,400),SetPos(temp)函数,SetRange设置上下极限值,SetPos是在图上显示相应的数据点,temp是从单片机传来的温湿度数据的处理结果,具体的移动曲线可由CHistogram类中函数实现。

4 结论
经测试,在发射接收模块没加天线的情况下,发射接收模块在大多数情况下的数据传输距离在200 m左右,发射头发射功率、接收头接收灵敏度等因素可能会影响传输距离,若外加天线,则会大大增加传输距离。另外,在调试过程中,振荡电阻必须匹配,否则接收距离会变短甚至无法接收。
本系统的数字信号由单片机采样,DHT11的数字温湿度传感器构成的实时监控系统具有精度高、抗干扰能力强、电路简单等诸多优点。然后利用单片机与PC机的通信可将数据送到PC机进行数据的存储、后期处理与显示。本系统数据处理功能强大、显示直观、界面友好、性价比高,可广泛应用于工业控制、仪器、仪表、农业养殖及智能家居等诸多领域。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭