Menu
CoddyTech

Termistör Sıcaklığı

Coddy'nin Arduino Journey'sinin Ekranlar ve Sensörler bölümünün bir parçası. Ders 20 / 24.

Termistör, sıcaklığa göre değişen bir dirençtir. Bu modülde (NTC tipi) OUT pininin voltajı ısındıkça düşer: analogRead(), 25 derece C'de yaklaşık 512 verir.

Okuma düz bir çizgide düşmez, bu yüzden map() işe yaramaz. Beta denklemi bunu dereceye dönüştürür. BETA, parçanın veri sayfasından alınır (burada 3950) ve log(), kartta yerleşik bir matematik işlevidir. Matematiği anlamanız gerekmez: satırı olduğu gibi kopyalayın.

const float BETA = 3950;

float celsius = 1 / (log(1 / (1023.0 / reading - 1)) / BETA + 1.0 / 298.15) - 273.15;

1023.0 içindeki .0 kısmını koruyun. İki tam sayıyla yapılan 1023 / reading işlemi kesir kısmını atar ve sonuç birçok derece hatalı çıkar.

challenge icon

Görev

Orta

Termistör modülü A0 pininde. Sıcaklığı yazdır:

  • beta denklemiyle okumayı °C cinsine dönüştür
  • Serial.println() ile saniyede iki kez yazdır

Run düğmesine bas, kart üzerindeki sıcaklığı değiştir, ardından Check düğmesine bas.

Kendin dene

const float BETA = 3950;  // termistörün beta değeri

void setup() {
  Serial.begin(9600);
}

void loop() {
  int reading = analogRead(A0);
  // okunan değeri C dereceye dönüştür ve yazdır
  delay(500);
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Ekranlar ve Sensörler bölümündeki tüm dersler

Kendi başına pratik yap: Arduino playground