步驟1:一般如何工作
一般來說這個(gè)溫度計(jì)是Adafruit的產(chǎn)品,它帶有K型傳感器,幾乎可用于家庭或地下室溫度測量,爐子和烤箱熱量測量。它可以承受從-260攝氏度到980攝氏度的溫度,并且通過一些小的電源調(diào)整,它可以達(dá)到1380攝氏度(非常值得注重)并且非常精確,+/- 2度變異非常有用。如果你像我們使用Arduino Nano那樣制作它,你也可以將它裝在一個(gè)小盒子里(考慮到你將制作你自己的盒子,但不包括在本教程中)。
Step 2:連接并正確布線
您可以從上面的照片中看到這樣的包裝。您可以使用跳線將其連接到Arduino板,但我會建議焊接電線,因?yàn)樗梢栽诜浅P〉碾妷合鹿ぷ鳎虼巳魏屋p微的移動都會破壞結(jié)果。
上面的照片是如何拍攝的我們將電線焊接到傳感器上。對于我們的項(xiàng)目,我們使用了Arduino Nano,正如您所看到的,我們已經(jīng)對我們的Arduino進(jìn)行了一些修改,以便從我們的測量中獲得最佳結(jié)果。
第3步:使用類型
根據(jù)數(shù)據(jù)表,此傳感器可用于使用常規(guī)Arduino 5V電源在-260至980攝氏度之間進(jìn)行測量,或者您可以添加一些外部電源,這將讓您有機(jī)會測量高達(dá)1380度的溫度。 但要注意,如果溫度計(jì)給Arduino提供的電壓超過5V,可能會損壞你的Arduino并且你的項(xiàng)目可能注定要失敗。
為了克服這個(gè)問題,我們放了一個(gè)器件上的分壓器,在我們的情況下是Vout到Vin電壓的一半。
鏈接到數(shù)據(jù)表:
http://www.analog.com/media/en/技術(shù)文件。..
http://www.analog.com/media/en/technical-documenta 。..
第4步:大問題使用測量時(shí)的代碼
根據(jù)溫度計(jì)的數(shù)據(jù)表,參考電壓為1.25V。在我們的測量中,情況并非如此。..。..當(dāng)我們進(jìn)一步測試時(shí),我們發(fā)現(xiàn)指示電壓是可變的,我們在兩臺計(jì)算機(jī)上測試,兩者都不同(!?!)。好吧,我們在電路板上放了一個(gè)引腳(如上圖所示),我們在代碼中放了一行,每次在計(jì)算之前讀取所指的電壓值。
這個(gè)的主要公式是 Temp =(Vout-1.25)/0.005 。
在我們的公式中我們做到了: Temp =( Vout-Vref)/0.005 。
第5步:代碼部分1
const int AnalogPin = A0;//用于臨時(shí)讀取的模擬引腳
const int AnalogPin2 = A1;//用于讀取參考值的模擬引腳
float Temp;//溫度
float Vref;//參考電壓
float Vout;//adc之后的電壓
float SenVal;//傳感器值
float SenVal2;//來自引用引腳的傳感器值
void setup(){
Serial.begin(9600);
void loop(){
SenVal = analogRead(A0);//溫度模擬值
SenVal2 = analogRead(A1);//來自refferent pin的模擬值
Vref =(SenVal2 * 5.0)/1024.0;//將模擬轉(zhuǎn)換為數(shù)字以表示參考值
Vout =(SenVal * 5.0)/1024.0;//溫度讀取電壓的模擬轉(zhuǎn)換為數(shù)字
溫度=(Vout - Vref)/0.005;//溫度計(jì)算
Serial.print(“ Temperature =”);
Serial.println(Temp);
Serial.print(“Referent Voltage =”);
Serial.println(Vref);
延遲(200);
}
當(dāng)您使用Arduino(無外部電源)的電源時(shí),將使用此代碼。根據(jù)數(shù)據(jù)表,這會將您的測量限制為最高980攝氏度。
步驟6:代碼部分2
const int AnalogPin = A0;//用于臨時(shí)讀取的模擬引腳
const int AnalogPin2 = A1;//我們讀取參考值的模擬引腳(我們必須這樣做,因?yàn)閭鞲衅鞯膮⒖贾挡环€(wěn)定)
float Temp;//溫度
float Vref;//參考電壓
float Vhalf;//分隔符后的arduino讀取電壓
float Vout;//轉(zhuǎn)換后的電壓
float SenVal;//傳感器值
float SenVal2;//來自我們獲得參考值的傳感器值
void setup(){
Serial.begin(9600); }
void loop(){
SenVal = analogRead(A0);//模擬輸出值
SenVal2 = AnalogRead(A1);//我們得到參考值的模擬輸出
Vref =(SenVal2 * 5.0)/1024.0;//將來自Referent引腳的模擬值轉(zhuǎn)換為數(shù)字值
Vhalf =(SenVal * 5.0)/1024.0;//將模數(shù)轉(zhuǎn)換為數(shù)值
Vout = 2 * Vhalf;//計(jì)算半分壓分壓器后的電壓
Temp =(Vout - Vref)/0.005;//溫度公式計(jì)算
Serial.print(“ Temperature =”“);
Serial.println(Temp);
Serial.print(“Vout =”);
Serial.println(Vout);
Serial.print(“Referent Voltage =”);
Serial.println(Vref);
延遲(100);
}
如果您使用外部電源,這是代碼,為此我們使用分壓器。這就是為什么我們里面有“ Vhalf”值。我們使用的分壓器(參見第3部分)是輸入電壓的一半(R1具有與R2相同的歐姆值),因?yàn)槲覀兪褂玫氖?V電池。如上所述,任何高于5V的電壓都可能損壞Arduino,因此我們使其達(dá)到最大4.5V(在這種情況下這是不可能的,因?yàn)樵诜謮浩髦髠鞲衅鬏敵龅淖畲蠊β士赡茉?.5V)。
第7步:結(jié)果
從上面的屏幕截圖中可以看到,我們已經(jīng)對其進(jìn)行了測試并且可以正常工作。此外,我們還為您提供了Arduino的原始文件。
責(zé)任編輯:wv
-
溫度計(jì)
+關(guān)注
關(guān)注
6文章
404瀏覽量
78435 -
Arduino
+關(guān)注
關(guān)注
187文章
6464瀏覽量
186677 -
AD8495
+關(guān)注
關(guān)注
0文章
6瀏覽量
13092
發(fā)布評論請先 登錄
相關(guān)推薦
評論