ESP32 單匯流排驅動DHT11 6

2021-10-09 06:00:55 字數 1017 閱讀 3605

esp32使用 dht11 感測器 通過 io4 讀出當前的溫度和濕度。

起始訊號

主機拉低匯流排不能小於 18ms(最大不得超過 30ms),然後微處理器的 i/o 設定為輸入狀態,由 於上拉電阻,主機的 i/o 即 dht11 的 data 資料線也隨之變高,等待 dht11 作出回答訊號,

從機響應訊號

dht11 的 data 引腳檢測到外部訊號有低電平時,等待外部訊號低電平結束,延遲後 dht11 的 data 引腳處於輸出狀態,輸出 83 微秒的低電平作為應答訊號,緊接著輸出 87 微秒的高電平通知外設準 備接收資料,微處理器的 i/o 此時處於輸入狀態,檢測到 i/o 有低電平(dht11 回應訊號)後,等 待 87 微秒的高電平後的資料接收,

static

void

inputinitial

(void

)//設定埠為輸入

static

void

outputhigh

(void

)//輸出 1

static

void

outputlow

(void

)//輸出 0

位資料 0 和位資料 1 的區別是:資料 1 的高電平時間比資料 0 的時間長,根據這個特 點,讀取乙個位元組的**如下:

```c

//讀取乙個位元組資料

static

void

com(

void

)// 溫濕寫入

}

按下開發板的復位鍵,讓程式執行起來,觀察顯示屏的顯示。

最後推薦一款開發套件,可以手淘掃碼檢視。

esp32 採集dht11溫濕度資料

dht11感測器可用來進行採集周圍的溫濕度資料,之前使用stm32 m0以及m3的板子都有對其進行驅動,使用esp8266 sdk開發也驅動過 現在使用的是esp32,對dht11進行資料採集 dht11有三個引腳,分別是gnd,vcc,data data接esp32的io4引腳 程式 如下 inc...

基於51的DHT11驅動

1.感測器效能說明 測溼範圍 20 90 測溫範圍 0 50c 測溫精度 2c 測溼精度 5 rh 2.介面說明 長度大於20m 時採用5k 上拉電阻 3.電源引腳 電源供電電壓 3 5.5v 電源引腳 vcc,gnd 可增加乙個 100nf 的電容用以去耦濾波 4.序列介面 單線雙向,採取但匯流排...

STM32 HAL庫驅動DHT11讀取溫濕度程式

驅動dht11 dht22 ds18bb20等溫濕度模組時序是比較簡單的,關鍵在於控制好時序的延時時間,hal庫的延時函式hal delay是毫秒級別延時函式,所關鍵點就是實現微秒級別的延時函式。微秒級別延時函式實現見我的另一篇部落格 io方向設定 define dht11 io in pc10 i...