|
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
001.gif (43.39 KB, 下載次數(shù): 101)
下載附件
2018-5-25 20:49 上傳
002.png (187.54 KB, 下載次數(shù): 89)
下載附件
2018-5-25 20:49 上傳
0.png (47.99 KB, 下載次數(shù): 87)
下載附件
2018-5-26 01:21 上傳
arduino源碼:
- /*********************************************************
- * Rt= 10K RES=4700
- * GND----/\/\/\/\----/\/\/\/\----VCC=5V
- * Rt = R *EXP(B*(1/T1-1/T2))
- * 對(duì)上面的公式解釋如下:
- *
- * 1.Rt 是熱敏電阻在T1溫度下的阻值;
- * 2.R是熱敏電阻在T2常溫下的標(biāo)稱阻值;
- * 3.B值是熱敏電阻的重要參數(shù);
- * 4.EXP是e的n次方;
- * 5.這里T1和T2指的是K度即開(kāi)爾文溫度,K度=273.15(絕對(duì)溫度)+攝氏度;
- *********************************************************/
- #include <math.h>
- #define RES 4700
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
- double Water_temp;
- void setup(){
- Serial.begin(9600);
- lcd.init(); // initialize the lcd
- // Print a message to the LCD.
- lcd.backlight();
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("Temperature ");
- }
- void loop(){
- double AD_val=analogRead(0); //0-1023的范圍
- double GetVoltage=(AD_val/1023)*5.0; //采樣電壓值
- // 歐姆定律 Rt/RES=GetVoltage/(5.0-GetVoltage),電流一致
- double Rt=GetVoltage*RES/(5.0-GetVoltage);
- //熱力學(xué)絕對(duì)溫度
- //T1=1/(ln(Rt/R) /B + 1/T2 )
- // Serial.println( 1/( log(Rt/RES) /3000 + 1/(25+273.15) ));
- Water_temp=1/(log(Rt/10000) /3950 + 1/(25+273.15))-273.15;
- if(Water_temp>-100.0)
- {
- Serial.print("RES= ");
- Serial.print(RES);
- Serial.print(" RT= :");
- Serial.println(Rt);
- Serial.print("The temperature is :");
- Serial.print(Water_temp);
- Serial.println(" ~C");
- lcd.setCursor(0, 1);
- lcd.print("T1=");
- lcd.print(Water_temp);
- lcd.print(" ");
- }
- else
- {
- Serial.println("Error! check sensor!");
- }
- delay(1000);
- }
復(fù)制代碼 全部資料51hei下載地址:
NTC測(cè)溫實(shí)驗(yàn).rar
(37.16 KB, 下載次數(shù): 176)
2018-5-25 20:51 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|