Senin, 23 Desember 2013

komunikasi serial



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);

}



2.  Buka Serial Monitor pada Arduino IDE.





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
Teks yang DikirimkanArduino    Teks yang DiterimaKomputer

      


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

  1. 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 !
Karena Ascii merubah bilangan hexa menjadi biner dan karakter




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 :

1.  Buatlah rangkaian seperti Gambar 5.5.





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