下面我將介紹DHT11模塊的相關用法oop
DHT11數字傳感器概述:是一款含有已校準數字信號輸出的溫溼度複合傳感器 。它應用專用的數字模塊採集技術和溫溼度傳感技術 ,確保產品具備極 高的可靠性與卓越的長期穩定性。ui
技術參數spa
供電電壓: 3.3~5.5V DC對象
輸 出: 單總線數字信號blog
測量範圍: 溼度20-90%RH, 溫度0~50℃接口
測量精度: 溼度+-5%RH, 溫度+-2℃同步
分 辨 率: 溼度1%RH, 溫度1℃源碼
互 換 性: 可徹底互換 ,產品
長期穩定性: <±1%RH/年it
串行接口(單線雙向)
DATA 用於微處理器與 DHT11之間的通信和同步,採用單總線數據格式,一次
通信時間4ms左右,數據分小數部分和整數部分,具體格式在下面說明,當前小數
部分用於之後擴展,現讀出爲零.操做流程以下:
一次完整的數據傳輸爲40bit,高位先出。
數據格式:8bit溼度整數數據
+8bit溼度小數數據
+8bi溫度整數數據+8bit溫度小數數據+8bit校驗和
數據傳送正確時校驗和數據等於「8bit溼度整數數據+8bit溼度小數數據
+8bi溫度整數數據+8bit溫度小數數據」所得結果的末8位。
用戶MCU發送一次開始信號後,DHT11從低功耗模式轉換到高速模式,等待主
機開始信號結束後,DHT11發送響應信號,送出40bit的數據,並觸發一次信號採集,
用戶可選擇讀取部分數據.從模式下,DHT11接收到開始信號觸發一次溫溼度採集,
若是沒有接收到主機發送開始信號,DHT11不會主動進行溫溼度採集.採集數據後
轉換到低速模式。
接線:
#include <dht11.h> //引用dht11庫文件,使得下面能夠調用相關參數
#define DHT11PIN 2 //定義溫溼度針腳號爲2號引腳
dht11 DHT11; //實例化一個對象
void setup() { //設置
Serial.begin(9600); //設置波特率參數
pinMode(DHT11PIN,OUTPUT); //定義輸出口
}
void loop() { //循環
int chk = DHT11.read(DHT11PIN); //將讀取到的值賦給chk
int tem=(float)DHT11.temperature; //將溫度值賦值給tem
int hum=(float)DHT11.humidity; //將溼度值賦給hum
Serial.print("Tempeature:"); //打印出Tempeature:
Serial.println(tem); //打印溫度結果
Serial.print("Humidity:"); //打印出Humidity:
Serial.print(hum); //打印出溼度結果
Serial.println("%"); //打印出%
delay(1000); //延時一段時間
}