Arduino UNO使用一个IO驱动DHT22温湿度传感器

  • DengQilong
  • LV4工程师
  • |      2017-08-12 17:37:33
  • 浏览量 878
  • 回复:0
DHT22是DHT11的升级版本,精度提高了,可以方便的测量温湿度,只需一个IO驱动。 硬件准备如下: 简介 DHT22数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。 传感器包括一个电容式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。 单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品连接方便,可直接插接到arduino传感器扩展板上。 DHT22数字温湿度传感器精度较高,可以替代昂贵的进口SHT10温湿度传感器。在对环境温度与湿度测量要求较高的情况下使用,该产品具有极高的可靠性和出色的稳定性。 与Arduino专用传感器扩展板结合使用,可以非常容易地实现与温度和与湿度感知相关的互动效果。 注意:DHT22的传感器接线是模拟--数字转换线。 产品参数 供电电压:+5V 温度范围:-40-80℃ 分辨率0.1℃ 误差±0.5℃ 湿度范围:0-100%RH 分辨率0.1%RH 误差±2%RH 接口线序:VCC,GND,digital dht库是Arduino提供的官方库,可以兼容DHT11和DHT22。 还是老规矩,库文件解压后放到Arduino IDE安装路劲的librayies文件夹下;
  1. /*************************************
  2. 这个程序用来测试DHT22的温湿度。
  3. **************************************/
  4. #include
  5. dht DHT;
  6. #define DHT22_PIN 7
  7. void setup()
  8. {
  9. Serial.begin(115200);
  10. Serial.println("DHT TEST PROGRAM ");
  11. Serial.print("LIBRARY VERSION: ");
  12. Serial.println(DHT_LIB_VERSION);
  13. Serial.println();
  14. Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
  15. }
  16. void loop()
  17. {
  18. Serial.print("DHT22, \t");
  19. int chk = DHT.read22(DHT22_PIN); //读取数据
  20. switch (chk)
  21. {
  22. case DHTLIB_OK:
  23. Serial.print("OK,\t");
  24. break;
  25. case DHTLIB_ERROR_CHECKSUM:
  26. Serial.print("Checksum error,\t");
  27. break;
  28. case DHTLIB_ERROR_TIMEOUT:
  29. Serial.print("Time out error,\t");
  30. break;
  31. default:
  32. Serial.print("Unknown error,\t");
  33. break;
  34. }
  35. // 显示数据
  36. Serial.print(DHT.humidity, 1);
  37. Serial.print(",\t");
  38. Serial.println(DHT.temperature, 1);
  39. delay(1000);
  40. }
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子