Arduino 温湿度传感器DHT11模块实验

Arduino 温湿度传感器DHT11模块实验

ID:44164917

大小:510.51 KB

页数:4页

时间:2019-10-19

Arduino 温湿度传感器DHT11模块实验_第1页
Arduino 温湿度传感器DHT11模块实验_第2页
Arduino 温湿度传感器DHT11模块实验_第3页
Arduino 温湿度传感器DHT11模块实验_第4页
资源描述:

《Arduino 温湿度传感器DHT11模块实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Arduino温湿度传感器DHT11模块实验网上有很多DHT11的测试,试了N个程序,总是不得要领,各种报错,最后终于找到一套可用的库。首先是DHT11.h文件1.#ifndef__DHT11_H__2.#define__DHT11_H__3.#include4.//DHT11IO设置5.#defineDHT11_DQ26.#defineDHT11_DQ_0digitalWrite(DHT11_DQ,LOW)7.#defineDHT11_DQ_1digitalWrite(DHT11_DQ,HIGH)8.9.//函

2、数或者变量声明10.externvoidDHT11_Init();11.externunsignedcharDHT11_Read_Byte();12.externvoidDHT11_Read();13.14.externunsignedcharHUMI_Buffer_Int;15.externunsignedcharTEM_Buffer_Int;16.17.#endif其次是DHT11.cpp文件1.#include"DHT11.h"2.//定义变量3.unsignedcharHUMI_Buffer_Int=0;4.unsignedc

3、harTEM_Buffer_Int=0;5.//****************************************************6.//初始化DHT117.//****************************************************8.voidDHT11_Init()9.{10.pinMode(DHT11_DQ,OUTPUT);11.DHT11_DQ_0;//拉低总线,发开始信号;12.delay(30);//延时要大于18ms,以便DHT11能检测到开始信号;13.DHT11_

4、DQ_1;14.delayMicroseconds(40);//等待DHT11响应;15.pinMode(DHT11_DQ,INPUT);16.while(digitalRead(DHT11_DQ)==HIGH);17.delayMicroseconds(80);//DHT11发出响应,拉低总线80us;18.if(digitalRead(DHT11_DQ)==LOW);19.delayMicroseconds(80);//DHT11拉高总线80us后开始发送数据;20.}21.22.//***********************

5、*****************************23.//读一个字节DHT11数据24.//****************************************************25.unsignedcharDHT11_Read_Byte()26.{27.unsignedchari,dat=0;28.unsignedintj;29.pinMode(DHT11_DQ,INPUT);30.for(i=0;i<8;i++)31.{32.if(digitalRead(DHT11_DQ)==LOW)33.{34.wh

6、ile(digitalRead(DHT11_DQ)==LOW);//等待50us;35.delayMicroseconds(30);//判断高电平的持续时间,以判定数据是‘0’还是‘1’;36.if(digitalRead(DHT11_DQ)==HIGH)37.dat

7、=(1<<(7-i));//高位在前,低位在后;38.while(digitalRead(DHT11_DQ)==HIGH);//数据‘1’,等待下一位的接收;39.}40.}41.returndat;42.}43.44.//***********************

8、*****************************45.//读取温湿度值,存放在TEM_Buffer和HUMI_Buffer46.//****************************************************47.voidDHT11_Read()48.{49.DHT11_Init();50.HUMI_Buffer_Int=DHT11_Read_Byte();//读取湿度的整数值51.DHT11_Read_Byte();//读取湿度的小数值52.TEM_Buffer_Int=DHT11_Read_B

9、yte();//读取温度的整数值53.DHT11_Read_Byte();//读取温度的小数值54.DHT11_Read_Byte();//读取校验和55.delayMicroseconds(50);//DHT11拉低总

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。