Menggunakan Sensor Suhu LM35 dengan Arduino dan Tampilan LCD

Pada artikel ini saya akan memberikan tutorial tentang cara mengakses sensor suhu LM35 menggunakan Arduino dan menampilkan data pembacaan pada LCD.
Gambar Sensor LM35

Sensor suhu LM35 merupakan salah satu sensor suhu yang bekerja dengan mengubah besaran fisis (suhu) menjadi besaran listrik (tegangan).

Karena keluaran sensor berupa tegangan yang bersifat analog, maka dari itu sensor suhu LM35 dapat dihubungkan dengan board Arduino dengan memanfaatkan port Analog dan ADC (Analog to Digital Converter).

LM35 memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan dengan sensor suhu yang lain, LM35 juga mempunyai keluaran impedansi yang rendah dan linearitas yang tinggi.

Kelebihan itu menyebabkan LM35 dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan. Sumber: Penjelasan Tentang LM35.

Blok Diagram LM35
Source: LM35 Datasheet

Diagram sirkuit ditunjukkan di atas. Secara singkat, ada dua transistor di tengah gambar. Yang satu memiliki sepuluh kali luas emitor yang lain. Ini berarti ia memiliki sepersepuluh dari kerapatan arus, karena arus yang sama mengalir melalui kedua transistor. Ini menyebabkan tegangan melintasi resistor R1 yang sebanding dengan suhu absolut, dan hampir linier melintasi rentang yang kita pedulikan. Bagian "hampir" ditangani oleh sirkuit khusus yang meluruskan grafik tegangan versus suhu yang sedikit melengkung.

Penguat di bagian atas memastikan bahwa tegangan di dasar transistor kiri (Q1) sebanding dengan suhu absolut (PTAT) dengan membandingkan keluaran kedua transistor. Amplifier di sebelah kanan mengubah suhu absolut (diukur dalam Kelvin) menjadi Fahrenheit atau Celsius, tergantung pada bagiannya (LM34 atau LM35). Lingkaran kecil dengan "i" di dalamnya adalah rangkaian sumber arus konstan. Kedua resistor dikalibrasi di pabrik untuk menghasilkan sensor suhu yang sangat akurat. 

Kepada kawan-kawan saya mohon maaf karena penjelasan tentang cara kerja LM35 sebelumnya kurang tepat, namun sekarang sudah diperbaiki walaupun tidak begitu mudah untuk dipahami karena merupakan hasil terjemahan dari laman berbahasa Inggris, sumber kutipan telah saya berikan dibawah jika kawan-kawan tertarik.

Dikutip dan diterjemahkan dari sumber: 

Require explanation for temperature sensor(LM35) internal circuit. | Forum for Electronics (edaboard.com)

LM35 Datasheet from Texas Instruments

Sensor suhu LM35 mampu mengukur suhu dari -55℃ sampai 150℃. Setiap kenaikan suhu 1℃, tegangan output sensor akan meningkat sebesar 10mV.

Sensor suhu LM35 memiliki spesifikasi sebagai berikut:

  • Minimum and Maximum Input Voltage is 35V and -2V respectively. Typically 5V.
  • Can measure temperature ranging from -55°C to 150°C
  • Output voltage is directly proportional (Linear) to temperature (i.e.) there will be a rise of 10mV (0.01V) for every 1°C rise in temperature.
  • ±0.5°C Accuracy
  • Drain current is less than 60uA
  • Low cost temperature sensor
  • Small and hence suitable for remote applications
  • Available in TO-92, TO-220, TO-CAN and SOIC package

Sensor suhu LM35 memiliki 3 buah kaki yang mewakili VCC, OUT dan Ground.

Menggunakan Sensor Suhu LM35 dengan Arduino dan Tampilan LCD
Gambar 1 Penjelasan Kaki LM35

Bahan-bahan

  1. Arduino Uno.
  2. Sensor suhu LM35.
  3. LCD 16x2.
  4. Potensio (opsional).

Rangkaian-Mengakses LM35 dengan Arduino

LM35%2BInterface_LI
Gambar 2 Diagram Skematik Interface Arduino dengan LM35

Diagram Rangkaian LM35 Arduino Uno
Gambar 3 Diagram Rangkain Arduino dengan LM35

Penting: Pada tutorial kali ini saya menggunakan sensor suhu LM35 yang memiliki rentang ukur suhu antara 0℃ - 100℃. Jika menggunakan sensor dengan rentang ukur yang berbeda, dibutuhkan sedikit perubahan kode program.

Jadi di sini kita memanfaatkan pin A1 sebagai penghubung antara Arduino dengan LM35. Selain itu, seperti yang sudah disampaikan di atas, kita menggunakan ADC (Analog to Digital Converter) agar output analog dari LM35 dapat diubah menjadi digital.

Pada bagian ini kita menggunakan board Arduino Uno, karena board ini paling umum dijumpai. Kawan-kawan bisa menggunakan board yang lain seperti Arduino Mega 2560, Arduino Pro Mini dan lain-lain dengan menyesuaikan pin-pin yang digunakan dalam tutorial ini.

Pada bagian ini board Arduino Uno kita hubungkan ke PC/laptop seperti biasanya. Hasil pembacaan suhu dari sensor suhu LM35 akan kita tampilkan pada Serial Monitor pada software Arduino IDE.

Jika kawan-kawan sudah membuat rangkaian di atas, silakan buka software Arduino IDE, buat file baru, dan tempelkan kode program di bawah ini.

Kode Program LM35 dengan Arduino

const int sensor = A1;
int tempc;
float tempf;
float vout;
float adc;

void setup()
{
  Serial.begin(9600);
  Serial.println("https://mahirelektro.com");
  Serial.println("Tutorial Arduino: Mengakses sensor suhu LM35");
  Serial.println(" ");
  pinMode(sensor, INPUT);
  delay(100);
}

void loop()
{
  adc = analogRead(sensor);
  vout = adc / 1023 * 5;
  tempc = vout * 100;
  tempf = (tempc * 1.8) + 32;

  Serial.print("Suhu (Celcius)= ");
  Serial.print(tempc);
  Serial.println(" °C");

  Serial.print("Suhu (Fahrenheit)= ");
  Serial.print(tempf);
  Serial.println(" °F");
  Serial.println(" ");
  delay(100);
}

Jika sudah ditempel, silakan compile untuk memastikan tidak ada kesalahan. Jika tidak ada kesalahan / error silakan unggah program. Setelah program berhasil diunggah, buka serial monitor, pilih baud rate 9600, pastikan tampilan yang muncul kurang lebih seperti gambar di bawah ini.

Virtual%2BMonitor
Gambar 4 Serial Monitor

Jika kawan-kawan sudah berhasil mengakses sensor suhu LM35 dengan Arduino dan menampilkan pembacaan sensor pada serial monitor kini saatnya melangkah ke tahap selanjutnya, yakni menampilkan hasil pembacaan sensor suhu LM35 ke sebuah LCD 16x2. 

Rangkaian-Menampilkan Pembacaan Suhu LM35 Pada LCD

Rangkaian-Menampilkan Pembacaan Suhu LM35 Pada LCD
Rangkaian untuk menampilkan pembacaan suhu LM35 pada LCD

Berbeda dari sebelumnya dimana kita menampilkan hasil pembacaan sensor suhu LM35 ke serial monitor, kali ini kita akan menampilkan hasil pembacaan sensor suhu LM35 pada sebuah LCD 16x2. 

Pertama silakan kawan-kawan ikuti skematik di atas. Jika sudah silakan paste kode program yang saya berikan di bawah. Kemudian, pastikan port dan jenis Arduino yang digunakan benar. Lalu compile untuk memastikan tidak ada kesalahan. Jika compile berhasil, silakan upload program. 

Kode Program-Menampilkan Pembacaan Suhu LM35 Pada LCD

#include <LiquidCrystal.h>
const int rs = 9, en = 8, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
const int sensor = A1;
int tempc;
float tempf;
float vout;
float adc;

void setup()
{
  Serial.begin(9600);
  pinMode(sensor, INPUT);
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("mahirelektro.com");
  lcd.setCursor(0, 1);
  lcd.print("Tutorial Arduino");
  delay(800);
  lcd.clear();
}

void loop()
{
  adc = analogRead(sensor);
  vout = adc / 1023 * 5;
  tempc = vout * 100;
  tempf = (tempc * 1.8) + 32;

  lcd.setCursor(0, 0);
  lcd.print("Suhu= ");
  lcd.print(tempc);
  lcd.print((char)223);
  lcd.print("C");

  lcd.setCursor(0, 1);
  lcd.print("Suhu= ");
  lcd.print(tempf);
  lcd.print((char)223);
  lcd.print("F");
  delay(80);
}

Oke, setelah program di atas diunggah, pastikan program berjalan dengan benar, kurang lebih seperti video di bawah ini. 

Akhir Kata

Itulah dia tutorial menggunakan sensor suhu LM35 menggunakan Arduino dan menampilkan data hasil pembacaan ke LCD 16x2. Jika kawan-kawan tertarik untuk mengukur suhu dan kelembaban, kawan-kawan bisa membaca salah satu tutorial saya di blog ini yakni: Cara Mengukur Suhu dan Kelembaban dengan DHT11 dan Arduino.  Di artikel berikutnya kita akan membahas tutorial lain yang berhubungan dengan dunia elektronika. 

Penghobi Elektronika