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

標題: arduino控制的DHT11溫濕度傳感器程序 [打印本頁]

作者: maomao12    時間: 2019-4-17 09:49
標題: arduino控制的DHT11溫濕度傳感器程序
Arduino源程序:
  1. #define DHT11_PIN 0
  2. int Led = 8;
  3. int Buzzer = 7;
  4. byte read_dht11_dat()
  5. {
  6.         byte i = 0;
  7.         byte result = 0;
  8.         for (i = 0; i<8; i++)
  9.         {
  10.                 while (!(PINC&_BV(DHT11_PIN)));
  11.                 delayMicroseconds(30);
  12.                 if (PINC&_BV(DHT11_PIN))
  13.                         result |= (1 << (7 - i));
  14.                 while ((PINC&_BV(DHT11_PIN)));
  15.         }
  16.         return result;
  17. }
  18. void setup()
  19. {
  20.         DDRC |= _BV(DHT11_PIN);
  21.         PORTC |= _BV(DHT11_PIN);
  22.         pinMode(Led, OUTPUT);
  23.         pinMode(Buzzer, OUTPUT);
  24.         Serial.begin(19200);
  25.         Serial.println("Ready");
  26. }
  27. void loop()
  28. {
  29.         byte dht11_dat[5];
  30.         byte dht11_in;
  31.         byte i;
  32.         PORTC &= ~_BV(DHT11_PIN);
  33.         delay(18);
  34.         PORTC |= _BV(DHT11_PIN);
  35.         delayMicroseconds(40);
  36.         DDRC &= ~_BV(DHT11_PIN);
  37.         delayMicroseconds(40);
  38.         dht11_in = PINC & _BV(DHT11_PIN);
  39.         if (dht11_in)
  40.         {
  41.                 Serial.println("dht11 start condition 1 not met");
  42.                 return;
  43.         }
  44.         delayMicroseconds(80);
  45.         dht11_in = PINC & _BV(DHT11_PIN);
  46.         if (!dht11_in)
  47.         {
  48.                 Serial.println("dht11 start condition 2 not met");
  49.                 return;
  50.         }
  51.         delayMicroseconds(80);
  52.         for (i = 0; i<5; i++)
  53.                 dht11_dat[i] = read_dht11_dat();
  54.         DDRC |= _BV(DHT11_PIN);
  55.         PORTC |= _BV(DHT11_PIN);
  56.         byte dht11_check_sum = dht11_dat[0] + dht11_dat[1] + dht11_dat[2] + dht11_dat[3];
  57.         if (dht11_dat[4] != dht11_check_sum)
  58.         {
  59.                 Serial.println("DHT11 checksum error");
  60.         }
  61.         Serial.print("Current humdity= ");
  62.         Serial.print(dht11_dat[0], DEC);
  63.         Serial.print(".");
  64.         Serial.print(dht11_dat[1], DEC);
  65.         Serial.print("%");
  66.         Serial.print("temperature = ");
  67.         Serial.print(dht11_dat[2], DEC);
  68.         Serial.print(".");
  69.         Serial.print(dht11_dat[3], DEC);
  70.         Serial.println("C");
  71.         if (dht11_dat[0] == 25)
  72.                 digitalWrite(Led, HIGH);
  73.         else
  74.                 digitalWrite(Led, LOW);

  75.         if (dht11_dat[0] == 28)
  76.                 digitalWrite(Buzzer, LOW);
  77.         else
  78.                 digitalWrite(Buzzer, HIGH);
  79.         delay(2000);
  80. }
復制代碼

全部資料51hei下載地址:
arduino控制的DHT11溫濕度傳感器程序.zip (889 Bytes, 下載次數: 34)


作者: admin    時間: 2019-4-17 14:42
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
作者: 秋雨楓葉    時間: 2020-3-19 06:32
下個學習




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲黄色国产 | 伊人伊人| 国产91久久久久久久免费 | 亚州国产 | 欧美综合国产精品久久丁香 | 99免费精品视频 | 天堂视频免费 | 久久久久国产一区二区三区四区 | 天天操天天怕 | 欧美日一区 | 国产精品久久国产精品久久 | 日韩成人在线网址 | 亚洲第一网站 | 精品亚洲一区二区 | 亚洲午夜视频 | 91免费入口 | 国产男人的天堂 | 黄色在线观看国产 | 亚洲精品乱码久久久久久蜜桃91 | 日韩欧美一区二区三区四区 | 亚洲国产视频一区二区 | 亚洲一区二区国产 | 亚洲成av人片在线观看无码 | 五月婷婷 六月丁香 | 国产自产21区 | 国产电影一区 | 国产日韩欧美一区二区 | 免费观看黄色一级片 | 亚洲一区二区在线视频 | 久久伊人精品一区二区三区 | av日日操 | 男人av的天堂 | 亚洲一区毛片 | 亚洲精品白浆高清久久久久久 | 日韩免费视频一区二区 | 玖玖在线精品 | 国产精品久久久久久一区二区三区 | 91精品国产高清久久久久久久久 | 午夜精品久久久久久久久久久久 | 日韩av看片| 91亚洲免费 |