Menu
CoddyTech

Suhu dengan Termistor

Termasuk bagian Layar dan Sensor dalam perjalanan Arduino di Coddy. Pelajaran 20 dari 24.

Termistor adalah resistor yang nilainya berubah mengikuti suhu. Pada module ini, yang bertipe NTC, tegangan pin OUT turun saat termistor memanas: analogRead() menghasilkan sekitar 512 pada suhu 25 derajat C.

Nilai pembacaan tidak turun secara linear, jadi map() tidak akan berfungsi. Persamaan beta mengubahnya menjadi derajat. BETA diambil dari lembar data komponen tersebut, nilainya 3950 di sini, dan log() adalah fungsi matematika bawaan board. Kamu tidak perlu memahami perhitungannya: salin baris ini apa adanya.

const float BETA = 3950;

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

Pertahankan .0 dalam 1023.0. 1023 / reading dengan dua bilangan bulat akan menghilangkan pecahannya, sehingga hasilnya meleset beberapa derajat.

challenge icon

Tantangan

Sedang

Module termistor terhubung ke A0. Cetak suhunya:

  • ubah pembacaan menjadi derajat C dengan persamaan beta
  • cetak dengan Serial.println(), dua kali per detik

Tekan Run, ubah suhu pada board, lalu tekan Check.

Coba sendiri

const float BETA = 3950;  // nilai beta termistor

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

void loop() {
  int reading = analogRead(A0);
  // ubah nilai bacaan menjadi derajat C dan tampilkan hasilnya
  delay(500);
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Layar dan Sensor

Latihan sendiri: Playground Arduino