《智能产品设计与应用》课件-智能产品开发-DHT11温湿度传感器使用_第1页
《智能产品设计与应用》课件-智能产品开发-DHT11温湿度传感器使用_第2页
《智能产品设计与应用》课件-智能产品开发-DHT11温湿度传感器使用_第3页
《智能产品设计与应用》课件-智能产品开发-DHT11温湿度传感器使用_第4页
《智能产品设计与应用》课件-智能产品开发-DHT11温湿度传感器使用_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能产品设计与应用DHT11温湿度传感器案例导入01/PART

ONEDHT11温湿度传感器设计任务【1】温度传感器DHT11工作原理【2】温度、湿度数据采集上报【3】基于数据监测助手的温湿度采集上报DHT11温湿度传感器任务8.1DHT11温湿度数据采集上报将温度模块装到扩展口,信号线接到至P0_7。USART0选择UART模式,波特率9600,I/O引脚映射到备用位置1。将DHT11底层驱动文件复制到工程文件下,并进行移植。在主函数中,每隔1s进行一次温度采集,通过串口发送字符串“温度数据:XX摄氏度,湿度数据:XX\r\n"到上位机,LED1作为采样指示灯,启动温度转换前点亮LED1灯,上报完成关闭LED1灯。CC2530模块P1_0P0_7LED1AIN7DHT11温湿度传感器任务8.2基于数据监测助手的光温采集上报安装温湿度传感器模块,移植底层驱动,初始化串口等基础外设。在主函数中,循环进行湿度和温度数据的采集,并根据串口数据监测助手的通信规约,形成上报数据帧。收到监测助手的正确抄收指令后,进行数据上报,LED1为上报指示灯。DHT11温湿度传感器1.DHT11的基本概述什么是湿度?湿度的单位是单位是克/立方米。一、空气湿度,可用相对湿度(RH)表示,它是用露点温度来定义的。相对湿度是指空气实际所含水蒸气密度和同温下饱和水蒸气密度的百分比值。二、人体在室内感觉舒适的最佳相对湿度是,49%~51%,相对湿度过低或过高,对人体都不好。湿度用途下雨的时候,空气湿度是非常大的在气象学和水文学中湿度是决定蒸发和蒸腾的重要数据。它对不同的气候区的产生起决定性的作用。大气中的水蒸气在水循环过程中也是必不可少的。通过水蒸气水可以很快地在地球表面运动。水在大气中形成降水、云和其它现象,它们决定了地球的气象和气候。而在天气预报中,更常用到相对湿度。它反映了降雨、有雾的可能性。在炎热的天气之下,高的相对湿度会让人类(和其他动物)感到更热,因为这妨碍了汗水的挥发。人类可以从而制定出酷热指数。DHT11温湿度传感器1.DHT11的基本概述DHT11温湿度传感器1.DHT11的基本概述DHT11温湿度传感器DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次传送40位数据,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验位。校验位数据定义:“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”8bit校验位等于所得结果的末8位。1.DHT11的基本概述DHT11温湿度传感器1.DHT11的基本概述DHT11温湿度传感器1.DHT11的基本概述DHT11温湿度传感器第一步:主机先发送开始信号,从机返回一个相应信号进行应答。

第二步:主机信号线拉高准备接收数据。

第三部:开始接收数据(一次接收40位)。DHT11温湿度传感器一、单片机上电后1s内不读取(不重要)二、主机(单片机)发送起始信号:1.主机先拉高data。2.拉低data延迟18ms。3.拉高data(单片机引脚设置为输入)。三、从机(DHT11)收到起始信号后进行应答:从机拉低data,主机读取到data线被拉低持续80us后,从机拉高data线,持续80us,直到高电平结束,意味着主机可以开始接受数据。

DHT11温湿度传感器四、主机开始接收数据:主机先把data线拉高(io设置为输入)。从机把data线拉低,主机读取data线电平,直到低电平结束(大约50us),从机拉高data线后,延迟40us左右(28~70us之间)主机再次读取data线电平,如果为低电平,则为“0”,如果为高电平,则为“1”。继续重复上述1,2步骤累计40次。五、data线拉低50us代表读取结束六、校验数据DHT11温湿度传感器DHT11.h文件DHT11.c文件#ifndef__DHT11_H__#define__DHT11_H__#defineucharunsignedcharexternvoidDelay_ms(unsignedintxms);//延时函数externvoidCOM(void);//温湿写入externvoidDHT11(void);//温湿传感启动externwendu,shidu;//全局变量,主函数可以直接调用#endif将“DHT11.h“、DHT11.c两个文件拷贝到工程文件夹中,并添加进工程将DHT11.h放入主程序中DHT11温湿度传感器DHT11.c文件

ucharRH_data_H_temp=ucharcomdata;//第1个8位:湿度高8位,整数部分

COM();

ucharRH_data_L_temp=ucharcomdata;//第1个8位:湿度低8位,小数部分

COM();

ucharT_data_H_temp=ucharcomdata;//第3个8位:温度高8位,整数部分

COM();

ucharT_data_L_temp=ucharcomdata;//第4个8位:湿度低8位,小数部分

COM();

ucharcheckdata_temp=ucharcomdata;//第5个8位:校验位

DATA_PIN=1;读取温湿度数据DHT11温湿度传感器校验数据uchartemp=(ucharT_data_H_temp+ucharT_data_L_temp+ucharRH_data_H_temp+ucharRH_data_L_temp);if(uchartemp==ucharcheckdata_temp){

ucharRH_data_H=ucharRH_data_H_temp;

ucharRH_data_L=ucharRH_data_L_temp;

ucharT_data_H=ucharT_data_H_temp;

ucharT_data_L=ucharT_data_L_temp;

ucharcheckdata=ucharcheckdata_temp;}DHT11温湿度传感器死循环while(1)串口初始化32M时钟初始化主函数main引脚初始化看门狗初始化每隔1S#include“DHT11.h”将温湿度头文件加进来温湿度函数读取和发送点亮LED1DHT11();//获取温湿度值sprint…//打包数据Send_String(str);//将结果发给电脑LED1=1;//灭看门狗中断函数清除中断标志获取温湿度函数熄灭LED1DHT11温湿度传感器voidRead_t_rh()//获取温度值并发送给串口{LED1=0;DHT11();//调用温度、湿度获取值Send_String("hhhhh\r\n");sprintf((char*)str_buff,"温度是:%d\r\n湿度是:%d\r\n",wendu,shidu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论