Pemrograman Wifly dengan ARDUINO

Pada posting kali ini kita akan melanjutkan membahas pemrograman Wifly, tetapi dengan menggunakan ARDUINO. Arduino yang akan digunakan adalah arduino mega 2560, karena arduino ini memiliki 4 buah serial. Untuk catu daya wiflynya tidak perlu pusing-pusing karena arduino memiliki keluaran catu daya 3,3 Volt, jadi tinggal colok saja. Untuk TX dari modul wiflynya bisa dicolokkan ke sembarang serial, bisa serial 1, 2, atau 3. Setelah semua kabel terpasang langsung buka arduino software, setting board, pilih port komunikasi dan program. Berikut contoh programnya..

========================================================

#define BLUE 0

#define CYAN 1

#define BLUE_GOAL 1

#define YELLOW_GOAL 0

int data[115];

int header, i=1;

int nomorTim=1;

int warnaTim;

void setup(){

Serial.begin(9600);

Serial1.begin(9600);

Serial.print(“siap”);

}

void loop(){

serialEvent();

}

void serialEvent(){

while(Serial1.available()){

header=Serial1.read();

//Serial.print(header);

if(header==82 || i==115){

i=1;

}

else{

//9=STATE INIT PLAY

//20 || 68 = NOMOR TIM

//21 || 69 = WARNA TIM

//22 || 70 = WARNA GAWANG

//11 = KICK OFF

data[i]=header;

if(i==9){

if(data[i]==0){

Serial.print(“STATE:”);

Serial.println(“init”);

Serial.println(“_____________________”);

}

else if(data[i]==1){

Serial.print(“STATE:”);

Serial.println(“ready”);

Serial.println(“_____________________”);

}

else if(data[i]==2){

Serial.print(“STATE:”);

Serial.println(“set”);

Serial.println(“_____________________”);

}

else if(data[i]==3){

Serial.print(“STATE:”);

Serial.println(“play”);

Serial.println(“_____________________”);

}

else if(data[i]==4){

Serial.print(“STATE:”);

Serial.println(“finish”);

Serial.println(“_____________________”);

}

}

if(i==71){

if(data[20]==nomorTim){

if(data[21]==CYAN){

warnaTim=CYAN;

Serial.print(“WARNA TIM:”);

Serial.println(“cyan”);

Serial.println(“_____________________”);

}

else if(data[21]==BLUE){

warnaTim=BLUE;

Serial.print(“WARNA TIM:”);

Serial.println(“blue”);

Serial.println(“_____________________”);

}

if(data[22]==BLUE_GOAL){

Serial.print(“WARNA GAWANG:”);

Serial.println(“blue”);

Serial.println(“_____________________”);

}

else if(data[22]==YELLOW_GOAL){

Serial.print(“WARNA GAWANG:”);

Serial.println(“yellow”);

Serial.println(“_____________________”);

}

}

else if(data[68]==nomorTim){

if(data[69]==CYAN){

warnaTim=CYAN;

Serial.print(“WARNA TIM:”);

Serial.println(“cyan”);

Serial.println(“_____________________”);

}

else if(data[69]==BLUE){

warnaTim=BLUE;

Serial.print(“WARNA TIM:”);

Serial.println(“blue”);

Serial.println(“_____________________”);

}

if(data[70]==BLUE_GOAL){

Serial.print(“WARNA GAWANG:”);

Serial.println(“blue”);

Serial.println(“_____________________”);

}

else if(data[70]==YELLOW_GOAL){

Serial.print(“WARNA GAWANG:”);

Serial.println(“yellow”);

Serial.println(“_____________________”);

}

}

}

if(i==11){

if(data[i]==warnaTim){

Serial.print(“KICK OFF:”);

Serial.println(“yes”);

Serial.println(“_____________________”);

}

else{

Serial.print(“KICK OFF:”);

Serial.println(“no”);

Serial.println(“_____________________”);

}

}

i++;

}

}

}

========================================================

Untuk melihat hasilnya buka serial terminal pada arduino, disitu akan terlihat state pertandingan, warna tim, warna gawang dan state kick off. Untuk konfigurasi wifly, router dan game controller bisa dilihat disini.

Sekian post kali ini, mohon kritik dan sarannya.. 😀

Post selanjutnya tentang CMUCAM3 dan CMUCAM 4. Update terus yak..