數字溫濕度傳感器DHT11詳解及例程利用串口顯示_第1頁
數字溫濕度傳感器DHT11詳解及例程利用串口顯示_第2頁
數字溫濕度傳感器DHT11詳解及例程利用串口顯示_第3頁
數字溫濕度傳感器DHT11詳解及例程利用串口顯示_第4頁
數字溫濕度傳感器DHT11詳解及例程利用串口顯示_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數字溫濕度傳感器DHT11 1、概述 DHTxx 系列數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器。它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性與卓越的長期穩定性。傳感器包括一個電阻式測濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此,該產品具有品質卓越、超快響應、抗干擾能力強、性價比極高等優點。每個DHTxx傳感器都在極為精確的濕度校驗室中進行校準。校準系數以程序的形式儲存在 OTP內存中,傳感器內部在檢測信號的處理過程中要調用這些校準系數。單線制串行輸出接口,使系統集成變得簡易快捷。超小的體積、極低的功耗,使其成為各類應用甚至最為苛刻的應用場合的最佳選則。本產品為 4 針單排引腳封裝,特殊封裝形式可根據用戶需求而提供。 、產品特性 濕溫度傳感器的一體化結構能相對的同時對相對濕度和溫度進行測量 。 數字信號輸出,從而減少用戶信號的預處理負擔。 單總線結構輸出有效的節省用戶控制器的I/O口資源。并且,不需要額外電器元件。 獨特的單總數據傳輸線協議使得讀取傳感器的數據更加便捷。 全部校準。編碼方式為8位二進制數。 40bit 二進制數據輸出。其中濕度整數部分占1Byte,小數部分1Byte;溫度整數部分1Byte,小數部分1Byte。其中,濕度為高16位。最后1Byte為校驗和。 卓越的長期穩定性,超低功耗。 4引腳安裝,超小尺寸。 各型號管腳完全可以互換。 測量濕度范圍從20RH到90RH;測量溫度范圍從0到50。 適用范圍包括恒濕控制,消費家電類產品,溫濕度計等領域。 、外型與引腳排列引腳說明: Vcc 正電源 Dout 輸出 NC 空腳 GND 地 - 1 - 圖3.0 DHT外型及管腳 4、詳細引腳說明: 傳感器管腳方向識別:正面(有通氣孔的一面)看過去,從左到右依次為1、2、3、4腳。 表4.0:引腳說明 引腳號 引腳名稱 類型 引腳說明 1 VCC 電源 正電源輸入,3V-5.5V DC 2 Dout 輸出 單總線。數據輸入/輸出引腳 3 NC 空 空腳。擴展未用 4 GND 地 電源地 電源引腳,DHTxx的供電電壓為 3.55.5V。傳感器上電后,要等待 1s 以越過不穩定狀態在此期間不要發送任何指令。電源引腳(VDD,GND)之間可增加一個100nF 的電容,用以去耦濾波。 5、訂貨信息 型號 測量范圍 測濕精度測溫精度分辨力 封裝 DHT11 2090RH 0505RH 2 1 4針單排直插 6、傳感器性能說明 參數 條件 Min Typ Max 單位 濕度 分辨率 1 1 1 %RH 8 Bit 重復性 1 %RH 精度 25 4 %RH 050 5 %RH 互換性 可完全互換 量程范圍 0 30 90 %RH 25 20 90 %RH 50 20 80 %RH 響應時間 1/e(63%)25,1m/s 空氣 6 10 15 S 遲滯 1 %RH 長期穩定性 典型值 1 %RH/yr 溫度 分辨率 1 1 1 8 8 8 Bit 重復性 1 精度 1 2 量程范圍 0 50 響應時間 1/e(63%) 6 30 S 7、連接接口說明 DHTxx數字濕溫度傳感器連接電路簡單,只需要占用控制器一個I/O口即可完成上下位的連接。典型應用電路如下圖所示。另外,建議連接線長度短于20時用5K上拉電阻,大于20米時根據實際情況使用合適的上拉電阻,如圖5.0所示。 圖5.0 典型電路連接 8、數據格式及處理 8.1、格式 數字濕溫度傳感器采用單總線數據格式。即,單個數據引腳端口完成輸入輸出雙向傳輸。其數據包由5Byte(40Bit)組成。一次通訊時間最大3ms,數據分小數部分和整數部分,具體格式在下面說明。 DATA 用于微處理器與 DHTxx之間的通訊和同步,采用單總線數據格式, 當前小數部分用于以后擴展,現讀出為0。操作流程如下: 一次完整的數據傳輸為40bit,高位先出。 數據格式:8bit濕度整數數據+8bit濕度小數數據 +8bit溫度整數數據+8bit溫度小數數據 +8bit校驗和 校驗和數據為前四個字節相加。 具體見表6.1: 濕度 溫度 校驗 整數 小數 整數 小數 8Bit 8Bit 8Bit 8Bit 8Bit 8.2、數據編碼及處理 傳感器數據輸出的是未編碼的二進制數據。數據(濕度、溫度、整數、小數)之間應該分開處理。如果,某次從傳感器中讀取如下5Byte數據: byte4 byte3 byte2 byte1 byte0 整數 小數 整數 小數 校驗和 濕度 溫度 校驗和 由以上數據就可得到濕度和溫度的值,計算方法: humi (濕度)= byte4 . byte3=45.0 (RH) temp (溫度)= byte2 . byte1=28.0 ( ) jiaoyan(校驗)= byte4+ byte3+ byte2+ byte1=73 9、時序 DHTxx傳感器是通過奧松電子有限公司開發的單總線協議和上位機(控制器)進行數據通信。DHTxx傳感器需要嚴格的讀寫協議來確保數據的完整性。整個讀寫分為,上位機發送起始信號,上位機接收下位機發來的握手響應信號,讀0,和讀1四個步驟。所有的信號除主機啟動復位信號外,全部都由DHTxx產生。 通過單總線訪問DHTxx順序歸納如下: 主機發開始信號 主機等待接收DHTxx響應信號 主機連續接收40Bit的數據和校驗和 數據處理 9.1、主機復位信號和DHT響應信號 圖7.1 DHT復位時序 用戶主機發送一次開始信號(低電平)DHT從低速模式轉換到高速模式,等待主機開始信號結束(拉高)后,DHT發送響應信號,送出40bit的數據,并觸發一次信號采集,用戶可選擇讀取部分數據。注意:總線線空閑狀態為高電平,主機把總線線拉低等待DHT響應,主機把總線線拉低必須大于18毫秒,保證DHT能檢測到起始信號。 DHT接收到主機的開始信號后,等待主機開始信號結束,然后發送低電平響應信號。主機發送開始信號結束后,延時等待20-40us后, 讀取DHT的回應信號,主機發送開始信號后,可以切換到輸入模式,或者輸出高電平均可,總線線由上拉電阻拉高。 9.2、DHT開始發送數據流程 圖7.2 讀DHT數據流程 主機發送開始信號后,延時等待20us-40us后讀取DHT的回應信號,讀取總線為低電平,說明DHT發送響應信號,DHT發送響應信號后,再把總線拉高,準備發送數據,每一bit數據都以低電平開始,格式見下面圖示。如果讀取響應信號為高電平,則DHT沒有響應,請檢查線路是否連接正常。 9.3、數字0信號表示方法 圖7.3 信號0時序圖 數字0表示方法為,首先DHT把總線拉低12-14us然后拉高,高電平保持時間在26-28us這個范圍內。則此比特為0電平。 9.4、數字1信號表示方法 圖7.4 信號1時序圖 數字1表示方法為,首先DHT把總線拉低12-14us然后拉高,高電平保持時間在116-118us這個范圍內。則此比特為1電平。 10、 測量分辨率 測量分辨率分別為 8bit(溫度)、8bit(濕度)。 11、電氣特性 VDD=5V,T = 25,除非特殊標注 參數 條件 min typmax單位 供電 DC 3 5 5.5V 供電電流 測量 0.5 2.5mA 平均 0.2 0.5mA 待機 100 150uA 采樣周期 秒 1 次 注:采樣周期間隔不得低于1秒鐘。 12、應用信息 12.1工作與貯存條件 超出建議的工作范圍可能導致高達3%RH的臨時性漂移信號。返回正常工作條后,傳感器會緩慢地向校準狀態恢復。要加速恢復進程/可參閱7.3小節的“恢復處理”。在非正常工作條件下長時間使用會加速產品的老化過程。 12.2暴露在化學物質中 電阻式濕度傳感器的感應層會受到化學蒸汽的干擾,化學物質在感應層中的擴散可能導致測量值漂移和靈敏度下降。在一個純凈的環境中,污染物質會緩慢地釋放出去。下文所述的恢復處理將加速實現這一過程。高濃度的化學污染會導致傳感器感應層的徹底損壞。 12.3恢復處理 置于極限工作條件下或化學蒸汽中的傳感器,通過如下處理程序,可使其恢復到校準時的狀態。在50-60和70%RH的濕度條件下保持 5小時以上。 12.4溫度影響 氣體的相對濕度,在很大程度上依賴于溫度。因此在測量濕度時,應盡可能保證濕度傳感器在同一溫度下工作。如果與釋放熱量的電子元件共用一個印刷線路板,在安裝時應盡可能將DHT11遠離電子元件,并安裝在熱源下方,同時保持外殼的良好通風。為降低熱傳導,DHT11與印刷電路板其它部分的銅鍍層應盡可能最小,并在兩者之間留出一道縫隙。 12.5光線 長時間暴露在太陽光下或強烈的紫外線輻射中,會使性能降低。 12.6配線注意事項 DATA信號線材質量會影響通訊距離和通訊質量,推薦使用高質量屏蔽線。 13、封裝信息 14、 焊接信息 手動焊接,在最高260的溫度條件下接觸時間須少于10秒。 15、注意事項 (1)避免結露情況下使用。 (2)長期保存條件:溫度1040,濕度60以下。 例程:/*/ DHT21使用范例 /單片機 : AT89S52 或 STC89C52RC / 功能 :串口發送溫濕度數據 波特率 9600 /硬件連接: P2.0口為通訊口連接DHT11,DHT11的電源和地連接單片機的電源和地,單片機串口加MAX232連接電腦 /*/#include #include /typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 無符號8位整型變量 */typedef signed char S8; /* defined for signed 8-bits integer variable 有符號8位整型變量 */typedef unsigned int U16; /* defined for unsigned 16-bits integer variable 無符號16位整型變量 */typedef signed int S16; /* defined for signed 16-bits integer variable 有符號16位整型變量 */typedef unsigned long U32; /* defined for unsigned 32-bits integer variable 無符號32位整型變量 */typedef signed long S32; /* defined for signed 32-bits integer variable 有符號32位整型變量 */typedef float F32; /* single precision floating point variable (32bits) 單精度浮點數(32位長度) */typedef double F64; /* double precision floating point variable (64bits) 雙精度浮點數(64位長度) */#define uchar unsigned char#define uint unsigned int#define Data_0_time 4/-/-IO口定義區-/-/sbit P2_0 = P20 ;sbit P2_1 = P21 ;sbit P2_2 = P22 ;sbit P2_3 = P23 ;/-/-定義區-/-/U8 U8FLAG,k;U8 U8count,U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;U8 U8comdata;U8 outdata5; /定義發送的字節數 U8 indata5;U8 count, count_r=0;U8 str5=RS232;U16 U16temp1,U16temp2;SendData(U8 *a)outdata0 = a0; outdata1 = a1;outdata2 = a2;outdata3 = a3;outdata4 = a4;count = 1;SBUF=outdata0; void Delay(U16 j) U8 i; for(;j0;j-) for(i=0;i27;i+); void Delay_10us(void) U8 i; i-; i-; i-; i-; i-; i-; void COM(void) U8 i; for(i=0;i8;i+) U8FLAG=2; /- P2_1=0 ; /T P2_1=1 ; /T /- while(!P2_0)&U8FLAG+);Delay_10us();Delay_10us();/Delay_10us(); U8temp=0; if(P2_0)U8temp=1; U8FLAG=2; while(P2_0)&U8FLAG+); /- P2_1=0 ; /T P2_1=1 ; /T /- /超時則跳出for循環 if(U8FLAG=1)break; /判斷數據位是0還是1 / 如果高電平高過預定0高電平值則數據位為 1 U8comdata=1; U8comdata|=U8temp; /0 /rof /-/-濕度讀取子程序 -/-/-以下變量均為全局變量-/-溫度高8位= U8T_data_H-/-溫度低8位= U8T_data_L-/-濕度高8位= U8RH_data_H-/-濕度低8位= U8RH_data_L-/-校驗 8位 = U8checkdata-/-調用相關子程序如下-/- Delay();, Delay_10us();,COM(); /-void RH(void) /主機拉低18ms P2_0=0; Delay(180); P2_0=1; /總線由上拉電阻拉高 主機延時20us Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); /主機設為輸入 判斷從機響應信號 P2_0=1; /判斷從機是否有低電平響應信號 如不響應則跳出,響應則向下運行 if(!P2_0) /T ! U8FLAG=2; /判斷從機是否發出 80us 的低電平響應信號是否結束 while(!P2_0)&U8FLAG+); U8FLAG=2; /判斷從機是否發出 80us 的高電平,如發出則進入數據接收狀態 while(P2_0)&U8FLAG+); /數據接收狀態 COM(); U8RH_data_H_temp=U8comdata; COM(); U8RH_data_L_temp=U8comdata; COM(); U8T_data_H_temp=U8comdata; COM(); U8T_data_L_temp=U8comdata; COM(); U8checkdata_temp=U8comdata; P2_0=1; /數據校驗 U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp=U8checkdata_temp) U8RH_data_H=U8RH_data_H_temp; U8RH_data_L=U8RH_data_L_temp; U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U8checkdata=U8checkdata_temp; /fi /fi/-/main()功能描述: AT89C51 11.0592MHz 串口發 /送溫濕度數據,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論