Praktikum: Membaca Sensor Suhu dengan ADC pada Proteus

Tujuan: Memahami penggunaan ADC pada mikrokontroler untuk membaca sinyal analog dari sensor suhu dan menampilkan hasilnya secara real-time.

Alat dan Bahan

  1. Software: Proteus 8 Professional (termasuk library Arduino dan LM35).
  2. Komponen Simulasi:
    • Mikrokontroler Arduino Uno (ATMega328P).
    • Sensor suhu LM35 (analog).
    • ADC internal Arduino (10-bit).
    • Virtual Terminal (Serial Monitor) atau LCD 16×2 (opsional).
    • Resistor dan kabel jumper.

Teori Singkat

  • ADC (Analog-to-Digital Converter):
    • Mengubah sinyal analog (misalnya, tegangan dari sensor LM35) ke nilai digital (0-1023 untuk ADC 10-bit).
    • Rumus konversi:

rumus konversi

  • Sensor LM35:
    • Output analog: 10 mV/°C (misalnya, 25°C = 250 mV).
    • Rentang suhu: 0°C–100°C (sesuai simulasi).
  • Konversi ADC ke Suhu:

konversi ADC to Suhu

Langkah Percobaan

  • Rancang Rangkaian di Proteus
  1. Buka Proteus, buat project baru.
  2. Tambahkan komponen:
    • Arduino Uno (di kategori “Microprocessor IC”).
    • LM35 (cari “LM35” di library).
    • Virtual Terminal (Serial Monitor) atau LCD 16×2.
  3. Sambungkan:
    • Output LM35 ke pin A0 Arduino.
    • VCC LM35 ke +5V, GND ke ground.
    • (Opsional) LCD: sambungkan ke pin digital Arduino (contoh: RS-PD2, E-PD3, D4-D7 ke PD4-PD7).
  • Pemrograman Arduino
  1. Buka Arduino IDE atau tambahkan kode di Proteus.
  2. Program:
#include <LiquidCrystal.h> // Opsional jika pakai LCD

LiquidCrystal lcd(2, 3, 4, 5, 6, 7); // Sesuaikan pin LCD

void setup() {

Serial.begin(9600); // Inisialisasi Serial Monitor

lcd.begin(16, 2);   // Inisialisasi LCD (opsional)

}

void loop() {

int adcValue = analogRead(A0); // Baca nilai ADC

float temperature = (adcValue * 500.0) / 1023; // Konversi ke °C

// Tampilkan di Serial Monitor

Serial.print(“Suhu: “);

Serial.print(temperature);

Serial.println(” °C”);

// Tampilkan di LCD (opsional)

lcd.setCursor(0, 0);

lcd.print(“Suhu: “);

lcd.print(temperature);

lcd.print(” C”);

delay(1000); // Pembacaan setiap 1 detik

}

  • Simulasi
  1. Compile dan upload kode ke Arduino di Proteus.
  2. Jalankan simulasi:
    • Buka Virtual Terminal (Serial Monitor) di Proteus.
    • Pastikan baud rate diatur ke 9600.
    • Amati nilai suhu yang ditampilkan.
  3. Uji respons sensor:
    • Ubah nilai tegangan LM35 di Proteus (klik kanan LM35 → “Edit Properties” → ubah “Voltage at 25°C”).
    • Contoh: Ubah ke 300 mV (simulasi 30°C).

Analisis Hasil

  1. Pertanyaan:
    • Mengapa nilai ADC maksimal adalah 1023?
    • Apa yang terjadi jika sensor LM35 disambungkan ke pin digital?
    • Bagaimana cara meningkatkan akurasi pembacaan suhu?
  2. Tugas:
    • Modifikasi kode untuk menampilkan suhu dalam Fahrenheit.
    • Tambahkan LED yang menyala jika suhu > 30°C.

Kriteria Evaluasi

  1. Keberhasilan Rangkaian: Sensor terhubung ke ADC dengan benar.
  2. Kode Program: Konversi ADC ke suhu sesuai rumus.
  3. Hasil Simulasi: Suhu terbaca real-time di Serial Monitor/LCD.

Troubleshooting

  • Nilai suhu tidak stabil: Tambahkan kapasitor 100nF paralel ke output LM35.
  • Serial Monitor tidak menampilkan data: Periksa baud rate dan koneksi pin TX/RX.
  • ADC salah membaca: Pastikan Vref Arduino sesuai (5V).

Lembar Kerja Mahasiswa
Nama: ____________________
Data Pengamatan:

Nilai ADC Suhu (°C)
205 100.2°C

Kesimpulan: ____________________

Catatan:

  • Simpan file Proteus dengan nama “ADC_Sensor_Suhu.pdsprj”.
  • Lampikan screenshot hasil simulasi di laporan akhir.

📌 Referensi:

  • Datasheet LM35: Link
  • Tutorial ADC Arduino: Link

Perbandingan Sensor LM35 dengan Sensor Arus ACS712

Sama seperti sensor suhu LM35 yang menghasilkan tegangan output analog proporsional terhadap suhu, sensor arus ACS712 juga bekerja dengan prinsip serupa yaitu menghasilkan tegangan analog yang berubah sesuai besaran fisik yang diukur. Perbedaannya terletak pada jenis besaran yang diukur dan cara pengolahan sinyalnya, terutama saat berurusan dengan sinyal AC yang memerlukan perhitungan RMS. Perbandingan implementasi ADC pada sensor arus dapat dipelajari pada artikel Mengukur Arus AC Menggunakan Sensor ACS712 dan Menampilkannya ke LCD 16×2.

Konsep ADC Secara Lebih Mendalam

Praktikum membaca sensor suhu ini hanyalah salah satu contoh penerapan ADC pada Arduino Uno. Sebenarnya prinsip yang sama juga berlaku untuk berbagai jenis sensor analog lainnya, apapun besaran fisik yang diukur, selama outputnya berupa tegangan yang berada dalam rentang 0-5V yang bisa dibaca ADC 10-bit Arduino. Pembahasan lebih mendalam mengenai cara kerja ADC pada Arduino Uno menggunakan simulasi Proteus dapat dipelajari pada artikel Penerapan ADC pada Arduino Uno Menggunakan Proteus sebagai pelengkap materi praktikum ini.

Menggabungkan Pembacaan Sensor dengan Komunikasi Data Lain

Setelah berhasil membaca nilai suhu melalui ADC, data tersebut sering kali perlu dikirim ke perangkat lain menggunakan protokol komunikasi seperti SPI maupun serial biasa, terutama jika ingin diintegrasikan dengan sistem monitoring yang lebih besar. Memahami cara kerja komunikasi SPI untuk menghubungkan sensor dan aktuator akan memperluas kemampuan proyek yang bisa dibangun dari dasar pembacaan ADC ini. Materinya dapat dipelajari pada artikel Penggunaan Komunikasi SPI untuk Sensor dan Aktuator di Proteus.

Dari Sensor Analog Sederhana Menuju Sinyal Instrumentasi Industri

Sensor LM35 yang digunakan dalam praktikum ini menghasilkan sinyal analog dalam skala tegangan kecil (mV), berbeda dengan sensor instrumentasi industri yang umumnya menggunakan sinyal arus standar seperti 4-20 mA agar lebih tahan terhadap noise dan drop tegangan pada kabel panjang. Memahami konsep current loop 4-20 mA akan menjadi bekal penting ketika beralih dari skala laboratorium ke aplikasi sensor industri yang sesungguhnya. Penjelasan lengkapnya tersedia pada artikel Memahami 4–20 mA Current Loop dengan Resistor Beban ke Voltage.

Pentingnya Kalibrasi dalam Pembacaan Sensor Analog

Meskipun perhitungan ADC ke suhu terlihat sederhana, dalam praktiknya sensor LM35 asli sering memerlukan kalibrasi tambahan karena adanya toleransi pabrik dan pengaruh suhu lingkungan sekitar rangkaian. Menambahkan filter kapasitor pada jalur output sensor serta melakukan pengujian pada beberapa titik suhu yang diketahui dapat membantu meningkatkan akurasi pembacaan sebelum sensor digunakan pada aplikasi nyata di luar simulasi Proteus.

Related Articles

Leave a Reply