2

我有DHT11 温度传感器,我正在尝试将湿度转换为可用于比较数据的数字。

如果我使用:

Serial.print("Humidity (%): ");
Serial.println((int)DHT11.humidity, DEC);
//Prints: 38 for the humidity

但是,如果我使用

  int tempHum;
  tempHum = ((int)DHT11.humidity, DEC);
  Serial.print("Humidity (%): ");
  Serial.println(tempHum);
  //Always Prints: 10

我怎样才能将湿度变成序列号以外的准确数字?

4

1 回答 1

1

下次您发布时,请添加指向您正在使用的库的链接 - 这样我们肯定会谈论相同的内容。你还没有发布你所有的代码,但是看着这个,在我看来,这条线tempHum = ((int)DHT11.humidity, DEC);会导致你的问题。

如果您尝试tempHum = DHT11.humidity改用,您可能会得到更好的结果。这是因为您正在执行的转换和添加DEC参数似乎是 println 函数,因此底层系统知道它应该打印哪种类型。

当然,你们都需要记住做 aint retval = DHT11.read(DHT11PIN)并检查您的 retval 是否没有出错 - 这应该可以正常工作。

于 2013-01-28T01:51:08.687 回答