久久久久久久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
主站蜘蛛池模板: 久久99久久99精品免视看婷婷 | 久久久高清 | 日韩a | 日韩高清一区 | 日韩视频一区二区三区 | 色在线免费 | 国产精品一区二区三区四区五区 | 亚洲精品68久久久一区 | 国产成人免费 | 久久久99精品免费观看 | 九九热热九九 | 久久久久国产精品 | 91高清在线观看 | 99精品网站 | 亚洲福利网 | 青青久久| 国产激情免费视频 | 国产精品美女久久久久aⅴ国产馆 | 久久精品一区二区三区四区 | 久久高清国产 | 久久国产精品免费一区二区三区 | 少妇一级淫片aaaaaaaaa | 欧美一区二区三区在线 | 日本一区二区在线视频 | 成人a免费| 久久久久久蜜桃一区二区 | 九九在线视频 | 久久免费精品 | 国产一区影院 | 成人深夜福利在线观看 | 国产99久久精品一区二区300 | 欧美精品在线播放 | 91精品久久久久久久久久 | 黄色小视频大全 | 亚洲国产日本 | 99re66在线观看精品热 | 日韩精品一区在线 | 日本a级大片 | 精品欧美在线观看 | 欧美一区二区三区在线 | 精品亚洲视频在线 |