SIMULASI SENSOR SUHU LM35 DENGAN ARDUINO PADA TAMPILAN LCD DAN PARAMETER TAMBAHAN BERUPA LED PADA PROTEUS
SIMULASI SENSOR SUHU LM35 DENGAN ARDUINO PADA TAMPILAN LCD DAN PARAMETER TAMBAHAN BERUPA LED PADA PROTEUS
Proteus
merupakan gabungan dari program ISIS dan ARES. Dengan penggabungan kedua
program ini maka skematik rangkaian elektronika dapat dirancang serta
disimulasikan dan dibuat menjadi layout PCB. Proteus dapat mensimulasikan
berbagai jenis mikroprosesor dan mikrokontroler, termasuk mikrokontroler
keluarga AVR. Diharapkan dengan menggunakan program simulasi ini maka
perancangan rangkaian berbasis mikrokontroler dapat lebih mudah dilakukan serta
mengurangi biaya produksi dan menghemat waktu. Proteus dilengkapi program
compiler, sehingga dapat mengkompilasi file kode sumber seperti Assembly
menjadi file HEX sehingga nantinya dapat digunakan oleh mikrokontroler yang
sebenarnya.
Arduino
adalah pengendali mikro single board yang bersifat open source, diturunkan dari
wiring platform, diancang untuk memudahlan penggunaan elektronik dalam berbagai
bidang. Hardwarenya memiliki prosesor atmel AVR dan softwarenya memiliki bahasa
pemrograman sendiri. Pin analog pada Arduino (dan mikrokontroller lain pada
umumnya) dapat digunakan untuk input dan output digital. Hanya saja pin analog
memiliki fitur untuk dapat mengubah sinyal analog yang masuk menjadi nilai
digital yang mudah diukur. Pin digital hanya dapat mengenali sinyal 0 volt sebagai
nilai LOW dan 5 volt sebagai nilai HIGH. Sedangkan Pin analog dapat mengenali
sinyal pada rentang nilai voltase tersebut. Hal ini sangat berguna ketika kita
hendak mengukur sesuatu dari sensor dan menggunakan nilai masukan tersebut
untuk keperluan lain.
Pin
analog ini terhubung dengan converter pada mikrokontroller yang
dikenal dengan istilah analog-to-digital converter (disingkat ADC atau
A/D). Converter ini mengubah nilai analog berbentuk sinyal voltase ke
dalam bentuk digital/angka supaya nilai analog ini dapat digunakan
dengan lebih mudah dan aplikatif. Pada Arduino (mikrokontroller
ATMega) converter ini memiliki resolusi 10 bit, artinya nilai hasil
konversi berkisar dari 0 hingga 1023. Pada Arduino UNO, pin analog ditandai
dengan label A0 sampai A5. Pada board lainnya, pin-pin yang diberi tanda A,
Analog, ADC adalah pin analog. Fungsi yang kita gunakan untuk membaca
nilai analog pada Arduino adalah analogRead([nomorPin]).
LCD (Liquid
Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal
cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya
alal–alat elektronik seperti televisi, kalkulator, ataupun layar komputer. Pada
bab ini aplikasi LCD yang dugunakan ialah LCD dot matrik dengan jumlah karakter
2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan
untuk menampilkan status kerja alat. Adapun fitur yang disajikan dalam LCD ini
adalah:
·
Terdiri dari 16 karakter dan 2 baris.
·
Mempunyai 192 karakter tersimpan.
·
Terdapat karakter generator terprogram.
·
Dapat dialamati dengan mode 4-bit dan 8-bit.
·
Dilengkapi dengan back light.
Project kali ini akan
menggunakan arduino sebagai mikrokontrolernya, LCD sebagai penampil data suhu
dan sensor suhu LM35 yang berfungsi sebagai sensor.
Ketika jalur RS berada dalam kondisi low “0”,
data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi
khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high
atau “1”, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar.
Misal, untuk menampilkan huruf “A” pada layar maka RS harus diset ke “1”. Jalur
kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data
bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high “1”,
maka program akan melakukan query (pembacaan) data dari LCD. Instruksi
pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya
merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan
LCD, R/W selalu diset ke “0”. Jalur data dapat terdiri 4 atau 8 jalur
(tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan
DB7. Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2
mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan
mode operasi merupakan hal yang paling penting.
Mode 8-bit sangat baik digunakan ketika
kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal
tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk data).Sedangkan mode 4
bit minimal hanya membutuhkan 7-bit (3 pin untuk kontrol, 4 pin untuk data).
Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer
antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada
posisi kursor LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS
= 0), merupakan instruksi yang dikirim ke LCD atau status eksekusi dari
instruksi terakhir yang dibaca.
I. ALGORITMA PROGRAM
Membuat program dengan simulasi adc tegangan, arus, dan daya
menggunakan proteus dan arduino :
1.
Buka software Proteus 8 Professional
2.
Untuk membuat project baru klik “New
Project”
3.
Ubah “Project Name” pada kolom Name untuk mengubah nama proyek sesuai dengan
yang diinginkan, lalu klik “Next”.
4.
Pilih Schematic Design yang sesuai, dalam program
ini yang dipilih adalah Landscape A4, lalu klik “Next” sampai “Finish”.
5.
Pilih komponen-komponen yang dibutuhkan
dalam pemograman dengan cara :
·
Klik P untuk memilih ARDUINO UNO R3, LM016L,
LED, MINRES330R dan LM35.
·
Klik TERMINAL untuk memilih POWER , dan GROUND.
6.
Rangkai komponen-komponen tersebut seperti
gambar di bawah ini :
7.
Buka software arduino untuk membuat script
agar program yang di simulasikan berjalan.
8.
Script yang dibuat pada arduino adalah
sebagai berikut :
#include
<LiquidCrystal.h>
int
Vin;
float
Temperature;
float
TF;
//
initialize the library with the numbers of the interface pins
LiquidCrystal
lcd(2, 3, 4, 5, 6, 7);
void
setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
lcd.begin (16,2) ;
lcd.print("Temperature:");
}
void
loop() {
Vin = analogRead (A1);
if (Temperature > 20) {
digitalWrite (13, HIGH) ;
digitalWrite (12, LOW);
}
if (Temperature < 20) {
digitalWrite (13, LOW) ;
digitalWrite (12, HIGH);
}
Vin = analogRead(A0) ;
Temperature=(500*Vin)/1023;
lcd.setCursor (0,1);
lcd.print(Temperature);
lcd.print ("C") ;
delay (500) ;
}
11. Masukan script
arduino ke dalam arduino yang ada di Proteus
12. Klik Play pada
Proteus
II. FLOW CHART PROGRAM
III.
PEMBAHASAN
Pada simulasi sensor suhu LM35 dengan arduino
pada tampilan lcd dan parameter tambahan berupa led ini memakai LCD tipe LM016L, dengan tambahan LED warna merah dan biru. Pada
percobaan ini saya mengatur bahwa ketika suhu dinaikan di atas 200C
yang diatur melalui sensor suhu, maka
lampu LED biru akan menyala. Kemudian jika suhu diturunkan di bawah 200C,
maka lampu LED merah akan menyala. Berikut ini adalah gambar LED yang bekerja
di atas 200C dengan sensor suhu pada arduino di proteus :
Kemudian Berikut ini
adalah gambar LED yang bekerja di bawah 200C dengan sensor suhu pada
arduino di proteus :
Simulasi kali ini memanfaatkan LCD dengan ukuran 16X2
yang fungsinya yaitu untuk menunjukkan nilai temperature yang diatur oleh
sensor suhu LM35 yang dihubungkan pada kaki kiri yaitu kaki analog (pada A1 dan
A2). Pada simulasi kali ini dengan bahasa pemograman yang tertera pada
algoritma program, ketika dimasukkan script arduinonya terhadap Arduino UNO R3
di proteus dapat berjalan sesuai dengan keinginan. Hal ini berarti bahasa
pemograman tepat sehingga dapat dijalankan dalam suatu program yang
memanfaatkan sensor suhu sebagai parameter utamanya.
IV.
KESIMPULAN
Pada simulasi sensor suhu LM35 dengan arduino
pada tampilan lcd dan parameter tambahan berupa led dapat disimpulkan
bahwa :
1. Parameter yang didapat akan muncul sesuai
dengan bahasa pemograman dari library arduino.
2. Arduino yang digunakan
adalah Arduino UNO.
3. Ketika
sensor suhu diatur di bawah 200C maka LED merah
akan menyala.
4. Ketika
sensor suhu diatur di atas 200C maka LED biru
akan menyala.
Link untuk file proteus dan ino : https://drive.google.com/drive/folders/1VK6GaTbRvSesk8D7PojpU5Xf4bJc_k0Z
Komentar
Posting Komentar