arduino驅動dbs820溫度

 

 

 

 

 

 

 

http://www.javashuo.com/article/p-buqvlwym-ea.htmlgit

超過溫度報警oop

 

 

 

 

 

// #include <OneWire.h> //能夠不引入,由於DallasTemperature.h中已經引入了OneWire.h
#include <DallasTemperature.h>

int relayPin = 5; //繼電器引腳

float tem_alram=30;
#define ONE_WIRE_BUS 4 //1-wire數據總線鏈接在IO4
OneWire oneWire(ONE_WIRE_BUS); //聲明
DallasTemperature sensors(&oneWire); //聲明

void setup(void)
{
  Serial.begin(115200);
  Serial.println("");
  pinMode(relayPin, OUTPUT);
  sensors.begin(); //初始化總線
}

void loop(void)
{
 // Serial.println("發起溫度轉換");
  sensors.requestTemperatures(); //向總線上全部設備發送溫度轉換請求,默認狀況下該方法會阻塞
 // Serial.println("溫度轉換完成");

  float tempC = sensors.getTempCByIndex(0); //獲取索引號0的傳感器攝氏溫度數據
  if (tempC != DEVICE_DISCONNECTED_C) //若是獲取到的溫度正常 
  {
    Serial.print("當前溫度是: ");
    Serial.print(tempC);
    Serial.println(" ℃\n");

    if(tempC>tem_alram)
      {
        Serial.println("繼電器打開");
        digitalWrite(relayPin, HIGH);
      }
      else
      {
         Serial.println("繼電器關閉");
         digitalWrite(relayPin, LOW);
      }
  }

 // delay(2000);
}
相關文章
相關標籤/搜索