久久久久久久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://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人动漫在线观看 | 新香蕉视频| 中文字幕丰满人伦在线 | 亚洲免费在线 | 日韩欧美在线观看视频 | 一区二区三区精品 | 国产天堂网 | 国产精品无遮挡 | 久插视频 | 日日拍夜夜拍 | 一区二区三区黄色 | 欧美一二区 | 金银在线 | 中文字幕免费在线 | 中文字幕不卡在线 | 天天艹夜夜艹 | 亚洲成人一区二区 | 色综合久久88 | 国产三级在线观看视频 | 精品综合网 | 日韩欧美高清 | 日韩中文字幕在线播放 | 日韩黄网 | 国产午夜精品久久久久久久 | 天天爽夜夜爽夜夜爽 | 欧美日韩免费在线 | 91欧美激情一区二区三区成人 | 欧美视频精品 | 欧美日韩国产在线播放 | 亚洲黄色三级 | 日韩视频免费在线观看 | 国产成人精品av | 国产成人精品亚洲男人的天堂 | 欧美成人一级 | 在线h片 | 久久激情网 | 成人免费毛片男人用品 | 麻豆一级片 | 超碰99在线 | 黄色一级大片 | 国产精品福利一区 |