步驟1:一般如何工作
一般來說這個溫度計是Adafruit的產(chǎn)品,它帶有K型傳感器,幾乎可用于家庭或地下室溫度測量,爐子和烤箱熱量測量。它可以承受從-260攝氏度到980攝氏度的溫度,并且通過一些小的電源調(diào)整,它可以達到1380攝氏度(非常值得注重)并且非常精確,+/- 2度變異非常有用。如果你像我們使用Arduino Nano那樣制作它,你也可以將它裝在一個小盒子里(考慮到你將制作你自己的盒子,但不包括在本教程中)。
Step 2:連接并正確布線
您可以從上面的照片中看到這樣的包裝。您可以使用跳線將其連接到Arduino板,但我會建議焊接電線,因為它可以在非常小的電壓下工作,因此任何輕微的移動都會破壞結(jié)果。
上面的照片是如何拍攝的我們將電線焊接到傳感器上。對于我們的項目,我們使用了Arduino Nano,正如您所看到的,我們已經(jīng)對我們的Arduino進行了一些修改,以便從我們的測量中獲得最佳結(jié)果。
第3步:使用類型
根據(jù)數(shù)據(jù)表,此傳感器可用于使用常規(guī)Arduino 5V電源在-260至980攝氏度之間進行測量,或者您可以添加一些外部電源,這將讓您有機會測量高達1380度的溫度。 但要注意,如果溫度計給Arduino提供的電壓超過5V,可能會損壞你的Arduino并且你的項目可能注定要失敗。
為了克服這個問題,我們放了一個器件上的分壓器,在我們的情況下是Vout到Vin電壓的一半。
鏈接到數(shù)據(jù)表:
http://www.analog.com/media/en/技術(shù)文件。..
http://www.analog.com/media/en/technical-documenta 。..
第4步:大問題使用測量時的代碼
根據(jù)溫度計的數(shù)據(jù)表,參考電壓為1.25V。在我們的測量中,情況并非如此。..。..當我們進一步測試時,我們發(fā)現(xiàn)指示電壓是可變的,我們在兩臺計算機上測試,兩者都不同(?。浚。?。好吧,我們在電路板上放了一個引腳(如上圖所示),我們在代碼中放了一行,每次在計算之前讀取所指的電壓值。
這個的主要公式是 Temp =(Vout-1.25)/0.005 。
在我們的公式中我們做到了: Temp =( Vout-Vref)/0.005 。
第5步:代碼部分1
const int AnalogPin = A0;//用于臨時讀取的模擬引腳
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;//溫度計算
Serial.print(“ Temperature =”);
Serial.println(Temp);
Serial.print(“Referent Voltage =”);
Serial.println(Vref);
延遲(200);
}
當您使用Arduino(無外部電源)的電源時,將使用此代碼。根據(jù)數(shù)據(jù)表,這會將您的測量限制為最高980攝氏度。
步驟6:代碼部分2
const int AnalogPin = A0;//用于臨時讀取的模擬引腳
const int AnalogPin2 = A1;//我們讀取參考值的模擬引腳(我們必須這樣做,因為傳感器的參考值不穩(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;//計算半分壓分壓器后的電壓
Temp =(Vout - Vref)/0.005;//溫度公式計算
Serial.print(“ Temperature =”“);
Serial.println(Temp);
Serial.print(“Vout =”);
Serial.println(Vout);
Serial.print(“Referent Voltage =”);
Serial.println(Vref);
延遲(100);
}
如果您使用外部電源,這是代碼,為此我們使用分壓器。這就是為什么我們里面有“ Vhalf”值。我們使用的分壓器(參見第3部分)是輸入電壓的一半(R1具有與R2相同的歐姆值),因為我們使用的是9V電池。如上所述,任何高于5V的電壓都可能損壞Arduino,因此我們使其達到最大4.5V(在這種情況下這是不可能的,因為在分壓器之后傳感器輸出的最大功率可能在3.5V)。
第7步:結(jié)果
從上面的屏幕截圖中可以看到,我們已經(jīng)對其進行了測試并且可以正常工作。此外,我們還為您提供了Arduino的原始文件。
責任編輯:wv
-
溫度計
+關(guān)注
關(guān)注
6文章
405瀏覽量
78491 -
Arduino
+關(guān)注
關(guān)注
188文章
6471瀏覽量
187242 -
AD8495
+關(guān)注
關(guān)注
0文章
6瀏覽量
13104
發(fā)布評論請先 登錄
相關(guān)推薦
評論