标题: arduino 温湿度传感器dht11 库文件 [打印本页]

作者: AC4423    时间: 2017-4-14 10:52
标题: arduino 温湿度传感器dht11 库文件
arduino 温湿度传感器dht11 库文件

下载:
DHT11数字温湿度传感器库文件:DHT.zip (1.48 KB, 下载次数: 879)



  1. //
  2. //    FILE: dht22.cpp
  3. // VERSION: 0.1.00
  4. // PURPOSE: DHT22 Temperature & Humidity Sensor library for Arduino
  5. //
  6. // DATASHEET:
  7. //
  8. // HISTORY:
  9. // 0.1.0 by Rob Tillaart (01/04/2011)
  10. // inspired by DHT11 library
  11. //

  12. #include "dht.h"

  13. #define TIMEOUT 10000

  14. /////////////////////////////////////////////////////
  15. //
  16. // PUBLIC
  17. //


  18. // return values:
  19. //  0 : OK
  20. // -1 : checksum error
  21. // -2 : timeout
  22. int dht::read11(uint8_t pin)
  23. {
  24.         // READ VALUES
  25.         int rv = read(pin);
  26.         if (rv != 0) return rv;

  27.         // CONVERT AND STORE
  28.         humidity    = bits[0];  // bit[1] == 0;
  29.         temperature = bits[2];  // bits[3] == 0;

  30.         // TEST CHECKSUM
  31.         uint8_t sum = bits[0] + bits[2]; // bits[1] && bits[3] both 0
  32.         if (bits[4] != sum) return -1;

  33.         return 0;
  34. }

  35. // return values:
  36. //  0 : OK
  37. // -1 : checksum error
  38. // -2 : timeout
  39. int dht::read22(uint8_t pin)
  40. {
  41.         // READ VALUES
  42.         int rv = read(pin);
  43.         if (rv != 0) return rv;

  44.         // CONVERT AND STORE
  45.         humidity    = word(bits[0], bits[1]) * 0.1;

  46.         int sign = 1;
  47.         if (bits[2] & 0x80) // negative temperature
  48.         {
  49.                 bits[2] = bits[2] & 0x7F;
  50.                 sign = -1;
  51.         }
  52.         temperature = sign * word(bits[2], bits[3]) * 0.1;


  53.         // TEST CHECKSUM
  54.         uint8_t sum = bits[0] + bits[1] + bits[2] + bits[3];
  55.         if (bits[4] != sum) return -1;

  56.         return 0;
  57. }

  58. /////////////////////////////////////////////////////
  59. //
  60. // PRIVATE
  61. //

  62. // return values:
  63. //  0 : OK
  64. // -2 : timeout
  65. int dht::read(uint8_t pin)
  66. {
  67.         // INIT BUFFERVAR TO RECEIVE DATA
  68.         uint8_t cnt = 7;
  69.         uint8_t idx = 0;

  70.         // EMPTY BUFFER
  71.         for (int i=0; i< 5; i++) bits[i] = 0;

  72.         // REQUEST SAMPLE
  73.         pinMode(pin, OUTPUT);
  74.         digitalWrite(pin, LOW);
  75.         delay(20);
  76.         digitalWrite(pin, HIGH);
  77.         delayMicroseconds(40);
  78.         pinMode(pin, INPUT);

  79.         // GET ACKNOWLEDGE or TIMEOUT
  80.         unsigned int loopCnt = TIMEOUT;
  81.         while(digitalRead(pin) == LOW)
  82.                 if (loopCnt-- == 0) return -2;

  83.         loopCnt = TIMEOUT;
  84.         while(digitalRead(pin) == HIGH)
  85.                 if (loopCnt-- == 0) return -2;

  86.         // READ THE OUTPUT - 40 BITS => 5 BYTES
  87.         for (int i=0; i<40; i++)
  88.         {
  89.                 loopCnt = TIMEOUT;
  90.                 while(digitalRead(pin) == LOW)
  91.                         if (loopCnt-- == 0) return -2;

  92.                 unsigned long t = micros();

  93.                 loopCnt = TIMEOUT;
  94.                 while(digitalRead(pin) == HIGH)
  95.                         if (loopCnt-- == 0) return -2;

  96.                 if ((micros() - t) > 40) bits[idx] |= (1 << cnt);
  97.                 if (cnt == 0)   // next byte?
  98.                 {
  99.                         cnt = 7;   
  100.                         idx++;      
  101.                 }
  102.                 else cnt--;
  103.         }

  104.         return 0;
  105. }
  106. //
  107. // END OF FILE
  108. //
复制代码



作者: rwx86509722    时间: 2017-5-26 13:43
好东西,必须支持!
作者: TangHsiangYu    时间: 2017-7-19 17:04
赞一个,刚好需要
作者: cnetwide    时间: 2017-10-24 18:19
点赞。。。。。。。。。。。。。
作者: tygzs    时间: 2017-12-9 15:50

好东西,必须支持!
作者: 不及你    时间: 2017-12-18 22:20
有用,谢谢

作者: 半个字符    时间: 2017-12-30 21:05
谢谢lz
作者: 1010875340    时间: 2018-2-3 12:40
请问博主,为什么成功添加库之后会编译不通过,
会这样D:\ARDUINO\arduino-1.8.5\hardware\arduino\avr\cores\arduino/main.cpp:46: undefined reference to `loop'
作者: lf52373244    时间: 2018-2-13 10:05

赞一个,刚好需要
作者: sunbbk    时间: 2018-2-13 11:25
赞一个 也学习一下
作者: 751042938    时间: 2018-3-5 10:48

赞一个 也学习一下下
作者: zxbin79    时间: 2018-3-28 15:04
需要一个,希望能下来,谢谢。
作者: zhj666    时间: 2018-4-3 17:36
非常好,谢谢楼主的分享。
作者: rosensen    时间: 2018-4-4 09:16
谢谢楼主的分享。
作者: youyingz    时间: 2018-4-4 21:55
好东西,必须支持!
作者: 云月    时间: 2018-4-9 10:13
好东西,支持
作者: zx360c    时间: 2018-4-24 19:48
太好了,,,很有学习价值

作者: ypf3004    时间: 2018-5-8 15:42
没黑币啊
作者: hcyxx    时间: 2018-6-15 08:02
正想研究一下。。。。。。
作者: dazhao_wei123    时间: 2018-6-23 00:05
刚好需要,谢谢
作者: HFUT-LI    时间: 2018-7-5 17:14

好东西,必须支持!
作者: angusd    时间: 2018-7-10 08:31
好用,对小白就方便多了
作者: shabby    时间: 2018-7-11 17:36
感谢lz

作者: 15081898066    时间: 2018-8-14 16:57
电子小白请教一下Arduino库是什么单片机都能兼容的吗 比如STM32之类的
作者: roc2    时间: 2018-8-14 18:09
15081898066 发表于 2018-8-14 16:57
电子小白请教一下Arduino库是什么单片机都能兼容的吗 比如STM32之类的

可以和我们零知的兼容,可以看看
作者: a415058975    时间: 2018-8-30 18:50

15081898066 发表于 2018-8-14 16:57
电子小白请教一下Arduino库是什么单片机都能兼容的吗 比如STM32之类的

可以和我们零知的兼容,可以看看
作者: 漫树阿鲁巴    时间: 2018-10-28 14:08
谢谢楼主分享,太需要了
作者: 闪闪光光小皮靴    时间: 2018-11-21 18:49

谢谢楼主分享,太需要了
作者: 493470546    时间: 2018-11-29 15:13
好东西
作者: ZZUli    时间: 2018-12-6 14:21
已经导入了库文件,但是编译显示没有目录或文件,还请大佬指教

作者: qq370029694    时间: 2018-12-19 16:19
谢谢楼主分享
作者: a519517745    时间: 2019-2-1 22:23
感谢分享
作者: cunzhang    时间: 2019-2-27 16:06
放到库文件后也没反应
作者: dj12138    时间: 2019-3-16 10:01
必须支持一哈

作者: 阿瑟东123    时间: 2019-4-8 09:30
感谢分享。。。。
作者: a1204092313    时间: 2019-4-16 14:42
感谢楼主分享
作者: guizibing    时间: 2019-4-26 08:35
怎么下载
作者: jaypie    时间: 2019-5-23 11:57
赞一个,刚好需要
作者: hhll    时间: 2019-6-28 16:06
感谢分享

作者: 废柴一号    时间: 2019-7-9 15:31
感谢分享,点赞!

作者: micyb00    时间: 2019-10-28 22:22
编译不成功啊 还不知道什么问题
作者: asdfghjkl2    时间: 2020-4-18 18:04
rwx86509722 发表于 2017-5-26 13:43
**** 作者被禁止或删除 内容自动屏蔽 ****

支持,加油!
作者: buncha    时间: 2020-4-29 17:20
感谢楼主!
作者: 系动画    时间: 2020-5-1 16:23
好东西,赞,刚好需要
作者: 13618853382    时间: 2020-5-12 20:29
还不错的,推荐
作者: cc715    时间: 2020-5-16 16:17
想看看这个程序
作者: XXXYYYJJJ    时间: 2020-6-3 15:00
我想问一下  这个温度需要创建app吗
作者: BAICHIONGLIN    时间: 2020-9-1 15:27
我下载后怎么里面是空的
作者: 51hei团团    时间: 2020-9-1 15:30
BAICHIONGLIN 发表于 2020-9-1 15:27
我下载后怎么里面是空的

我刚下载用最新的winrar解压后里面有2个文件.
作者: 484348025    时间: 2021-2-27 15:29
DH11温湿度传感器可以检测周围温度以及湿度

作者: casperyqy    时间: 2021-12-30 13:29
刚好模块收到了,试用一下,谢谢
作者: 青山大叔    时间: 2022-2-25 13:10
好东西,刚好需要写到DHT11




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1