欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

DHT022-arduino

[復制鏈接]
跳轉到指定樓層
樓主
ID:171446 發表于 2017-3-17 10:13 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
byte bGlobalErr;
byte dht_dat[5];

float Data_humidity;           
float Data_temperature;               

void setup(){
  pinMode(A1,OUTPUT);
  digitalWrite(A1,HIGH);
  Serial.begin(9600);
}

void loop(){
  ReadDHT();
  if(bGlobalErr==0){
        Data_humidity = (dht_dat[0]*256+dht_dat[1])/10;  //Calculate humidity %
        if ((dht_dat[2] & 0x7f) != dht_dat[2]) {     //Calculate temperature C
           dht_dat[2]= dht_dat[2] & 0x7f;
           Data_temperature = -1*(dht_dat[2]*256+dht_dat[3])/10;
        }     
        else {  
           Data_temperature = (dht_dat[2]*256+dht_dat[3])/10;  
        }
        Serial.println(Data_humidity);
        Serial.println(Data_temperature);           
  }
  delay(1000);
}


void ReadDHT(){
  bGlobalErr=0;
  byte dht_in;
  byte i;

  digitalWrite(A1,LOW);
  delay(18);
  digitalWrite(A1,HIGH);
  delayMicroseconds(30);
  pinMode(A1,INPUT);
  delayMicroseconds(40);
  dht_in=digitalRead(A1);
  delayMicroseconds(80);
  dht_in=digitalRead(A1);
  delayMicroseconds(80);

  for (i=0; i<5; i++)
    dht_dat[i] = read_dht_dat();
  pinMode(A1,OUTPUT);
  digitalWrite(A1,HIGH);
};

byte read_dht_dat(){
  byte i = 0;
  byte result=0;
  for(i=0; i< 8; i++){
    while(digitalRead(A1)==LOW);
    delayMicroseconds(30);
    if (digitalRead(A1)==HIGH)
      result |=(1<<(7-i));
    while (digitalRead(A1)==HIGH);
  }
  return result;
}


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表