日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]DHT11是一款有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度傳感器。 其精度濕度+-5%RH, 溫度+-2℃,量程濕度20-90%RH, 溫度0~50℃。DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的

DHT11是一款有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度傳感器。 其精度濕度+-5%RH, 溫度+-2℃,量程濕度20-90%RH, 溫度0~50℃。

DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,它應(yīng)用專(zhuān)用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性和卓越的長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性?xún)r(jià)比極高等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式存在OTP內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過(guò)程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡(jiǎn)易快捷。超小的體積、極低的功耗,使其成為該類(lèi)應(yīng)用中,在苛刻應(yīng)用場(chǎng)合的最佳選擇。產(chǎn)品為4針單排引腳封裝,連接方便。

DHT11溫濕度傳感器電氣特性

 

溫濕度傳感器DHT11封裝形式及接口說(shuō)明

建議連接線長(zhǎng)度短于20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用合適的上拉電阻(若購(gòu)買(mǎi)的是已集成的模塊,模塊上已加上拉電阻,以下請(qǐng)忽略),當(dāng)然,如果你想要精簡(jiǎn)電路的話(huà), STC增強(qiáng)型單片機(jī)自帶的推挽輸出功能不失為一個(gè)選擇,其相當(dāng)于外接了一個(gè)2k的上拉電阻,但在設(shè)計(jì)電路時(shí)需注意:整個(gè)單片機(jī)的電流推薦不超過(guò)55mA,即從MCU-VCC流入的電流不超過(guò)55mA,從MCU-GND流出的電流不超過(guò)55mA,整體流入、流出電流均不超過(guò)55mA,封裝尺寸及典型應(yīng)用電路圖如下圖所示。

 

DHT11溫濕度傳感器典型應(yīng)用電路

 

DHT11溫濕度傳感器時(shí)序圖

 

DHT11溫濕度傳感器連接圖

 

如圖所示,將DHT11的正極與5V電源接口相連,負(fù)極與GND相連,中間的數(shù)據(jù)接口與2號(hào)引腳相連。

代碼

#include 《dht11.h》

dht11 DHT11;

#define DHT11PIN 2

void setup(){

Serial.begin(9600);

}

void loop(){

Serial.println(“/n”);

int chk = DHT11.read(DHT11PIN);

Serial.print(“Read sensor: ”);

switch (chk)

{

case DHTLIB_OK:

Serial.println(“OK”);

break;

case DHTLIB_ERROR_CHECKSUM:

Serial.println(“Checksum error”);

break;

case DHTLIB_ERROR_TIMEOUT:

Serial.println(“TIme out error”);

break;

default:

Serial.println(“Unknown error”);

break;

}

Serial.print(“Humidity (%): ”);

Serial.println((float)DHT11.humidity, 2);

Serial.print(“Temperature (oC): ”);

Serial.println((float)DHT11.temperature, 2);

delay(2000);

注意事項(xiàng)

1、代碼中引用了#include 《dht11.h》,這個(gè)是操作DHT11的庫(kù)文件,有了它,就可以輕松操作我們這個(gè)溫濕度傳感器了。但是引用這個(gè)庫(kù)文件的操作步驟是:

(1)在網(wǎng)上找到并下載該庫(kù)文件,包括一個(gè)頭文件和一個(gè).cpp文件。

(2)在arduinoIDE中點(diǎn)擊菜單:程序–導(dǎo)入庫(kù)–add library,然后選擇你存放庫(kù)文件的那個(gè)文件夾。

(3)在代碼中引用#include 《dht11.h》,這樣就可以使用了。

2、#define DHT11PIN 2,表示定義引腳2的名字為DHT11PIN ,注意這個(gè)定義語(yǔ)句后面沒(méi)有分號(hào)。

原理分析

在硬件編程過(guò)程中,當(dāng)你拿到一個(gè)器件,首先要了解他的引腳定義,這會(huì)告訴你這個(gè)東西應(yīng)該怎么連接,在一個(gè)就是要看他的時(shí)序圖,看了時(shí)序圖你就知道主從設(shè)備之間進(jìn)行數(shù)據(jù)采集過(guò)程中的代碼應(yīng)該怎么寫(xiě),比如怎么啟動(dòng),如何握手,怎么采集真正的數(shù)據(jù)等等。

在我們這個(gè)試驗(yàn)中,DHT11的時(shí)序圖是這樣的:

 

DHT11溫濕度傳感器使用注意事項(xiàng)

DHT11的供電電壓為3-5.5V。傳感器上電后,要等待1s以越過(guò)不穩(wěn)定狀態(tài)在此期間無(wú)需發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個(gè)100nF的電容,用以去耦濾波。

微處理器與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時(shí)間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說(shuō)明,當(dāng)前小數(shù)部分用于以后擴(kuò)展,現(xiàn)讀出為零。

操作流程如下:

一次完整的數(shù)據(jù)傳輸為40bit,高位先出。

數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)

+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)和

數(shù)據(jù)傳送正確時(shí)校驗(yàn)和數(shù)據(jù)等于8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)所得結(jié)果的末8位。

用戶(hù)MCU發(fā)送一次開(kāi)始信號(hào)后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開(kāi)始信號(hào)結(jié)束后,DHT11發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采集,用戶(hù)可選擇讀取部分?jǐn)?shù)據(jù)。

從模式下,DHT11接收到開(kāi)始信號(hào)觸發(fā)一次溫濕度采集,如果沒(méi)有接收到主機(jī)發(fā)送開(kāi)始信號(hào),DHT11不會(huì)主動(dòng)進(jìn)行溫濕度采集。采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。[!--empirenews.page--]

通訊過(guò)程

 

總線空閑狀態(tài)為高電平,主機(jī)把總線拉低等待DHT11響應(yīng),主機(jī)把總線拉低必須大于18毫秒,保證DHT11能檢測(cè)到起始信號(hào)。DHT11接收到主機(jī)的開(kāi)始信號(hào)后,等待主機(jī)開(kāi)始信號(hào)結(jié)束,然后發(fā)送80us低電平響應(yīng)信號(hào)。主機(jī)發(fā)送開(kāi)始信號(hào)結(jié)束后,延時(shí)等待20-40us后,讀取DHT11的響應(yīng)信號(hào),主機(jī)發(fā)送開(kāi)始信號(hào)后,可以切換到輸入模式,或者輸出高電平均可,總線由上拉電阻拉高。

 

總線為低電平,說(shuō)明DHT11發(fā)送響應(yīng)信號(hào),DHT11發(fā)送響應(yīng)信號(hào)后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時(shí)隙開(kāi)始,高電平的長(zhǎng)短定了數(shù)據(jù)位是0還是1.格式見(jiàn)下面圖示。如果讀取響應(yīng)信號(hào)為高電平,則DHT11沒(méi)有響應(yīng),請(qǐng)檢查線路是否連接正常。當(dāng)最后一bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。

數(shù)字0信號(hào)表示方法

 

數(shù)字1信號(hào)表示方法

 

程序:

//DHT11temperature

//chriz_w@163.com

//arduinonano

//arduinolite

#include“arduino_lit.h”

#defineDHT11Pin2

//TesttheDHT11--chriz_w@163.com

bytedat[5];//存放濕度2byte,溫度2byte,checksum1byte

bytereadData(){//每次讀取8bits(onebyte)

bytedata;

for(inTI=0;i《8;i++){

if(digitalRead(DHT11Pin)==LOW)

{

//一開(kāi)始要LOW才表示要傳過(guò)來(lái)

while(digitalRead(DHT11Pin)==LOW);//等待50us;

//現(xiàn)在已經(jīng)變成HIGH了

_delay_us(30);//判斷高電平持續(xù)時(shí)間,以判定資料是‘0’還是‘1’;

if(digitalRead(DHT11Pin)==HIGH)//根據(jù)時(shí)序持續(xù)了30us以上就是1

data|=(1《《(7-i));//高位在前,低位元在后;

//如果這時(shí)已經(jīng)是LOW,表示這bit是0,不必塞入data

//。。而且以下的while也會(huì)立即結(jié)束(因?yàn)長(zhǎng)OW),準(zhǔn)備接收下一個(gè)bit

while(digitalRead(DHT11Pin)==HIGH);//等待下一bit的接收;

//這時(shí)一定已經(jīng)變成LOW了

}

}

returndata;//收完8bit=onebyte=onechar

}

voidstart_dht11(){//每次要與DHT11溝通

DIGITAL_WRITE(DHT11Pin,LOW);//拉低到LOW,發(fā)表示要開(kāi)始溝通的信號(hào);

_delay_ms(30);//延時(shí)要大于18ms,以便DHT11能檢測(cè)到開(kāi)始信號(hào);這里用30ms

DIGITAL_WRITE(DHT11Pin,HIGH);//拉高HIGH,讓DHT11拉低到LOW告訴我們要傳送

_delay_us(40);//給40us等待DHT11響應(yīng);

PIN_MODE(DHT11Pin,INPUT);//改為輸入mode準(zhǔn)備digitalRead()

while(DIGITAL_READ(DHT11Pin)==HIGH);//必須等到LOW

_delay_us(80);//DHT11發(fā)出響應(yīng),會(huì)拉低80us;所以至少等80us

while(DIGITAL_READ(DHT11Pin)==LOW);//繼續(xù)等到變HIGH

_delay_us(80);//DHT11會(huì)拉高到HIGH80us后開(kāi)始發(fā)送資料;

///以下連續(xù)讀入5bytes(40bits),最后的byte是checksum校驗(yàn)值

for(inTI=0;i《5;i++)

dat[i]=readData();//接收溫濕度資料,校驗(yàn);

PIN_MODE(DHT11Pin,OUTPUT);//改為Outputmode,準(zhǔn)備拉高HIGH

DIGITAL_WRITE(DHT11Pin,HIGH);//發(fā)送完一次資料后釋放bus,等待下一次開(kāi)始信號(hào);

}

voidsetup(){

SERIAL_BEGIN();

PIN_MODE(DHT11Pin,OUTPUT);

}

voidloop(){

start_dht11();//讀取濕度溫度和檢核位到dat[];其中dat[4]是checkSum

//根據(jù)datasheet規(guī)定,dat[4]要==(dat[0]+dat[1]+dat[2]+dat[3])%256

//否則表示溝通有錯(cuò)誤!!

PRINT(“currenthumidity=”);

println(dat[0]&0xff,10,serial_puts);

PRINT(“currenttemperature=”);

println(dat[2]&0xff,10,serial_puts);//顯示溫度的整數(shù)部分;

_delay_ms(2000);

}

intmain()

{

setup();

while(1)

loop();

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶(hù)體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉