Pada jejak kali ini akan membuat permainan mobile robot yang bergerak sesuai dengan koordinat yang ditentukan misalkan mobile robot bergerak dari titik 1 ke titik 5 atau bisa juga bergerak dari titik 1 ke titik 6 setelah itu lanjut ke titik yang lain, seperti gambar di bawah ini.
Untuk membuat mobile robot dengan pergerakan seperti ini dibutuhkan peralatan utama, diantaranya :
Arduino Uno

Banyak sekali alat pengendali yang dapat digunakan, tetapi pada jejak kali ini digunakan Arduino Uno R3 karena alat yang dimiliki dan cenderung lebih mudah.
Driver L293N

Driver ini dibutuhkan karena sinyal PWM dari Arduino memiliki tegangan dan kuat arus yang kecil sehingga tidak mampu memutar motor dc, untuk itu dibutuhkan driver sebagai penguat sinyal yang memiliki tegangan dan kuat arus yang lebih besar tetapi memiliki frekuensi atau duty cycle sinyal PWM yang sama.
Motor DC

Motor dc mendapat sinyal PWM (Pulse Width Modulation) dengan duty cycle 100%.
Rangkaian keseluruhan seperti gambar di bawah ini :

List Program
const int RF = 3, RR = 4, LF = 5, LR = 6, START = A0; // RR:RIGHT FORWARD, RR:RIGHT REVERSE, LF:LEFT FORWARD, LR:LEFT REVERSE int nilaiSTART; void setup() { // put your setup code here, to run once: pinMode(RF, OUTPUT); pinMode(RR, OUTPUT); pinMode(LF, OUTPUT); pinMode(LR, OUTPUT); pinMode(START, INPUT); } void loop() { // put your main code here, to run repeatedly: nilaiSTART = digitalRead(START); if (nilaiSTART == 0) { // maju digitalWrite(RF, 1); digitalWrite(RR, 0); digitalWrite(LF, 1); digitalWrite(LR, 0); delay(5000); // berhenti digitalWrite(RF, 0); digitalWrite(RR, 0); digitalWrite(LF, 0); digitalWrite(LR, 0); delay(2000); // putar 90 cw digitalWrite(RF, 0); digitalWrite(RR, 1); digitalWrite(LF, 1); digitalWrite(LR, 0); delay(2000); // berhenti digitalWrite(RF, 0); digitalWrite(RR, 0); digitalWrite(LF, 0); digitalWrite(LR, 0); delay(2000); //maju digitalWrite(RF, 1); digitalWrite(RR, 0); digitalWrite(LF, 1); digitalWrite(LR, 0); delay(5000); // berhenti digitalWrite(RF, 0); digitalWrite(RR, 0); digitalWrite(LF, 0); digitalWrite(LR, 0); delay(2000); // putar 90 ccw digitalWrite(RF, 1); digitalWrite(RR, 0); digitalWrite(LF, 0); digitalWrite(LR, 1); delay(2000); // berhenti digitalWrite(RF, 0); digitalWrite(RR, 0); digitalWrite(LF, 0); digitalWrite(LR, 0); delay(2000); // maju digitalWrite(RF, 1); digitalWrite(RR, 0); digitalWrite(LF, 1); digitalWrite(LR, 0); delay(2000); // berhenti digitalWrite(RF, 0); digitalWrite(RR, 0); digitalWrite(LF, 0); digitalWrite(LR, 0); delay(2000); // putar 180 cw digitalWrite(RF, 0); digitalWrite(RR, 1); digitalWrite(LF, 1); digitalWrite(LR, 0); delay(4000); // berhenti digitalWrite(RF, 0); digitalWrite(RR, 0); digitalWrite(LF, 0); digitalWrite(LR, 0); delay(2000); } }