资源简介
DH11库用于温湿度传感器,基于Arduino的温湿度传感器。
代码片段和文件信息
/
#include “DHT11.h“
//定义变量
unsigned char HUMI_Buffer_Int = 0;
unsigned char TEM_Buffer_Int = 0;
DHT11::DHT11(int pin)
{
DHT11_DQ = pin;
}
//****************************************************
//初始化DHT11
//****************************************************
void DHT11::DHT11_Init()
{
pinMode(DHT11_DQOUTPUT);
digitalWrite(DHT11_DQLOW); //拉低总线,发开始信号;
delay(30); //延时要大于 18ms,以便 DHT11 能检测到开始信号;
digitalWrite(DHT11_DQHIGH);
delayMicroseconds(40); //等待 DHT11 响应;
pinMode(DHT11_DQINPUT_PULLUP);
while(digitalRead(DHT11_DQ) == HIGH);
delayMicroseconds(80); //DHT11 发出响应,拉低总线 80us;
if(digitalRead(DHT11_DQ) == LOW);
delayMicroseconds(80); //DHT11 拉高总线 80us 后开始发送数据;
}
//****************************************************
//读一个字节DHT11数据
//****************************************************
unsigned char DHT11::DHT11_Read_Byte()
{
unsigned char idat = 0;
unsigned int j;
pinMode(DHT11_DQINPUT_PULLUP);
delayMicroseconds(2);
for( i=0; i<8; i++)
{
while(digitalRead(DHT11_DQ) == LOW); //等待 50us;
delayMicroseconds(40); //判断高电平的持续时间,以判定数据是‘0’还是‘1’;
if(digitalRead(DHT11_DQ) == HIGH)
dat |= (1<<(7-i)); //高位在前,低位在后;
while(digitalRead(DHT11_DQ) == HIGH); //数据‘1’,等待下一位的接收;
}
return dat;
}
//****************************************************
//读取温湿度值,存放在TEM_Buffer和HUMI_Buffer
//****************************************************
void DHT11::DHT11_Read()
{
DHT11_Init();
HUMI_Buffer_Int = DHT11_Read_Byte(); //读取湿度的整数值
DHT11_Read_Byte(); //读取湿度的小数值
TEM_Buffer_Int = DHT11_Read_Byte(); //读取温度的整数值
DHT11_Read_Byte(); //读取温度的小数值
DHT11_Read_Byte(); //读取校验和
delayMicroseconds(50); //DHT11拉低总线50us
pinMode(DHT11_DQOUTPUT);
digitalWrite(DHT11_DQHIGH); //释放总线
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 284 2017-07-27 09:34 DHT11.h
文件 135 2017-07-27 09:31 keywords.txt
文件 1428 2017-07-27 16:11 examples\DHT11_TEST\DHT11_TEST.ino
文件 2131 2017-07-27 09:34 DHT11.cpp
目录 0 2017-07-27 16:13 examples\DHT11_TEST
目录 0 2017-07-27 16:17 examples
----------- --------- ---------- ----- ----
3978 6
相关资源
- HDC1080 模拟I2C驱动
- 温湿度监测和串口通讯
- sht31 温湿度传感器stm32 实现
- SHT75 程序 CRC
- MSP430g2231+nrf24l01+DHT11实现温湿度远程监
- 基于51单片机SHT11温湿度传感器检测程
- STM32 之DHT11驱动程序
- SHT10程序采集+显示温湿度含代码和电
- DHT11_LCD1602温湿度检测与显示程序
- C51_温湿度传感器DHT11驱动_LCD1602显示程
- STC15W4K系列单片机读取DHT11温湿度数据
- STM32F103+GPRS原理图 PCB制作PM2.5检测仪和
- stm32f1+esp8266+温湿度+光强+噪音+红外检
- 基于单片机的多点温湿度测控系统
- 基于LabVIEW及单片机的温度测控系统设
- 基于STM8的温湿度传感器DHT11驱动代码
- 51单片机DHT11温湿度传感器12864显示
- DHT11温湿度传感器 资料
- DHT11程序液晶1602显示湿度和温度
- 基于Atmega16湿度传感器源代码
- am2301 温湿度传感器程序
- DSP28335控制DHT11温湿度传感器
- 基于51单片机的温室大棚温湿度测控系
- 基于51单片机DHT11的温湿度检测系统
- 基于MC9S12XS128的温湿度传感器DHT11程序
- 单片机温湿度检测源代码 dht11 lcd160
- msp430 温湿度sht10 和 DS18B20显示
- 基于CC1101的无线温湿度采集节点的设
- ZigBee无线温湿度采集单元硬件毕业设
- 湿空气参数计算小软件
评论
共有 条评论