Pada pembahasan sebelumnya kita telah
mempelajari bagaimana mengendalikan LED menggunakan komputer menggunakan interface Processing 2.21 dengan
metode komunikasi serial, maka pada postingan ini kita akan membahas pembuatan
kontrol gerak robot menggunakan komputer interface Processing yang merupakan komunikasi
serial antara PC/Laptop dengan Arduino.
Gambar 1 Ilustrasi kontrol robot menggunakan
PC/ Laptop
Dalam hal ini PC bertugas sebagai transmitter pemberi perintah,
sedangkan robot sebagai receiver penerima perintah. Komunikasi serial antara komputer dan Arduino ini
akan ditampilkan menggunakan interface Processing 2.2.1
Desain
Robot Mobile dengan Kontrol Berbasis Komputer
Desain Rangkaian Robot Digital yang Dikendalikan Keyboard PC
Untuk membuat sebuah robot yang dapat dikendalikan
komputer, board Arduino telah dilengkapi dengan komunikasi serial berbasis USB
yang menghubungkan board Arduino dengan komputer PC/laptop. Gambar 2 adalah
desain lengkap robot digital yang dikendalikan komputer menggunakan Arduino
Uno. Motor driver untuk motor DC terhubung dengan Port Arduino yaitu PORT 9, 6,
5, dan 3.
Gambar 2 Simulasi Proteus robot kontrol PC
Pemrograman Robot Digital
yang Dikendalikan Keyboard PC
Tabel berikut ini menunjukkan logika pada Arduino
untuk menterjemahkan perintah karakter yang dikirimkan oleh keyboard PC
Tabel 1 Logika gerak pada Arduino untuk menterjemahkan
karakter dari komputer PC
Karakter
|
PORT 9
|
PORT 6
|
PORT 5
|
PORT 3
|
Makna
|
A
|
LOW
|
HIGH
|
HIGH
|
LOW
|
Belok kanan
|
Z
|
HIGH
|
LOW
|
LOW
|
HIGH
|
Belok kiri
|
K
|
LOW
|
HIGH
|
LOW
|
HIGH
|
Maju
|
M
|
HIGH
|
LOW
|
HIGH
|
LOW
|
Mundur
|
O
|
LOW
|
LOW
|
LOW
|
LOW
|
Diam
|
Berikut adalah langkah
pembuatan robot dengan kontrol keyboard komputer:
1. Susun rangkaian robot kontrol
menggunakan PC seperti Gambar 3.
Gambar 3
Desain Fritzing rangkaian robot kontrol
komputer
2.
Hubungkan Arduino ke komputer dengan kabel USB.
3.
Buka software Arduino, dan ketik program berikut:
// ROBOT KONTROL KOMPUTER
// Definisi awal
int kiriA = 9;
int kiriB = 6;
int kananA = 5;
int kananB = 3;
void setup()
{
Serial.begin(9600);
pinMode(kiriA,OUTPUT);
pinMode(kiriB,OUTPUT);
pinMode(kananA,OUTPUT);
pinMode(kananB,OUTPUT);
}
void loop()
{
if(Serial.available()>0)
{
byte dataku=Serial.read();
if (dataku=='M')
{
digitalWrite(kiriA,HIGH);
digitalWrite(kiriB,LOW);
digitalWrite(kananA,HIGH);
digitalWrite(kananB,LOW);
Serial.println("ROBOT
MUNDUR");
}
else if (dataku=='K')
{
digitalWrite(kiriA,LOW);
digitalWrite(kiriB,HIGH);
digitalWrite(kananA,LOW);
digitalWrite(kananB,HIGH);
Serial.println("ROBOT
MAJU");
}
else if (dataku=='Z')
{
digitalWrite(kiriA,LOW);
digitalWrite(kiriB,HIGH);
digitalWrite(kananA,HIGH);
digitalWrite(kananB,LOW);
Serial.println("ROBOT
BELOK KIRI");
}
else if (dataku=='A')
{
digitalWrite(kiriA,HIGH);
digitalWrite(kiriB,LOW);
digitalWrite(kananA,LOW);
digitalWrite(kananB,HIGH);
Serial.println("ROBOT
BELOK KANAN");
}
else
{
digitalWrite(kiriA,LOW);
digitalWrite(kiriB,LOW);
digitalWrite(kananA,LOW);
digitalWrite(kananB,LOW);
Serial.println("ROBOT
DIAM");
}
}
}
4.
Pilih Board dan Serial PORT yang digunakan di menu Tools.
5.
Tekan tombol Verify dipojok kiri
toolbar.
6. Setelah muncul pesan “Done
Compiling”, selanjutnya tekan tombol Upload
yang ada di kanan tombol Verify.
7. Setelah muncul pesan “Done
Uploading”. Selanjutnya buka Serial Monitor Arduino dengan mengklik tombol
bergambar kaca pembesar di ojok kanan Toolbar. Ketika kita menekan huruf “A”
atau “shift a”, maka akan muncul tulisan “ROBOT BELOK KANAN”, ketika menekan
huruf “Z” atau “shift z”, maka akan muncul tulisan “ROBOT BELOK KIRI”, ketika
menekan huruf “K” atau “shift k” maka muncul tulisan “ROBOT MAJU”, dan ketika
menekan huruf “M” atau “shift m” maka muncul tulisan “ROBOT MUNDUR”, sedangkan
ketika huruf yang lain yang ditekan maka akan muncul tulisan “ROBOT DIAM”.
Gambar 4 Pengujian simulasi robot kontrol kendali PC
Interface
Processing untuk Kontrol Robot
Sebagaimana telah dibahas diatasa
yaitu robot kontrol menggunakan keyboard PC, komunikasi data serial antara
komputer PC/Laptop dan Arduino dapat menggunakan fasilitas Serial Monitor Pada
IDE Arduino, Maka sekarang kita akan membuat tampilan sendiri dengan menggunakan
software Processing 2.2.1. Dengan menggunakan Processing 2.2.1 kita dapat
membuat sistem interfacing untuk mengontrol arah gerak robot yaitu maju,
mundur, belok kiri, dan belok kanan dengan tampilan yang lebih menarik dan
mudah digunakan.
1. Bukalah program
Processing 2.2.1 yang dapat didownload secara free pada alamat: https://processing.org/download/
Gambar 5 Tampilan start-up Processing 2.2.1
2. Setelah di buka, maka akan muncul tampilan sketch seperti berikut ini
Gambar 6
Tampilan sketch Processing 2.2.1
3. Buatlah program berikut pada sketch
|
|
import processing.serial.*;
Serial myPort;
int a = 200;
void setup(){
myPort = new Serial(this,
"COM21", 9600);
myPort.buffer(1);
size(300, 300);
background(200);
noLoop(); // Makes draw() only run once
}
void draw() {
fill(a,0,0);
rect(100,0,width/3, height/3);
rect(0,100,width/3, height/3);
rect(100,100,width/3, height/3);
rect(200,100,width/3, height/3);
rect(100,200,width/3, height/3);
}
void mousePressed() {
println("Coordinates: " +
mouseX +"," + mouseY);
mouseAction();
}
void mouseAction(){
if( mouseX > 100 &&
mouseX < 200){
if( mouseY > 0 &&
mouseY < 100){
println("MAJU");
myPort.write('K');
}
}
if( mouseX > 0 && mouseX
< 100){
if( mouseY > 100 &&
mouseY < 200){
println("KIRI");
myPort.write('A');
}
}
if( mouseX > 100 &&
mouseX < 200){
if( mouseY > 100 &&
mouseY < 200){
println("DIAM");
myPort.write('O');
}
}
if( mouseX > 200 &&
mouseX < 300){
if( mouseY > 100 &&
mouseY < 200){
println("KANAN");
myPort.write('Z');
}
}
if( mouseX > 100 &&
mouseX < 200){
if( mouseY > 200 &&
mouseY < 300){
println("MUNDUR");
myPort.write('M');
}
}
}
Untuk membuat interface maka gunakanlah program
komunikasi serial sebagaimana telah dibahas pada bab mengakses komunikasi PC
dan Arduino. Kemudian dibuat pengiriman perintah berupa karakter tertentu yang
akan diterjemahkan oleh mikrokontroler untuk menggerakan robot.
3. Setelah membuat
program, kemudian tekan toolbar save misalnya GUI_Robot_Kontrol, Selanjutnya,
hubungkan board Arduino robot dengan komputer kemudian klik run pada
GUI_Robot_Kontrol maka akan muncul tampilan berikut dan sistem siap untuk
dilakukan pengujian.
Gambar 7 Interface untuk menggerakan mobile robot
4. Untuk board
Arduino yang berbeda, lakukan juga pengujian kontrol arah gerak robot dengan
terlebih dahulu mengisi/mengganti COM pada file program sesuai seperti yang
tertera pada Device Manager dan Baudrate sesuai dengan Arduino yang digunakan
pada program Processing diatas.
Gambar 8 Robot digital dengan kontrol GUI processing
sangat membantu sya dapat membuat banyak projek dari ini
BalasHapusterima kasih min, berkat artikel ini Robot Kontrol Berbasis Komputer dan Interface Processing 2.2.1 (Processing 3.0.1), jadi ada refernsi untuk penelitian
BalasHapus