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
- Software: Proteus 8 Professional (termasuk library Arduino dan LM35).
- 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
Ads Jadwal Training bisaioti Offline
No | Materi | Tanggal | Waktu | Harga | Lokasi | View | Action |
---|---|---|---|---|---|---|---|
1 | IOT PLC SCADA Siemens | 7-8 Juni 2025 | 08.00 - 16.00 | 2000000 | Surabaya | Silabus | Daftar Sekarang |
2 | IOT PLC SCADA Omron | 14 - 15 Juni 2025 | 08.00 - 16.00 | 2000000 | Surabaya | Silabus | Daftar Sekarang |
3 | IOT PLC SCADA Schneider | 21-22 Juni 2025 | 08.00 -16.00 | 2000000 | Surabaya | Silabus | Daftar Sekarang |
4 | IOT PLC SCADA Allen Bradley | 28-29 Juni 2025 | 08.00-16.00 | 2000000 | Surabaya | Silabus | Daftar Sekarang |
- ADC (Analog-to-Digital Converter):
- Mengubah sinyal analog (misalnya, tegangan dari sensor LM35) ke nilai digital (0-1023 untuk ADC 10-bit).
- 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:
Langkah Percobaan
- Rancang Rangkaian di Proteus
- Buka Proteus, buat project baru.
- Tambahkan komponen:
- Arduino Uno (di kategori “Microprocessor IC”).
- LM35 (cari “LM35” di library).
- Virtual Terminal (Serial Monitor) atau LCD 16×2.
- 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
- Buka Arduino IDE atau tambahkan kode di Proteus.
- 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
- Compile dan upload kode ke Arduino di Proteus.
- Jalankan simulasi:
- Buka Virtual Terminal (Serial Monitor) di Proteus.
- Pastikan baud rate diatur ke 9600.
- Amati nilai suhu yang ditampilkan.
- 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
- Pertanyaan:
- Mengapa nilai ADC maksimal adalah 1023?
- Apa yang terjadi jika sensor LM35 disambungkan ke pin digital?
- Bagaimana cara meningkatkan akurasi pembacaan suhu?
- Tugas:
- Modifikasi kode untuk menampilkan suhu dalam Fahrenheit.
- Tambahkan LED yang menyala jika suhu > 30°C.
Kriteria Evaluasi
- Keberhasilan Rangkaian: Sensor terhubung ke ADC dengan benar.
- Kode Program: Konversi ADC ke suhu sesuai rumus.
- 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:
Â