MIKROKOMPUTER 2018/2019
LAPORAN PRAKTIKUM 6
MENAMPILKAN TEXT DI LCD DENGAN I2C PADA ARDUINO
I. Tujuan
Mahasiswa mampu memahami dan membuat program untuk menampilkan text di LCD 16x2
berbasis I2C dengan Software Arduino.
Mahasiswa mampu mengaplikasikan coding program pada LCD 16x2 berbasis I2C.
Mahasiswa mampu membuat membuat program untuk menguji sensor ultrasonic HC-SR04
dengan Software Arduino dan ditampilkan pada LCD 16x2 serta ditampilkan pada serial
monitor komputer.
Mahasiswa mampu mengaplikasikan coding program pada sensor ultrasonic HC-SR04, LCD
16x2 dan pada serial monitor komputer.
Software Arduino
1 Set PC
Arduino
Projectboard
LCD I2C
Sensor Ultrasonik HC-SR04
Kabel Jumper
ARDUINO UNO
Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14
pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM
dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan
tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya
menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik
dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.
Uno berbeda dengan semua board sebelumnya dalam hal koneksi USB-to-serial yaitu
menggunakan fitur Atmega8U2 yang diprogram sebagai konverter USB-to-serial berbeda
dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-serial.
Nama “Uno” berarti satu dalam bahasa Italia, untuk menandai peluncuran Arduino 1.0.
Uno dan versi 1.0 akan menjadi versi referensi dari Arduino. Uno adalah yang terbaru dalam
serangkaian board USB Arduino, dan sebagai model referensi untuk platform Arduino, untuk
perbandingan dengan versi sebelumnya.
LABTEMUMY@GMAIL.COM 1
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
I2C LCD
Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah
menggunakan dua saluran yang didesain khusus untuk mengirim maupun menerima data.
Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa
informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C
Bus dapat dioperasikan sebagai Master dan Slave. Master adalah piranti yang memulai
transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan
membentuk sinyal Stop, dan membangkitkan sinyal clock. Slave adalah piranti yang dialamati
master.
Dengan menggunakan LCD jenis ini, cukup dua pin yang digunakan untuk mengirimkan
data. Dua pin lagi yang dihubungkan ke Arduino adalah untuk memasok tegangan. Jadi, hanya
empat pin yang perlu dihubungkan ke Arduino, dengan rincian sebagai berikut:
GND dihubungkan ke ground
VCC dihubungkan ke sumber tegangan 5v
SDA merupakan I2C data dan dihubungkan ke pin analog A4 pada Arduino
SCL merupakan I2C clock dan dihubungkan ke pin analog A5 pada Arduino
LABTEMUMY@GMAIL.COM 2
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
LABTEMUMY@GMAIL.COM 3
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
Jarak antara sensor dan objek yang memantulkan gelombang suara dihitung dengan
menggunakan rumus berikut:
Jarak = Kecepatan suara*T/2
Dalam hal ini, T adalah waktu tempuh dari saat sinyal ultrasonic dipancarkan hingga
kembali. Perlu dketahui, kecepatan suara adalah 343 m/detik.
IV. Percobaan
a. Percobaan 1 Menampilkan teks pada LCD I2C
Langkah kerja:
1. Siapkan alat dan bahan, kemudian buat dan susunlah rangkaian yang dihubungkan Arduino
dengan LCD I2C
GND
GND
5V VCC
ARDUINO SDA LCD I2C
PIN 4 SCL
PIN 5
LABTEMUMY@GMAIL.COM 4
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
2. Instal Pustaka LCD I2C untuk memudahkan menggunakan LCD berbasis I2C bernama
LiquidCrystal_I2C yang dapat diunduh di situs : https://github.com/fdebrander/Arduino-
LiquidCrystal-I2C-library/blob/master/. Pustaka tersebut disediakan di CD yang nama filenya :
Arduino-LiquidCrystal-I2C-library-master.zip
3. Dekompresilah file Arduino-LiquidCrystal-I2C-library-master.zip. Akan terbentuk folder
bernama Arduino-LiquidCrystal-I2C-library-master.
4. Sederhanakan nama folder tersebut menjadi LiquidCrystalI2C.
5. Pindahkan subfolder LyquidCrystal_I2C ke folder PC.
6. Tutuplah Arduino IDE jika dalam keadaan sedang dibuka
7. Panggil kembali Arduino IDE agar pustaka yang baru ditambahkan dapat dikenali.
8. Pustaka LiquidCrystal_I2C telah diinstal, buat sketch program yang dapat digunakan untuk
menguji LCD dan menampilkan text pada LCD dan sambungkan rangkaian Arduino dengan
LCD I2C telah disusun agar dapat mengaplikasikan sketch yang telah dibuat.
void setup()
{
lcd.begin();
lcd.print("Tes..Tes..123!");
lcd.setCursor(0,1);
lcd.print("OK tampaknya!");
}
void loop()
{
LABTEMUMY@GMAIL.COM 5
}
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
Hasil
LABTEMUMY@GMAIL.COM 6
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
Analisis:
Flowchart:
MULAI
Arduino Uno,
LCD
YA
TIDAK
Upload
Arduino
Data Tampil
pada LCD
SELESAI
LABTEMUMY@GMAIL.COM 7
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
void setup()
{
lcd.begin();
lcd.print("Tes..Tes..123!");
lcd.setCursor(0,1);
lcd.print("OK tampaknya!");
}
void loop()
{
#include
} Wire.H Merupakan sebuah library komunikasi serial 12C.
LABTEMUMY@GMAIL.COM 8
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
5V
VCC
PIN 13 TRIG
ARDUINO ECHO HC-SR04
PIN 12 GND
GND
LABTEMUMY@GMAIL.COM 9
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
2. Buka software Arduino, kemudian buat sketch program untuk menguji sensor HC-SR04
void setup()
{
Serial.begin(9600);
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
}
void loop()
{
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10); // Tunda 10 mikrodetik
LABTEMUMY@GMAIL.COM 10
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
6. Setelah diupload lihat hasil pengujian dan jarak yang diperoleh dari Serial Monitor atau klik
Shift+Ctrl+M atau bisa juga dengan klik Tools pada software Arduino kemudian klik Serial
Monitor maka akan tampil hasil pengujian dan jarak yang diperoleh dari sensor ultasonik HC-
SR04 pada objek yang berada di depannya.
Hasil
Menguji Sensor Ultrasonik HC-SR04 untuk mengukur jarak objek yang berada di depannya
LABTEMUMY@GMAIL.COM 11
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
Hasil pengujian rangkaian yang melibatkan sensor ultrasonik yang ditampilkan pada Serial Monitor
Analisis:
Flowchart :
MULAI
Arduino
Uno, Sensor
Ultrasonik
YA
Upload Tidak
Arduino?
Data Tampil
pada PC
SELESAI
LABTEMUMY@GMAIL.COM 12
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
void setup()
{
Serial.begin(9600);
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
}
void loop()
{
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10); // Tunda 10 mikrodetik
digitalWrite(PIN_TRIG, LOW);
LABTEMUMY@GMAIL.COM 13
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
const int PIN_ECHO = 13; artinya mendefinisi pin berapa yang ingin kita pakai pada arduino.
Serial.begin(9600); Untuk menginisialisasi port serial, 9600 adalah baudrate yang akan digunakan
sebagai inisial.
pinMode(PIN_TRIG, OUTPUT); merupakan sebuah mode pin yang dimana PIN_TRIG(pin 13)
akan di setting sebagai output dan dihubungkan ke trig pada sensor ultrasonik HC-SR04, pada pin
arduino sebagai output.
pinMode(PIN_ECHO, INPUT); merupakan sebuah mode pin yang dimana PIN_ECHO(pin 12) akan
di setting sebagai input dan dihubungkan ke echo pada sensor ultrasonik HC-SR04, pada pin arduino
sebagai output.
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW); memiliki fungsi untuk membuat sensor ultrasonic bekerja untuk
mengukur jarak objek yang berada didepannya, PIN_TRIG akan aktif selama 10 mikrodetik lalu akan
dinonaktifkan kembali.
double selang = pulseIn(PIN_ECHO, HIGH); coding yang digunakan untuk memberi perintah pada
pin echo ketika diberi tegangan 5V akan bekerja karena pin ECHO untuk menerima pantulan
gelombang suara, dengan variable selang bertipe data double.
double jarak = 0.0343 * (selang / 2); Merupakan kode program yang digunakan untuk menghitung
jarak dari sensor ultrasonik hingga ke objek.
else Merupakan pernyataan selain, atau apabila pernyataan If diatas tidak tercapai.
{
LABTEMUMY@GMAIL.COM 14
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
Serial.print(jarak);
Serial.println("cm");
} Merupakan kondisi yang dimana apabila pernyataan ELSE aktif, maka akan mengirimkan hasil dari
perhitungan JARAK dan mengirim kata “cm”.
#include <Wire.h>
Percobaan 3 Menampilkan nilai jarak dari sensor ultrasonic HC-SR04 pada LCD
#include <LiquidCrystal_I2C.h>
Langkah kerja :
LiquidCrystal_I2C lcd(0x27,16,2);
1. Siapkan alat dan bahan, kemudian buat dan susunlah rangkaian dibawah ini untuk
const int PIN_TRIG = 13;
menampilkan nilai jarak dari sensor ultrasonic HC-SR04 pada LCD
const int PIN_ECHO = 12;
{ TRIG
else
{
Serial.print(jarak);
Serial.println("cm");
}
lcd.setCursor(0,0);
lcd.print(jarak);
lcd.print("cm");
delay(1000);
}
LABTEMUMY@GMAIL.COM 16
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
6. Setelah diupload lihat hasil pengujian dan jarak yang diperoleh ditampilkan pada LCD dan dari
Serial Monitor atau klik Shift+Ctrl+M atau bisa juga dengan klik Tools pada software Arduino
kemudian klik Serial Monitor maka akan tampil hasil pengujian dan jarak yang diperoleh dari
sensor ultasonik HC-SR04 pada objek yang berada di depannya.
Maka, tampilan angka atau nilai pada LCD dan pada Serial Monitor akan sama.
Hasil
Tampilan angka atau nilai hasil jarak sensor dengan objek pada LCD
LABTEMUMY@GMAIL.COM 17
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
Tampilan angka atau nilai hasil jarak sensor dengan objek pada serial monitor di komputer
Analisis :
Flowchart:
MULAI
Arduino
Uno, LCD,
Sensor
Ultrasonik
Ya
Upload Tidak
Arduino
?
Data tampil
pada LCD,
dan PC
SELESAI
LABTEMUMY@GMAIL.COM 18
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
#include <Wire.h> memasukan library komunikasi serial I2C pada coding progam agar
library tersebut dapat dikenali. (berfungsi sebagai header dan akan menjalankan suatu
progam).
#include <LiquidCrystal_I2C.h> berfungsi sebagai library untuk mendefinisikan pustaka
yang bernama LiquidCrystal_I2C yang digunakan.
LiquidCrystal_I2C lcd(0x27,16,2); berfungsi untuk mengatur LCD I2C. 0x27 itu alamat
LCD ke 0x27, untuk 16 karakter dan 2 tampilan garis.
const int PIN_TRIG = 13;
const int PIN_ECHO = 12;
mendefinisi pin 13 pada arduino yang terhubung ke Trig pada HC-SR04 dan pin 12 pada
arduino yang dihubungkan ke Echo pada HC-SR04.
void setup() merupakan salah satu fungsi, semua perintah hanya 1 kali eksekusi ketika awal
program berjalan.
{ sebagai tanda awalan dari sebuah program.
lcd.begin(); merupakan inisialisasi LCD supaya bisa terdefinisi, dan bisa digunakan, coding
ini terdapat diawal void setup.
Serial.begin(9600);berfungsi sebagai inisialisasi dari komunikasi serial, angka 9600 hasil
setting dari baud pada serial monitor Arduino.
pinMode(PIN_TRIG, OUTPUT); merupakan konfigurasi pin 13 yang sudah dihubungkan
ke trig pada sensor ultrasonik HC-SR04, pada pin arduino sebagai output.
pinMode(PIN_ECHO, INPUT); merupakan konfigurasi pin 12 yang sudah dihubungkan ke
echo pada sensor ultrasonik HC-SR04, pada pin arduino sebagai input.
void loop() merupakan suatu fungsi, digunakan untuk menjalankan perintah secara berulang-
ulang.
lcd_clear(); perintah untuk menghapus data yang ditampilkan di LCD agar dapat ditampilkan
teks yang lain lagi.
digitalWrite(PIN_TRIG, HIGH);Maksud nya untuk memberikan tegangan 5V pada pin 13
yang dihubungkan ke trig, sehingga sensor ultrasonik HC-SR04 dapat bekerja dan akan
mengukur jarak objek yang ada didepannya.
delayMicroseconds(10); merupakan perintah untuk mengatur jeda waktu pada program,
ditunda selama 10 mikrodetik.
digitalWrite(PIN_TRIG, LOW); Coding tersebut digunakan untuk mematikan/diberi
tegangan 0V pin 13 yang dihubungkan ke trig, sehingga pada pin TRIG tidak akan bekerja.
LABTEMUMY@GMAIL.COM 19
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
LABTEMUMY@GMAIL.COM 20
MODUL PRAKTIKUM
MIKROKOMPUTER 2018/2019
V. Kesimpulan:
Pada percobaan ke 1 kita akan menyusun rangkaian pada project board untuk menampilkan
teks pada LCD dan menguji sensor ultrasonik HC-SR04 untuk mengukur jarak sensor dengan
objek yang akan diujikan.
Untuk mengunakan lcd 12C perlu pendeklarasian library untuk lcd 12Cterlebih dahulu,tanpa
library wire.h maka arduino dan lcd 12C tidak akan bisa terhubung
Pada percobaan ke 2 kita akan menguji jarak sensor ultrasonic HC-SR04 dengan objek dan
ditampilkan pada serial monitor di computer
Pada percobaan dua ini juga mengunakan serial.begin yang di gunakan untuk berapa kecepatan
data yang di gunakan, pada praktikum dua ini kita mengunakan 9600 bps.
Pada percobaan ke 3.ya itu pengabungan antara percobaan 1 dan percobaan 2 dan hasil dari
percobaan dua akan di tampilkan pada lcd
LABTEMUMY@GMAIL.COM 21