|
看了看DHT11的介绍,感觉应该不错,所以直接淘了几个,打算先测试一下。我是直接买的芯片,现成的模块上就多了1个电阻,1个电容,个人感觉没什么买模块的必要,2个芯片=1个模块的价钱。
首先这东西长成这个样子的
pin脚说明
按照官方的连线图连接
之后是代码,使用的uno - #include <dht11.h>
- dht11 DHT11;
- #define DHT11PIN 3 //DHT11 PIN 3 连接UNO 3
- void setup()
- {
- Serial.begin(115200);
- Serial.println("DHT11 TEST PROGRAM ");
- Serial.print("LIBRARY VERSION: ");
- Serial.println(DHT11LIB_VERSION);
- Serial.println();
- }
- void loop()
- {
- Serial.println("\n");
- int chk = DHT11.read(DHT11PIN);
- Serial.print("Read sensor: ");
- switch (chk)
- {
- case DHTLIB_OK:
- Serial.println("OK");
- break;
- case DHTLIB_ERROR_CHECKSUM:
- Serial.println("Checksum error");
- break;
- case DHTLIB_ERROR_TIMEOUT:
- Serial.println("Time out error");
- break;
- default:
- Serial.println("Unknown error");
- break;
- }
- Serial.print("Humidity (%): ");
- Serial.println((float)DHT11.humidity, 2);
- Serial.print("Temperature (oC): ");
- Serial.println((float)DHT11.temperature-2, 2);
- delay(2000);
- }
复制代码 问题出来了,这东西好像精度实在有问题,我测试了4个,感觉误差真的是正负2度呢,也就能当个温度计用,其他要求精度高的地方还是别用的好,要不然就只能在程序里自己校对之后再用吧。附件有相应的库文件,用起来倒是挺简单的。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|