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); }