久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3597|回復: 2
打印 上一主題 下一主題
收起左側

DHT11溫濕度arduino程序

[復制鏈接]
跳轉到指定樓層
樓主
DHT11溫濕度檢測程序

arduino單片機源程序如下:
  1. #include "dht.h"  
  2.   
  3. #define TIMEOUT 10000  
  4. #define pin     D2
  5. // return values:  
  6. //  0 : OK  
  7. // -1 : checksum error  
  8. // -2 : timeout  
  9. int dht::read11()  
  10. {  
  11.     // READ VALUES  
  12.    int rv = read();  
  13.     if (rv != 0) return rv;  

  14.     // CONVERT AND STORE  
  15.     humidity    = bits[0];  // bit[1] == 0;  
  16.     temperature = bits[2];  // bits[3] == 0;  
  17.   
  18.     // TEST CHECKSUM  
  19.    uint8_t sum = bits[0] + bits[2]; // bits[1] && bits[3] both 0  
  20.     if (bits[4] != sum) return -1;  

  21.     return 0;  
  22. }  

  23. // return values:  
  24. //  0 : OK  
  25. // -1 : checksum error  
  26. // -2 : timeout  
  27. int dht::read22()  
  28. {  
  29.     // READ VALUES  
  30.     int rv = read();  
  31.     if (rv != 0) return rv;  
  32.   
  33.     // CONVERT AND STORE  
  34.     humidity    = word(bits[0], bits[1]) * 0.1;  
  35.   
  36.     int sign = 1;  
  37.     if (bits[2] & 0x80) // negative temperature  
  38.     {  
  39.         bits[2] = bits[2] & 0x7F;  
  40.         sign = -1;  
  41.     }  
  42.     temperature = sign * word(bits[2], bits[3]) * 0.1;  
  43.   
  44.   // TEST CHECKSUM  
  45.     uint8_t sum = bits[0] + bits[1] + bits[2] + bits[3];  
  46.     if (bits[4] != sum) return -1;  

  47.     return 0;  
  48. }  

  49. // return values:  
  50. //  0 : OK  
  51. // -2 : timeout  
  52. int dht::read()  
  53. {  
  54.     // INIT BUFFERVAR TO RECEIVE DATA  
  55.     uint8_t cnt = 7;  
  56.     uint8_t idx = 0;  

  57.    // EMPTY BUFFER  
  58.    for (int i=0; i< 5; i++) bits[i] = 0;  
  59.   
  60.     // REQUEST SAMPLE  
  61.    pinMode(pin, OUTPUT);  
  62.    digitalWrite(pin, LOW);  
  63.    delay(20);  
  64.    digitalWrite(pin, HIGH);  
  65.    delayMicroseconds(40);  
  66.    pinMode(pin, INPUT);  
  67.   
  68.    // GET ACKNOWLEDGE or TIMEOUT  
  69.    unsigned int loopCnt = TIMEOUT;  
  70.    while(digitalRead(pin) == LOW)  
  71.       if (loopCnt-- == 0) return -2;  
  72.   
  73.     loopCnt = TIMEOUT;  
  74.     while(digitalRead(pin) == HIGH)  
  75.        if (loopCnt-- == 0) return -2;  
  76.   
  77.     // READ THE OUTPUT - 40 BITS => 5 BYTES  
  78.     for (int i=0; i<40; i++)  
  79.     {  
  80.         loopCnt = TIMEOUT;  
  81.         while(digitalRead(pin) == LOW)  
  82.             if (loopCnt-- == 0) return -2;  
  83.         unsigned long t = micros();  
  84.   
  85.         loopCnt = TIMEOUT;  
  86.         while(digitalRead(pin) == HIGH)  
  87. ……………………

  88. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
temperature.rar (1.77 KB, 下載次數: 24)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:234938 發表于 2018-4-12 15:41 | 只看該作者
看起來挺高大上的,過來學習一下。
回復

使用道具 舉報

板凳
ID:315637 發表于 2018-4-24 20:00 | 只看該作者
樓主能不能單獨發一份???thanks。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品美女 | 欧美一区二区在线播放 | 色屁屁在线观看 | 亚洲精品久久久一区二区三区 | 国产精品成人一区 | 国产情侣在线看 | 欧美综合色 | 国产区在线 | 国产91观看 | 国产成在线观看免费视频 | 久久精品视频在线观看 | 精品国产欧美一区二区三区成人 | 伊人精品国产 | 日本高清不卡视频 | a级毛片国产 | 国产1区在线 | 国产精品永久久久久 | 久久精品亚洲精品国产欧美 | 欧美成年人视频在线观看 | 精品亚洲一区二区三区 | 久久99精品国产麻豆婷婷 | 亚洲国产成人av | 久久www免费人成看片高清 | 天天操天天摸天天爽 | 91av免费看 | 日韩美女爱爱 | 中文字幕国产精品 | 97精品超碰一区二区三区 | 欧美精品一区三区 | 国内精品久久久久 | 国产福利免费视频 | 91精品国产91久久综合桃花 | 五月婷婷婷 | 久久九九影视 | 国产欧美一区二区精品忘忧草 | h视频在线观看免费 | 国产视频欧美 | 国产午夜精品一区二区三区嫩草 | 日韩在线欧美 | 亚洲精品短视频 | 不卡视频一区 |