PRAKTIKUM 5
KOMUNIKASI SERIAL
TUJUAN :
1.
Memahami cara mengirimkan dan menerima data
melalui periperal UART Arduino.
Mampu membuat program untuk mengirimkan
2.
n data berbasis teks dan berbasis byte.
3. Mampu membuat program untuk menerima data secara pooling dan secara interupsi serial.
PERALATAN :
|
||
1.
|
Komputer
|
: 1 set
|
2.
|
Arduino Uno
|
:
1 pcs
|
3.
|
Project board
|
:
1 pcs
|
4.
|
Kabel jumper
|
: 1 set
|
5.
|
LCD
|
:
1 pcs
|
6.
|
Potensiometer 10K
|
:
1 pcs
|
PERCOBAAN :
5.1 Mengirim
Data Teks
Pada percobaan kali ini akan di buat
program untuk mengirimkan data teks ke kompute rmelalui komunikasi serial.
Pada percobaan ini contoh teks yang akan dikirim kan adalah "Hello World".
Pengiriman data akan menggunakan baudrate 9600.
Prosedur :
1. Tuliskan sintaks program di
bawah ini, kemudian lakukan kompilasi dan upload program ke sistem minimum
Arduino,
voidsetup() {Serial.begin(9600);
}
voidloop() {Serial.print("Hello World"); delay(2000);
}
3. Pastikan konfigurasi baudrate adalah 9600 sepertiGambar 5.2.
4. Pastikan
data teks "Hello Word" yang dikirimkan Arduino di terima oleh Serial
Monitor.
TugasdanPertanyaan :
1.
Gantiah parameter input pada fungsi Serial.print sesuai denga
n Tabel 5.1. Amati data
yang diterima padaHTerm, kemudian isilah Tabel 5.1 di bawah ini !
Tabel 5.1 Daftarteks yang dikirimkanpada
program









2. Gantilah fungsi Serial.print menjadi Serial.println,
kemudian tuliskan amati data yang diterima oleh komputer.
Jelaskan perbedaan penggunaan fungsi Serial.print dan Serial.println !
serial print berfungsi untuk
menampilkan text dalam satu baris saja, sedangakan Serial Println utuk
menampiklan text lalu mengenterkan
3. Tambahkan karakter \r\n
pada akhir baris teks pada Tabel5.1 . Amati data yang ditampilkanpada k omputer.
Jelaskanfungsikarakter \r\n pada k omunikasiserial !
Karakter \r\n memiliki fungsi yang
sama dengan println, yaitu untuk menambahkan baris baru
- Jelaskan fungsi tiap baris dari sintaks program pada Percobaan5.1 !
voidsetup() {
Serial.begin(9600);// konfigurasi menggunakan baudrate 9600
}
voidloop() {
Serial.print("HelloWorld"); // menapilkan kalimat Hello World pada serial monitor
delay(2000);// jeda menampilkan selama 2 detik
}
5.2 Mengirim Data Byte
Pada percobaan kali ini akan dibuat program
untuk mengirimkan data byte ke komputermelalui komunikasi serial. Pengiriman
data akan menggunakan baudrate
115200.
Prosedur :
1. Tuliskansintaks
program di bawahini, kemudian lakukan kompilasi dan upload program kesistem
minimum Arduino,
voidsetup()
{Serial.begin(115200);
}
void loop() {Serial.write(0x41);
Serial.write(0x42); Serial.write(0x43); Serial.write(0x44); Serial.write(0x45);
delay(2000);
}
2. Buka aplikasi H Term pada komputer,
pastikan konfigurasi pada H Term seperti gambar di bawahini.
3. Klik tombol
Connect, kemudian perhatikan data yang ditampilkan pada bagian Receive Data.
Pastikan data tersebut sama dengan data yang di kirim kan olehArduino.
TugasdanPertanyaan :
1. Gantilah parameter inputuntukfungsiSerial.writedengan
da ta padaTabel 5.2. Amati data yang diterimapadaHTerm, kemudianisilahTabel 5.2
!
Tabel 5.2 Daftar data byte
yang dikirimkanpadaprogr am









Data yang
DikirimkanArduino Data yang
DiterimaKomputer

2. Gantilah
konfigurasidariHTermmenjadiseperti di bawahini, perhatikan data yang diterima.
Kenapa data yang diterimaberubahmenjadihuruf ?Jelaskan !
3. Jelaskan perbedaan penggunaan fungsi
Serial.print dan fungsi Serial.write !
Serial.write datayang
di keluarkan dalam bentuk bilangan heksa
Serial.print mengeluarkan data dan mengganti huruf f
4.
Jelaskan fungsi tiap baris dari sintaks program
padaPercobaan5.2 !
voidsetup() {
Serial.begin(115200);//jumlah dari data bit
yang di keluarkan
}
voidloop() {
Serial.write(0x41);
//mengluarkan angka
tulisan 41
Serial.write(0x42);
// mengluarkan
angka tulisan 42
Serial.write(0x44);
// mengluarkan
angka tulisan 43
Serial.write(0x45);// mengluarkan
angka tulisan 44
delay(2000);// waktu
yang di jeda adalah selama 2 detik
}
5.3 Menerima Data
dari UART dengan Sistem Pooling
|
||
Pada percobaan kali ini akan dibuat program
untuk
|
menerima
|
data
teks dari
|
komputer melalui komunikasi serial.
Proses penerimaan
|
data
akan
|
menggunakan
|
sistem pooling
(menunggu). Data yang diterima oleh Arduino akan ditampilkan pada LCD. Penerimaan
data akan menggunakan baudrate 9600.
Prosedur :
2. Tuliskan sintaks
program berikutini, kemudianlakukankompilasidanupload program,
#include<LiquidCrystal.h>LiquidCrystallcd=(2,3,4,5,6,7);
String textFromSerial ="";
voidsetup() {
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Data FromSerial") Serial.begin(9600);
}
voidloop() {
while(Serial.available()>0) {
chardata = Serial.read(); if(data
=='\n') {
lcd.setCursor(0,1);
lcd.print(textFromSerial);
textFromSerial="";
}
else{ if(data!='\r') {
textFromSerial += data;
}
}
}
}
Tidak ada komentar:
Posting Komentar