Bir termistor, müqaviməti temperaturdan asılı olan xüsusi bir temperatur sensorudur.
Prinsipcə əks parametri olan iki növ termistor var:
Temperatur artdıqca müqaviməti artan PTC (müsbət temperatur əmsalı ilə) və temperatur artdıqca müqaviməti azalan (mənfi temperatur əmsalı ilə).
Daha ətraflı buradan məlumat ala bilərsiniz.
İndi NTC termistorunun Arduino ilə oxunmasına nümunə göstərək.
Temperaturu ölçmək üçün bir NTC termistorunu A0 terminalına bağlayırıq. Aşağıdakı diaqrama baxın:
Temperaturun ölçülməsi üçün nümunə kod
Arduino IDE inkişaf platforması üçün kod:
// Məlumat kitabçasından dəyərlər
#define RT0 10000 // Оm
#define B 3977 // K
//--------------------------------------
#define VCC 5.0 //Qida gərginliyi
#define R 10000 //R=10 КОm
//Dəyişkənlər
float RT, VR, ln, TX, T0, VRT;
void setup() {
Serial.begin(9600);
T0 = 25 + 273.15; //T0 temperaturu, düstura əsasən Selsidən Kelvinə çevrilir
}
void loop() {
VRT = analogRead(A0); //VRT-nin analoq dəyərini oxuyuruq
VRT = (VCC / 1023.00) * VRT; //Gərginliyə çeviririk
VR = VCC - VRT;
RT = VRT / (VR / R); //RT müqaviməti
ln = log(RT / RT0);
TX = (1 / ((ln / B) + (1 / T0))); //Termistorun temperaturu
TX = TX - 273.15; //Selsiyə çeviririk
Serial.print("Temperatur:");
Serial.print("\t");
Serial.print(TX);
Serial.print("C\t\t");
Serial.print(TX + 273.15); //Kelvin-ə çeviririk
Serial.print("K\t\t");
Serial.print((TX * 1.8) + 32); //Faranheyt-ə çeviririk
Serial.println("F");
delay(1000);
}
Bu kod temperaturu ölçəcək və saniyədə bir dəfə COM porta məlumat göndərəcək: