資源簡介
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
評論
共有 條評論