Zulkarnain Lubis
Institut Teknologi Medan
dr.zulkarnainlubis@itm.ic.id
Abstrak
Perkembangan teknologi dan otomasi industri mendorong manusia untuk memenuhi kebutuhannya dengan
cepat. Sehingga dikembangkan teknologi robotika untuk membantu dan meringankan pekerjaan manusia di
masa depan. Robot pengantar makanan line follower merupakan robot yang diciptakan untuk menggantikan
peran seorang pelayan di restoran. Robot ini memiliki kemampuan untuk mengantarkan makanan secara
otomatis. Robot pengantar menu makanan ini menggunakan konsep Line Follower, yaitu mengikuti lintasan
menuju meja-meja yang telah ditentukan. Penulisan kode program menggunakan Arduino IDE 1.6.5 serta
menggunakan program bahasa Basic4Android untuk pengontrolan robot. Robot ini menggunakan 2 roda dan 1
roda bebas yang diletakkan di bagian depan. Sensor yang digunakan yaitu sensor photodioda sebagai 6 buah
sensor sebagai navigasi robot dan robot ini hanya dikontrol dengan android. Dengan demikian secara
keseluruhan sistem pada robot pengantar makanan ini dapat berfungsi dengan baik.
Gambar 3. Contoh robot manipulator (tangan) Gambar 6. Contoh flying robot (robot terbang)
Sumber dari : www.kelasrobot.com
Sumber dari : www.kelasrobot.com
Langkah-langkah penyusunan dalam pembuatan garis berwarna hitam jalur menuju meja
robot Pengantar Menu adalah sebagai berikut : pelanggan
1. Studi Literatur 5. Sensor Micro Switch terhubung pada pin 48
Penulis mengkaji referensi yang di dapat dari yang berfungsi untuk mendeteksi makanan
beberapa karya ilmiah seperti jurnal skripsi dan apakah sudah diambil pelanggan atau belum.
dari buku. 6. Driver Motor L298D yang berfungsi sebagai
2. Studi Pustaka pengendali arah dan kecepatan motor kiri dan
Metode pustaka, yaitu pengumpulan data dan motor kanan.
informasi dengan cara membaca referensi, e-
book, website, dokumen-dokumen yang di B. Rancangan Mekanik Alat
dalamnya termasuk penelitian yang pernah Dalam perancangan mekanik alat,
diangkat, buku, artikel dan jurnal yang berkaitan menggunakan papan triplek untuk meletakkan
dengan objek penelitian. komponen-komponen yang digunakan seperti
3. Konsultasi Arduino Mega 2560, Rangkaian Sensor Garis,
Dilakukan dengan berkonsultasi dengan kawan Micro Switch, Driver Motor dan Modul Bluetooth.
kawan para dosen untuk menyelesaikan Seluruh rangkaian yang digunakan dipasang
permasalahan yang dihadapi pada saat menggunakan tiang penyangga (spacer) besi agar
pembuatan perangkat lunak dan pembuatan lebih rapi dan rangkaian tidak langsung
perangkat keras. bersinggungan dengan papan triplek yang
4. Pengujian Alat digunakan
Dilakukan dengan mengadakan percobaan,
pengujian modul-modul serta mengintegrasikan C. Rancangan Hardware Alat
modul tersebut dengan program untuk Pada proses pembuatan rancangan hardware
mengendalikan sistem agar menjadi satu Robot Pengantar Menu ini, menggunakan Arduino
kesatuan yang utuh dan diperoleh hasil yang Mega 2560 sebagai sistem kendali utama. Agar
maksimal mungkin. dapat berkomunikasi dengan Smartphone Android
maka diperlukan modul Bluetooth HC-05 yang
A. Blok Diagram Sistem dihubungkan dengan Arduino agar dapat saling
Adapun perancangan hardware dengan menerima dan mengirim data. Untuk
menggunakan blok diagram dari sistem yang mengendalikan Robot Pengantar Menu bergerak
dirancang seperti yang diperlihatkan pada gambar maju, mundur, belok kanan, belok kiri dan berhenti
3.1 di bawah ini. dibutuhkan driver motor yang berfungsi sebagai
pengendali arah dan kecepatan motor DC. Untuk
Ant Rangkaian A0-A5 pengaturan kecepatan pergerakan robot dapat
Sensor Garis Motor Kanan
2-7 Driver Motor dilakukan dengan menggunakan PWM (Pulse
L298D
Module Bluetooth
HC-05
50-51
MINIMUM Motor Kiri Width Modulation).
SISTEM
Sensor 48
Micro Switch ARDUINO D. Perancangan I/O Sistem Minimum Arduino
MEGA 2560
Battery
Mega 2560
Modul ini memiliki segala yang dibutuhkan
untuk memprogram mikrokontroler seperti kabel
Gambar 8. Diagram blok sistem alat USB dan catu daya melalui adaptor atau batterai.
Semua ini diberikan untuk mendukung pemakain
Penjelasan dan fungsi dari masing-masing blok mikrokontroler Arduino, hanya terhubung ke
adalah sebagai berikut: komputer dengan kabel USB atau listrik dengan
1. Arduino Mega 2560 berfungsi sebagai pusat adaptor dari AC ke DC atau baterai untuk memulai
kendali dari sistem kerja rangkaian digunakan pemakaian. Arduino Mega 2560 kompatibel dengan
untuk mengontrol rangkaian secara keseluruhan shiled yang dirancang untuk arduino duemilanove,
mulai dari input sensor sampai dengan semua decimila maupun Mega.
output yang digunakan dalam Robot Pengantar
Menu berbasis android.
2. Modul Bluetooth HC-05 terhubung pada pin 50
dan 51 pada Arduino Mega 2560 yang berfungsi
sebagai media komunikasi antara Arduino
dengan Smartphone Android.
3. Battery yang digunakan berupa Battery Lipo
(Lithium Polymer) 7,4 Volt DC 2 Ampere
sebagai sumber energi atau tegangan semua
rangkaian elektronika yang telah dibuat agar
bekerja sesuai perancangan.
4. Sensor Garis terhubung pada pin A0, A1, A2,
A3, A4, A5 yang berfungsi untuk membaca Gambar 9. Skematik Arduino Mega 2560
START
Jika Tidak Jika Tidak Jika Tidak Jika Tidak Jika Tidak
Input== “1” Input== “2” Input== “3” Input== “4” Input== “5”
Ya Ya Ya Ya Ya
Robot Menuju Meja 01 Robot Menuju Meja 02 Robot Menuju Meja 03 Robot Menuju Meja 04 Robot Menuju Meja 05
Jika Tidak
Micro Switch Robot Stop
==0
Ya
Robot Kembali ke
Posisi Semula
FINISH
//============ LOOP
void loop()
{ baca_sensor_SR04();
Serial.print("Jarak=");
Serial.println(jarak,2);
delay(300);
}
Peralatan yang dibutuhkan: 3. Arahkan kursor di menu Tools, lalu pilih Port,
1. Minimum Sistem Arduino Mega lalu pilih Com4 (arduino Uno), lalu klik Serial
2. Bluetooth HC-05 Monitor.
3. Software Bluetooth terminal
4. Smartphone Android
5. Software Arduino IDE
Rangkaian:
Bluetooth
HC-05
Persiapan:
1. Memasang rangkaian seperti yang
ditunjukkan pada Gambar 21.
2. Mengkoneksikan Bluetooth.
Gambar 25. Serial Monitor
3. Mengetik text dan mengirimkan.
5. Setelah itu koneksikan smartphone ke bluetooth
Langkah-langkah yang dilakukan:
HC05.
1. Double klik aplikasi Arduino yang ada di layar
laptop.
Gambar 28. Penerimaan dan pengiriman text dengan Blok diagram pengujian Alat secara
serial monitor arduino Keseluruhan seperti ditunjukkan pada Gambar 29
berikut ini :
Bluetooth HC-05
Langkah-langkah melakukan pengujian Alat 5. Kalau sudah tidak ada error, maka klik ikon
secara Keseluruhan : Upload atau Ctrl + U. Dapat dilihat pada
1. Buka aplikasi Arduino IDE Gambar 31 di bawah ini :
2. Selanjutnya akan muncul tampilan awal
“sketch_xxxxxx” secara otomatis seperti
pada langkah sebelumnya.
3. Mengetikkan listing program untuk
pengujian rangkaian Keseluruhan.
4. Klik Sketch Verify. Kemudian akan
muncul kotak dialog untuk menyimpan file
project yang baru dibuat. Dapat dilihat
Gambar 31. Proses uploading program dari
pada Gambar 30 di bawah ini. komputer ke Arduino
int else {
n_sensor1,n_sensor2,n_sensor error=-9; break; } }
3,n_sensor4; }
int n_sensor5,n_sensor6; Bluetooth.println(error);
char sensor[6]; prop=kp*error;
int diff=error-error_lalu;
data,kp,kd,kecepatan,limit,c deriv=kd*diff;
ounter;
int mka,mki,error; mka=kecepatan-prop-deriv;
int error_lalu; mki=kecepatan+prop+deriv;
int prop,deriv,diff; error_lalu=error;
float jarak;
boolean x; if(mka>=0 && mki>=0)
#define pwmka 2 {majux();}
#define dirka1 3 if(mka<=0 && mki>=0)
#define dirka2 4 {kananx();}
#define dirki2 5 if(mka>=0 && mki<=0)
#define dirki1 6 {kirix();}
#define pwmki 7 if(mka>limit)
{mka=limit;}
Pada cuplikan program di atas beberapa variable if(mki>limit)
yang digunakan pada proses kendali PID. Selain itu {mki=limit;}
juga diperkenalkan posisi pin-pin driver motor pada if(mka<-limit)
Arduino Mega 2560. {mka=-limit;}
//========== SETTING if(mki<-limit)
KONSTANTA PID =========== {mki=-limit;}
kp=15; //15
kd=130; //30 analogWrite(pwmki,abs(mki));
error=0;
error_lalu=0; analogWrite(pwmka,abs(mka));
limit=100; error_lalu=error;
kecepatan=70;
Nilai konstanta Kp, Kd, yang digunakan merupakan delay(7);
hasil dari beberapa kali percobaan sampai }
mendapatkan nilai konstanta agar pergerakan robot
menjadi lebih baik. Pada kutipan program di atas, merupakan
void scanGARIS() { program utama pada proses pembacaan garis dan
readSensors(); pengendalian motor DC. Nilai kecepatan putaran
switch(datasensor) { motor kanan dan motor kiri berdasarkan hasil
case 0b100000 : { perhitungan PID kontrol dari input error dari
error=6; x=1; break; } masing-masing posisi sensor. Sedangkan untuk
case 0b110000 : { perintah dari bluetooth ditunjukkan pada cuplikan
error=4; x=1; break; } program berikut ini.
case 0b010000 : { if(Bluetooth.available()) {
error=3; x=1; break; } nomor_meja =
case 0b011000 : { Bluetooth.read();
error=2; break; } if(nomor_meja=='1') {
case 0b001000 : { delay(1000);
error=1; break; } while(1) {
case 0b001100 : { scanCounter(1);
error=0; break; }
case 0b000100 : { belok_kiri(90,90,300);
error=-1; break; } scanCounter(1);
case 0b000110 : { delay(2000);
error=-2; break; }
case 0b000010 : { while(digitalRead(makanan)==
error=-3; x=0; break; } 0) { }
case 0b000011 : {
error=-4; x=0; break; } belok_kanan(80,80,300);
case 0b000001 : { scanCounter(1);
error=-6; x=0; break; }
case 0b000000 : { belok_kanan(80,80,300);
if(x==1) { error=9; break; } scanCounter(1);
113 Journal of Electrical Technology, Vol. 3, No. 2, Juni 2018
Zulkarnain Lubis, Metode Baru.... ISSN : 2598 – 1099 (Online) ISSN : 2502 – 3624 (Cetak)
B. Saran
Untuk pengembangan lebih lanjut dari alat ini
agar lebih sempurna, maka diberikan beberapa
saran sebagai berikut :
Gambar 32. Tampilan Interface Android
1. Pengembangan dari alat ini masih sangat
Pada bagian if(bluetooth.available()) merupakan memungkinkan dan dapat disempurnakan
pengecekan apakah ada data input bluetooth yang dengan adanya penambahan dan penggantian
dikirimkan dari smartphone android. Apabila ada komponen atau perangkat yang lebih bagus.
data yang diterima, maka disimpan pada variable Misalnya mengganti motor DC Metal Gearbox
nomor_meja. Setelah disimpan, maka dicek, dengan torsi yang lebih besar.
apabila variable nomor_meja==’1’ maka arduino 2. Menambahkan jumlah sensor pembaca garis
akan memproses agar robot bergerak menuju meja agar robot lebih sempurna dalam mengikuti
nomor 01. Begitu juga untuk input nomor_meja 2 garis dan juga dapat meminimalisir terjadinya
sampai dengan 5. robot keluar dari jalur lintasan.
3. Merancang mekanik robot agar lebih
menyerupai pelayan restoran agar lebih menarik
pengunjung untuk datang.
DAFTAR PUSTAKA
[3]. Daisy A.N Janis, 2014, Rancang Bangun [6]. Jazi Eko Istiyanto, 2014, Pengantar
Robot Pengantar Makanan Line follower, e- Elektronika dan Instrumentasi, Penerbit Andi,
journal Teknik Elektro dan Komputer, ISSN: Yogyakarta.
2301-8402. [7]. Muhammad Faizun, 2012, Pemrograman
[4]. Hariz Bafdal Rudiyanto, 2012, Rancang Mikrokontroller ATMega dengan CVAVR dan
Bangun Robot Pengantar Surat Menggunakan Simulasi ISIS Proteus, Penerbit Deepublish,
Mikrokontroler AT89S51, Jurnal Skripsi , Yogyakarta.
Teknik Elektro, Universitas Gunadarma, [8]. Syahban Rangkuti, 2011, Mikrokontroler
Depok-Kelapa dua. Atmel AVR, Simulasi dan Praktik
[5]. Heri Andrianto, Aan Darmawan, 2015, Menggunakan ISIS Proteus dan Code Vision
Belajar Cepat dan Pemrograman Arduino, AVR, Penerbit Informatika Bandung,
Penerbit Informatika, Bandung. Bandung.