该库允许您从 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);
}

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐