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:
| Parameter | Nilai |
|---|---|
| Tegangan Kerja | 4V – 30V |
| Rentang Suhu | -55°C hingga +150°C |
| Akurasi | ±0.5°C |
| Output | 10mV per °C |
| Arus | 60µ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:
Suhu (°C) = (Tegangan Output (mV)) / 10
Contoh: Jika output 250mV—suhu 25°C.
Komponen yang Dibutuhkan
| Komponen | Fungsi | Perkiraan Harga |
|---|---|---|
| Arduino Uno / Nano | Mikrokontroler | Rp80-150 ribu |
| Sensor LM35 | Sensor suhu | Rp10-20 ribu |
| LCD 16×2 I2C (opsional) | Display | Rp30-50 ribu |
| Kabel Jumper | Koneksi | Rp10-20 ribu |
| Breadboard | Prototyping | Rp15-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:
| Kaki | Fungsi | Koneksi ke Arduino |
|---|---|---|
| Kaki 1 (kiri) | VCC | 5V |
| Kaki 2 (tengah) | Output | Analog Pin A0 |
| Kaki 3 (kanan) | GND | GND |
Penting: Jangan terbalik. Jika terbalik, sensor bisa rusak.
Koneksi LCD I2C (Opsional)
| LCD I2C | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
Langkah 2: Kode Program Dasar
LM35 tidak membutuhkan library tambahan. Cukup gunakan analogRead()—dan sedikit matematika.
Kode
#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
| Bagian | Fungsi |
|---|---|
analogRead(LM35_PIN) | Membaca nilai ADC (0-1023) |
nilaiADC * (5000.0 / 1023.0) | Konversi ke tegangan (mV) |
tegangan / 10.0 | Konversi 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
#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
Siapkan termometer referensi—termometer digital biasa
Baca suhu dari LM35—catat nilainya
Baca suhu dari termometer referensi—catat nilainya
Hitung selisihnya—misalnya LM35 25.5°C, referensi 25.0°C—selisih 0.5°C
Tambahkan atau kurangi offset di kode
Contoh:
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
#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
| Masalah | Penyebab | Solusi |
|---|---|---|
| Suhu tidak stabil | Kabel terlalu panjang | Gunakan kabel pendek |
| Suhu selalu 0 | Wiring salah | Cek VCC, GND, Output |
| Suhu tidak akurat | Tidak dikalibrasi | Kalibrasi dengan referensi |
| LCD tidak menyala | Alamat I2C salah | Coba 0x27 atau 0x3F |
| Sensor panas | Tegangan berlebih | Cek 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:
Wiring—VCC, GND, Output
Baca ADC—
analogRead()Konversi ke tegangan—
ADC * (5000/1023)Konversi ke suhu—
tegangan / 10Tampilkan di LCD—opsional
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!




