基于nRF24L01的无线温湿度检测系统设计 - 图文

更新时间:2024-04-17 08:43:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

浙江万里学院

本科毕业设计(论文)

(2014届)

论文题目 基于

nRF24L01的无线温湿度

检测系统设计 (英文) Design of Wireless Temperature and Humidity Detection System Based on nRF24L01

所在学院 电子信息学院 专业班级 电气工程及其自动化101班 学生姓名 陈树源 学号 2010013827

指导教师 郑子含 职称 副教授 完成日期 2014 年 4 月 20 日

1 基于nRF24L01的无线温湿度

检测系统设计

陈树源

(浙江万里学院电信学院电气101班)

2014年4月

2 摘 要

温湿度是一个非常重要的参数。在工业、医疗、军事和生活等许多地方,都需要用到检测装置来测量温湿度。随着现代社会的告诉发展,传统直接布线测量方式已无法再满足现状,特别是在某些环境恶劣的工业环境和户外环境,通过直接布线测量显得苍白而无力,因此无线温湿度检测技术应运而生。

本设计主要由主控模块、无线传输模块、温湿度监测系统、显示模块、时间模块、电源模块等组成。并通过对各种类模块进行对比和筛选,挑出比较适合该设计的模块。主控模块采用单片机STC89C51,温湿度模块采用SHT11温湿度传感器,无线传输模块采用nRF24L01,时钟芯片采用DS12C887,显示模块采用液晶LCD1602。单片机通过时钟模块获取时间数据,对数据进行处理;温湿度传感器采集温湿度信号送给单片机处理;单片机通过无线模块再把时间数据和温湿度数据发送到PC端,在显示模块上显示数据。整个系统实现了实时监控环境温湿度的功能。

关键词:温湿度;STC89C51;SHT11;nRF24L01

3 Abstract

Temperature and humidity is an important parameter. In many parts of the industrial, medical, military and other life, you need to use the detector to measure the temperature and humidity. With the development of modern society tells traditional direct measurement wiring can no longer meet the status, especially in some harsh industrial environments and outdoor environment, through direct measurement wiring looked pale and weak. Therefore, wireless temperature and humidity detection technology came into being.

Primarily by the design control module, wireless transmission module, temperature and humidity monitoring system, display module, time module, power modules and other components. And through various types of modules for comparison and selection, pick more suitable for the design of the module. Master module using SCM STC89C51, temperature and humidity module using SHT11 temperature and humidity sensors, wireless transmission module using nRF24L01, clock chip DS12C887, using liquid crystal display module LCD1602. SCM data obtained through time clock module, for data processing; temperature and humidity sensors collect temperature and humidity signal to the microcontroller processing; microcontroller through a wireless module and then the temperature and humidity data and time data is sent to the PC side, the data displayed on the display module. The function of the whole system to achieve real-time monitoring of temperature and humidity.

Key Words: Temperature and humidity; STC89C51; SHT11; nRF24L01

4 目 录

1 引言 .......................................................................................................................... 6 2 总体设计 .................................................................................................................. 7 2.1方案论证及比较 ................................................................................................. 7

2.1.1主控模块的选择 .......................................................................................... 7 2.1.2.温湿度检测系统的选择 ............................................................................. 8 2.1.3.无线发射模块的选择 ................................................................................. 9 2.1.4.显示模块的选择 ....................................................................................... 10 3 系统硬件设计 .......................................................................................................... 12 3.1 单片机主控模块 ............................................................................................... 12 其功能和特点 ....................................................................................................... 12 3.2 无线射频模块NRF24L01 ................................................................................ 13 3.2.1 NRF24L01引脚功能 ................................................................................... 14 3.2.2 工作模式 ..................................................................................................... 14 3.2.3 NRF24L01模块与单片机的连接原理图 ..................................................... 15 3.3 温湿度传感器 SHT11 ....................................................................................... 16 3.3.1 SHT11温湿度传感器的基本原理 ............................................................ 16 3.3.2 SHT11与单片机的管脚连接原理图 ........................................................ 17 3.4 显示模块 ........................................................................................................... 18 3.4.1 LCD1602的引脚 ........................................................................................ 18 3.4.2 LCD1602与单片机的连接图 .................................................................... 19 3.5 电源模块 .......................................................................................................... 19 4 系统软件设计 .......................................................................................................... 20 4.1 主程序流程图 .................................................................................................. 20 4.2 NRF4L01数据发送子程序 ............................................................................... 20 4.3 NRF4L01数据接收子程序 ............................................................................... 22 4.4 温湿度采集子程序 .......................................................................................... 22 4.5 液晶显示子程序 .............................................................................................. 22 4.5.1 LCD1602的指令 ........................................................................................ 22 4.5.2 LCD1602数据显示子程序流程图 ............................................................ 24 致谢 .............................................................................................................................. 27 参考文献 ...................................................................................................................... 28 附录1 系统原理图 ..................................................................................................... 29 附录2 源程序代码 ..................................................................................................... 30

5

1 引言

随着社会生产的不断发展进步,许多工农业生产过程以及民用场合都需要对环境的温度和湿度进行检测并控制,比如:粮仓、温室蔬菜大棚、通信基站、电力变电房、药厂、图书馆、博物馆等[1]。

在当今的工业、电力行业中,为了保证社会的正常运作以及人民的正常生活,保证电气设备的正常运行至关重要。很多企业提倡对设备进行预防性的维护,而温度是预防性维护中最重要的监控参数,温度的过高或过低都可能潜藏着安全隐患。所以实现温对度在线监测是保证高压设备安全运行的重要手段。在传统的温湿度测量中分别采用温度传感器和湿度传感器采集温度和湿度信号并通过布置大量的电缆或导线进行有线传输在多测点的情况下 这种方法无疑大大增加了成本和系统设计的复杂性同时安装拆卸繁琐不灵活信号容易受到干扰[2]。

如今,对农业环境实施技术的认识已经增加到行业当中。对所需因素的手动搜集可以是零星的,不连续的,并且会在错误的测量中发生变化。这可能会给控制重要的环境因素造成困难。无线独特的传感器节点可以减少用于监控环境所需要的时间和精力。数据日志允许数据减少,遗失或错放。并且,这些数据也允许安置在关键位置,而不需要在危险情况下放置专门人员[3]。目前,无线数据通信的应用领域越来越广:遥控遥测、无线抄表、门禁系统、身份识别、非接触RF智能卡、无线标签、安全防火系统、生物信号采集、机器人控制等.凡是布线繁杂或不允许布线的场合都希望能通过无线方案来解决。所以在种种因素下,采用无线检测系统的优越性就体现出来了[4]。

6 2 总体设计

2.1方案论证及比较

2.1.1主控模块的选择

主控模块作为整个系统的控制核心,其性能的好坏对系统工作的影响是非常重要的,经过资料翻阅,初步设定以下两种方案供参考。

方案一:STC89C51的主CPU电路选用STC89C52RC系列单片机,STC89C52RC是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率为80MHz,片内含8K Bytes的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。STC89C52RC系列单片机是单时钟/ 机器周期(1T)的兼容8051 内核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/ 精简指令集结构,内部集成MAX810 专用复位电路。

方案二:AT90S8515是一种AVR系列单片机,使用它系统无需程序存储器、数据存储器以及A/D转换器,大大简化了硬件的设计。其内部的硬件看门狗电路及相应的看门狗指令控制,提高了系统的可靠性及安全性,适合用于组成智能检测及采集处理系统。电荷耦合器件CCD是在大规模集成电路工艺基础上研制雨成的MOS型集成电路芯片。自1970年美国贝尔实验室W.S.Boyle和G.E.Smith首先提出以来,其技术研究取褥了惊人的进展。利用摄像镜头CCD把实时图像信息通过光电转换而再现信息存储与传递功能。当对它施加特定时序的脉冲时,其存储的电荷便能在CCD内作定向传输而实现自扫描。它具有体积小、分辨率高、稳定性能良好、抗电磁干扰等特点。得以在工件尺寸检测、图像传真、智能传感器等方面广泛应用本文致力于线阵CCD智能检测系统的研制,将传感技术、智能技术和单片机相结合,实现了非接触在线检测,系统具有实时性、准确性、智能化、灵敏度高以及标准输出等优点。由于本课题显示的信息简单,不需要显示

7 [5]

复杂的信息,若采用该系统就造成资源浪费。

本着系统设计硬件选择经济实惠的原则,采用方案一。

2.1.2.温湿度检测系统的选择

温湿度检测部分是用来显示温湿度信息,科学家根据不同的检测要求研制出多种方案,本人提取几种可以应用在本次系统的方案进行比较。

方案一:采用Honeywell公司相对湿度传感器HIH3610,并配合DALLAS公司一线总线智能电池监视器件DS2438实现湿度采集,组成一种完全符合一线总线规范的湿度传感器。相对湿度传感器HIH3610在供电电压为5V时,其消耗电流仅为200mA,其输出电压为:V out=V supply[0.0062(sensor%RH)+0.16],若V supply固定为5V,则其值仅由相对温度值决定。由于一线总线上供电电压值为变量,故要求在进行湿度测量的同时还应测量电源电压V supply的值。HIH3610测量湿度值还与环境温度有关,故应进行温度补偿,补偿公式为:RH=(sensor%RH)/1.0546—0.0216T。因此,为得到准确的湿度测量值,还应在测量湿度的同时测量环境温度和一线总线电源电压值。DS2438硬件资源有2个ADC和1个温度传感器;电压ADC对0一IOV输入信号实现10位变换或通过内部多路开关对0—5V输入信号实现9位变换,用来读取加在电源引脚上的电压硬件资源有2个ADC和1个温度传感器,电压ADC对0—10V输入信号实现10位变换或通过内部多路开关对0—5V输入信号实现9位变换,用来读取加在电源引脚上的电压。Sl8820H1是DALLAS公司推出的智能型数字式温度传感器,它采用一线接口,既可通信,又可通过数据线供电,只需占用微处理器的一个I/0位;并且DSl8820[6]将测的温度信号转换为数字量输出,可以直接与微处理器相连,大大简化了电路的设计。DSl8820本身带有命令集和存储器,微处理器通过发出控制命令,对DSl8820的存储器进行读写,完成温度测量。这个方案主要的缺点是逻辑电路复杂,器件和维护的成本较高,不利于大量投入农业设备的检测。

方案二:SHT11是单片集成的数字温湿度传感器,所有信号的调理都在芯片内部完成,采用I2C总线串行接口电路实现通信,完成数据和时钟的传输,而且直接输出数字信号。这样不仅节省了单片机的I/O口线,而且减少了A/D转换器件,降低了成本,与单片机接口简单、检测准确、稳定性好,实现了对温湿度参

8 数的测量。在实际测量中由于SHT11的输出特性呈一定的非线性,采用软件补偿以获取准确数据。该温湿度传感器功能强大,且具有高度的可靠性和长时间的稳定性等特点,价格也相对低廉,所以完全符合本次设计系统的需要。

方案三:HMP45D温湿度传感器是由温度传感器和湿度传感器组成。其中,温度传感器是铂电阻温度传感器,湿度传感器是湿敏电容湿度传感器。铂电阻的特点是:温度系数较大,即灵敏度较大;电阻率较大,易于绕制高阻值的元件;性能稳定,材料易于提纯;测温精度高,复现性好。湿敏电容传感器是用有机高分子膜作介质的一种小型电容器。HMP45D温湿度传感器的头部必须有保护滤纸,防止感应元件被尘埃污染。湿敏电容不能长时间暴露在含有某些化学物质的气体中,否则可能改变它的性能,缩短使用寿命。所以,应定期拆开传感器的头部网罩,清洗滤纸或者更换新的滤纸[7]。首先,对于应用于农牧业的温湿度检测系统,这一点显得非常的不现实。其次,该温湿度传感器必须安装在百叶箱内。传感器的中心点离地面1.50 m。这会使得检测的结果失去一定的准确性。所以这个也不适合。

综上所述,方案二比较符合本次设计的要求。

2.1.3.无线发射模块的选择

本次设计是基于无线设备的温湿度监测系统,所以,无线设备的稳定性和准确性非常的重要。经总结,归纳了以下两种方案。

方案一:nRF905是Nordic VLSI公司推出的单片机视频收发器,工作于433/868/915 MHz,3个ISM(工业、科学和隧学)频道,采用32脚O刚封装,芯片尺寸为5m×5m,工作电压为1.9—3.6V。它由频率合成嚣、功率合戒器、晶体振荡器和调制器组成,外围元件少,不用外加声表面振荡器,天线可采用PBC环形天线或单端鞭状天线,发射功率最太为10 dBm.接收功率为460 dBm,在开阔地传输距离一般可达600 m以上。(在地形复杂时会缩短距离,这与使用环境、干扰、系统调谐有关。但一般调谐不可大于200 m[8]。由于该系统应用于农牧业,应用环境非常巨大,所以,这一点不能满足设计的需要。

9 方案二:nRF24L01是一款工业级内置链路层逻辑的2.4HZ超低成本的无线收发芯片,nRF24L01支持多点间通信,最高传输速率达2Mbit/s,比蓝牙具有更高的传输速度。它采用SOC方法设计只需少量外围元件便可组成射频收发电路。与蓝牙不同的是,nRF24L01没有复杂的通信协议,它完全对用户透明通过一个标准的SPI接口与外围控制器连接,同种产品之间可以自由通信,并且比蓝牙产品更便宜。所以nRF24L01是业界体积最小、功耗最少、外围元件最少的低成本射频系统级芯片[9]。基于以上特点,该无线传输模块满足本次设计的需要。

综上所述,方案二比较合适。

2.1.4.显示模块的选择

方案一:选择主控为ST7920的带字库的LCD12864来显示信息。12864是一款通用的液晶显示屏,能够显示多数常用的汉字及ASCII码,而且能够绘制图片,描点画线,设计成比较理想的结果。

方案二:采用字符液晶LCD1602显示信息,1602是一款比较通用的字符液晶模块,能显示字符和数字等信息,且价格便宜,容易控制。

方案三:采用LED7段数码显示管显示,其成本低,容易显示控制,但不能显示字符。

综上所述,我们选择了经济实惠的字符液晶LCD1602来作为接收端的显示。发送端用7段数码管显示。

本次设计的无线温湿度监控系统有上位机子系统(发送端)和下位机子系统(接收端)两个部分组成。 上位机子系统:

图2-1 发送端系统原理图

下位机子系统:

10

该系统主要由STC89C51单片机,nRF24L01无线射频模块,液晶显示,温湿度传感器,时钟模块和电源模块组成如图2-2。

图2-2 接收端系统原理图

11 3 系统硬件设计

3.1 单片机主控模块

STC系列单片机是美国STC公司最新推出的一种新型51内核的单片机,片内含有Flash程序存储器、SRAM、UART、SPI、A\\D、PWM等模块,其中STC89C51的基本功能与普通的51单片机完全兼容。

时钟电路图:

时钟模块选用时钟芯片DS12C887。它将晶体振荡器电路、充电电路和可充电锂电池等一起封装在芯片的上方,组成一个加厚的集成电路模块,其原理图如图3-1所示。

图 3-1 时钟模块原理图

其功能和特点

? 在没有外部电源的情况下可工作10年 ? 自带晶体振荡器及锂电池

? 可计算到2100年前秒、分、小时、周、日、月、年七种日历信息并带闰

年补偿

? 用二进制码或BCD码代表日历和闹钟信息

? 有12小时和24小时两种制式,12小时制有AM 和PM 提示 ? 数据/地址总线复用

? 内建128BRAM,14B时钟控制寄存器,l14B通用RAM ? 可编程方波输出、总线兼容中断 ? 三种可编程中断:

12 ——时间性中断,可产生每秒一次至每天一次中断 ——周期性中断122ms到500ms ——时钟更新结束中断

复位电路电路图:

复位是单片机的初始化操作,单片机在启动运行时,都需要先复位,它的作用是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的外部复位电路有上电自动复位和按键手动复位两种方式,按键手动复位又分为按键电平复位和按键脉冲复位。而本次设计选择按键电平复位,按复位键后复位端通过电阻与VCC电源接通。如图3-2所示,因为采用了12MHz,每机器周期为1us,则只需要2us以上时间的高电平,在RST引脚(在电容器C3的负端)出现高电平后的第二个机器周期执行复位,利用电容充电来实现,在接电的瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降,当按下RESET键,此时电源VCC经过电阻R1、R2分压,在RESET端产生复位高电平。

图 3-2 复位电路

3.2 无线射频模块nRF24L01

nRF24L01是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型Shock Burst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。

13 3.2.1 nRF24L01引脚功能

nRF24L01的封装及引脚排列如图 所示。各引脚功能如下:

图3-3 nRF24L01封装图

CE:使能发射或接收;

CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01: IRQ:中断标志位; VDD:电源输入端; VSS:电源地;

XC2,XC1:晶体振荡器引脚;

VDD_PA:为功率放大器供电,输出为1.8 V; ANT1,ANT2:天线接口; IREF:参考电流输入。

3.2.2 工作模式

通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式,如表所示。

待机模式1主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的;

待机模式2则是在当FIFO寄存器为空且CE=1时进入此模式; 待机模式下,所有配置字仍然保留。

14 在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。

表1:nRF24L01四种工作模式

模式 接收模式 发射模式 发射模式 待机模式2 待机模式1 掉电

PWR_UP 1 PRIM_RX CE 1 1 FIFO寄存器状态 - 1 0 1 数据在TX FIFO 寄存器中 1 0 1→0 停留在发送模式,直至数据发送完 1 0 1 TX FIFO 为空 1 - 0 无数据传输 0 - - - 3.2.3 nRF24L01模块与单片机的连接原理图

nRF24L01单端匹配网络:晶振,偏置电阻,去耦电容。

15

VDDC7C833nF10nF1nFCE1CECSN2CSN3SCKSCKMOSI4MOSIMISO5MISOIRQC9R222K2019181716VSSDVDDVDDVSSIREFU1C550omh,RFI/O3.9nH1.5pFC6L11.0pF8.2nHL22.7nHC3C42.2nF4.7pFL36IRQ7VDD8VSS9XC210XC1C122pF15VSS14ANT213ANT112VDD_PA11VDDNRF24L01X116MR11MC222pF

图3-4 nRF24L01单端50Ω射频输出电路原理图

3.3 温湿度传感器 SHT11

3.3.1 SHT11温湿度传感器的基本原理

SHT11的湿度检测运用电容式结构,并采用具有不同保护的“微型结构”检测电极系统与聚合物覆盖层来组成传感器芯片的电容,除保持电容式湿敏器件的原有特性外,还可抵御来自外界的影响。由于它将温度传感器与湿度传感器结合在一起而构成了一个单一的个体,因而测量精度较高且可精确得出露点,同时不会产生由于温度与湿度传感器之间随温度梯度变化引起的误差。COMSENETM技术不仅将温湿度传感器结合在一起,而且还将信号放大器、模/数转换器、校准数据存储器、标准12总线等电路全部集成在一个芯片内。SHT11传感器的内部结构框图如图3-5所示

16

图3-5 SHT11 传感器内部就结构框图

SHT11的每一个传感器都是在极为精确的湿度室中校准的。SHT11传感器的校准系数预先存在OTP内存中。经校准的相对湿度和温度传感器与一个14位的A/D转换器相连,可将转换后的数字温湿度值送给二线I2C总线器件,从而将数字信号转换为符合I2C总线协议的串行数字信号。

由于将传感器与电路部分结合在一起,因此,该传感器具有比其它类型的湿度传感器优越得多的性能。首先是传感器信号强度的增加增强了传感器的抗干扰性能,保证了传感器的长期稳定性,而A/D转换的同时完成,则降低了传感器对干扰噪声的敏感程度。其次在传感器芯片内装载的校准数据保证了每一只湿度传感器都具有相同的功能,即具有100%的互换性。最后,传感器可直接通过12C总线与任何类型的微处理器、微控制器系统连接,从而减少了接口电路的硬件成本,简化了接口方式。

3.3.2 SHT11与单片机的管脚连接原理图

以下是SHT11与单片机的管脚连接原理图,如图3-6所示

图 3-6 SHT11与单片机的管脚连接图

17 3.4 显示模块

显示模块采用的是液晶LCD1602。

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 3.4.1 LCD1602的引脚

以下是LCD1602的引脚图3-7。

图 3-7 1602采用标准的16脚接口,其中: 第1脚:GND为电源地。 第2脚:VCC接5V电源正极。

第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

第5脚:RW为读写信号线,高电平(1)时进行读操作,电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。

18 第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。 15脚背光正极。

16脚背光负极。

3.4.2 LCD1602与单片机的连接图

3.5 电源模块

J1为line input

5V,两个104电容为滤波电容,引脚分别接地,主要是滤掉高频纹波,防止自激震荡;47UF为滤波电容,主要是滤掉低频纹波;R1作限流作用以保护稳压二极管D2,当输入电压和输出负载电流发生变化时R1通过本身降压的变化,来调整稳压二极管D2的工作电流,从而起到稳压作用。其原理图如图3-8所示

图 3-8 5V转3.3V原理图

19 4 系统软件设计 简单介绍系统软件组成。

4.1 主程序流程图

4.2 nRF4L01数据发送子程序

发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保留以便在次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。

配置字

20

SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由nRF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给MCU。

nRF24L0l所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。nRF24L01 的配置寄存器共有25个,常用的配置寄存器如表2所示。

4.2.2 nRF4L01数据发送

表2:常用配置寄存器

地址(H) 00 01 02 03 04 寄存器名称 功能 CONFIG EN_AA EN_RXADDR SETUP_AW SETUP_RETR 设置24L01工作模式 设置接收通道及自动应答 使能接收通道地址 设置地址宽度 设置自动重发数据时间和次数 07 STATUS 状态寄存器,用来判定工作状态 0A~0F 10 11~1RX_ADDR_P0~P5 设置接收通道地址 TX_ADDR RX_PW_P0~P5 设置接收接点地址 设置接收通道的有效数据宽21 6 度

4.3 nRF4L01数据接收子程序

接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。

4.4 温湿度采集子程序

4.5 液晶显示子程序

4.5.1 LCD1602的指令

1602液晶模块内部的控制器共有11条控制指令。 第1条:清显示(0x01H) RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 0 0 1

第2条:光标复位(0x02H或0x03H) RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 0 1 * 第3条:设置输入模式

22 RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 1 I/D S 第4条:显示开/关控制

RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 1 D C B 第5条:光标或者字符移位 RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 1 S/C R/L * * 第6条 功能设置

RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 DL N F * * 第7条:字符发生存储器地址 RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 1 字符发生器地址(AGG) 第8条 :数据存储器地址

RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 显示数据存储器地址(ADD) 第9条:读取忙标志或者地址 RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 1 BF 计数器地址(AC) 第10条 写数据到CGRAM或者DDRAM RS RW D7 D6 D5 D4 D3 D2 D1 D0 1 0 写入的数据

第11条 CGRAM或者DDRAM读取数据 RS RW D7 D6 D5 D4 D3 D2 D1 D0 1 1 读取的数据

23 4.5.2 LCD1602数据显示子程序流程图

24 5 制作与调试

我们进行的是单点通信,传输温湿度数据。发送端采集温湿度,在4位LED数码显示管上显示,并发送到接收端。其结果如图。

5-1发送图端采集到温湿度显示

接收端接收到温湿度及显示:

图5-2 接收端接收到数据并显示在LCD1602上

25

6 结论

本文设计的无线温湿度测量系统结构比较简单,容易操作,系统性能好,且能够方便的布设到已建设完成或正在建设的应用场所中。如果在本系统上增加气体传感器、烟火传感器、红外传感器等其他的传感器,可以很容易的将其转变成智能家居、防火防暴防盗、现代农业等领域的智能监测系统。同样,也可在本系统上增加控制模块,应用到工业、农业等领域成为智能控制系统。

26 致谢

在此,衷心地感谢我的指导教师郑子含老师!在我做毕业设计阶段,她自始至终给予了我精心的指导和严格的要求,为本论文的顺利完成倾注了大量的心血。郑老师敏捷的思维、丰富的经验给我留下了深刻的印象。在她的热心指导下使我能满怀信心地进行毕业设计,独立地解决了不少问题,增强了我的创造性思维,使我能胜利完成了本论文的工作。郑老师的真诚、热心和严肃使我印象很深,正是这样,我才学到了很多知识,再次表示对郑老师深深的谢意!

自大一入学以来,各位老师一直以来的辛勤工作和教导使我能顺利地度过难忘的四年,使我在综合素质提高、专业理论知识学习和实践工作能力等各方面受益匪浅。此次毕业设计和论文撰写过程中,也得到了许多同学的关心、指导和帮助,没有他们的帮助,我的论文及设计也不会顺利地完成,在此,我向我的同学和各位老师表示诚挚的感谢!

27 参考文献

[1] 潘磊.基于单片机的多路温湿度检测系统设计[J].信息通信.2013年第1期 [2]朱玉颖,蔡占辉.基于nRF24L01的远程温度检测系统设计[J].自动化技术与应用 2010,5.56-58.

[3]Swarup S. Mathurkar,D. S. Chaudhari.A Review on Smart Sensors Based Monitoring System for Agriculture.International Journal of Innovative Technology and Exploring Engineering (IJITEE)ISSN: 2278-3075, Volume-2, Issue-4, March, 2013.

[4]陈丽娟,常丹华.基于nRF2401的无线数据通信[J].电子器件,2006,1: 248-250.

[5]何光仁.2000年CCD市场与技术走向[J].光电子技术信息,1997(8):12--18. [6]梁勇.粮仓中使用的各种温度传感器的分析与比较[J].粮食储藏,2007(6) 44—47.

[7]孙文良,沈秋宇,于文博,李东宇,李大明.HMP45D温湿度传感器的检定校准[J].2009,9:125

[8]金保华,张勇,崔光照.基于nRF905的无线数据多点跳传通信系统。 2004.6(9):40

[9]刘靖,陈在平,李其林.基于nRF24L01的无线数字传输系统[J].2007.6第23卷第3期:38 [10] [11](加拿大)Simon Haykin,Machael Moher.现代无线通信[M].郑宝玉译. 电子工业出版社, 2006.

[12]Guiyun Tian.Foundation and Application of Microcontraller[M].高等教育出版社, 2004.11.

28 附录1 系统原理图

29 附录2 源程序代码

30

本文来源:https://www.bwwdw.com/article/sljp.html

Top