Cara Menggunakan Sensor Suhu LM35 dengan Arduino (Panduan Lengkap)

Robotik & Hardware, ElrolumNews — Anda butuh mengukur suhu. Tapi Anda tidak butuh sensor mahal. Tidak butuh sensor digital yang rumit. Tidak butuh library tambahan.

Anda butuh LM35.

LM35 adalah sensor suhu analog yang sederhana, murah, dan akurat. Ia tidak membutuhkan library khusus. Ia tidak membutuhkan kalibrasi rumit. Ia hanya membutuhkan satu pin analog—dan sedikit perhitungan.

Dan artikel ini akan menunjukkan caranya.

Apa Itu Sensor LM35?

LM35 adalah sensor suhu analog yang mengubah suhu menjadi tegangan listrik.

Spesifikasinya:

ParameterNilai
Tegangan Kerja4V – 30V
Rentang Suhu-55°C hingga +150°C
Akurasi±0.5°C
Output10mV per °C
Arus60µA

Yang membuat LM35 istimewa: outputnya linear. Setiap 1°C kenaikan suhu—output naik 10mV. Tidak ada rumus rumit. Tidak ada tabel konversi.

Rumusnya sederhana:

text
Suhu (°C) = (Tegangan Output (mV)) / 10

Contoh: Jika output 250mV—suhu 25°C.

Komponen yang Dibutuhkan

KomponenFungsiPerkiraan Harga
Arduino Uno / NanoMikrokontrolerRp80-150 ribu
Sensor LM35Sensor suhuRp10-20 ribu
LCD 16×2 I2C (opsional)DisplayRp30-50 ribu
Kabel JumperKoneksiRp10-20 ribu
BreadboardPrototypingRp15-25 ribu

Total: Di bawah Rp100 ribu—tanpa LCD. Di bawah Rp150 ribu—dengan LCD.

Langkah 1: Wiring Sensor LM35 ke Arduino

LM35 punya tiga kaki:

KakiFungsiKoneksi ke Arduino
Kaki 1 (kiri)VCC5V
Kaki 2 (tengah)OutputAnalog Pin A0
Kaki 3 (kanan)GNDGND

Penting: Jangan terbalik. Jika terbalik, sensor bisa rusak.

Koneksi LCD I2C (Opsional)

LCD I2CArduino
VCC5V
GNDGND
SDAA4
SCLA5

Langkah 2: Kode Program Dasar

LM35 tidak membutuhkan library tambahan. Cukup gunakan analogRead()—dan sedikit matematika.

Kode

cpp
#define LM35_PIN A0

void setup() {
  Serial.begin(9600);
  Serial.println("Sensor LM35 siap...");
}

void loop() {
  int nilaiADC = analogRead(LM35_PIN);
  
  // Konversi ke tegangan (mV)
  float tegangan = nilaiADC * (5000.0 / 1023.0);
  
  // Konversi ke suhu (°C)
  float suhu = tegangan / 10.0;
  
  Serial.print("ADC: ");
  Serial.print(nilaiADC);
  Serial.print(" | Tegangan: ");
  Serial.print(tegangan);
  Serial.print(" mV | Suhu: ");
  Serial.print(suhu);
  Serial.println(" °C");
  
  delay(1000);
}

Penjelasan Kode

BagianFungsi
analogRead(LM35_PIN)Membaca nilai ADC (0-1023)
nilaiADC * (5000.0 / 1023.0)Konversi ke tegangan (mV)
tegangan / 10.0Konversi ke suhu (°C)

Mengapa 5000? Karena Arduino bekerja di 5V—dan ADC 10-bit memiliki 1023 langkah. Jadi setiap langkah ADC mewakili 5000mV/1023 = 4.88mV.

Mengapa dibagi 10? Karena LM35 memberi 10mV per °C.

Langkah 3: Menampilkan Suhu di LCD

Agar lebih praktis—tanpa harus buka Serial Monitor—tampilkan suhu di LCD 16×2 I2C.

Kode

cpp
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#define LM35_PIN A0

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Termometer LM35");
  delay(2000);
  lcd.clear();
}

void loop() {
  int nilaiADC = analogRead(LM35_PIN);
  float tegangan = nilaiADC * (5000.0 / 1023.0);
  float suhu = tegangan / 10.0;

  lcd.setCursor(0, 0);
  lcd.print("Suhu:");
  lcd.setCursor(0, 1);
  lcd.print(suhu);
  lcd.print(" C   ");

  delay(1000);
}

Hasil: LCD menampilkan suhu secara real-time.

Catatan: Alamat I2C LCD biasanya 0x27 atau 0x3F. Jika LCD tidak menyala—coba ganti alamatnya.

Langkah 4: Kalibrasi Sensor

LM35 cukup akurat—tapi tidak sempurna. Untuk hasil terbaik, kalibrasi dengan termometer referensi.

Cara Kalibrasi

  1. Siapkan termometer referensi—termometer digital biasa

  2. Baca suhu dari LM35—catat nilainya

  3. Baca suhu dari termometer referensi—catat nilainya

  4. Hitung selisihnya—misalnya LM35 25.5°C, referensi 25.0°C—selisih 0.5°C

  5. Tambahkan atau kurangi offset di kode

Contoh:

cpp
float suhu = (tegangan / 10.0) - 0.5; // Offset -0.5°C

Langkah 5: Alarm Suhu (Opsional)

Jika Anda ingin alarm ketika suhu melewati batas tertentu—tambahkan buzzer.

Kode

cpp
#define LM35_PIN A0
#define BUZZER_PIN 8

#define SUHU_MAX 30.0

void setup() {
  Serial.begin(9600);
  pinMode(BUZZER_PIN, OUTPUT);
}

void loop() {
  int nilaiADC = analogRead(LM35_PIN);
  float tegangan = nilaiADC * (5000.0 / 1023.0);
  float suhu = tegangan / 10.0;

  if (suhu > SUHU_MAX) {
    tone(BUZZER_PIN, 1000);
  } else {
    noTone(BUZZER_PIN);
  }

  delay(1000);
}

Hasil: Buzzer berbunyi jika suhu melebihi 30°C.

Troubleshooting: Masalah Umum

MasalahPenyebabSolusi
Suhu tidak stabilKabel terlalu panjangGunakan kabel pendek
Suhu selalu 0Wiring salahCek VCC, GND, Output
Suhu tidak akuratTidak dikalibrasiKalibrasi dengan referensi
LCD tidak menyalaAlamat I2C salahCoba 0x27 atau 0x3F
Sensor panasTegangan berlebihCek VCC—maksimal 5V

LM35 adalah sensor suhu paling sederhana untuk Arduino. Tidak butuh library. Tidak butuh kalibrasi rumit. Hanya butuh satu pin analog—dan sedikit matematika. Kuncinya:

  1. Wiring—VCC, GND, Output

  2. Baca ADC—analogRead()

  3. Konversi ke tegangan—ADC * (5000/1023)

  4. Konversi ke suhu—tegangan / 10

  5. Tampilkan di LCD—opsional

  6. Kalibrasi—untuk akurasi

Dengan LM35, Anda bisa membuat termometer digital sendiri—dengan biaya di bawah Rp50 ribu. Dan yang paling penting: Anda belajar bagaimana sensor analog bekerja—fondasi untuk proyek yang lebih kompleks.


⚠️ Disclaimer

Artikel ini disusun untuk tujuan edukasi. Segala tindakan yang Anda lakukan berdasarkan artikel ini adalah tanggung jawab Anda sendiri.

Risiko yang perlu Anda pahami:

  • Sengatan listrik—jika wiring tidak benar

  • Kerusakan sensor—jika polaritas terbalik

  • Pembacaan tidak akurat—jika tidak dikalibrasi

  • Kerusakan Arduino—jika tegangan berlebih

Yang harus Anda lakukan:

  • Selalu matikan sumber listrik sebelum wiring

  • Pastikan polaritas benar—VCC, GND, Output

  • Kalibrasi sensor dengan referensi

  • Jangan melebihi tegangan 5V

elrolum.com tidak bertanggung jawab atas segala kerusakan, kehilangan data, atau kerugian yang timbul akibat penggunaan informasi dalam artikel ini.


Sudah siap membuat termometer digital sendiri?

💬 Punya proyek dengan sensor suhu? Bagikan di kolom komentar!

Share:

Tinggalkan Komentar

Please enter your comment!
Please enter your name here

Terkait
Ilustrasi flowchart Node Editor DaVinci Resolve dengan node bercahaya

Cara Menggunakan Node Editor di Color Page DaVinci Resolve

Photo & Video Editing, ElrolumNews — Anda sudah bisa color grading. Anda sudah bisa mengubah exposure, kontras,...
Ilustrasi scopes DaVinci Resolve dengan waveform, vectorscope, parade

Cara Menggunakan Scopes di DaVinci Resolve

Photo & Video Editing, ElrolumNews — Anda punya video. Anda pikir warnanya sudah pas. Anda lihat di...
Ilustrasi wireframe 3D Camera Tracker di DaVinci Resolve Fusion dengan teks 3D

Cara Menggunakan Camera Tracker di DaVinci Resolve

Photo & Video Editing, ElrolumNews — Anda punya video dari kamera yang bergerak. Anda ingin menempelkan objek...

Lainnya

Popular