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.
Görev
OrtaTermistö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);
}
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
1Yedi Segmentli Göstergeler
Yedi Segmentli GöstergeBaytlardaki Rakam DesenleriGöstergede SaymaSıfıra Geri SayımZar AtıcıKendi başına pratik yap: Arduino playground