




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生科技项目结题报告项目名称:空气质量检测系统的研制起止年月:项目负责人:学院名称: 年级专业联系电话:指导教师:填写日期:2015-3-2934环境及空气质量综合检测系统的研制【简介】:人们越来越注重生活环境的质量,环境及其空气质量的检测将会有一个很 好的发展趋势。而关于环境及空气质量的检测产品还是比较少见的。本系统正是基于单片 机及电子技术方面的专业知识,以单片机Atmel Atmega328作为主要信息处理,通过Sharp 光学粉尘传感器(GP2Y1O1OAU0F、DHT11温湿度传感器对外部环境信息进行采集并且能 时时显示在显示屏上,与此同时还能与计算机网络进行通信的产品。具该产品具有
2、品质卓 越、超快响应、抗干扰能力强、性价比极高等优点。【关键字】:环境检测单片机 传感器 与计算机网络通信Developme nt of the en vir onment and air quality detecti on systemAbstract: There is a growing emphasis on the quality of the living environment, the en vir onment and air quality test ing will have a good developme nt trend. In regard to the en
3、vir onment and air quality test ing products is still relatively rare. This system is based on the expertise of microc on troller and electro nic tech no logies, Atmel Atmega328microc on trolleras the main in formatio nprocess ing,optical dust sensor by Sharp (GP2Y1010AU0F), DHT11 temperature and hu
4、midity sensors collect information on the external environment andean always be displayed on the scree n At the same time also to com muni cate with the computer n etwork products. The product with the product has excelle nt quality, fast resp on se, an ti-i nterfere nee ability, high cost, etc.Keyw
5、ords: en vir onmen taltest ingSCM sen sor com muni cati on and computern etworks目录引言 3第一章总体方案理论概述 41设计方案 41.1总体方案 41.2模块器件选择 51.2.1单片机选择 51.2.2传感器的选择 51.2.3无线通信模块 61.3系统功能模块 6第二章系统各部分器件功能简介 72.1 MCU控制器的处理模块分析 72.1.1 单片机 Atmel Atmega328 介绍 72.1.2 SPI简要概述 72.2采集模块功能介绍 82.2.1粉尘传感器介绍 82.2.2 DHT11温湿度传感器介
6、绍 82.3无线模块介绍 92.4显示模块介绍 92.4.1显示原理 102.4.2显示特性 10第三章软件程序 113.1接收程序 113.2发送程序 17第四章系统调试及指标 244.1系统调试 244.1.1外部数据采集调试 244.1.2无线通信测试 244.1.3与计算机通信调试 244.2系统指标 24参考文献 25附录 26引言当前,随着人民生活水平的不断提高,人们对生活环境的关注更加密切,特别是近年 的华北地区的雾霾天气,给群众造成很大的心理影响。群众是环境污染的直接受害者,他 们对于污染的反应最敏感、最强烈,要求也最迫切、最直接。因此, PM2.5的监测得到政 府、群众的高度
7、重视及实际需要。PM2.5是指大气中直径小于或等于 2.5微米的颗粒物,也称为可入肺颗粒物。它的直 径还不到人的头发丝粗细的1/20。虽然PM2.5只是地球大气成分中含量很少的组分,但它 对空气质量和能见度等有重要的影响。与较粗的大气颗粒物相比,PM2.5粒径小,富含大量的有毒、有害物质且在大气中的停留时间长、输送距离远,因而对人体健康和大气环境 质量的影响更大。虽然空气质量渐渐引起了人们的重视,但是在市场上面对空气质量进行检测的产品相 对来比较少。一款环境空气质量监测产品,必然会在市面上引起大热。除此之外,日常生 活此类产品将会成为必需品。总的来说,在当前环境空气质量不好情况下,空气质量监测
8、 产品具有很好的应用前景。因此研发一款对环境空气质量及温湿度进行监测,并能与计算机网络进行通信的产 品,提醒人们注意生活周围的环境空气质量,是非常有必要,同时这类产品还能预示人们 采取一定的措施来防范空气质量差的问题。此款环境空气质量监测系统基于单片机结合相 关传感器做到能够时时显示并自动生成报表,与远程终端进行通信,远程终端还可以对此 遥控这些功能都能很好便利了人们在日常生活中的使用。对于生产制造方面,这产品性价 比极高,在产品质量方面也是有一定的保证,具有超快响应,抗干扰能力强的优点。综合 本次设计的各方面的优点,所设计的产品有将在未来市场中拥有较高的应用地位。第一章总体方案理论概述1设计
9、方案1.1总体方案主控制器采样单片机,进行主要的信息处理,接收外部的信息(数字与模拟信息)。 运用pm2.5传感器对空气中颗粒物质进行采集和温湿度传感器对空气的温湿度情况进行采 集,然后数据返回送到单片机进行处理,之后用 SPI总线通信的方式经由无线发送模块发 生送到远程终端,远程终端由无线接收模块接收并通过显示屏显示,计算机与远程终端进 行连接,计算机网络由此获得相关数据。整个系统包括如下模块:MCU中心控制模块,由单片机最小系统组成;外部信息采集 系统,由粉尘传感器和温湿度传感器组成;无线通信模块,通过SPI总线通信对无线模块进行配置,使其可以进行发送和接收数据;显示模块,远程终端上,用显
10、示模块显示所接 收到的数据。除此之外,本设计在硬件设计处理上还预留了几个单片机的IO接口供外围的附加的电路提供一些根据需要的扩展功能。整体电路设计时,应该严格考虑元器件的选择,布板布线的问题,严格计算大电流信 号的走线宽度等。方案框图如下:紛仝传懲曇MCU控制=无唆发送模块1.2模块器件选择1.2.1单片机选择51单片机与AVR单片机的比较 AVF单片机(ATmega16的时钟源(晶振、内部 RC等)可以不经过分频直接提供给 CPU 使用,而51的CPU主频等于晶振的12分频,ATmega16外部提供16M的晶振,所以AVR单 片机的运行速度比51单片机的运行速度要快得多,并且 AVR单片机可
11、提供内容1M 2M 4M 8M等可变的CUP率。 AVRM有超功能精简指令。具有32个通用工作寄存器(相当于8051中的32个累加器, 克服了单一累加器数据处理造成的瓶颈现象),有 128B4KB个SRAM可灵活使用指令运 算。 AVRI/O 口是真正的双向I/O 口,单片机读取外部引脚电平直接通过 PINX读取,不需要 像51那样先给I/O 口全写1操作后才能读取外部引脚电平,使得单片机读取外部数据更 容易。 AVR内部提供丰富的中断及寄存器资源,光外部中断就有3个,定时器有3个,丰富的寄存器资源使得可以设置外部中断的多种触发方式,以及设置内部定时分频系数,丰富的寄存器资源使得可以对 AVR
12、的I/O 口进行多功能操作。 两者的CPU构架以及指令集完全不同,51系列单片机所使用的是CISC指令系统,冯诺依曼结构体系的总线;而 AVR系列的单片机则使用的是RISC指令系统,哈佛结构的总线, AVR系列的单片机每个震荡周期处理一条指令,而相应的51系列的单片机则需要12个震荡周期来完成一条指令的处理。 针对51系列单片机的I/O脚所体现出来的弊端,AVR单片机做了相应的改进,即加入了 控制输入或输出的方向寄存器,从而解决了 51系列单片机I/O脚位高电平时同为输入和 输出的状态。综合比较51系列单片机与AVR单片机,在应用方面AVR单片机性能更优于51系列单 片机。因此,选择 Atme
13、l Atmega328这款AVR单片机。1.2.2传感器的选择通过与其他PM2.5传感器的比较,Sharp光学粉尘传感器(GP2Y1010AU0F很好的满足 了本设计方案的需求,对于PM2.5的检测其灵敏度刚刚好,在价格方面更是具有其优越性。 总的来说这款粉尘传感器在价格上,性能上都满足了此次设计的要求。因此,选择了这款 Sharp光学粉尘传感器(GP2Y1010AU0F)而温湿度传感器,选择了 DHT11温湿度传感器。1.2.3无线通信模块nRF24L01是一款工作在2.42.5GHzISM频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型 SchockBurstTM模式控制器、功
14、率放大器、晶体振荡SPI接口进行设置。极低 的电流消耗,当工作在发射模式下发射功率为0dBm时电流消耗为11.3mA接收模式时为13.5mA掉电模式和待机模式下电流消耗更低。nRF24L01适用于多种无线通信的场合,如无线数据传输系统、无线鼠标、遥控开锁、遥控玩具等。综合其的优点,故选择这款无 线通信模块。1.3系统功能模块本作品在硬件实现上,利用了模块化设计的理念。各个电路模块化的优势在于, 可以针对每个不同的问题逐一进行解决,既不影响下个模块的测试工作,也使得电路调试难度下降,让每个模块其成为相对独立的个体,因而工作效率大大提高,各模块 也得以更好的得到完善。本设计的各个分模块设计的具体分
15、工工作如下:1. MCU中心控制:单片机作为中心控制模块,首先,要搭建一个最小系统。这个最小系统包括了复位电路,时钟电路,电源电路。电源电路直接采用直流+5v供电。时钟电路由12M晶振加上瓷片电容搭建而成。复位电路采用的按键电平复位电路。2. 外部信息采集模块对粉尘传感器和温湿度传感器进行供电,将其数据输出端接到单片机10 口,使得单片机获得外部空气粉尘浓度,温度湿度的数据,并进行处理。3. 无线通信模块利用nRF24L01无线传送模块,通过SPI总线通信实现了在两个终端之间的数据发送 和接收。4. 功能显示模块显示屏是用1602显示模块,将采集到的粉尘浓度,温湿度信息通过1602显示模块显示
16、出来,这样人们就能够很直观的获得所需要的信息了。第二章系统各部分器件功能简介2.1 MCU控制器的处理模块分析2.1.1 单片机 Atmel Atmega328 介绍Atmel ATmega328 8位AVR微控制器是基于RISC的高性能设备,结合了 32KB ISP闪存、 同时读写功能、1KB EEPROM2KB SRAM 23条通用型I/O 线、32个通用型工作寄存器和 串行可编程USART等。Atmel ATmega328MCU在一个单时钟周期内可完成强大的指令,使 设备获得接近1 MIPS/MHz的通量,同时可平衡功耗和处理速度。技术参数: 引脚数:28/32 I/O引脚最大值:23
17、SPI: 2 UART 1 模数转换器:8个通道、10位分辨率 模拟比较器:1 闪存(KB): 32 EEPROM (KB) 1 SRAM (KB) 2 温度 范围:-40 - +85 C特点:1、高性能、低功率AVR? 8位微控制器、先进的RISC架构。2、131个强大的指令在20MHZ寸具有高达20 MIPS的通量 片上两周期乘法器。2.1.2 SPI简要概述SPI接口的信号组成主要由 SDI,SDO SCK CS四种信号构成,CS为片选信号,决 定选择所要与之通信的从机地址。在与从机的通讯过程中, SDO作为数据的输出,SDI作 为数据的输入,设置决定SDO勺输出由时钟决定,可以设置为上
18、升或下降沿的一种,经过8或者16次的时钟不断改变,便可以完成 8/16位传输数据的过程了(2)SPI的控制的时序如图2-3-3所示SPI时序SPI通用接口读写操柞格式如下:写类型格式 bit命令输入十Ebit数掂输入读类型格式 bit命X入+乞版竝堀输出旳LnnrmnrmjarLRTTTLmw写类型格式:S bit饰令输入帖.St数据输入2-3-3SPI时序込 LrLrLrLrLrLrLrLFLrLTLrLrLrLrLnj读类型格式:S-bit 令输入鮎-bir数据输出2.2采集模块功能介绍将粉尘传感器和温湿度传感器与单片机最小系统进行连接,初步形成一个采集系统。 对周围的空气粉尘浓度,温度,
19、湿度进行采集,并通过 IO 口传输到单片机中去。单片机 对此进行处理转化为二进制数据通过相关 IO 口存储和发送。2.2.1粉尘传感器介绍Sharp光学粉尘传感器(GP2Y1O1OAU0F:对于像香烟烟雾这样的颗粒十分敏感,红外线发射二极管和光电晶体管对角式地排列 在这款设备中,能够检测到空气粉尘中的反射光。这款传感器的电流消耗很低(最大电流 20mA通常11mA,并且能够在高达7伏的直流电下启动。传感器的模拟输出电压是同标 准灰尘密度成比例的,其灵敏度为 0.5V/0.1mg/m3。产品名称:GP2Y1010AU0粉尘检测传感器模块技术参数222DHT11温湿度传感器介绍DHT11数字温湿度
20、传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期 稳定性。传感器包括一个电阻式感湿元件和一个 NTC测温元件,并与一个高性能8位单片 机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每 个DHT1传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP 内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使 系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为4
21、针单排引脚圭寸装。连接方便,特殊封装形式可根据用户需求而提供Pin注释1VDD供电 3-5.5VDC2DATA串行数据单总线3pc空胸,请悬空gnd接地,电源负极2.3无线模块介绍采用nRF24L01单片无线收发器芯片。产品特点:十a. 2.42.5GHz全球免申请ISMb. 125个通讯频道,满足多点通讯、分组、跳频等应用需求。c. 发射功率可设置为:0dBm -6dBm -12dBm和-18dBm。d. 实际发射功率0dBm(设置为0dBm时e. SMA扌妥f. 通过SPI接口与MCI连接,速率08MbpSg. 支持 2Mbps 1Mbps和 250kbps ”h. 增强型 ShockBu
22、rstTM,完全兼容 nRF2401A nRF24L01 等芯片。i. 支持自动应答及自动重发,内置地址及 CRC数据校验模功能。j. 工作电压范围:1.9V3.6V,待机模式下电流低于1卩A.k. 工作温度范围:-40 C+85C。2.4显示模块介绍采用1602LCD液晶显示模块241显示原理液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有 显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、 易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。LCD显示的基本原理字符的显示用L
23、CD显示一个字符时比较复杂,因为一个字符由 6X 8或8X 8点阵组成,既要找到 和显示屏幕上某几个位置对应的显示 RAM的8字节,还要使每字节的不同位为“ 1”, 其它的为“ 0”,为“ T的点亮,为“ 0”的不亮。这样一来就组成某个字符。但由于内 带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根 据在LCD上开始显示的行列号及每行的列数找出显示 RAM寸应的地址,设立光标,在此送 上该字符对应的代码即可。汉字的显示汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用 字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、
24、5右边为2、 4、6根据在LCD上开始显示的行列号及每行的列数可找出显示 RAM寸应的地址,设立 光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完就可以LCD上得到一个完整汉字2.4.2显示特性 单5V电源电压,低功耗、长寿命、高可靠性 内置192种字符(160个5X 7点阵字符和32个5X 10点阵字符) 具有64个字节的自定义字符RAM可自定义8个5X 8点阵字符或四个5X11点 阵字符z显示方式:STN半透、正显 视角方向:6点 背光方式:底部LED 通讯方式:4位或8位并口可选 标准的接口特性,适配 MC51和M6800系列MPC
25、的操作时序。第三章软件程序3.1接收程序#in elude NRF24L01.h#i nclude #in clude *#defi ne TX_ADR_WIDTH 5 / 5 un sig ned ints TX address width #defi ne RX_ADR_WIDTH 5 / 5 un sig ned ints RX address width #defi ne TX_PLOAD_WIDTH 32 / 32 un sig ned ints TX payload #defi ne RX_PLOAD_WIDTH 32 / 32 un sig ned ints RX payload
26、 LiquidCrystal_I2C Icd(0x27,20,4);un sig ned int status=0;un sig ned int keyP in=7;un sig ned int Power=6;un sig ned int TX_ADDRESSTX_ADR_WIDTH=0x34,0x43,0x10,0x10,0x01; / Define a static TX addressun sig ned int RX_ADDRESSRX_ADR_WIDTH=0x34,0x43,0x10,0x10,0x01;un sig ned int RX_BUFTX_PLOAD_WIDTH=0;u
27、n sig ned int TX_BUFTX_PLOAD_WIDTH=0;*void setup()SPI_DIR = ( NRFCE + NRFSCK + NRFCSN + NRFMOSI);SPI_DIR &= ( NRFIRQ + NRFMISO);pi nM ode(keyP in ,INPUT);pi nM ode(Power,OUTPUT);delay(100);in it_io();in it_NRF24L01();lcd.i nit();/in itialize the lcdlcd.i nit();Serial.begi n(9600);void loop()int t,h,
28、d,key;int x=0;digitalWrite(Power,HIGH);key=digitalRead(keyPi n);if(key=HIGH)lcd. noBacklight();elselcd.backlight();/*接收温度,湿度,PM2.5 的值 */n RF24L01_RxPacket(RX_BUF);delay(1000);d=RX_BUF0;h=RX_BUF1;t=RX_BUF2;if (isnan(t) | isnan(h) /*用液晶显示三个数值*/lcd.setCursor(0,0);lcd.pri nt(Failed to read );elselcd.set
29、Cursor(0,0);lcd.pri nt(H:);lcd.pri nt(h);lcd.setCursor(5,0);lcd.pri nt(% );lcd.pri nt(T:);lcd.pri nt(t);lcd.setCursor(13,0);lcd.pri nt(oC );delay(500); lcd.setCursor(0,1); lcd.pri nt(PM2.5:); lcd.pri nt(d); lcd.setCursor(9,1); lcd.pri nt();/*与计算机通信生成报表*/Serial.write(RX_BUFO);Serial.write(RX_BUF2);Se
30、rial.write(RX_BUF1);delay(4500);void in it_io(void)SPI_PORT&= NRFCE;SPI_PORT|=NRFCSN;SPI_PORT&= NRFSCK; / chip en able/ Spi disable/ Spi clock line init high/* Fun ctio n: SPI_RW();* Descripti on:* Writes one un sig ned int to n RF24L01, and retur n the un sig ned int read* from n RF24L01 duri ng wr
31、ite, accord ing to SPI protocol*/un sig ned int SPI_RW(u nsig ned int Byte) _un sig ned int i;for(i=0;i8;i+)/ output 8-bitif(Byte&0x80)SPI_PORT FNRFMOSI; / output u nsig ned in t, MSB to MOSIelseSPI_PORT &= NRFMOSI;SPI_PORT|=NRFSCK;/ Set SCK high.Byte = 1;/ shift next bit into MSB.if(SPI_IN & NRFMIS
32、O)Byte |= 1;/ capture curre nt MISO bitSPI_PORT&= NRFSCK; return(Byte);/ .the n set SCK low again/ retur n read un sig ned int/*/* Fun ctio n: SPI_RW_Reg();* Descripti on:* Writes value value to register reg/*/un sig ned int SPI_RW_Reg( un sig ned int reg, un sig ned int value) un sig ned int status
33、;SPI_PORT&= NRFCSN; status = SPI_RW(reg); SPI_RW(value); SPI_PORT|=NRFCSN;/ CSN low, i nit SPI tran saction/ select register/ .a nd write value to it./ CSN high aga inreturn(status);/*/ return nRF24L01 status un sig ned int/* Fun ctio n: SPI_Read();* Descripti on:* Read one un sig ned int from n RF2
34、4L01 register, reg/*/un sig ned int SPI_Read( un sig ned int reg) _un sig ned int reg_val;SPI_PORT&= NRFCSN; SPI_RW(reg);reg_val = SPI_RW(0); SPI_PORT|=NRFCSN;/ CSN low, i ni tialize SPI commu nicatio n. / Select register to read from./ .the n read register value/ CSN high, termi nate SPI com muni c
35、ati on/ return register valuereturn(reg_val); _/*/* Function: SPI_Read_Buf();* Descripti on:* Reads un sig ned in ts #of un sig ned ints from register reg* Typically used to read RX payload, Rx/Tx address/*/un sig ned int SPI_Read_Buf( un sig ned int reg, un sig ned int *pBuf, un sig ned int bytes)u
36、n sig ned int status,i;SPI_PORT&= NRFCSN;/ Set CSN low, i nit SPI tran actio nstatus = SPI_RW(reg);/ Select register to write to and read statusun sig ned intfor(i=0;ibytes;i+)pBufi = SPI_RW(0); / Perform SPI_RW to read un sig ned int from nRF24L01SPI_PORT|=NRFCSN;/ Set CSN high agai nreturn(status)
37、;/ return nRF24L01 status un sig ned intFun ctio n: SPI_Write_Buf();* Descripti on:* Writes contents of buffer *pBuf to nRF24L01* Typically used to write TX payload, Rx/Tx address/*/un sig ned int SPI_Write_Buf( un sig ned int reg, un sig ned int *pBuf, un sig ned int bytes)un sig ned int status,i;S
38、PI_PORT&= NRFCSN;/ Set CSN low, i nit SPI tran actio nstatus = SPI_RW(reg);/Select register to write to and read statusun sig ned intfor(i=0;i10us) on CE will now send this* packet and expext an ack no wledgme nt from the RX device.*/void in it_NRF24L01(void)SPI_PORT&= NRFCE;SPI_Write_Buf(WRITE_REG
39、+ TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); / WritesTX_Address to nRF24L01SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH); / RX_Addr0 same as TX_Adr for Auto.AckSPI_RW_Reg(WRITE_REG + EN_AA, 0x01);/ En able Auto.Ack:Pipe0SPI_RW_Reg(WRITE_REG EN_RXADDR0x01); / Enable Pipe0 If need more cha
40、nnel ,pls refer to age21SPI_RW_Reg(WRITE_REG + RF_CH, 0);/ setup cha nnel is 2.4GHZSPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH); /Setup reivce data len gth 20byteSPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07);/TX_PWR:0dBm,Datarate:2Mbps, LNA:HCURRSPI_PORT|=NRFCE;3.2发送程序#in clude NRF24L01.h#i nclude DHT.
41、h*#defi ne TX_ADR_WIDTH 5 / 5 un sig ned ints TX address width#defi ne RX_ADR_WIDTH 5 / 5 un sig ned ints RX address width#defi ne TX_PLOAD_WIDTH 32 / 32 un sig ned ints TX payload#defi ne RX_PLOAD_WIDTH 32 / 32 un sig ned ints RX payload#defi ne DHTPIN 2/ what pin were conn ected to#defi ne DHTTYPE
42、 DHT22 / DHT 22 (AM2302)#in cludeDHT dht(DHTPIN, DHTTYPE);/float in putP in=7;float val=0.0, n=0.0,V=0.0,pm;int in putPi n=0;int keyP in=7;int ledPower=4;float in putVal=0;int delayTime=280;int delayTime2=40;float ofEme=9680;un sig ned int TX_ADDRESSTX_ADR_WIDTH=0x34,0x43,0x10,0x10,0x01;un sig ned i
43、nt RX_ADDRESSRX_ADR_WIDTH=0x34,0x43,0x10,0x10,0x01;un sig ned int TX_BUFTX_PLOAD_WIDTH=0;int x;*void setup()SPI_DIR = ( NRFCE + NRFSCK + NRFCSN + NRFMOSI);SPI_DIR &= ( NRFIRQ + NRFMISO);delay(100);in it_io();in it_NRF24L01();pi nM ode(i nputPi n,INPUT);pi nM ode(keyPi n, OUTPUT);/pi nM ode(ledPi n,
44、OUTPUT);pi nM ode(ledPower,OUTPUT);Serial.begi n(9600);dht.begi n();TX_BUF0 = 0x00 ;TX_BUF1 = 0x00 ;TX_BUF2 = 0x00 ; delay(50); void loop()un sig ned int status=0;digitalWrite(keyPin,HIGH); /* GP2Y1010AU0F启动,读取输入电压值 */digitalWrite(ledPower 丄OW);delayMicrosec on ds(delayTime);in putVal=a nalogRead(i
45、nputP in);delayMicrosec on ds(delayTime2);digitalWrite(ledPower,HIGH);delayMicrosec on ds(offTime);V=inputVal/1024*5;/*以下为 PM2.5数值转换 */if(V=3.5)val=(V-19/6)*3/20;if(val=0.035)pm=50+50*(val-0.035)/0.04;读取温湿度值*/TX_BUF0 = pm ;/*TX_BUF1 = dht.readHumidity();TX_BUF2 = dht.readTemperature();/*发送三个数值*/Seri
46、al.pri ntln(*staRT TX*、);Serial.pri nt(pm:);Serial.pri ntl n( TX_BUF0,HEX);Serial.pri nt(h:);Serial.pri ntln( TX_BUF1,HEX);Serial.pri nt(t:);Serial.pri ntl n( TX_BUF2,HEX);delay(1000);n RF24L01_TxPacket(TX_BUF); / Tran smit Tx buffer dataSPI_RW_Reg(WRITE_REG+STATUS,0XFF);TX_BUF0 = 0x00;TX_BUF1 = 0x00;TX_BUF2 = 0x00;/ Function: in it_io();/ Descripti on:/ flash led one time,chip en able(ready to TX or RX Mode),/ Spi di
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论