Pembuatan Aplikasi Komunikasi Serial Port Sederhana – C#

0

Postingan kali ini berupa video tutorial dalam pembuatan aplikasi komunikasi serial port sederhana, yang mana aplikasi ini dapat melakukan proses kirim dan terima data melalui port serial. Aplikasi dibuat menggunakan bahasa pemrograman C#. Aplikasi ini nantinya akan digunakan sebagai komunikasi antara komputer dengan robot. Aplikasi mengirimkan data pergerakan robot, yang kemudian akan menerima data dari robot. Dalam waktu pengetesan aplikasi, dimanfaatkan virtual COMport, agar proses kirim dan terima data dapat dilihat dalam terminal dalam satu komputer/laptop yang sama.

Pada video tutorial ini juga akan dijelaskan secara singkat tentang beberapa sintak/program yang digunakan dalam perancangan dan pembuatan aplikasi.

Berikut ini adalah video tutorial pembuatan dan pengetesan aplikasi.

 

 
 
 

==================================
Semoga bermanfaat :)
Rifqi Amalya Fatekha
==================================

Advertisements

Video Tutorial Konfigurasi XBee menggunakan X-CTU

0

X-CTU merupakan sebuah software/aplikasi yang dibuat oleh DIGI yang dapat difungsikan untuk mengkonfigurasi, melihat konfigurasi pada xbee maupun beberapa fungsi lainnya.

Pengaturan XBee dilakukan agar XBee yang terkoneksi dengan aplikasi dan XBee yang terkoneksi pada robot dapat saling terkoneksi. berikut ini merupakan video tutorial konfigurasi XBee menggunakan X-CTU.

 

 

 

 

==================================
Semoga bermanfaat 🙂
Rifqi Amalya Fatekha
==================================

Parsing data di arduino

11

Parsing data merupakan sebuah kegiatan yang wajib ada pada sebuah program, jika pada program tersebut terdapat pengolahan data terhadap sebuah paket data tertentu. Parsing data juga diperlukan pada sisi software dan hardware dari robosoccer. Data yang diperoleh dari komputer server mengharuskan hardware melakukan paring data terhadap paket data yang diterima. Pada postingan kali ini, akan dibahas mengenai program parsing data pada robot, yang mana pembuatan programnya menggunakan arduino IDE.

Pada program kali ini, terdapat beberapa bagian mulai dari program inisialisasi, terima data, parsing data, menampilkan data dan beberapa bagian lainnya. Berikut ini penjelasan singkat mengenai bagian-bagian pada program.

1.   Deklarasi variabel

Deklarasi variabel digunakan untuk mengenalkan variabel-variabel yang akan digunakan. Terdapat beberapa variabel yang dideklarasikan sebagai variabel global, yaitu sebagai berikut :

 String dataIn;
 String dt[10];
 int i;
 boolean parsing=false;

2.   Inisialisasi

Proses inisialisasi dan beberapa konfigurasi terletak pada fungsi setup(). Hal ini dikarenakan fungsi setup() adalah fungsi yang hanya dijalankan sekali saat program pertama kali dijalankan. Dengan kata lain fungsi setup() akan dijalankan pada saat rangkaian diberi sumber tegangan.

 void setup() {
   Serial.begin(9600);
   dataIn="";
}

pada program diatas, terdapat sebuah konfigurasi yang merupakan pengaktifan komunikasi serial dengan nilai baudrate sebesar 9600. Selain itu, variabel dataIn akan diinisialisasi dengan cara mengisi variabel tersebut dengan data kosong.

3.   Terima data serial

Proses terima data serial terdapat didalam fungsi loop(). Setiap program yang ada didalam fungsi ini akan dijalankan terus selama rangkaian mendapatkan supplai tegangan. Kontroller selalu dalam posisi stand by untuk menerima data serial. Jika ada data masuk, maka data tersebut akan ditampung dahulu kedalam sebuah variabel bernama inChar. Variabel tersebut akan dicek, jika karakter yang diterima berupa karakter enter (‘\n’) maka proses penerimaan data selesai yang kemudian akan memberikan nilai true pada variabel parsing. Jika karakter yang diterima buka karakter enter, maka karakter tersebut akan ditampung terlebih dahulu kedalam sebuah buffer yang berupa variabel string bernama dataIn.

Jika variabel parsing bernilai true, maka menandakan proses parsing data dimulai. Proses parsing data dimulai dengan pemanggilan fungsi parsingData(). Dan proses parsing data pun dimulai.

void loop() {
  if(Serial.available()>0) {
    char inChar = (char)Serial.read();
    dataIn += inChar;
    if (inChar == '\n') {
    parsing = true;
  }
}

if(parsing){
    parsingData();
    parsing=false;
    dataIn="";
  }
}

4.   Parsing data

Proses parsing data terjadi pada fungsi parsingData(). Sebelum proses parsing dimulai, data yang diterima yang telah ditampung sebelummnya ditampilkan/dikirimkan kembali melalui serial port.

Parsing data dilakukan dengan cara mengecek tiap karakter yang ada pada variabel dataIn. Tiap karakter tersebut akan dibandingkan dengan tail (karakter terakhir paket data) yang berupa karakter pagar (#) dan karakter pemisah antar data yang berupa karakter koma(,). Pengecekan dimulai dari index 1 (karakter kedua) variabel dataIn, hal ini dikarenakan index 0 (karakter pertama) merupakan header (karakter pertama) dalam paket data.

Setiap karakter yang telah melalui proses pengecekan, akan ditampung kedalam sebuah variabel string yang dikelompokkan dalam sebuah array yang diberi nama dt. Jika pada proses pengecekan ditemukan karakter koma (,), maka dengan otomatis variabel penampung data setelah dicek akan berpindah dengan cara increment index array nya. Proses tersebut akan terus dilakukan berulangkali sampai perulangan berakhir.

Setelah proses parsing data selesai, data hasil proses parsing yang terdapat pada array dt akan ditampilkan. Dengan begitu, proses parsing data pun selesai dilakukamn.

Berikut ini merupakan program yang terdapat pada fungsi parsingData().

void parsingData(){
int j=0;

//kirim data yang telah diterima sebelumnya
Serial.print("data masuk : ");
Serial.print(dataIn);
Serial.print("\n");

//inisialisasi variabel, (reset isi variabel)
dt[j]="";
//proses parsing data
for(i=1;i<dataIn.length();i++){
//pengecekan tiap karakter dengan karakter (#) dan (,)
if ((dataIn[i] == '#') || (dataIn[i] == ','))
{
//increment variabel j, digunakan untuk merubah index array penampung
j++;
dt[j]="";       //inisialisasi variabel array dt[j]
}
else
{
//proses tampung data saat pengecekan karakter selesai.
dt[j] = dt[j] + dataIn[i];
}
}

//kirim data hasil parsing
Serial.print("data 1 : ");
Serial.print(dt[0].toInt());
Serial.print("\n");
Serial.print("data 2 : ");
Serial.print(dt[1].toInt());
Serial.print("\n");
Serial.print("data 3 : ");
Serial.print(dt[2].toInt());
Serial.print("\n\n");
}

Hasil program :

parsing data

==================================
Semoga bermanfaat 🙂
Rifqi Amalya Fatekha
==================================