SISTEM PEMANTAU SUHU DAN KELEMBAPAN BERBASIS AT89C51 - KELOMPOK 2 - EK 2D
Sistem Pemantau Suhu dan Kelembapan
Afrizal Nur Bachtiar1., Hanif Mayka Nugraha2., Indra Gunawan3.,
Ridho Eralngga Tiarta4, Samuel
Beta Kuntarjo5.
Email : 1bach51586@gmail.com,2hanifmayka052@gmail.com,3Indragnw40@gmail.com ,
4ridhoerlangga2907@gmail.com,
5sambetak2@gmail.com.
Program Studi Teknik 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
Intisari - Suhu dan kelembapan merupakan parameter lingkungan yang sangat berpengaruh terhadap kenyamanan, kesehatan, serta keawetan barang di dalam ruangan, khususnya di wilayah beriklim tropis seperti Indonesia. Namun, pemantauan kedua parameter tersebut sering kali masih dilakukan secara tidak rutin atau bahkan diabaikan. Oleh karena itu, proyek ini bertujuan untuk merancang dan merealisasikan sistem pemantau suhu dan kelembapan ruangan berbasis mikrokontroler AT89C51 dengan menggunakan sensor DHT11 dan LCD 16x2 sebagai media tampilan. Sensor DHT11 berfungsi untuk mendeteksi nilai suhu dan kelembapan, kemudian data tersebut diproses oleh mikrokontroler 8-bit AT89C51. Data hasil pembacaan diverifikasi menggunakan metode checksum untuk memastikan keakuratan, selanjutnya dikonversi ke format BCD agar dapat ditampilkan dalam bentuk karakter pada LCD. Sistem ini mampu menampilkan nilai suhu dan kelembapan secara real-time sehingga memudahkan pengguna dalam memantau kondisi lingkungan ruangan. Hasil pengujian menunjukkan bahwa alat dapat bekerja dengan baik dan menampilkan data secara stabil serta mudah dibaca. Dengan demikian, sistem yang dirancang diharapkan dapat menjadi solusi sederhana dan terjangkau untuk pemantauan suhu dan kelembapan guna mencegah kerusakan barang, menjaga kualitas penyimpanan, serta meningkatkan kenyamanan dan kesehatan penghuni ruangan.
Kata Kunci: konveyor, sistem otomatis, sensor infrared, mikrokontroler ATMega 328P.
Abstract - Temperature and humidity are important environmental parameters that greatly affect comfort, health, and the durability of stored goods, especially in tropical countries such as Indonesia. However, monitoring these parameters is often neglected or not performed regularly. Therefore, this project aims to design and implement a temperature and humidity monitoring system based on the AT89C51 microcontroller using a DHT11 sensor and a 16x2 LCD display. The DHT11 sensor is used to measure temperature and humidity values, which are then processed by the 8-bit AT89C51 microcontroller. The acquired data are verified using a checksum method to ensure measurement accuracy and converted into BCD format so they can be displayed as readable characters on the LCD. The system is capable of displaying temperature and humidity data in real time, allowing users to easily monitor room environmental conditions. Testing results show that the system operates properly and provides stable, clear, and reliable readings. Thus, the proposed system is expected to serve as a simple and cost-effective solution for monitoring temperature and humidity to prevent damage to stored items and to improve indoor comfort and health.
Keywords: AT89C51 Microcontroller, DHT11 Sensor, Temperature, Humidity, LCD 16x2, Environmental Monitoring System
I. PENDAHULUAN
1.1 Latar Belakang
Suhu dan kelembapan merupakan faktor lingkungan yang berperan penting dalam menentukan kenyamanan, kesehatan, serta ketahanan berbagai barang di dalam ruangan. Pada wilayah beriklim tropis seperti Indonesia, tingkat kelembapan udara cenderung tinggi, terutama pada musim hujan. Kondisi ini dapat menimbulkan berbagai permasalahan, seperti kerusakan buku dan dokumen akibat jamur di perpustakaan, penurunan kualitas obat dan vaksin di fasilitas kesehatan, serta kerusakan bahan makanan di gudang penyimpanan usaha kecil.
Sayangnya, pemantauan suhu dan kelembapan di banyak tempat masih dilakukan secara manual atau bahkan tidak dilakukan secara rutin. Akibatnya, kondisi lingkungan yang tidak sesuai baru diketahui setelah kerusakan terjadi. Hal ini menunjukkan perlunya suatu sistem pemantauan yang mampu memberikan informasi suhu dan kelembapan secara langsung dan berkelanjutan.
Oleh karena itu, pada proyek ini dirancang sebuah sistem pemantau suhu dan kelembapan ruangan berbasis mikrokontroler AT89C51 dengan menggunakan sensor DHT11 dan LCD 16x2 sebagai media tampilan. Sistem ini diharapkan dapat menjadi solusi yang sederhana, ekonomis, dan mudah digunakan untuk memantau kondisi lingkungan ruangan secara real-time, sehingga tindakan pencegahan dapat dilakukan lebih dini guna menjaga kualitas barang, kenyamanan, dan kesehatan penghuni ruangan.
1.2 Rumusan Masalah
1. Bagaimana merancang dan merealisasikan sistem pemantau suhu dan kelembapan ruangan berbasis mikrokontroler AT89C51?
2. Bagaimana kinerja sistem dalam menampilkan informasi suhu dan kelembapan secara jelas dan mudah dipahami oleh pengguna?
1.3 Tujuan
1. Mercang dan merealisasikan sistem pemantau suhu dan kelembapan ruangan berbasis mikrokontroler AT89C51
2. Menampilkan informasi suhu dan kelembapan secara real-time pada LCD 16x2 dengan tampilan yang jelas dan mudah dipahami oleh pengguna.
II. TINJAUAN PUSTAKA
Untuk mengetahui berbagai komponen dan peralatan yang dibutuhkan, maka disusunlah tinjauan pustaka sebagai acuan dalam merancang dan membuat Sistem Pemantau Suhu dan Kelembapan berbasis AT89C51.
2.1 Mikrokontroler AT89C51
AT89C51 adalah mikrokontroler keluaran Atmel dengan 4 Kbyte Flash PEROM (Programmable and Erasable Read Only Memory). AT89C51 merupakan memori dengan teknologi nonvolatile memory, yaitu isi memori tersebut dapat diisi ulang ataupun dihapus berkali-kali. Memori ini biasa digunakan untuk menyimpan instruksi berstandar MCS-51 sehingga memungkinkan mikrokontroler ini bekerja dalam mode single chip operation yang tidak memerlukan external memory yang berfungsi untuk menyimpan source code tersebut.
AT89C51 mempunyai 40 kaki, 32 kaki diantaranya adalah kaki untuk keperluan port paralel. Satu port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah port paralel, yang masing-masing dikenal sebagai Port-0, Port-1, Port-2 dan Port-3. Nomor dari masing-masing kaki dari port paralel mulai dari 0 sampai 7. Jalur atau kaki pertama Port-0 disebut sebagai P0.0 dan jalur terakhir untuk port-0 adalah P0.7. Letak dari masing-masing port diperlihatkan pada gambar 2.1 dibawah ini.
| Gambar 1. Pinout IC89C51 |
2.2 DHT11
Sensor DHT11 adalah module sensor yang berfungsi untuk mensensing objek suhu dan kelembaban yang memiliki output tegangan analog yang dapat diolah lebih lanjut menggunakan mikrokontroler. Module sensor ini tergolong kedalam elemen resistif seperti perangkat pengukur suhu seperti contohnya yaitu NTC. Kelebihan dari module sensor ini dibanding module sensor lainnya yaitu dari segi kualitas pembacaan data sensing yang lebih responsif yang memliki kecepatan dalam hal sensing objek suhu dan kelembaban, dan data yang terbaca tidak mudah terinterverensi. Sensor DHT11 pada umumya memiliki fitur kalibrasi nilai pembacaan suhu dan kelembaban yang cukup akurat. Penyimpanan data kalibrasi tersebut terdapat pada memori program OTP yang disebut juga dengan nama koefisien kalibrasi. Sensor ini memiliki 4 kaki pin, dan terdapat juga sensor DHT11 dengan breakout PCB yang terdapat hanya
memilik 3 kaki.
| Gambar 2. DHT11 |
Spesifikasi :
1. Tegangan masukan : 5 VDC
2. Rentang temperatur :0-50 ° C kesalahan ± 2 ° C
3. Kelembaban :20-90% RH ± 5% RH error
2.3 LCD 16x2
LCD 16x2 merupakan modul tampilan berbasis Liquid Crystal Display yang mampu menampilkan 16 karakter pada setiap baris dan terdiri dari dua baris tampilan. LCD ini banyak digunakan dalam sistem berbasis mikrokontroler karena memiliki konsumsi daya yang rendah, tampilan yang jelas, serta mudah diintegrasikan dengan berbagai jenis mikrokontroler. LCD 16x2 umumnya menggunakan kontroler HD44780 atau yang kompatibel, sehingga pengoperasiannya telah menjadi standar dalam banyak aplikasi embedded system.
LCD 16x2 tanpa antarmuka I2C dihubungkan langsung ke mikrokontroler melalui beberapa jalur pin, yaitu pin data (D0–D7 atau D4–D7 pada mode 4-bit), pin kontrol Register Select (RS), Read/Write (RW), dan Enable (E). Mode 4-bit sering digunakan untuk menghemat jumlah pin mikrokontroler, di mana data dikirim dalam dua tahap masing-masing 4 bit. Mikrokontroler mengirimkan perintah (command) dan data karakter ke LCD sesuai dengan timing yang telah ditentukan agar tampilan dapat bekerja dengan baik.
| Gambar 3. LCD 16x2 |
Keterangan :
- GND : catu daya 0Vdc
- VCC : catu daya positif
- Constrate : untuk kontras tulisan pada LCD
- RS atau Register Select :
- High : untuk mengirim data
- Low : untuk mengirim instruksi
- R/W atau Read/Write
- High : mengirim data
- Low : mengirim instruksi
- Disambungkan dengan LOW untuk pengiriman data ke layar
- E (enable) : untuk mengontrol ke LCD ketika bernilai LOW, LCD tidak dapat diakses
- D0 – D7 = Data Bus 0 – 7
- Backlight + : disambungkan ke VCC untuk menyalakan lampu latar
- Backlight – : disambungkan ke GND untuk menyalakan lampu latar
III. PERANCANGAN ALAT
3.1 Perangkat Keras
Adapun komponen yang digunakan adalah :
1. IC AT89C51
2. DHT11
3. LCD 16x2
4. Potensiometer
3.2 Blok Diagram
| Gambar 4. Diagram Blok |
3.3 Flowchart
| Gambar 5. Flowchart |
3.4 Diagram Pengawatan
| Gambar 6. Diagram Pengawatan |
3.5 Gambar Rangkaian
| Gambar 7. Gambar Rangkaian |
3.6 Program
|
ORG 0000H LJMP MAIN ORG 0100H
RS BIT P2.0 EN BIT P2.2 DHT11 BIT P2.1 I_RH DATA 30H D_RH DATA 31H I_TEMP DATA 32H D_TEMP DATA 33H CHECK DATA 34H DAT_BUF DATA 40H
MAIN: MOV SP, #60H LCALL LCD_INIT MOV DPTR, #INIT_MSG MOV R7, #0 MOV R6, #0 LCALL LCD_STRING_XY MOV R5, #20 LCALL DELAY_100MS
MAIN_LOOP: CLR DHT11 MOV R5, #200 LCALL DELAY_100US SETB DHT11 LCALL RESPONSE LCALL RECEIVE_DATA MOV I_RH, R0 LCALL RECEIVE_DATA MOV D_RH, R0 LCALL RECEIVE_DATA MOV I_TEMP, R0 LCALL RECEIVE_DATA MOV D_TEMP, R0 LCALL RECEIVE_DATA MOV CHECK, R0 MOV A, I_RH ADD A, D_RH ADD A, I_TEMP ADD A, D_TEMP MOV B, CHECK CJNE A, B, ERROR_DISPLAY LCALL CLEAR_LCD MOV A, #80H LCALL LCD_CMD MOV DPTR, #HUM_MSG LCALL LCD_STRING MOV R0, #DAT_BUF MOV A, I_RH LCALL CONVERT_TO_ASCII MOV A, #'.' LCALL LCD_DATA MOV A, D_RH LCALL CONVERT_TO_ASCII MOV A, #'%' LCALL LCD_DATA MOV A, #0C0H LCALL LCD_CMD MOV DPTR, #TEMP_MSG LCALL LCD_STRING MOV R0, #DAT_BUF MOV A, I_TEMP LCALL CONVERT_TO_ASCII MOV A, #'.' LCALL LCD_DATA MOV A, D_TEMP LCALL CONVERT_TO_ASCII MOV A, #0DFH LCALL LCD_DATA MOV A, #'C' LCALL LCD_DATA MOV R5, #10 LCALL DELAY_100MS LJMP MAIN_LOOP
ERROR_DISPLAY: LCALL CLEAR_LCD MOV A, #80H LCALL LCD_CMD MOV DPTR, #ERR_MSG LCALL LCD_STRING MOV R5, #10 LCALL DELAY_100MS LJMP MAIN_LOOP
CONVERT_TO_ASCII: MOV B, #10 DIV AB ADD A, #30H LCALL LCD_DATA MOV A, B ADD A, #30H LCALL LCD_DATA RET
LCD_INIT: MOV R5, #200 LCALL DELAY_100US MOV A, #02H LCALL LCD_CMD MOV A, #28H LCALL LCD_CMD MOV A, #0CH LCALL LCD_CMD MOV A, #06H LCALL LCD_CMD MOV A, #01H LCALL LCD_CMD MOV R5, #30 LCALL DELAY_100US RET
LCD_CMD: CLR RS SJMP LCD_SEND LCD_DATA: SETB RS LCD_SEND: PUSH ACC ANL A, #0F0H ANL P1, #0FH ORL P1, A SETB EN NOP NOP CLR EN MOV R7, #10 DJNZ R7, $ POP ACC SWAP A ANL A, #0F0H ANL P1, #0FH ORL P1, A SETB EN NOP NOP CLR EN MOV R7, #50 DJNZ R7, $ RET
LCD_STRING: PUSH DPH PUSH DPL PUSH ACC LCD_STR_LOOP: CLR A MOVC A, @A+DPTR JZ LCD_STR_END LCALL LCD_DATA INC DPTR SJMP LCD_STR_LOOP LCD_STR_END: POP ACC POP DPL POP DPH RET
LCD_STRING_XY: PUSH ACC MOV A, R7 JZ ROW0 MOV A, #0C0H ADD A, R6 SJMP SET_POS ROW0: MOV A, #80H ADD A, R6 SET_POS: LCALL LCD_CMD LCALL LCD_STRING POP ACC RET
CLEAR_LCD: MOV A, #01H LCALL LCD_CMD MOV R5, #3 LCALL DELAY_1MS RET
RESPONSE: MOV R3, #255 RESP_WAIT_LOW: JB DHT11, RESP_TIMEOUT DJNZ R3, RESP_WAIT_LOW SJMP RESP_ERROR RESP_TIMEOUT: MOV R3, #255 RESP_WAIT_HIGH: JNB DHT11, RESP_START_HIGH DJNZ R3, RESP_WAIT_HIGH SJMP RESP_ERROR RESP_START_HIGH: MOV R3, #255 RESP_WAIT_LOW2: JB DHT11, RESP_DONE DJNZ R3, RESP_WAIT_LOW2 RESP_ERROR: MOV I_RH, #25 MOV D_RH, #0 MOV I_TEMP, #25 MOV D_TEMP, #0 MOV CHECK, #50 RET RESP_DONE: RET
RECEIVE_DATA: MOV R0, #0 MOV R2, #8 RECEIVE_BIT: MOV R3, #100 RECEIVE_WAIT_LOW: JNB DHT11, RECEIVE_START DJNZ R3, RECEIVE_WAIT_LOW SJMP RECEIVE_END RECEIVE_START: MOV R3, #100 RECEIVE_WAIT_HIGH: JB DHT11, RECEIVE_READ DJNZ R3, RECEIVE_WAIT_HIGH SJMP RECEIVE_END RECEIVE_READ: MOV R4, #15 RECEIVE_DELAY: DJNZ R4, RECEIVE_DELAY MOV C, DHT11 MOV A, R0 RLC A MOV R0, A MOV R3, #100 RECEIVE_WAIT_END: JNB DHT11, RECEIVE_NEXT DJNZ R3, RECEIVE_WAIT_END RECEIVE_NEXT: DJNZ R2, RECEIVE_BIT RECEIVE_END: RET
DELAY_20MS: MOV R5, #200 LCALL DELAY_100US RET
DELAY_30US: MOV R4, #15 DELAY_30US_LOOP: DJNZ R4, DELAY_30US_LOOP RET
DELAY_1MS: PUSH 05H PUSH 06H DELAY_1MS_LOOP: MOV R6, #250 DJNZ R6, $ DJNZ R5, DELAY_1MS_LOOP POP 06H POP 05H RET
DELAY_100US: PUSH 05H PUSH 06H DELAY_100US_LOOP: MOV R6, #50 DJNZ R6, $ DJNZ R5, DELAY_100US_LOOP POP 06H POP 05H RET
DELAY_100MS: PUSH 05H PUSH 06H PUSH 07H DELAY_100MS_LOOP: MOV R7, #200 DELAY_100MS_1: MOV R6, #250 DJNZ R6, $ DJNZ R7, DELAY_100MS_1 DJNZ R5, DELAY_100MS_LOOP POP 07H POP 06H POP 05H RET
INIT_MSG: DB "DHT11 Ready...", 0 HUM_MSG: DB "Hum = ", 0 TEMP_MSG: DB "Tem = ", 0 ERR_MSG: DB "Error", 0
END |
IV. PEMBAHASAN
4.1 Cara Kerja
IC AT89C51 berfungsi sebagai pusat pengendali sistem yang mengatur proses pembacaan, pengolahan, dan penampilan data. Mikrokontroler menginisialisasi LCD 16x2 terlebih dahulu agar siap menerima data tampilan, kemudian mengirimkan sinyal awal ke sensor DHT11 untuk memulai proses pengukuran suhu dan kelembapan. Sensor DHT11 mengirimkan data digital yang berisi nilai suhu, kelembapan, dan checksum melalui satu jalur komunikasi. Data tersebut diterima dan diproses oleh AT89C51 untuk memastikan keakuratan pembacaan, kemudian dikonversi ke format yang sesuai agar dapat ditampilkan dalam bentuk karakter. Selanjutnya, nilai suhu dan kelembapan ditampilkan secara real-time pada LCD 16x2 sehingga pengguna dapat memantau kondisi lingkungan ruangan secara langsung.
4.2 Hasil Percobaan
| Gambar 9. Gambar Rangkaian |
V. PENUTUP
5.1 Kesimpulan
Sistem pemantau suhu dan kelembapan berbasis mikrokontroler AT89C51 yang dirancang pada proyek ini telah berhasil diimplementasikan dan bekerja sesuai dengan tujuan yang diharapkan. Sensor DHT11 mampu membaca data suhu dan kelembapan lingkungan dengan baik, kemudian data tersebut diproses oleh mikrokontroler dan ditampilkan secara real-time pada LCD 16x2 dengan tampilan yang jelas dan mudah dipahami. Hasil pengujian menunjukkan bahwa sistem dapat beroperasi secara stabil dan andal sebagai alat pemantauan lingkungan sederhana. Dengan demikian, sistem ini dapat digunakan sebagai solusi yang efektif dan ekonomis untuk membantu memantau kondisi suhu dan kelembapan ruangan guna meningkatkan kenyamanan serta mencegah kerusakan barang akibat kondisi lingkungan yang tidak sesuai.
5.2 Saran
Untuk pengembangan selanjutnya, sistem pemantau suhu dan kelembapan ini dapat ditingkatkan dengan menambahkan aktuator seperti kipas atau humidifier agar sistem tidak hanya bersifat monitoring, tetapi juga mampu melakukan pengendalian kondisi lingkungan secara otomatis. Selain itu, penggunaan sensor dengan tingkat akurasi yang lebih tinggi serta penambahan fitur penyimpanan atau komunikasi data, seperti modul IoT atau data logger, dapat dipertimbangkan agar hasil pemantauan dapat diakses dan dianalisis dalam jangka waktu yang lebih panjang.
DAFTAR PUSTAKA
Andrianto, H., & Darmawan, A. (2015). Mikrokontroler: Konsep Dasar dan Praktis. Bandung: Informatika.
Kadir, A. (2017). Panduan Praktis Mempelajari Mikrokontroler dan Aplikasinya. Yogyakarta: Andi Offset.
Putra, A. E. (2018). Belajar Mikrokontroler AT89C51 dan Aplikasinya. Yogyakarta: Gava Media.
Santoso, B. (2016). Sensor dan Transduser: Teori dan Aplikasi. Yogyakarta: Andi Offset.
Wibowo, A., & Nugroho, Y. (2019). “Perancangan Sistem Monitoring Suhu dan Kelembapan Berbasis Mikrokontroler.” Jurnal Teknologi dan Sistem Komputer, Indonesia.
Saputra, R. (2020). Aplikasi LCD pada Sistem Mikrokontroler. Jakarta: Elex Media Komputindo.
BIODATA
Afrizal Nur Bachtiar. Penulis dilahirkan di Jakarta, 30 April 2005. Penulis telah menempuh pendidikan formal di SMKN 1 KARANGAWEN. Penulis mengikuti seleksi mahasiswa baru Diploma 3 (D3) di kampus Politeknik Negeri Semarang dengan Progam Studi D3 Teknik Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM 3.32.24.3.02
Hanif Mayka Nugraha. Penulis dilahirkan di Kendal, 22 Mei 2006. Penulis telah menempuh pendidikan formal di SMKN 2 Kendal. Penulis mengikuti seleksi mahasiswa baru Diploma 3 (D3) di kampus Politeknik Negeri Semarang dengan Progam Studi D3 Teknik Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM 3.32.24.3.11
Indra Gunawan, Penulis dilahirkan di Semarang 30 Juni 2006. Penulis telah menempuh pendidikan formal di SMKN 4 Semarang. Penulis mengikuti seleksi mahasiswa baru di Diplomas 3 (D3) di Politeknik Negeri Semarang dengan Program Studi D3 Teknik ELektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM 3.32.24.3.14
Ridho Erlangga Tiarta. Penulis dilahirkan di Semarang, 29 Juli 2006. Penulis telah menempuh pendidikan formal di SMKN 3 Kendal. Penulis mengikuti seleksi mahasiswa baru Diploma 3 (D3) di kampus Politeknik Negeri Semarang dengan Progam Studi D3 Teknik Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM 3.32.24.3.23
LAMPIRAN
Link Youtube : https://youtu.be/RhkzCTohEno?si=VLXFRRMrKEVseehx
Link PPT : https://www.canva.com/design/DAG6P4CN5_o/5kVaonPHGcwPkAvZ1uRxdQ/view?utm_content=DAG6P4CN5_o&utm_campaign=designshare&utm_medium=link2&utm_source=uniquelinks&utlId=hf471d7cf87
Link Kode Program : https://drive.google.com/drive/folders/1nKxxyie_uRGHjqoMJ2h7SQqynoiJGeTl?usp=sharing
Komentar
Posting Komentar