DHT22 數(shù)字溫濕度 傳感器 AM2302溫濕度模塊(帶說明)_第1頁(yè)
DHT22 數(shù)字溫濕度 傳感器 AM2302溫濕度模塊(帶說明)_第2頁(yè)
DHT22 數(shù)字溫濕度 傳感器 AM2302溫濕度模塊(帶說明)_第3頁(yè)
DHT22 數(shù)字溫濕度 傳感器 AM2302溫濕度模塊(帶說明)_第4頁(yè)
DHT22 數(shù)字溫濕度 傳感器 AM2302溫濕度模塊(帶說明)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、AM2302溫濕度傳感器C程序(測(cè)試可以用)2017-8-13說明:DHT22與DHT11程序基本相同,DHT11起始信號(hào)拉低18ms,DHT22起始信號(hào)拉低是800us,用戶主機(jī)(MCU)發(fā)送一次起始信號(hào)(把數(shù)據(jù)總線SDA拉低至少800s)后,AM2302從休眠模式轉(zhuǎn)換到高速模式。待主機(jī)開始信號(hào)結(jié)束后,AM2302發(fā)送響應(yīng)信號(hào),從數(shù)據(jù)總線SDA串行送出40Bit的數(shù)據(jù),先發(fā)送字節(jié)的高位;發(fā)送的數(shù)據(jù)依次為濕度高位、濕度低位、溫度高位、溫度低位、校驗(yàn)位,發(fā)送數(shù)據(jù)結(jié)束觸發(fā)一次信息采集,采集結(jié)束傳感器自動(dòng)轉(zhuǎn)入休眠模式,直到下一次通信來臨。注意事項(xiàng):與DHT11相同,一次采集8個(gè)位數(shù)據(jù),循環(huán)4次采集完

2、成所有數(shù)據(jù),40位采集完成后,校驗(yàn)數(shù)據(jù),如果數(shù)據(jù)正確,將高8位左移8位與低8位相或,再保存到一個(gè)16位變量中,就可以得到一個(gè)整數(shù)值。默認(rèn)采集的數(shù)據(jù)是實(shí)際值的10倍,例如當(dāng)前實(shí)際溫度是32.7度,采集到的數(shù)據(jù)是327,目的是為了編程時(shí)方便分離數(shù)據(jù)。(詳細(xì)見后面說明書)0000 0010 1000 1100 0000 0001 0101 1111 1110 1110 濕度數(shù)據(jù) 溫度數(shù)據(jù) 校驗(yàn)和 濕度高8位+濕度低8位+溫度高8位+溫度低8位=的末8位=校驗(yàn)和如果需要處理零下值,16位的最高位為1表示負(fù)數(shù),溫度最大量程:-2080度,分辨率:0.1度。如果用數(shù)據(jù)碼管顯示且有中斷,采集數(shù)據(jù)開始需要關(guān)中

3、斷,采集結(jié)束開中斷,否則在采集數(shù)據(jù)過程中,中斷會(huì)打斷DHT22時(shí)序,造成采集數(shù)據(jù)不正確。每次采集間隔大于1秒,否則采集數(shù)據(jù)不準(zhǔn)確。C程序 :為了方便程序閱讀,其它器件的初始化及定義都刪除掉了,以下代碼純DHT22代碼,使用時(shí)直接調(diào)用RH函數(shù)即可。由于程序多次修改,可能有多余的變量,大家自己清理下。RH函數(shù)調(diào)用后,以下四個(gè)變量會(huì)得相應(yīng)的數(shù)據(jù):R_H濕度高8位R_L濕度低8位(包含小數(shù))T_H溫度高8位T_L濕度低8位(包含小數(shù))如果采集的數(shù)據(jù)是:0000 0010 1000 1100 0000 0001 0101 1111由上面四個(gè)變量是16位,采集數(shù)據(jù)是8位,分四次采完,8位放在16位里面應(yīng)該

4、是這樣:R_H= R_L= 所以R_H左移8個(gè)位或上R_L才是我們要的數(shù)據(jù)。R_H =R_H & R_L以上采集數(shù)據(jù)濕度為652,濕度為351,再除以10就是實(shí)際溫濕度值。#include #include typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 無符號(hào)8位整型變量 */typedef signed char S8; /* defined for signed 8-bits integer variable 有符號(hào)8位整型變量 */typedef unsigned int U16; /*

5、 defined for unsigned 16-bits integer variable 無符號(hào)16位整型變量 */typedef signed int S16; /* defined for signed 16-bits integer variable 有符號(hào)16位整型變量 */typedef unsigned long U32; /* defined for unsigned 32-bits integer variable 無符號(hào)32位整型變量 */typedef signed long S32; /* defined for signed 32-bits integer vari

6、able 有符號(hào)32位整型變量 */typedef float F32; /* single precision floating point variable (32bits) 單精度浮點(diǎn)數(shù)(32位長(zhǎng)度) */typedef double F64; /* double precision floating point variable (64bits) 雙精度浮點(diǎn)數(shù)(64位長(zhǎng)度) */#define uchar unsigned char#define uint unsigned int#define Data_0_time 4/-/-IO口定義區(qū)-/-/sbit P2_0 = P32 ;/

7、-/-定義區(qū)-/-/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; /定義發(fā)送的字節(jié)數(shù) U8 indata5;U8 count, count_r=0;U8 str5=RS232;U16 U16temp1,U16temp2;U16 R_H,R_

8、L,T_H,T_L; 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; while(!P2_0)&U8FLAG+);Delay_10us(); Delay_10us();Delay_10us(); U8temp=0; if(P2_0)U8temp=1; U8FLAG=2; while(P2_0)&U8FLAG+); /超時(shí)則跳出for循環(huán) if(

9、U8FLAG=1)break; /判斷數(shù)據(jù)位是0還是1 / 如果高電平高過預(yù)定0高電平值則數(shù)據(jù)位為 1 U8comdata=1; U8comdata|=U8temp; /0 /rof/-/-濕度讀取子程序 -/-/-以下變量均為全局變量-/-溫度高8位= U8T_data_H-/-溫度低8位= U8T_data_L-/-濕度高8位= U8RH_data_H-/-濕度低8位= U8RH_data_L-/-校驗(yàn) 8位 = U8checkdata-/-調(diào)用相關(guān)子程序如下-/- Delay();, Delay_10us();,COM(); /-void RH(void) /主機(jī)拉低18ms P2_0=

10、0; Delay(18); P2_0=1; /總線由上拉電阻拉高 主機(jī)延時(shí)20usEA=0; Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); /主機(jī)設(shè)為輸入 判斷從機(jī)響應(yīng)信號(hào) P2_0=1; /判斷從機(jī)是否有低電平響應(yīng)信號(hào) 如不響應(yīng)則跳出,響應(yīng)則向下運(yùn)行 if(!P2_0) /T ! U8FLAG=2; /判斷從機(jī)是否發(fā)出 80us 的低電平響應(yīng)信號(hào)是否結(jié)束 while(!P2_0)&U8FLAG+); U8FLAG=2; /判斷從機(jī)是否發(fā)出 80us 的高電平,如發(fā)出則進(jìn)入數(shù)據(jù)接收狀態(tài) while(P2_0)&U8FLAG+);

11、 /數(shù)據(jù)接收狀態(tài) 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; /數(shù)據(jù)校驗(yàn) U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp=U8checkdata_temp)

12、R_H=U8RH_data_H_temp; R_L=U8RH_data_L_temp;T_H=U8T_data_H_temp; T_L=U8T_data_L_temp; U8checkdata=U8checkdata_temp; EA=1;說明書:數(shù)字溫濕度傳感器AM2302 小體積AM2302 相對(duì)濕度和溫度測(cè)量 全部校準(zhǔn),數(shù)字輸出 卓越的長(zhǎng)期穩(wěn)定性 無需額外部件 超長(zhǎng)的信號(hào)傳輸距離 超低能耗 4 引腳安裝完全互換 AM2302產(chǎn)品概述AM2302數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期

13、穩(wěn)定性。傳感器包括一個(gè)電容式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。每個(gè)AM2302傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在OTP內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡(jiǎn)易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場(chǎng)合的最佳選則。產(chǎn)品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。應(yīng)用領(lǐng)域暖通空調(diào) 測(cè)試及檢測(cè)設(shè)備汽車 數(shù)據(jù)記錄器消費(fèi)品 自動(dòng)控制氣象站 家電濕度

14、調(diào)節(jié)器 醫(yī)療1、傳感器性能說明參數(shù)條件MinTypMax單位濕度分辨率0.1%RH16Bit重復(fù)性0.3%RH精度252%RH-20802%RH互換性可完全互換采樣周期2S響應(yīng)時(shí)間1/e(63%)25,1m/s 空氣5S遲滯0.3%RH長(zhǎng)期穩(wěn)定性典型值0.5%RH/yr溫度分辨率0.116Bit重復(fù)性0.2精度0.5量程范圍-4080響應(yīng)時(shí)間1/e(63%)620S2、 采樣周期不得低于最小值,否則會(huì)引起錯(cuò)誤3、 接口說明 建議連接線長(zhǎng)度短于20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用合適的上拉電阻 AM2302的接線圖如下圖所示。 3、電源引腳AM2302的供電電壓為3.3-6V。傳

15、感器上電后,要等待 1s 以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個(gè)100nF 的電容,用以去耦濾波。4、單總線接口 DATA 用于微處理器與 AM2302之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時(shí)間5ms左右 ,具體格式在下面說明,當(dāng)前數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式: 40bit數(shù)據(jù)=16bit濕度數(shù)據(jù)+16bit溫度數(shù)據(jù)+8bit校驗(yàn)和例子: 接收40bit數(shù)據(jù)如下: 0000 0010 1000 1100 0000 0001 0101 1111 1110 1110 濕度數(shù)據(jù) 溫度數(shù)據(jù) 校驗(yàn)和 濕度高8位+濕度低8位+溫度高8位+溫度

16、低8位=的末8位=校驗(yàn)和 例如:0000 0010+1000 1100+0000 0001+0101 1111=1110 1110 濕度=65.2RH 溫度=35.1 當(dāng)溫度低于0時(shí)溫度數(shù)據(jù)的最高位置1。 例如:-10.1表示為1000 0000 0110 0101 用戶主機(jī)(MCU)發(fā)送一次開始信號(hào)后,AM2302從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號(hào)結(jié)束后,AM2302發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采集。(注:主機(jī)從AM2302讀取的溫濕度數(shù)據(jù)總是前一次的測(cè)量值,如兩次測(cè)量間隔時(shí)間很長(zhǎng),請(qǐng)連續(xù)讀兩次以獲得實(shí)時(shí)的溫濕度值)圖1 空閑時(shí)總線為高電平,通訊開始時(shí)主機(jī)(M

17、CU)拉低總線110ms后釋放總線,延時(shí)20-40us后主機(jī)開始檢測(cè)從機(jī)(AM2302)的響應(yīng)信號(hào)。 從機(jī)的響應(yīng)信號(hào)是一個(gè)80us左右的低電平,隨后從機(jī)在拉高總線80us左右代表即將進(jìn)入數(shù)據(jù)傳送。 圖2 高電平后就是數(shù)據(jù)位,每1bit數(shù)據(jù)都是由一個(gè)低電平時(shí)隙和一個(gè)高電平組成。低電平時(shí)隙就是一個(gè)50us左右的低電平,它代表數(shù)據(jù)位的起始,其后的高電平的長(zhǎng)度決定數(shù)據(jù)位所代表的數(shù)值,較長(zhǎng)的高電平代表1,較短的高電平代表0。共40bit數(shù)據(jù),當(dāng)最后一Bit數(shù)據(jù)傳送完畢后,從機(jī)將再次拉低總線50us左右,隨后釋放總線,由上拉電阻拉高。數(shù)字1信號(hào)表示方法如圖4所示 圖4數(shù)字0信號(hào)表示方法.如圖5所示 圖55

18、、 測(cè)量分辨率測(cè)量分辨率分別為 16bit(溫度)、16bit(濕度)。6、電氣特性VDD=5V,T = 25,除非特殊標(biāo)注參數(shù)條件mintypmax單位供電 DC3.36V供電電流測(cè)量11.5mA待機(jī)4050uA采樣周期秒2次注:采樣周期間隔不得低于2秒鐘(建議2秒以上)。7、應(yīng)用信息7.1工作與貯存條件超出建議的工作范圍可能導(dǎo)致高達(dá)3%RH的臨時(shí)性漂移信號(hào)。返回正常工作條后,傳感器會(huì)緩慢地向校準(zhǔn)狀態(tài)恢復(fù)。要加速恢復(fù)進(jìn)程/可參閱7.3小節(jié)的“恢復(fù)處理”。在非正常工作條件下長(zhǎng)時(shí)間使用會(huì)加速產(chǎn)品的老化過程。7.2暴露在化學(xué)物質(zhì)中電容式濕度傳感器的感濕層會(huì)受到化學(xué)蒸汽的干擾,化學(xué)物質(zhì)在感應(yīng)層中的擴(kuò)散可能導(dǎo)致測(cè)量值漂移和靈敏度下降。在一個(gè)純凈的環(huán)境中,污染物質(zhì)會(huì)緩慢地釋放出去。下文所述的恢復(fù)處理將加速實(shí)現(xiàn)這一過程。高濃度的化學(xué)污染會(huì)導(dǎo)致傳感器感應(yīng)層的徹底損壞。7.3恢復(fù)處理置于極限工作條件下或化學(xué)蒸汽中的傳感器,通過如下處理程序,可使其恢復(fù)到校準(zhǔn)時(shí)的狀態(tài)。在50-60和70%RH的濕度條件下保持 5小時(shí)以上。7.4溫度影響氣體的相對(duì)濕度,在很大程度上依賴于溫度。因此在測(cè)量濕度時(shí),應(yīng)盡可能保證濕度傳感器在同一溫度下工作。如果與釋放熱量的電子元件共用一個(gè)印刷線路板,在安裝時(shí)應(yīng)盡可能將DHT22遠(yuǎn)離發(fā)熱電子元件,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論