Anda di halaman 1dari 6

MODUL 4

SERIAL MONITOR DAN LCD (LIQUID CRYSTAL DISPLAY)

Tujuan

Menggunakan fungsi serial monitor untuk komunikasi secara serial dengan komputer/
perangkat lain dan perangkat LCD untuk menampilkan data

Pendahuluan

Serial Monitor

Komunikasi data serial digunakan untuk komunikasi antara board arduino dengan komputer
atau perangkat lain. Semua board arduino mempunyai sedikitnya 1 buah port serial yang juga
dikenal dengan nama UART atau USART. Komunikasi data serial menggunakan 2 buah pin
yaitu pin RX untuk menerima data dan ppin TX untuk mengirimkan data. Pada board arduino
pin RX terletak pada pin0 dan pin TX terletak pada pin1. Ketika board arduino
dikonfigurasikan untuk berkomunikasi secara serial, maka kedua pin0 dan pin1 tidak dapat
digunakan sebagai pin input/output digital.

1. Serial.begin()

“begin()” digunakan untuk mengatur baudrate / kecepatan transmisi data. Beberapa pilihan
kecepatan komunikasi data yang dapat digunakan pada board arduino adalah 300, 1200,
2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 atau 115200. Pengaturan baudrate
dilakukan pada bagian setup(). Berikut ini format penulisan dan contoh program “begin()”

void setup() { Serial.begin(9600);}

2. Serial.print()

Perintah “Serial.print” digunakan untuk menampilkan data ke serial monitor. Data yang
ditampilkan dapat berupa karakter, bytes, atau angka. Berikut ini beberapa contoh perintah
“serial.print()”.

Terdapat 2 macam yaitu Serial.print dan Serial.println. perbedaannya adalah jika


“Serial.print” akan menampilkan data di serial monitor dalam satu baris, tetapi perintah
“Serial.println” akan menampilkan data di serial monitor pada baris baru.

Serial.print("Hello world.") // mencetak "Hello world." tanpa ganti baris


Serial.println("Hello world.") // mencetak "Hello world." dan ganti baris

3. Serial.read()

Perintah “Serial.read()” digunakan untuk membaca data dari serial port. Berikut contoh
penulisan perintah “Serial.read()”
void loop()
{
if (Serial.available() > 0)
{
dataterkirim = Serial.read();
Serial.print("saya menerima data: ");
Serial.println(dataterkirim, DEC);
}
}
4. Serial.write()

Perintah “Serial.write” digunakan untuk menuliskan data biner dari serial port. Data ini
dikirim dalam bentuk byte atau deretan data byte. Contoh penulisan perintah “Serial.write”

void setup(){
Serial.begin(9600);
}
void loop(){
Serial.write(45);
int bytesSent = Serial.write(“hello―);
}

Interkoneksi serial monitor pada proteus

Port serial komunikasi pada arduino ada pada kaki 0 (RX) dan 1 (TX). RX pin digunakan
untuk menerima data dan TX digunakan untuk mengirimkan data. RX dipasangkan dengan
TX komputer dan TX dipasangkan dengan RX komputer.
Kode program untuk serial monitor seperti berikut ;
void setup(){
Serial.begin(9600);
}

void loop() {
Serial.print("HelloWorld");
delay(2000);
}

LCD (Liquid Crystal Display)

LCD merupakan alat yang biasa digunakan untuk menampilkan informasi dengan
menggunakan mikrokontroller. Sekarang bagaimana cara untuk menggunakan LCD ini
dengan menggunakan mikrokontroller berbasis Arduino. Dalam contoh ini saya
menggunakan Arduino Uno.

Berikut contoh rangkaiannya :

Tabel Pin LCD dan Port Arduino

Pin LCD Pin Arduino Pin LCD Pin Arduino


Pin 1 (GND) GND Pin 9 -
Pin 2 (VCC) +5V Pin 10 -
Pin 3 (VSS) Potentio 50K Pin 11 (D4) PORT 5
Pin 4 (RS) PORT 12 Pin 12 (D5) PORT 4
Pin 5 (R/W) GND Pin 13 (D6) PORT 3
Pin 6 (E) PORT 11 Pin 14 (D7) PORT 2
Pin 15 (LED
Pin 7 - +) +5V
Pin 8 - Pin 16 (LED -) GND
Kode program untuk menggunakan perangkat LCD pada arduino adalah sebagai berikut ;

// panggil librarynya:
#include <LiquidCrystal.h>

// inisialisasi PORT yang akan digunakan


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
// Setting LCD kolom dan baris:
lcd.begin(16, 2);
// Tulisan yang akan di tampilkan.
lcd.print("hello, world!");
}

void loop() {
// set kursor kolom 0, baris 1
// (note: menghitung baris dimulai dari 0):
lcd.setCursor(0, 1);
// menampilkan angka setiap 1000 milisecond:
lcd.print(millis()/1000);
}

Untuk menggunakan LCD perlu mendefinisikan terlebih dahulu library LCD menggunakan
perintah :

#include <LiquidCrystal.h>

#include digunakan untuk memanggil atau memasukkan sebuah pustaka/library dari luar ke
dalam program arduino. Fungsi ini akan memungkinkan program arduino memanggil begitu
banyak pustaka yang sudah banyak dibuat oleh banyak orang.

Kegiatan Praktikum

Tugas 1

Buat program serial monitor menggunakan kode program dan rangkaian pada proteus diatas.
Jalankan program pelajari alur program diatas.

Rubah perintah serial.print() menjadi serial.println()

Tugas 2

Buat program LCD menggunakan kode program dan rangkaian pada proteus diatas. Jalankan
program pelajari alur program diatas.

Tugas 3

Gabungkan aplikasi serial monitor dan LCD menjadi satu aplikasi


Tugas 4

Salin program berikut dengan menambahkan 2 buah switch pada rangkaian tugas 3, pelajari
program berikut :

// panggil librarynya:
#include <LiquidCrystal.h>

const int buttonPin0 = 8; // the number of the pushbutton pin


const int buttonPin1 = 9; // the number of the pushbutton pin

// variables will change:


int buttonState0 = 0; // variable for reading the pushbutton status
int buttonState1 = 0; // variable for reading the pushbutton status

// inisialisasi PORT yang akan digunakan


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
// initialize the pushbutton pin as an input:
pinMode(buttonPin0, INPUT);
pinMode(buttonPin1, INPUT);
serial.begin(9600);
// Setting LCD kolom dan baris:
lcd.begin(16, 2);
// Tulisan yang akan di tampilkan.
lcd.print("Read Input");
delay(1000);
// set kursor kolom 0, baris 0
lcd.setCursor(0, 0); lcd.print(“PIN 1 :”);
// set kursor kolom 0, baris 1
lcd.setCursor(0, 1) ); lcd.print(“PIN 2 :”);
// read the state of the pushbutton value:
}

void loop() {
buttonState0 = digitalRead(buttonPin0);
buttonState1 = digitalRead(buttonPin1);
// (note: menghitung baris dimulai dari 0):
if (buttonState0 == HIGH) {
lcd.setCursor(9, 0);
// menampilkan angka setiap 1000 milisecond:
lcd.print(“ON”);
serial.println("PIN 1 : ON ");
}
else
{
lcd.setCursor(9, 0);
// menampilkan angka setiap 1000 milisecond:
lcd.print(“OFF”);
serial.println("PIN 1 : OFF ");
}
if (buttonState1 == HIGH) {
lcd.setCursor(9, 1);
// menampilkan angka setiap 1000 milisecond:
lcd.print(“ON”);
serial.println("PIN 2 : ON ");
}
else
{
lcd.setCursor(9, 1);
// menampilkan angka setiap 1000 milisecond:
lcd.print(“OFF”);
serial.println("PIN 2 : OFF ");
}
}

Anda mungkin juga menyukai