该库允许您从 DHT 系列传感器读取温度和湿度。
该库允许获取以摄氏度、开尔文和华氏度为单位的相对湿度和温度数据。支持的传感器:DH11、DHT21、DHT22。
TroykaDHT库的的使用非常简单,它包含7个函数:
begin //初始化接口,做好准备。
read //从DHT传感器读取数据。
getState //返回传感器状态
DHT_OK 0 //传感器状态正常。可以显示温湿度数据。
DHT_ERROR_CHECKSUM -1//传回数据错误
DHT_ERROR_TIMEOUT -2//传感器超时
DHT_ERROR_NO_REPLY -3//传感器没有反馈
getTemperatureC //返回摄氏温度
getTemperatureK //返回开尔文温度
getTemperatureF //返回华氏温度
getHumidity //返回湿度数据。
接线图:
示例程序:
#include <TroykaDHT.h>
DHT dht(5, DHT22);//建立对象。
void setup()
{
Serial.begin(9600);
dht.begin();//启动传感器
}
void loop()
{
dht.read();//读取传感器数据
switch(dht.getState()) {//读取传感器状态
case DHT_OK://传感器状态正常,可以打印数据
Serial.print("摄氏温度 = ");
Serial.print(dht.getTemperatureC());
Serial.println(" C \t");
Serial.print("开尔文温度 = ");
Serial.print(dht.getTemperatureK());
Serial.println(" K \t");
Serial.print("华氏温度 = ");
Serial.print(dht.getTemperatureF());
Serial.println(" F \t");
Serial.print("湿度 = ");
Serial.print(dht.getHumidity());
Serial.println(" %");
break;
case DHT_ERROR_CHECKSUM://传感器返回数据错误
Serial.println("数据错误");
break;
case DHT_ERROR_TIMEOUT://传感器超时。
Serial.println("超时错误");
break;
case DHT_ERROR_NO_REPLY://传感器没有回应。
Serial.println("传感器没有连接");
break;
}
delay(2000);
}