• Tidak ada hasil yang ditemukan

Pengujian Komunikasi Arduino Mega dan Arduino Nano

BAB IV PENGUJIAN DAN ANALISIS

4.4 Pengujian Komunikasi Arduino Mega dan Arduino Nano

Pada pengujian ini akan melihat apakah arduino nano mampu membaca perintah yang diberikan oleh arduino mega secara baik dan benar. Pengujian ini juga menunjukkan hasil keputusan yang kan diambil oleh arduino nano setelah menerima perintah dari arduino mega yang hasilnya berupa pengendalian rele.

Dalam mengambil keputusan dalam pengendalian penendang maka terlebih dahulu ditentukan durasi pengendalian berdasarkan posisi bola mati yang ada pada peraturan KRSBI. Adapun posisi tersebut adalah kick-off , Dropped Ball , Bola Gawang, dan Corner secara berturut-turut memiliki jarak dengan Gawang musuh sebesar 4.5 m, 4.7 m, 7.6 m, dan 3.6 m, sehingga kecepatan tendangan yang diutuhkan tiap tendangan adlaah sebagai berikut.

1) Kick off

Jarak antara robot dengan gawang adalah 4.5 m dan respon waktu yang dibutuhkan oleh penjaga gawang lawan adalah 0.5 s, maka akan didapatkan kecepatan yang dibutuhkan saat menedang adalah sebagai berikut. dibutuhkan untuk endapatkan nilai tegangan yang mendekati 250 V adalah pada tabel nomor 9 dengan nilai tegangan 246 dan durasi 5.8 s.

Berdasarkan dari kedua data sebelumnya maka didapatkan tundaan waku pengisian yang harus dilakukan oleh arduino nano adalah sebesar 5.8 s atau 5800 ms.

2) Dropped Ball

Jarak antara robot dengan gawang adalah 4.7 m dan respon waktu yang dibutuhkan oleh penjaga gawang lawan adalah 0.5 s, maka akan

didapatkan kecepatan yang dibutuhkan saat menedang adalah sebagai dibutuhkan untuk endapatkan nilai tegangan yang mendekati 250 V adalah pada tabel nomor 9 dengan nilai tegangan 246 dan durasi 5.8 s.

Berdasarkan dari kedua data sebelumnya maka didapatkan tundaan waku pengisian yang harus dilakukan oleh arduino nano adalah sebesar 5.8 s atau 5800 ms.

3) Bola Gawang

Jarak antara robot dengan gawang adalah 7.6 m dan respon waktu yang dibutuhkan oleh penjaga gawang lawan adalah 0.5 s, maka akan didapatkan kecepatan yang dibutuhkan saat menedang adalah sebagai berikut. dibutuhkan untuk endapatkan nilai tegangan yang mendekati 300 V adalah pada tabel nomor 11 dengan nilai tegangan 294 dan durasi 7.4 s.

Berdasarkan dari kedua data sebelumnya maka didapatkan tundaan waku pengisian yang harus dilakukan oleh arduino nano adalah sebesar 7.4 s atau 7400 ms.

4) Corner

Jarak antara robot dengan gawang adalah 3.6 m dan respon waktu yang dibutuhkan oleh penjaga gawang lawan adalah 0.5 s, maka akan didapatkan kecepatan yang dibutuhkan saat menedang adalah sebagai berikut.

𝑉 = 3.6 0.5 𝑉 = 7.2 𝑚/𝑠

Dari tabel 4.2 maka didapatkan nilai tegangan yang mendekati pada kecepatan 7.2 m/s adalah 200 V. Dari tabel 4.1 didapatkan durasi yang dibutuhkan untuk endapatkan nilai tegangan yang mendekati 200 V adalah pada tabel nomor 8 dengan nilai tegangan 214 dan durasi 4.9 s.

Berdasarkan dari kedua data sebelumnya maka didapatkan tundaan waku pengisian yang harus dilakukan oleh arduino nano adalah sebesar 4.9 s atau 4900 ms.

Adapun hasil pengujian pengendalian penendang dan komunikasi antara arduino nano dan mega ditunjukkan pada Gambar 4.5 berikut.

Gambar 4. 5 Hasil Komunikasi Data

Dari data di atas maka dapat dilihat bahwa selisih waktu pengiriman data oleh arduino mega sampai data diterima oleh arduino nano adalah 30ms.

BAB V

KESIMPULAN DAN SARAN 5.1 Kesimpulan

Adapun kesimpulan yang didapat dari hasil penelitian adalah sebagai berikut.

• Kecepatan yang diukur pada setiap level tagangan menghasilkan data kecepatan yang bervariasi atau tidak konstan dikarenakan kecepatan tidak hanya dipengaruhi oleh energi potensial namun beberapa aspek lain seperti gaya gesek dan posisi bola terhadap robot.

• Data kecepatan secara percobaan dengan perhitungan sama-sama memiliki nilai kecepatan yang membesar seiring dengan membesarnya nilai tegangan yang diberikan kepada kapasitor.

• Persen kesalahan kecepatan yang diukur dengan kecepatan secara teori pada level tegangan 50 - 250 V semakin mengecil setiap kenaikan tegangannya, namun pada tegangan 300 V persen kesalahan kembali membesar.

• Durasi waktu yang dibutuhkan oleh sistem kendali ini dalam mempersiapkan tendangan kickoff, dropped ball, bola gawang, dan corner secara berturut-turut adalah 5.8s, 5.8s, 7.2s, 4.9s.

• Rata-rata selisih waktu pengiriman perintah oleh arduino mega dengan perintah yang diterima oleh arduino nano adalah sebesar 30ms

5.2 Saran

Adapun saran yang dapat diberikan penulis pada penelitian ini adalah sebagai berikut.

• Penelitian selanjutnya diharapkan menggunakan alat ukur tegangan yang mampu membaca perubahan tegangan dengan cepat agar hasil perhitung dapat lebih akurat

• Penelitian selanjutnya diharapkan mampu mengatur kecepatan tendangan berdasarkan posisi robot saat sedang berada pada lapangan

• Penelitian selanjutnya diharapkan mampu mengurangi durasi pengisian kapasitor sehingga memperkecil kemungkinan bola direbut oleh lawan saat pengisian kapasitor

• Penelitian selanjutnya diharapkan mampu mengambil sampel kecepatan lebih banyak sehingga dapat dibuat pehitungan yang lebih akurat

• Penelitian selanjutnya diharapkan mampu mengetahui penyebab variasi nilai kecepatan pada penendang untuk setiap tegangan kapsitor.

DAFTAR PUSTAKA

[1] Panitia Pusat Kontes Robot Indonesia, “Buku Panduan Kontes Robot Sepakbola Indonesia 2019,” p. 3, 2018.

[2] S. H. Mohades Kasaei, S. M. Mohades Kasaei, and S. A. Mohades Kasaei,

“Design and implementation solenoid based kicking mechanism for soccer robot applied in robocup-MSL,” Int. J. Adv. Robot. Syst., vol. 7, no. 4, pp.

69–76, 2010.

[3] P. Sejati, A. De Fretes, and O. T. Torar, “Desain dan Simulasi Solenoid Dua Kumparan sebagai Alat Penendang,” pp. 10–21.

[4] M. H. Afandi, M. Shidiq, L. Enrico, D. Hendra, and A. K. Energi, “Desain Solenoida Sebagai Mekanisme Penendang Robot Sepak Bola Beroda,” Symp.

Robot. Syst. Control, no. 3, pp. 127–130, 2017.

[5] M. F. Setiadi, M. Sarwoko, and E. Kurniawan, “PEMANFAATAN FLUKS MAGNETIK SEBAGAI SUMBER PEMBANGKIT TENAGA LISTRIK DENGAN MENGGUNAKAN SOLENOIDA,” vol. 37, no. 3, p. 343, 2015, doi: 10.18907/jjsre.37.3_343_4.

[6] D. Mardiansyah, “Analisa Sifat Ferromagnetik Material Menggunakan Metode Monte Carlo,” J. Ilm. Edu Res., vol. 2, no. 7, pp. 67–69, 2017.

[7] D. Male, J. Brostoff, david B. Roth, and I. Roitt, “Optimizing a solenoid for a Robocup kicker,” 2006.

[8] B. L Tobing, Peralatan tegangan tinggi, Edisi Kedua. Erlangga, 2012.

[9] S. Roberts, “DC / DC Book of Knowledge,” Recom, no. 2nd, p. 234, 2014.

[10] J. W. Nam, J. G. Joung, Y. S. Ahn, and B. T. Zhang, “Two-step genetic programming for optimization of RNA common-structure,” Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes

Bioinformatics), vol. 3005, no. November, pp. 73–83, 2004, doi:

10.1007/978-3-540-24653-4_8.

[11] O. Corporation, “Data sheet rele G8P.” OMRON Corporation.

[12] U. I. Gorontalo and A. Uno, “Sistem kontrol penerangan menggunakan arduino uno pada universitas ichsan gorontalo,” vol. 9, pp. 282–289, 2017.

LAMPIRAN

Lampiran 1

#include <SoftwareSerial.h>

SoftwareSerial mySerial(3, 2); // RX, TX

void setup() {

// Open serial communications and wait for port to open:

Serial.begin(9600);

mySerial.begin(9600);

}

void loop() { // run over and over

if (Serial.available() > 0) { char data = Serial.read();

mySerial.write(data);

if (data == 'a'){

Serial.println("Kick Off");

}

else if( data == 'b'){

Serial.println("Drop Ball");

}

else if( data == 'c'){

Serial.println("Bola Gawang");

}

else if( data == 'd'){

Serial.println("Corner");

}

Serial.println(data);

} else{

mySerial.write('o');

} }

Lampiran 2

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX, TX int Rele = 8;

void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

mySerial.begin(9600);

pinMode(Rele, OUTPUT);

}

void loop() {

// put your main code here, to run repeatedly:

if (mySerial.available() > 0) { char data = mySerial.read();

if (data == 'a'){

Serial.println(data);

Serial.println("Kick Off");

kickOff();

}

else if( data == 'b'){

Serial.println(data);

Serial.println("Drop Ball");

dropBall();

}

else if( data == 'c'){

Serial.println(data);

Serial.println("Bola Gawang");

bolaGawang();

}

else if( data == 'd'){

Serial.println(data);

Serial.println("Corner");

corner();

} } }

void kickOff(){

Serial.println("Mengisi");

digitalWrite(Rele, HIGH);

delay(5800);

digitalWrite(Rele, LOW);

digitalWrite(Rele, LOW);

Serial.println("Menendang");

}

void dropBall(){

Serial.println("Mengisi");

digitalWrite(Rele, HIGH);

delay(5800);

digitalWrite(Rele, LOW);

digitalWrite(Rele, LOW);

Serial.println("Menendang");

}

void bolaGawang(){

Serial.println("Mengisi");

digitalWrite(Rele, HIGH);

delay(7200);

digitalWrite(Rele, LOW);

digitalWrite(Rele, LOW);

Serial.println("Menendang");

}

void corner(){

Serial.println("Mengisi");

digitalWrite(Rele, HIGH);

delay(5500);

digitalWrite(Rele, LOW);

digitalWrite(Rele, LOW);

Serial.println("Menendang");

}

Baca selengkapnya

Dokumen terkait