Anda di halaman 1dari 16

LAPORAN PRAKTIKUM

MIKROPROSESOR
MODUL II : Akses LCD Karakter 16x2 & Analog To Digital
Converter (ADC)

DISUSUN OLEH :
Yulianto Tri Atmojo
(18101107)
Partner Praktikum :
1. Wulan Tarru’ Padang (18101106)
2. Zianatul Khoeriyah (18101108)
Tanggal Praktikum : 24 Maret 2020
Asisten Praktikum :
1. Muhammad Alwi Adnan (17101066)
2. Wahyu Junianto (17101121)
3. Melia Mispriatin (17101146)

LABORATORIUM TEKNIK ELEKTRONIKA DAN TEKNIK DIGITAL


FAKULTAS TEKNIK TELEKOMUNIKASI DAN ELEKTRO (FTTE)
INSTITUT TEKNOLOGI TELKOM
JL. D.I. PANJAITAN 128 PURWOKERTO
2020
MODUL II
Akses LCD Karakter 16x2 &
Analog to Digital Converter (ADC)

I. TUJUAN
1. Mahasiswa mampu memahami kerja dari pin Analog to Digital
Converter (ADC) pada Arduino Uno R3.
2. Mampu memahami pengaruh nilai tegangan referensi terhadap hasil
konferensi Analog To Digital Converter (ADC).
3. Mahasiswa mampu memahami cara mengkses LCD 16x2 dengan
Arduino Uno R3.
4. Mahasiswa mampu memahami penggunaan serial monitor pada Arduino
IDE.
5. Mahasiswa mampu merangkai dan memogram dan memogram pin ADC
Arduino Uno R3 sebagai inputan sebuah sensor suhu LM35.
6. Mahasiswa mampu manampilkan hasil pembacaan niali dari pin ADC
kedalam LCD 16x2

II. ALAT DAN BAHAN


1. Board Arduino Uno R3
2. Kabel USB tipe A ke B
3. Breadboard
4. Potensio 10k
5. Resistor 220 Ω
6. LCD 16x2
7. LM 35
8. Buzzer 5V
9. Multimeter digital
10. Kabel jumper male-to-male sesuai kebutuhan
III. DASAR TEORI
Analog To Digital Converter (ADC) adalah pengubah input analog
menjadi kode – kode digital. ADC banyak digunakan sebagai pengatur
proses industri, komunikasi digital dan rangkaian pengukuran/pengujian.
Umumnya ADC digunakan sebagai perantara antara sensor yang
kebanyakan analog dengan sistim komputer seperti sensor suhu, cahaya,
tekanan/berat, aliran dan sebagainya kemudian diukur dengan menggunakan
sistim digital (komputer). ADC (Analog to Digital Converter) memiliki 2
karakter prinsip, yaitu kecepatan sampling dan resolusi. Kecepatan sampling
suatu ADC menyatakan seberapa sering sinyal analog dikonversikan ke
bentuk sinyal digital pada selang waktu tertentu. Kecepatan sampling
biasanya dinyatakan dalam sample per second (SPS). Resolusi ADC
menentukan ketelitian nilai hasil konversi ADC. Sebagai contoh: ADC 8 bit
akan memiliki output 8 bit data digital, ini berarti sinyal input dapat
dinyatakan dalam 255 (2n – 1) nilai diskrit. ADC 12 bit memiliki 12 bit
output data digital, ini berarti sinyal input dapat dinyatakan dalam 4096 nilai
diskrit. Dari contoh diatas ADC 12 bit akan memberikan ketelitian nilai hasil
konversi yang jauh lebih baik daripada ADC 8 bit. Prinsip kerja ADC adalah
mengkonversi sinyal analog ke dalam bentuk besaran yang merupakan rasio
perbandingan sinyal input dan tegangan referensi. Sebagai contoh, bila
tegangan referensi (Vref) 5 volt, tegangan input 3 volt, rasio input terhadap
referensi adalah 60%. Jadi, jika menggunakan ADC 8 bit dengan skala
maksimum 255, akan didapatkan sinyal digital sebesar 60% x 255 = 153
(bentuk decimal) atau 10011001 (bentuk biner) [1]. ADC (Analog To Digital
Converter) memiliki 2 karakter prinsip, yaitu kecepatan sampling dan
resolusi.
a. Kecepatan Sampling ADC
Kecepatan sampling suatu ADC menyatakan “seberapa sering
sinyal analog dikonversikan ke bentuk sinyal digital pada selang waktu
tertentu”. Kecepatan sampling biasanya dinyatakan dalam sample per
second (SPS).
b. Resolusi ADC
Resolusi ADC menentukan “ketelitian nilai hasil konversi ADC”.
Sebagai contoh: ADC 8 bit akan memiliki output 8 bit data digital, ini
berarti sinyal input dapat dinyatakan dalam 255 (2n – 1) nilai diskrit.
ADC 12 bit memiliki 12 bit output data digital, ini berarti sinyal input
dapat dinyatakan dalam 4096 nilai diskrit. Dari contoh diatas ADC 12 bit
akan memberikan ketelitian nilai hasil konversi yang jauh lebih baik
daripada ADC 8 bit.
Converter adalah suatu alat yang membantu digital yang paling
penting untuk teknologi yang berguna untuk mengontrol proses adalah
yang menerjemahkan informasi digital ke bentuk analog dan juga
sebaliknya. Sebagian besar pengukuran variabel-variabel dinamik
dilakukan oleh piranti ini yang menerjemahkan informasi mengenai
vaiabel ke bentuk sinyal listrik analog. Untuk menghubungkan sinyal ini
dengan sebuah komputer atau rangkaian logika digital, sangat perlu untuk
terlebih dahulu melakukan konversi analog to digital (A/D). Hal-hal
mengenai konversi ini harus diketahui sehingga ada keunikan, hubungan
khusus antara sinyal analog dan digital [2]
LCD (Liquid Crystal Display) 16x2
LCD (Liquid Crystal Display) adalah suatu jenis media tampil
yang menggunakan kristal cair sebagai penampil utama.Adapun fitur
yang disajikan dalam LCD ini adalah:
a) Terdiri dari 16 karakter dan 2 baris.
b) Mempunyai 192 karakter tersimpan.
c) Terdapat karakter generator terprogram.
d) Dapat dialamati dengan mode 4-bit dan 8-bit.
e) Dilengkapi dengan back light.
Proses inisialisasi pin arduino yang terhubung ke pin LCD RS, Enable,
D4, D5, D6, dan D7, dilakukan dalam baris LiquidCrystal (2, 3, 4, 5, 6,
7), dimana lcd merupakan variable yang dipanggil setiap kali intruksi
terkait LCD akan digunakan. Definisi pin lcd 16x2 dapat dilihat ditabel
2.3.1 dan gambar 2.3.2 adalah device LCD.[3]
Karakteristik dari sensor LM35 adlah sebagai berikut:
1. Memiliki sensitivitas suhu, dengan faktor skala linier antara
tegangan dan suhu 10 mVolt/ºC, sehingga dapat dikalibrasi
langsung dalam celcius.
2. Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC pada suhu
25 ºC seperti terlihat pada gambar 2.2.
3. Memiliki jangkauan maksimal operasi suhu antara -55 ºC
sampai +150 ºC.
4. Bekerja pada tegangan 4 sampai 30 volt.
5. Memiliki arus rendah yaitu kurang dari 60 μA.
6. Memiliki pemanasan sendiri yang rendah (low-heating) yaitu
kurang dari 0,1 ºC pada udara diam.
7. Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk
beban 1 mA.
8. Memiliki ketidaklinieran hanya sekitar ± ¼ ºC [4]
IV. HASIL DATA
1. Percobaan mengakses LCD 16x2

Gambar 2.4.1 Mengakses LCD 16x2


2. Percobaan pembacaab sensor LM35 dengan ADC

Gambar 2.4.2 Pembacaan sensor LM35 dengan ADC


Tabel 2.4.1 Percobaan Alarm suhu ruangan sederhana dengan buzzer
LCD pengukuran Perhitungan
Vref Vin ADC Temp Vin ADC Temp

747.07mV 153 74.71 749mV 162.86 79.52° C


5v 527.34mV 108 52.73 529mV 108.23 52.84

419.92mV 86 41.99 420mV 85.93 41.95


Perhitungan ADC :
a. ADC1 : (Vin x 1024) / 5 : (749 x 1024) / 5 = 162.86
b. ADC2 : (Vin x 1024) / 5 : (529x 1024) / 5 = 108.23
c. ADC3 : (Vin x 1024) / 5 : (420x 1024) / 5 = 85.93
Perhitungan Suhu :
a. Suhu1 : ((ADC / 1024)*(Vref x 1000)) / 10
: ((162.86 / 1024)*(5 x 1000)) / 10
: 79.52℃
b. Suhu2 : ((ADC / 1024)*(Vref x 1000)) / 10
: ((108.88 / 1024)*(5 x 1000)) / 10
: 52.84℃
c. Suhu3 : ((ADC / 1024)*(Vref x 1000)) / 10
: ((85.93 / 1024)*(5 x 1000)) / 10
: 41.95℃
3. Percobaan alarm suhu ruangan sederhana dengan buzzer

Gambar 2.4.3 alarm suhu ruangan dengan buzzer


V. ANALISIS DAN PEMBAHASAN
Pada praktikum modul 2 kali ini praktikan membutuhkan beberapa alat
dan bahan yang hampir sama dengan praktikum modul 1 yaitu Arduino uno,
breadboard, potensiometer, buzzer, kabel jumper. Alat alat tersebut mudah
uuntuk didapatkan di alat alat elektronik. untuk merancang sesuai dengan
pada modul mudah-mudah susah, namun harus diperlukan ketelitian yang
extra dalam pemasangan kabel male to male dan juga mudah dalam
pengeksekusian program karena Arduino bersifat open source, diturunkan
untuk memudahkan penggunaan elektronika dalam berbagai bidang.
Pada modul dua percobaan satu mengakses LCD 16x2, praktikan
melakukan percobaan untuk menampilkan text pada LCD 16x2. Dimana
untuk menampilkan di library LCD pada Arduino Uno, praktikan
menggunakan perintah #include <LiquidCrystal.h>. Perintah #include
<LiquidCrystal.h> berfungsi agar Arduino Uno mengenali perangkat LCD
16x2 yang digunakan lalu mengirimkan perintah ke LCD 16x2. Praktikan
menggunakan LCD 16x2 maka pada perintah void setup() untuk mengenali
LCD 16x2 tersebut dikenali, maka dengan LCD 16x2 terdapat perintah di
void setup() diberitahu perintah lcd.begin(16, 2); 16 merupakan jumlah
kolom LCD dan 2 merupakan jumlah baris LCD. Untuk menampilkan text
pada LCD, praktikan harus memperhatikan perintah yang digunakan ialah
perintah void loop(). Pada perintah void loop() praktikan akan mengatur
posisi peletakan text LCD dengan memberi perintah lcd.setCursor(0, 0); 0
pertama merupakan kolom dan 0 kedua merupakan baris
(lcd.setCursor(kolom, baris);). Perintah untuk menampilkan text di LCD
dengan perintah lcd.print(“Modul 2 - Mikro”); perintah ini akan
menampilkan OUTPUT Modul 2 – Mikro pada kolom nol (0) dan baris nol
(0). Perintah menampilkan materi1 = ADC dan materi2 = LCD, mengatur
letak cursor text dan memanggil perintah materi1 = ADC menggunakan
perintah lcd.setCursor(0, 1); dan lcd.print(materi1); dan mengatur letak
cursor text dan memanggil perintah materi2 = LCD menggunakan perintah
lcd.setCursor(6, 1); dan lcd.print(materi2); dimana OUTPUT dari materi1
dan materi2 ADC & LCD. Dimana delay selama 1500 ms dengan ditandai
perintah Serial.print(“Counter : ”); fungsi counter untuk menghitung berapa
banyak muncul OUTPUT Modul 2 – Mikro ADC & LCD pada layar LCD
16x2. Pada praktikum ini terdapat perintah Serial.print(char(38)); artinya
Arduino Uno diperintahkan untuk memanggil dan menampilkan kode
ASCII nomer 38 yaitu simbol derajat (o ) di LCD.
Pada percobaan dua pembacaan sensor LM35 dengan ADC, praktikan
melakukan pembacaan pembacaan sensor LM35. Sensor LM35 merupakan
sensor suhu yang memiliki OUTPUT berupa sinyal Analog yang dihasilkan.
Sehingga LM35 pada rangkaian dihubungkan dengan pin Analog Arduino
Uno. Pada pin Analog sudah memiliki perintah Analog to Digital Converter
(ADC). Karena menggunakan pin Analog akan memberikan perintah
Arduino Uno pada sensor suhu, maka sesor suhu harus dideklarasikan
dengan perintah #define sesnsorsuhu A5 berarti memanggil perintah sensor
suhu berada pada pin Analog (A5) Arduino Uno. Dari program perintah int
adc = analogRead(sensorsuhu); artinya nilai ADC ialah nilai OUTPUT dari
sensor suhu LM35 yang sudah dikonversikan ke sinyal Digital. Untuk
mengetahui nilai tegangannya maka praktikan memberi perintah float mv =
(adc / 1024.0) * (vref * 1000); artinya nilai ADC yang diberikan akan
mengalir (dibagikan) dengan nilai resolusi Arduino Uno ialah 10bit atau
nilai Digital berjumlah 1024.0, dan dilakukan dengan vref (v referensi)
dikali dengan 1000 agar satuan tegangan OUTPUT berupa milliVolt (mV).
Nilai suku merupakan pembagian dari mV dibagi 10. Pada hasil data
terdapat perbedaan nilai pada LCD dengan nilai pengukuran dan
perhitungan. Hal ini dikarenakan nilai resistansi dari kabel multimeter.
Sehingga hasil pengukuran berbeda, pada mengambil gambar hasil
OUTPUT LCD dan multimeter nilai tegangan berbeda karena perubahan
suhu yang sangat cepat. Sehingga ketika LCD sudah berganti nilai
tengangan, multimeter masih menampilkan nilai tegangan OUTPUT
sebelumnya. Suhu akan terus berubah selama delay 500 ms dan nilai
tegangan multimeter tetap (hasil OUTPUT tidak berubah), maka setiap 500
ms suhu ruangan akan mengukur perubahan suhunya setiap delay 500 ms.
Pada percobaan tiga alarm suhu ruangan sederhana dengan buzzer. Pada
percobaan ini buzzer akan berbunyi jika suhu ruangan melebihi 24o C,
karena suhu maksimal yang diatur pada program dengan perintah if (cel >=
suhu_max); pemilihan ini membuat Arduino Uno memberikan arus pada
LM35 (sensor suhu) ketika suhu yang dibaca melebihi 24ºC. Sehingga
buzzer akan berbunyi dan alarm akan menampilkan OUTPUT text
peringakan pada LCD ialah WARNING…!!!, karena perintah saat suhu
melebihi 24º C ialah perintah lcd.print(“WARNING…!!!”); dan jika suhu
dibawah 24º C makan tidak ada arus yang mengalir ke buzzer. Suhu akan
terus berubah selama delay 500 ms, maka setiap 500 ms suhu ruangan akan
mengukur perubahan suhunya setiap delay 500 ms.
VI. KESIMPULAN DAN SARAN
A. KESIMPULAN
1. Arduino bersifat open source, diturunkan untuk memudahkan
penggunaan elektronika dalam berbagai bidang
2. nilai resistansi dari kabel multimeter dapat menhasilkan nilai
pengkurran dan perhitungan
3. Sensor suhu LM35 memiliki perintah Analog to Digital Converter
(ADC) dihubungan dengan pin Analog, karena sensor suhu LM35
OUTPUT yang sudah dikonversi ke sinyal Digital.
4. .
B. SARAN
1. Dalam merangkai pada arduino pastikan pin yang digunakan sesuai
anara yang terhubung dengan arduino maupun yang dideklarasikan
pada programnya.
2. Untuk merangkai komponen, praktikan harus teliti dalam
menentukan bagian yang positif dan bagian negatifnya, sehingga
dapat terhindar dari adanya konsleting.
3. Ketika menghubungkan komponen ke arduino pastikan bahwa
terhubung dengan benar apakah komponen tersebut komponen
analog atau digital. Jika komponen tersebut analog maka
dihubungkan ke pin analog sedangkan jika komponen digital maka
dihubungkan ke pin digital.
4. Dalam memprogram LCD harus diperhatkan baris dan kolom mana
yang akan ditampilkan.
VII. DAFTAR PUSTAKA

[1] Anonim, "ELEKTRONIKA DASAR," 28 Oktober 2018. [Online].


Available:http://elektronika-dasar.web.id/adc-analog-to-digitalconverti
on/.[Accessed 7 April 2020].
[2] Suprianto, "KOMPONEN ELEKTRONIK," 13 October 2015.
[Online]. Available: http://blog.unnes.ac.id/antosupri/adc-analog-to-
digital-converter/. [Accessed 7 April 2020].
[3] A. Faudin, "Nyebar Ilmu," 16 September 2017. [Online]. Available:
https://www.nyebarilmu.com/cara-mengakses-modul-display-lcd-
16x2/. [Accessed 7 April 2020].
[4] D. Kho, "TEKNIK ELEKTRONIKA," [Online]. Available:
https://teknikelektronika.com/pengertian-lcd-liquid-crystal-display-
prinsip-kerja-lcd/. [Accessed 7 April 2020].
LAMPIRAN
Tugas 1
1. Apa maksud dari 16x2 pada spesifikasi LCD yang di pakai saat praktikum?
Jawab :
LCD 16x2 merupakan media terbuat dari kristal cair yang dapat menampilkan
keluaran informasi dengan ukuran 16 kolom dan 2 baris.
2. Apa yang terjadi pada LCD jika pada baris ke 1 kita menuliskan tulisan “IT
TELKOM PURWOKERTO”, dan mengapa bisa terjadi seperti itu ?
Jawab :
Maka LCD akan menampilkan output “IT TELKOM PURWOKERTO”, hal ini
terjadi karena perintah kode program lcd.print.
3. Apa maksud dari setCursor dibawah ini :
Jawab :
lcd.setCursor(4, 1); untuk menempatkan posisi kursor mulai penulisan pesan
text di LCD.
lcd.print(char(38)); untuk menampilkan karakter pada LCD.
4. Apa yang dimaksud sinyal analog dan digital pada pengertian ADC ?
Jawab :
Sinyal Analog : Sinyal berbentuk gelombang sinus yang bersifat kontinu.
Sinyal Digital : Sinyal berbentuk pulsa yang bernilai 1 (HIGH) dan 0 (LOW).
5. Apa perintah yang digunakan untuk membaca nilai ADC pada pin A4?
Jawab :
int adc = analogRead (sensorsuhu);
6. Mengapa pembacaan nilai ADC maksimal 1023/1024 ?
Jawab :
Karena pin analog Arduino dapat menerima nilai hingga 10 bit sehingga data
analog yang dapat dikonversi sebanyak 1024 keadaan. Nilai 1024 berasal dari 2
pangkat 10, dan nilai 1023 merupakan nilai terbesar karena perhitungan
dimulai dari angka 0.
7. Berapakah nilai tegangan Referensi default jika kita tidak meng-input-kan
tegangan Referensi eksternal.
Jawab :
Tegangan referensi default bernilai 5 V sesuai dengan tegangan pada board
Arduino.
8. Apa contoh sederhana dari kegunaan ADC pada kehidupan sehari-hari?
Jawab :
Komunikasi Digital, Rangkaian pengukuran atau pengujian, Sensor suhu,
sensor cahaya, sensor tekanan, sensor aliran.
9. Jelaskan apa maksud dari script di bawah ini ?
Jawab :
- Int adc = analogRead(sensorsuhu); : Membaca nilai analog dari sensor
suhu dan menampungnya dalam variabel adc yang bertipe data integer.
- float mv = (adc/1024.0)*(vref*1000); : Nilai adc yang didapat
sebelumnya, kemudian diproses ke dalam persamaan tersebut dengan
membagi nilai adc dengan 1024 dan mengalikan nilai vref dengan 1000,
selanjutnya kedua hasil pembagian dan perkalian tersebut dikalikan dan
hasilnya ditampung dalam variabel mv yang bertipe data float.
- float cel = mv/10; : Nilai mv yang didapatkan sebelumnya kemudian
dibagi dengan 10 dan hasilnya ditampung dalam variabel cel yang bertipe
data float.
10. Bisakah pin Analog pada Arduino digunakan sebagai Output untuk
menghidupkan sebuah LED, seperti layaknya pin Digital Output?
Jawab :
Bisa, karena Pin analog (ADC) tersebut berfungsi sebagai pengubah sinyal
analog menjadi output digital sehingga dapat menghidupkan LED seperti
layaknya Pin Digital Output.

Tugas 2
Buatlah Program Running Text dengan ketentuan sebagai berikut :
- Baris pertama berisi “Yulianto Tri Atmojo”.
- Baris kedua berisi “18101107”.
- NIM Ganjil : running text berjalan dari kiri ke kanan.
- Jeda pindah antar karakter adalah (125ms+107)=232 ms.
Hasil :

Gambar 1. Rangkaian Tinkercard


Source code :
//Nama : Yulianto Tri Atmojo
//NIM : 18101107
//Kelas : S1 TT 06 C
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
lcd.begin(16, 2);
}
void loop()
{
int m;

lcd.setCursor(0, 0);
lcd.print("Yulianto Tri Atmojo");
lcd.setCursor(0, 1);
lcd.print("18101107");
for (;;)
{
lcd.scrollDisplayRight();
delay(232);
}
}

Link:https://www.tinkercad.com/things/dXZrnBMxFUp-dazzlingmigelo/editel?t
enant=circuits

Anda mungkin juga menyukai