Thermistor NTC ESP32 Tutorial (Schematic + Code)

Posted on

Ada banyak sensor suhu yang ada dipasaran untuk dapat digunakan pada mikrokontroller, salah satunya adalah thermistor. Oleh karena itu, pada artikel ini saya akan membagikan panduan untuk menghubungkan Thermistor NTC ke ESP32 tutorial beserta skematik dan kode programnya.

Apa itu Thermistor?

Thermistor berasal dari gabungan kata “Thermal” dan “resistor“. Artinya, thermistor adalah sebuah resistor yang nilai tahanan (resistansinya) akan berubah sesuai dengan suhu (thermal) yang diterimanya. Oleh karena itu, Thermistor digunakan sebagai sensor suhu.

Dilihat dari sifat atau perilaku themistor terhadap perubahan suhu, maka thermistor terbagi atas dua jenis yaitu:

  • NTC (Negative Temperature Coefficient) Thermistor
    Pada jenis ini, resistansi dari thermistor akan menurun ketika suhu naik. Artinya, semakin tinggi suhu, semakin rendah resistansinya.
  • PTC (Positive Temperature Coefficient) Thermistor
    Pada jenis ini, resistansi dari thermistor akan meningkat ketika suhu naik. Ini berarti semakin tinggi suhu, semakin tinggi pula resistansinya.


Cara Kerja

Agar kita dapat mengetahui suhu saat ini dalam angka-angka, maka kita harus mengetahui dulu bagaiaman cara bekerja sebuah thermistor pada mikrokontroller.

  1. Thermistor harus dihubungkan dengan sebuah resistor pull-down (gambar rangkaian dibawah) dengan nilai resistansinya hampir serupa dengan resistansi yang dimiliki thermistor, misalnya :
    • NTC 10K, maka kita gunakan resistor pull-down 10K juga (atau yang mendekatinya)
    • NTC 100K, maka gita gunakan resistor pull-down 100K juga (atau yang mendekatinya)
  2. Maka ke 2 resistor tersebut (thermistor dan resistor pull-down) dapat kita ibaratkan sebuah pembagi tegangan.
  3. Tegangan akan dibaca oleh mikrokontroller melalui pin ADC.
  4. Tegangan tersebut akan di konversi kedalam 12-bit ADC
  5. Nilai ADC yang didapatkan akan dikonversi lagi menjadi suhu menggunakan library thermistor
  6. Librari tersebut akan mengembalikan nilai suhu dalam bentuk angka.


Rangkaian

Sebagai contoh, saya menggunakan thermistor NTC 10K, maka saya gunakan nilai resistor pull-down 10K sebagaimana yang ditunjukkan pada gambar berikut:

Thermistor NTC ESP32 Tutorial (Schematic + Code)


Catatan:

  1. Kita hubungkan ADC pin ke Analog ADC1_CH6 (34)
  2. ADC pada ESP32 tidak sebaikMengapa kita menggunakan kapasitor 0.1uF pada rangkaian? Itu dilakukan untuk meminimalkan noise yang terjadi pada ADC dari ESP32 yang berdasarkan penjelasan dari website resminya ESP32 disini.


Kode Program

Untuk kode programnya, kita dapat menggunakan library SmoothThermistor milik dari Gianni Van Hoecke, library ini dapat ditemukan di github repository. SIlahkan tambahkan library tersebut ke Arduino IDE, baik melalui Manage Libraries yang ada di Arduino IDE maupun install secara langsung dari file .zip.

Jika anda belum memahamai cara install atau memasukkan library ke Arduino IDE, anda dapat membaca artikel ini: Cara Menambahkan Library Arduino IDE. Setelah itu, anda dapat menggunakan kode program sebagai berikut:

#include <SmoothThermistor.h>

// SmoothThermistor smoothThermistor(34,              // Pin ADC ESP32 yang digunakan
//                                   ADC_SIZE_12_BIT, // Resolusi ADC ESP32
//                                   10000,           // Resistansi dari Thermistor
//                                   10000,           // Resistansi dari Pull-Down Resistor
//                                   3950,            // the beta coefficient dari thermistor
//                                   25,              // the temperature for nominal resistance
//                                   64);             // Jumlah sampling (perulangan)

SmoothThermistor smoothThermistor(34, ADC_SIZE_12_BIT, 10000, 10000, 3950, 25, 64);

void setup() {
  Serial.begin(9600);
  smoothThermistor.useAREF(true);
}

void loop() {
  Serial.print("Temperature = ");
  Serial.println(smoothThermistor.temperature());
  delay(1000);
}

Sekarang, silakan upload kode program diatas ke ESP32. Lalu buka serial monitor dan anda akan melihat hasil dari suhu thermistor yang anda miliki. Semoga artikel Thermistor NTC ESP32 Tutorial ini bermanfaat.