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()”
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()”.
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―);
}
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 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.
// panggil librarynya:
#include <LiquidCrystal.h>
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.
Tugas 2
Buat program LCD menggunakan kode program dan rangkaian pada proteus diatas. Jalankan
program pelajari alur program diatas.
Tugas 3
Salin program berikut dengan menambahkan 2 buah switch pada rangkaian tugas 3, pelajari
program berikut :
// panggil librarynya:
#include <LiquidCrystal.h>
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 ");
}
}