SENSOR SUHU LM35 MENGGUNAKAN IC 8051

SENSOR SUHU LM35 MENGGUNAKAN IC 8051

Fakhri Khusaini¹,Evan Hidayatullah Apta Kurniawan²,Nur Azizul Al-kholiq³,Naufal Fathin Abban⁴

Program Studi Teknologi Rekayasa Elektronika Politeknik Negeri Semarang
Jl. Prof. H. Sudharto, S.H., Tembalang, Semarang, Jawa Tengah Indonesia, 50275
Telp. (024)7473417, Website: www.polines.ac.id, Email:sekretariat@polines.ac.id



Abstrak- Proyek sensor suhu LM35 ini dirancang untuk mengukur dan menampilkan suhu lingkungan secara real-time menggunakan mikrokontroler 8051, sensor suhu LM35, modul ADC, serta tampilan LCD 16×2. Ketika suhu melebihi ambang batas yang ditentukan, sistem memberikan peringatan melalui buzzer. Sistem ini memanfaatkan ADC untuk mengubah sinyal analog dari sensor menjadi data digital, dan mikrokontroler 8051 untuk pengolahan data serta kontrol tampilan. Masalah yang ditemukan dan diselesaikan adalah akurasi pembacaan suhu yang hanya menampilkan bilangan genap karena logika pengolahan nilai ADC dalam program.



I. Pendahuluan

1.1 Latar Belakang

    Perkembangan teknologi embedded system saat ini semakin pesat dan banyak diterapkan dalam berbagai bidang, seperti industri, rumah tangga, dan sistem keamanan. Salah satu parameter penting yang sering dipantau adalah suhu, karena suhu yang terlalu tinggi dapat menyebabkan kerusakan perangkat, menurunkan kinerja sistem, bahkan menimbulkan bahaya. Oleh karena itu, diperlukan suatu sistem yang mampu mendeteksi suhu secara otomatis dan memberikan peringatan ketika suhu melewati batas yang telah ditentukan.

    Mikrokontroler 8051 masih banyak digunakan sebagai media pembelajaran dan implementasi sistem sederhana karena arsitekturnya yang mudah dipahami. Dengan memanfaatkan sensor suhu LM35, ADC, LCD, dan buzzer, sistem High Temperature Alert dapat dirancang untuk membaca suhu lingkungan, menampilkannya secara real-time, serta memberikan alarm saat kondisi suhu tidak aman. Proyek ini juga memberikan pemahaman mengenai pentingnya pengolahan data ADC dan ketelitian dalam pemrograman agar hasil pembacaan suhu menjadi lebih akurat.

1.2 Rumusan Masalah

  1. Bagaimana merancang sistem pembacaan suhu secara real-time menggunakan mikrokontroler 8051 dan sensor LM35?
  2. Bagaimana menampilkan data suhu secara akurat dan memberikan peringatan ketika melebihi batas suhu tertentu?

1.3 Tujuan

    Tujuan yang ingin dicapai:

  1. Mengukur suhu lingkungan dan menampilkannya pada LCD.
  2. Memberikan peringatan (alarm) ketika suhu melewati ambang batas yang ditetapkan.

II. Tinjauan Pustaka

2.1 Mikrokontroler IC 8051

    Mikrokontroler 8051 merupakan salah satu keluarga mikrokontroler 8-bit yang banyak digunakan dalam bidang pendidikan dan pengembangan sistem embedded sederhana. Mikrokontroler ini memiliki arsitektur Harvard, memori internal, port input/output, serta kemampuan interrupt yang cukup untuk mengendalikan berbagai perangkat eksternal. Kemudahan pemrograman dan dokumentasi yang luas menjadikan 8051 sebagai pilihan populer untuk proyek pengukuran dan kontrol.

    Dalam sistem peringatan suhu tinggi, mikrokontroler 8051 berperan sebagai pusat kendali yang menerima data digital dari ADC, mengolah data tersebut menjadi informasi suhu, serta mengendalikan output seperti LCD dan buzzer. Dengan pemrograman yang tepat, 8051 mampu melakukan pemantauan suhu secara real-time dan mengambil keputusan berdasarkan nilai suhu yang terbaca.

Gambar 2.1 Mikrokontroler IC 8051



2.2 Sensor Suhu LM35

    Sensor LM35 adalah sensor suhu analog yang menghasilkan tegangan keluaran linier terhadap perubahan suhu dalam satuan derajat Celcius. Sensor ini memiliki sensitivitas sebesar 10 mV/°C, sehingga mudah dikonversi menjadi nilai suhu oleh sistem digital. LM35 memiliki tingkat akurasi yang cukup baik dan tidak memerlukan kalibrasi tambahan, sehingga sering digunakan dalam berbagai proyek pengukuran suhu.

    Keunggulan lain dari LM35 adalah konsumsi daya yang rendah serta kemampuannya untuk beroperasi pada rentang suhu yang cukup luas. Namun, karena keluarannya berupa sinyal analog, diperlukan rangkaian tambahan berupa Analog to Digital Converter (ADC) agar sinyal tersebut dapat diproses oleh mikrokontroler 8051.

Gambar 2.2 Sensor LM35


2.3  Analog to Digital Converter (ADC)

    ADC berfungsi untuk mengubah sinyal analog dari sensor menjadi data digital agar dapat diproses oleh mikrokontroler. Dalam proyek ini digunakan ADC 8-bit, yang memiliki 256 tingkat representasi digital (0–255). Dengan tegangan referensi 5V, setiap kenaikan satu bit ADC setara dengan sekitar 19,5 mV.

    Resolusi ADC sangat mempengaruhi ketelitian pengukuran suhu. Karena sensor LM35 menghasilkan 10 mV per 1°C, maka satu langkah ADC mewakili sekitar 2°C. Oleh sebab itu, pengolahan data ADC harus dilakukan dengan hati-hati agar nilai suhu yang ditampilkan mendekati kondisi sebenarnya. Kesalahan dalam pemrosesan ADC dapat menyebabkan tampilan suhu menjadi tidak akurat.

Gambar 2.3 IC ADC 0804


2.4 LCD 16x2

    LCD 16×2 digunakan sebagai media tampilan untuk menampilkan nilai suhu yang terbaca oleh sistem. LCD ini mampu menampilkan 16 karakter dalam dua baris, sehingga cukup untuk menampilkan informasi suhu dan status sistem. Penggunaan LCD memudahkan pengguna dalam memantau kondisi suhu secara langsung tanpa memerlukan perangkat tambahan.

    LCD dikendalikan oleh mikrokontroler melalui mode 4-bit atau 8-bit. Dalam sistem ini, LCD menampilkan data suhu yang telah diolah dari ADC serta informasi tambahan seperti kondisi normal atau peringatan suhu tinggi.

Gambar 2.4 LCD 16x2

2.5 Buzzer

    Buzzer digunakan sebagai indikator suara ketika suhu melebihi batas yang telah ditentukan. Buzzer yang digunakan adalah buzzer aktif, sehingga dapat langsung diaktifkan oleh mikrokontroler dengan memberikan logika tertentu pada pin output.

    Penggunaan buzzer sangat penting dalam sistem peringatan karena mampu memberikan respon cepat kepada pengguna tanpa harus terus-menerus melihat tampilan LCD. Dengan adanya buzzer, sistem menjadi lebih efektif sebagai alat peringatan dini terhadap kondisi suhu berlebih.

Gambar 2.5 Buzzer

III. Perancangan Alat

3.1 Diagram Blok



3.2 Diagram Rangkaian 

Gambar 3.2 Skematik Rangkaian

3.3 Diagram Alir



3.4 Program

$MOD51                          ; Menentukan keluarga mikrokontroler 8051

ORG 0000H                       ; Alamat reset
SJMP MAIN                       ; Lompat ke program utama

; ===============================
; BIT DEFINITIONS
; ===============================
LCD_RS   BIT P2.0               ; RS LCD (0=command, 1=data)
LCD_EN   BIT P2.1               ; Enable LCD
ADC_RD   BIT P2.2               ; RD ADC (baca data)
ADC_WR   BIT P2.3               ; WR ADC (mulai konversi)
ADC_INT  BIT P2.4               ; INTR ADC (indikator selesai)
BUZ      BIT P2.5               ; Output buzzer

; ===============================
; MAIN PROGRAM
; ===============================
MAIN:
        MOV P3, #00H            ; Port 3 sebagai data LCD (output)
        MOV P2, #00H            ; Port 2 sebagai kontrol LCD/ADC
        MOV P1, #0FFH           ; Port 1 sebagai input data ADC

        SETB ADC_RD             ; ADC dalam kondisi idle
        SETB ADC_WR             ; ADC siap menerima perintah
        SETB ADC_INT            ; Set awal status ADC
        CLR BUZ                 ; Buzzer mati

        ACALL LCD_INIT          ; Inisialisasi LCD

        ; ===== Tampilan Intro =====
        MOV DPTR, #MSG1         ; Ambil pesan baris 1
        ACALL LCD_STR           ; Tampilkan ke LCD
        MOV A, #0C0H            ; Pindah ke baris 2
        ACALL LCD_CMD
        MOV DPTR, #MSG2         ; Ambil pesan baris 2
        ACALL LCD_STR
        ACALL DELAY_BIG         ; Delay agar pesan terbaca
        MOV A, #01H             ; Clear LCD
        ACALL LCD_CMD

        ; ===== Label Suhu =====
        MOV A, #080H            ; Cursor baris 1 kolom 0
        ACALL LCD_CMD
        MOV DPTR, #MSG3         ; Teks "Temp ="
        ACALL LCD_STR
        MOV A, #08BH            ; Posisi derajat
        ACALL LCD_CMD
        MOV A, #0DFH            ; Karakter derajat (°)
        ACALL LCD_DATA
        MOV A, #'C'             ; Satuan Celcius
        ACALL LCD_DATA

; ===============================
; LOOP UTAMA
; ===============================
LOOP:
        CLR ADC_WR              ; Pulse WR untuk mulai ADC
        ACALL DELAY
        SETB ADC_WR

WAIT_ADC:
        JB ADC_INT, WAIT_ADC    ; Tunggu ADC selesai (INTR LOW)

        CLR ADC_RD              ; Aktifkan baca ADC
        MOV A, P1               ; Ambil data ADC
        SETB ADC_RD             ; Nonaktifkan baca ADC

        ; ===== Hitung suhu =====
        MOV B, #2               ; Faktor pengali
        MUL AB                  ; Suhu ˜ ADC × 2
        MOV R7, A               ; Simpan suhu

        MOV A, #089H            ; Posisi tampil suhu
        ACALL LCD_CMD
        MOV A, R7

IV. Implementasi dan Pembahasan

4.1 Permasalahan Pembacaan Suhu

    Saat pengujian awal, LCD hanya menampilkan suhu dalam angka genap (28°C, 30°C, dll.). Penyebabnya adalah penggunaan logika di program di mana hasil ADC dikalikan 2 sebelum tampil:

hex2ascii(adc * 2);

Karena semua bilangan dikalikan 2 akan menghasilkan angka genap saja, maka pembacaan suhu ganjil tidak pernah muncul. Pendekatan ini awalnya dimaksudkan untuk menyesuaikan skala hasil konversi ADC ke satuan derajat Celcius, namun justru menghilangkan variasi data suhu. Hal ini menunjukkan bahwa kesalahan sederhana dalam pengolahan data dapat berdampak signifikan terhadap akurasi pembacaan suhu, sehingga diperlukan metode konversi yang lebih tepat agar nilai suhu yang ditampilkan dapat merepresentasikan kondisi sebenarnya.

4.2 Analisis

     Sistem sensor suhu LM35 berbasis mikrokontroler 8051 bekerja dengan membaca sinyal analog dari sensor suhu LM35 yang dikonversi menjadi data digital melalui ADC 8-bit. Dengan tegangan referensi 5 Volt, resolusi ADC sekitar 19,5 mV per bit, sedangkan LM35 menghasilkan 10 mV per derajat Celcius. Kondisi ini menyebabkan satu langkah ADC merepresentasikan sekitar 2 derajat Celcius, sehingga ketelitian pembacaan suhu menjadi terbatas. Keterbatasan resolusi ini berdampak pada hasil pengukuran yang tidak mampu menampilkan perubahan suhu secara halus.

    Selain keterbatasan perangkat keras, kesalahan juga ditemukan pada pengolahan data dalam program, yaitu penggunaan perkalian dua terhadap nilai ADC sebelum ditampilkan. Logika ini menyebabkan nilai suhu yang muncul di LCD hanya berupa bilangan genap, sehingga tidak merepresentasikan kondisi suhu sebenarnya secara akurat. Sistem peringatan menggunakan buzzer bekerja dengan baik ketika suhu melewati ambang batas, namun masih memerlukan pengembangan lebih lanjut seperti perbaikan metode konversi suhu dan peningkatan resolusi agar sistem menjadi lebih stabil dan presisi.

V. Kesimpulan

    Berdasarkan hasil perancangan dan pengujian sistem sensor suhu LM35 berbasis mikrokontroler 8051, dapat disimpulkan bahwa sistem telah mampu membaca suhu lingkungan menggunakan sensor LM35, menampilkan nilai suhu pada LCD, serta memberikan peringatan melalui buzzer ketika suhu melewati batas yang telah ditentukan. Sistem ini menunjukkan bahwa mikrokontroler 8051 masih dapat digunakan secara efektif dalam aplikasi monitoring suhu sederhana.

    Permasalahan pembacaan suhu yang hanya menampilkan bilangan genap disebabkan oleh keterbatasan resolusi ADC 8-bit dan kesalahan logika pemrograman, yaitu penggunaan perkalian dua terhadap nilai ADC sebelum ditampilkan. Hal ini membuktikan bahwa ketelitian dalam pengolahan data dan pemahaman karakteristik sensor serta ADC sangat berpengaruh terhadap akurasi sistem pengukuran.

VI. Saran

    Untuk pengembangan lebih lanjut, disarankan agar sistem menggunakan metode konversi suhu yang lebih akurat serta menghindari manipulasi data ADC yang dapat menghilangkan variasi nilai pengukuran. Selain itu, penggunaan ADC dengan resolusi lebih tinggi atau penambahan rangkaian penguat sinyal dapat meningkatkan ketelitian pembacaan suhu.

    Pengembangan sistem juga dapat dilakukan dengan menambahkan fitur seperti penyaringan data (filtering), penerapan hysteresis pada alarm, atau integrasi dengan sistem monitoring berbasis komputer atau IoT agar sistem menjadi lebih stabil, presisi, dan informatif.

VII. Daftar Pusataka

Atmel Corporation. (2014). AT89S52 8-bit microcontroller datasheet. Atmel.

Malvino, A. P., & Bates, D. J. (2007). Electronic principles (7th ed.). McGraw-Hill.

Texas Instruments. (2017). LM35 precision centigrade temperature sensors datasheet. Texas                  Instruments.

Mazidi, M. A., Mazidi, J. G., & McKinlay, R. D. (2011). The 8051 microcontroller and embedded     systems: Using assembly and C (2nd ed.). Pearson Education.

Sedra, A. S., & Smith, K. C. (2015). Microelectronic circuits (7th ed.). Oxford University Press.


BIODATA


Fakhri Khusaini. Penulis dilahirkan di Jepara, 11 Desember 2004. Penulis telah menempuh pendidikan formal di SMK N 1 Kalinyamatan Jurusan Elektro. Penulis mengikuti seleksi mahasiswa baru Diploma 4 (D4) di kampus Politeknik Negeri Semarang dengan Program Studi D4 Teknologi Rekayasa Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM 4.34.24.2.08

 Apabila ada kritik, saran dan pertanyaan mengenai penelitian ini, bisa menghubungi melalui       

 E-mail: fakhri.43424208@mhs.polines.ac.id


Nur'Azizul Al Kholiq. Penulis dilahirkan di Sragen, 21 Januari 2006. Penulis telah menempuh pendidikan formal di SMKN 12 Kota Bandung Jurusan Teknik Kelistrikan Pesawat Udara. Penulis mengikuti seleksi mahasiswa baru Diploma 4 (D4) di kampus Politeknik Negeri Semarang dengan Program Studi D4 Teknologi Rekayasa Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM 4.34.24.2.21
 Apabila ada kritik, saran dan pertanyaan mengenai penelitian ini, bisa menghubungi melalui  


Naufal Fathin Aban. Penulis dilahirkan di semarang, 13 April 2005. Penulis telah menempuh pendidikan formal di SMKN 4 Kota semarang Jurusan Teknik Elektro. Penulis mengikuti seleksi mahasiswa baru Diploma 4 (D4) di kampus Politeknik Negeri Semarang dengan Program Studi D4 Teknologi Rekayasa Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM 4.34.24.2.20
 Apabila ada kritik, saran dan pertanyaan mengenai penelitian ini, bisa menghubungi melalui  


Evan Hidayatullah Apta Kurniawan. Penulis dilahirkan di Kendal, 6 Desember 2005. Penulis telah menempuh pendidikan formal di SMK Bina Utama Kendal Jurusan Teknik Komputer Jaringan. Penulis mengikuti seleksi mahasiswa baru Diploma 4 (D4) di kampus Politeknik Negeri Semarang dengan Program Studi D4 Teknologi Rekayasa Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM 4.34.24.2.07

 Apabila ada kritik, saran dan pertanyaan mengenai penelitian ini, bisa menghubungi melalui       



Komentar

Postingan populer dari blog ini

AIR TEMPERATURE SWITCHING AND MONITORING SYSTEM DENGAN MENGGUNAKAN SENSOR LM35 BERBASIS ATMEGA 16

RANCANG BANGUN KALKULATOR DIGITAL OPERASI KALI DAN BAGI BERBASIS MIKROKONTROLER AT89C51

SISTEM LAMPU LALU LINTAS PERTIGAAN BERBASIS AT89s51 DENGAN SENSOR INFRAMERAH