首先簡歷乙個dht11資料夾,儲存在arduino安裝目錄的libraries路徑下
裡面包括兩個檔案,乙個是標頭檔案,乙個是c++檔案
**如下
dht11.cpp
//// file: dht11.cpp
// version: 0.4.1
// purpose: dht11 temperature & humidity sensor library for arduino
// license: gpl v3 (
//// datasheet:
//// history:
// george hadjikyriacou - original version (??)
// mod by simkard - version 0.2 (24/11/2010)
// mod by rob tillaart - version 0.3 (28/03/2011)
// + added comments
// + removed all non dht11 specific code
// + added references
// mod by rob tillaart - version 0.4 (17/03/2012)
// + added 1.0 support
// mod by rob tillaart - version 0.4.1 (19/05/2012)
// + added error codes
//#include "dht11.h"
// return values:
// dhtlib_ok
// dhtlib_error_checksum
// dhtlib_error_timeout
int dht11::read(int pin)
else cnt--;
} // write to right vars
// as bits[1] and bits[3] are allways zero they are omitted in formulas.
humidity = bits[0];
temperature = bits[2];
uint8_t sum = bits[0] + bits[2];
if (bits[4] != sum) return dhtlib_error_checksum;
return dhtlib_ok;}//
// end of file
//
dht11.h
// // file: dht11.h
// version: 0.4.1
// purpose: dht11 temperature & humidity sensor library for arduino
// license: gpl v3 (
//// datasheet:
//// url:
//// history:
// george hadjikyriacou - original version
// see dht.cpp file
// #ifndef dht11_h
#define dht11_h
#if defined(arduino) && (arduino >= 100)
#include #else
#include #endif
#define dht11lib_version "0.4.1"
#define dhtlib_ok 0
#define dhtlib_error_checksum -1
#define dhtlib_error_timeout -2
class dht11
;#endif
//// end of file
//
例項
double fahrenheit(double celsius)
//攝氏溫度度轉化為華氏溫度
double kelvin(double celsius)
//攝氏溫度轉化為開氏溫度
// **(點在此溫度時,空氣飽和並產生露珠)
// 參考:
double dewpoint(double celsius, double humidity)
// 快速計算**,速度是5倍dewpoint()
// 參考:
double dewpointfast(double celsius, double humidity)
#include dht11 dht11;
#define dht11pin 2
void setup()
void loop()
serial.print("humidity (%): ");
serial.println((float)dht11.humidity, 2);
serial.print("temperature (oc): ");
serial.println((float)dht11.temperature, 2);
serial.print("temperature (of): ");
serial.println(fahrenheit(dht11.temperature), 2);
serial.print("temperature (k): ");
serial.println(kelvin(dht11.temperature), 2);
serial.print("dew point (oc): ");
serial.println(dewpoint(dht11.temperature, dht11.humidity));
serial.print("dew pointfast (oc): ");
serial.println(dewpointfast(dht11.temperature, dht11.humidity));
delay(2000);
}
DHT11溫濕度感測器
原理圖 資料傳輸 使用序列介面 單線雙向 data 用於微處理器與 dht11之間的通訊和同步,採用單匯流排資料格式,一次 通訊時間4ms左右,資料分小數部分和整數部分,具體格式在下面說明,當前小數 部分用於以後擴充套件,現讀出為零.操作流程如下 一次完整的資料傳輸為40bit,高位先出。資料格式 ...
DHT11溫濕度感測器
dht11數字溫濕度感測器是一款含有已校準數碼訊號輸出的溫濕度復合感測器。它應用專用的數字模組採集技術和溫濕度感測技術,確保產品具有極高的可靠性與長期的穩定性。感測器包括乙個電阻式感溼元件和乙個ntc測溫元件,並與乙個8位微控制器相連線。因此該產品具有抗干擾能力強 價效比高等優點。dht11使用1 ...
DHT11溫濕度感測器
硬體連線 mcu通過一條資料線與dh11連線,mcu通過這條線發命令給dh11,dh11再通過這條線把資料傳送給mcu。溫濕度模組的核心就是 mcu發給dh11的命令格式和dh11返回的資料格式。首先mcu傳送乙個開始訊號s,這個開始訊號是乙個低脈衝,然後再拉高。等待dht11應答。然後,dh11拉...