Anda di halaman 1dari 19

HANDOUT

BAHASA PEMROGRAMAN MIKROKONTROLER


ARDUINO UNTUK APLIKASI SISTEM KONTROL

Dibuat oleh:

Febri Handoyo

SEKOLAH MENENGAH KEJURUAN

TEKNIK MEKATRONIKA

KELAS XI TAHUN 2018


TEKNIK MEKATRONIKA
Judul Materi
Kompetensi Dasar Mata Pelajaran No
Handout
3.16 Memahami bahasa Teknik Kontrol Bahasa 1
pemrograman Sistem Pemrograman
mikrokontroler untuk Mekatronika Mikrokontroler
aplikasi sistem kontrol untuk Aplikasi
Sistem Kontrol

TUJUAN PEMBELAJARAN:
 Peserta didik dapat menjelaskan bahasa pemrograman arduino IDE pada sistem
mikrokontroler
 Peserta didik dapat menguraikan cara menginterpretasikan kontrol open loop
menggunakan bahasa arduino dalam sistem mikrokontroler.
 Peserta didik dapat menguraikan cara menginterpretasikan kontrol closed loop
menggunakan bahasa arduino dalam sistem mikrokontroler.

A. Pengertian Arduino IDE


IDE merupakan kependekan dari Integrated Development Environment, atau secara
bahasa mudahnya merupakan lingkungan terintegrasi yang dilakukan untuk melakukan
pengembangan. Disebut sebagai lingkungan (environment) karena melalui software
inilah arduino dilakukan pemrograman untuk melakukan fungsi-fungsi yang dibenamkan
melalui sintaks pemrograman. Arduino menggunakan bahasa pemrograman sendiri yang
menyerupai bahasa C. Bahasa arduino (Sketch) sudah dilakukan perubahan untuk
memudahkan dalam melakukan pemrograman dari bahasa aslinya. IC mikrokontroler
arduino telah ditanamkan suatu program bernama bootloader yang berfungsi sebagai
penengah antara compiler arduino dengan mikrokontroler.
Arduino IDE dibuat dari bahasa pemrograman JAVA. Arduino IDE juga
dilengkapi dengan library C/C++ yang biasa disebut wiring yang membuat operasi input
dan output menjadi lebih mudah. Arduino IDE ini dikembangkan dari software
processing yang dirombak menjadi arduino IDE khusus untuk pemrograman dengan
arduino.

B. Tampilan dan Fitur Software Arduino IDE


Program yang ditulis dengan menggunakan software arduino IDE disebut sebagai
sketch. Sketch ditulis dalam suatu editor teks dan disimpan dalam file dengan ekstensi
.ino. Teks editor pada software arduino memiliki fitur-fitur seperti cutting/paste dan
searching/ replacing sehingga memudahkan kamu dalam menulis kode program.
Pada software arduino IDE, terdapat semacam message box berwarna hitam yang
berfungsi menampilkan status, seperti pesan error, compile, dan upload program. Di
bagian bawah paling kanan software arduino IDE, menunjukkan board yang
terkonfigurasi beserta port COM yang digunakan.
Gambar 1. Tampilan Software Arduino IDE

Berikut ini adalah bagian-bagian serta fungsi dari lima ikon utama software
arduino IDE:
Tabel 1. Ikon Utama Software Arduino IDE
No Ikon Nama Ikon Fungsi Ikon
Berfungsi untuk melakukan checking code yang
1 Verify telah dibuat apakah sudah sesuai dengan kaidah
pemrograman yang ada atau belum.
Berfungsi untuk melakukan kompilasi program atau
2 Upload kode yang telah dibuat menjadi bahasa yang mudah
dipahami oleh arduino.
Befungsi membuat sketch baru.
3 New

Membuka sketch yang pernah dibuat dan membuka


4 Open kembali untuk dilakukan editing
Berfungsi menyimpan sketch yang telah dibuat
5 Save

Berfungsi untuk membuka serial monitor. Serial


monitor disini merupakan jendela yang
menampilkan data apa saja yang dikirimkan atau
dipertukarkan antara arduino dengan sketch pada
6 Serial Monitor
port serialnya. Serial port ini sangat berguna sekali
ketika membuat program atau melakukan debugging
tanpa menggunakan LCD pada arduino. Serial
monitor ini dapat digunakan untuk menampilkan
nilai proses, nilai pembacaan, bahkan pesan error.

Software arduino IDE juga memiliki lima menu bar yang di dalamnya berisi
beberapa fitur yang diperlukan dalam mendukung pembuatan sketch dan proses
uploading pada board arduino.
Tabel 2. Menu Bar dan Bagian-bagiannya
Menu Bar Bagian Fungsi
New Untuk membuat sketch baru yang terdiri setup() dan
void loop.
Open Membuka sketch yang pernah dibuat dalam drive.
Open Recent Membuka sketch yang baru di buat.
Sketchbook Menunjukkan hirarki sketch sketch yang kamu buat
termasuk struktur foldernya.
Example Berisi contoh-contoh pemrograman yang disediakan
pengembang.
File Close Menutup jendela arduino IDE dan menghentikan
aplikasi
Save Menyimpan sketch yang dibuat atau perubahan sketch
Save as Menyimpan sketch yang sedang dikerjakan atau sketch
yang sudah disimpan sebelumnya dengan nama berbeda
Page Setup Mengatur tampilan page pada proses pencetakan.
Print Mengirim file sketch ke mesin cetak untuk dicetak.
Preference Merubah tampilan interface IDE Arduino.
Quit Menutup semua jendela arduino.
Undo/ Redo Mengembalikan perubahan yang dilakukan.
Cut Meremove teks terpilih pada editor.
Copy Menduplikasi teks yang terpilih pada editor.
Copy for Forum Melakukan copy kode dari editor dan melakukan
formatting agar sesuai untuk ditampilkan dalam forum.
Copy as HTML Menduplikasi teks yang terpilih dalam editor dan
menempatkan teks dalam bentuk HTML
Paste Menyalin data pada clipboard ke dalam editor.
Edit
Select All Melakukan pemilihan teks atau kode
Comment/Uncomment Memberikan atau menghilangkan tanda // pada kode
atau teks.
Increase/Decrease Mengurangi atau menambahkan identitas pada baris
indent kode tertentu.
Find Memanggil jendela window find and replace
Find Next Menemukan kata selanjutnya dari kata pertama
Find Previous Menemukan kata sebelumnya dari kata pertama
Verify Mengecek apakah sketch yang dibuat ada kekeliruan
dari segi sintaks atau tidak
Upload Mengirim program yang sudah dikompilasi ke board
arduino
Upload Using Menuliskan bootloader ke dalam IC mikrokontroler
Sketch
Programmer arduino.
Export Compiled Menyimpan file dalam bentuk .hex
Binary
Show Sketch Folder Membuka folder sketch yang saat ini dikerjakan
Include Library Menambahkan pustaka ke dalam sketch yang dibuat
dengan menyertakan sintaks #include di awal kode.
Add File Menambahkan file ke dalam sketch arduino.
Auto Format Melakukan pengaturan format kode pada jendela editor
Archive Sketch Menyimpan sketch ke dalam file .zip
Fix Encoding & Berfungsi memperbaiki kemungkinan perbedaan antara
Reload pengkodean peta karakter editor dan peta karakter
operasi lain
Serial Monitor Membuka jendela serial monitor untuk melihat
pertukaran data.
Board Memilih dan melakukan konfigurasi board yang
Tools
digunakan.
Port Memilih port sebagai kanal komunikasi antara software
dengan hardware
Programmer Menu ini digunakan ketika hendak melakukan
pemrograman chip mikrokontroler tanpa menggunakan
koneksi Onboard USB-Serial.
Burn Bootloader Mengkopikan program bootloader ke dalam IC
mikrokontroler.
Berisi dokumentasi terkait masalah-masalah yang
Help -
sering muncul.

C. Dasar-dasar Bahasa Pemrograman Arduino


Bahasa pemrograman arduino dapat dibagi dalam tiga bagian utama, yaitu values
(variabel dan konstanta), struktur, dan fungsi.
1. Values (Variabel dan Konstanta)
Variabel adalalah memori penyimpanan data yang nilainya dapat diubah-ubah,
variabel disimpan dalam RAM. Konstanta adalah memori penyimpanan data yang
nilainya tidak dapat diubah setelah program di compile. Tabel 3 di bawah ini
menjelaskan beberapa tipe data yang ada pada values.
Tabel 3. Variabel dan Konstanta
2. Struktur
Dalam struktur terdapat elemen-elemen dari kode arduino yang menyerupai
C++, antara lain Sketch,Control Structure, Further Syntax, Aritmatic Operator,
Comparison Operator, Boolean Operators, Pointer Acces Operators, Bitwise
Operator, dan Compound Operator. Sketch dan control structure merupakan dua
elemen penting dalam arduino IDE yang paling sering digunakan karena merupakan
“pondasi” dari program yang akan dibuat.
Tabel 4. Elemen-elemen Sketch dan Control Structure
Sketch Control Structure
Loop(), setup() Break, continue, do....else, else, for,
go to, if...return, switch...case, while

3. Fungsi (Function)
Mengelompokkan kode ke dalam fungsi memungkinkan programer membuat
potongan modular kode yang melakukan tugas yang ditetapkan dan kemudian
kembali ke area kode dari mana fungsi itu “dipanggil”. Kasus yang khas untuk
membuat suatu fungsi adalah ketika seseorang perlu melakukan aksi yang sama
beberapa kali dalam suatu program.
Untuk programer yang terbiasa menggunakan BASIC, fungsi dalam arduino
menyediakan utilitas menggunakan subrutin (GOSUB dan BASIC). Standarisasi
fragmen kode menjadi beberapa fungsi memiliki beberapa keuntungan, antara lain:
a. Fungsi membantu programer tetap teratur. Sering kali ini membantu membuat
konsep program
b. Fungsi mengkodifikasi satu tindakan di satu tempat sehingga fungsi hanya harus
dipikirkan dan dibebani sekali.
c. Fungsi membuat keseluruhan sketsa menjadi lebih kecil dan lebih ringkas karena
bagian-bagian kode digunakan berkali-kali.
d. Fungsi membuat lebih mudah untuk menggunakan kode dalam program lainnya.
Ada dua funsi yang dibutuhkan dalam sketsa arduino yaitu setup() dan loop().
Fungsi lain harus dibuat di luar kurung dari dua fungsi tersebut. Sebagai contoh, kita
akan membuat fungsi sederhana untuk mengalikan dua angka.
Untuk “memanggil” fungsi sederhana yang telah dibuat, diberikan parameter
tipe data yang diharapkan:

Fungsi tersebut perlu dideklarasikan di luar fungsi lain, jadi


“myMultiplyFunction()” dapat berjalan di atas atau di bawah fungsi “loop()”.
Keseluruhan sketsa dapat dilihat seperti di bawah ini.

D. Bahasa Pemrograman Arduino untuk Aplikasi Sistem Open Loop pada Mobile
Robot
Sistem open loop menggunakan peralatan penggerak untuk mengontrol proses
secara langsung tanpa umpan balik. Pada sistem ini harga keluaran sistem tidak dapat
dibandingkan terhadap harga masukannya. Dengan kata lain variabel yang dikontrol
tidak dapat dibandingkan dengan harga yang diinginkan.
Penerapan sistem open loop dapat diterapkan pada mobile robot. Salah satu
contohnya adalah robot mobil-mobilan tanpa diberikan sensor sebagai feedback. Berikut
adalah sketch atau program dari robot mobil-mobilan sistem open loop.
const int IN1 = 7;
const int IN2 = 6;
const int IN3 = 5;
const int IN4 = 4;

//const int ENA = 9;


//const int ENB = 3;

void setup() {

pinMode (IN1, OUTPUT);


pinMode (IN2, OUTPUT);
pinMode (IN3, OUTPUT);
pinMode (IN4, OUTPUT);
//pinMode (ENA, OUTPUT);
//pinMode (ENB, OUTPUT);
// put your setup code here, to run once:

void loop() {

//analogWrite(ENA, 255);
//analogWrite(ENB, 255);

digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);

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

E. Bahasa Pemrograman Arduino untuk Aplikasi Sistem Closed Loop pada Mobile
Robot
Sistem close loop adalah sistem kontrol yang sinyal keluarnya mempunyai
pengaruh langsung pada aksi pengontrolan dengan umpan balik. Sinyal kesalahan
penggerak, yang merupakan selisih antara sinyal masukan dan sinyal umpan balik,
diumpankan ke kontroler untuk memperkecil kesalahan dan membuat harga sistem
mendekati harga yang diinginkan. Dengan kata lain istilah “close loop” berarti
menggunakan aksi umpan balik untuk memperkecil kesalahan sistem. Jika dalam hal ini
manusia bekerja sebagai operator, maka manusia akan menjaga sistem agart tetap pada
keadaan yang diinginkan. Ketika terjadi perubahan pada sistem, manusia akan
melakukan langkah-langkah awal pengaturan sehingga sistem kembali bekerja pada
keadaan yang diinginkan.
Penerapan sistem closed loop dapat diterapkan pada mobile robot. Salah satu
contohnya adalah robot obstacle avoider dengan diberikan sensor ultrasonic sebagai
feedbacknya. Berikut adalah sketch atau program dari robot mobil-mobilan sistem open
loop.

Gambar 2. Robot Obstacle Avoider

#include <Servo.h> //Servo motor library. This


is standard library
#include <NewPing.h> //Ultrasonic sensor function
library. You must install this library

//our L298N control pins


const int LeftMotorForward = 7;
const int LeftMotorBackward = 6;
const int RightMotorForward = 4;
const int RightMotorBackward = 5;

//sensor pins
#define trig_pin A1 //analog input 1
#define echo_pin A2 //analog input 2

#define maximum_distance 200


boolean goesForward = false;
int distance = 100;

NewPing sonar(trig_pin, echo_pin, maximum_distance);


//sensor function
Servo servo_motor; //our servo name
void setup(){

pinMode(RightMotorForward, OUTPUT);
pinMode(LeftMotorForward, OUTPUT);
pinMode(LeftMotorBackward, OUTPUT);
pinMode(RightMotorBackward, OUTPUT);

servo_motor.attach(10); //our servo pin

servo_motor.write(115);
delay(2000);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
}

void loop(){

int distanceRight = 0;
int distanceLeft = 0;
delay(50);

if (distance <= 20){


moveStop();
delay(300);
moveBackward();
delay(400);
moveStop();
delay(300);
distanceRight = lookRight();
delay(300);
distanceLeft = lookLeft();
delay(300);
if (distance >= distanceLeft){
turnRight();
moveStop();
}
else{
turnLeft();
moveStop();
}
}
else{
moveForward();
}
distance = readPing();
}

int lookRight(){
servo_motor.write(50);
delay(500);
int distance = readPing();
delay(100);
servo_motor.write(115);
return distance;
}

int lookLeft(){
servo_motor.write(170);
delay(500);
int distance = readPing();
delay(100);
servo_motor.write(115);
return distance;
delay(100);
}
int readPing(){
delay(70);
int cm = sonar.ping_cm();
if (cm==0){
cm=250;
}
return cm;
}
void moveStop(){

digitalWrite(RightMotorForward, LOW);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(LeftMotorBackward, LOW);
}

void moveForward(){

if(!goesForward){

goesForward=true;

digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);
}
}

void moveBackward(){

goesForward=false;

digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorBackward, HIGH);

digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorForward, LOW);

}
void turnRight(){

digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorBackward, HIGH);

digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorForward, LOW);

delay(500);
digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);

void turnLeft(){

digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorBackward, LOW);

delay(500);

digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);
}

F. Soal Evaluasi
Jawablah soal-soal di bawah ini sesuai dengan benar!
1. Apakah yang disebut dengan Arduino IDE?
2. Jelaskan fungsi dari ikon-ikon berikut ini.
3. Jelaskan perbedaan antara sistem closed loop dan sistem open loop!
4. Buatlah sketch operasi aritmatika * / + - secara terpisah dengan menggunakan
Arduino IDE!
5. Buatlah sketch operasi aritmatika gabungan (misal : 2 + 3 * 5) dengan menggunakan
Arduino IDE!

G. Referensi
1. Santoso, Hari. 2017. Monster Arduino: Panduan Praktis Belajar Arduino untuk
Pemula. Jakarta : Elang Sakti.
2. Agarwal, Mayur. 2008. Robot line follower Robot. EEE Department : Robotic
Worksop.
JOBSHEET
PEMBUATAN SKETCH UNTUK APLIKASI SISTEM KONTROL TERTUTUP
DAN SISTEM KONTROL TERBUKA

1. Tujuan
1.1 Peserta didik dapat memanipulasi bahasa pemrograman mikrokontroler dengan
arduino IDE untuk aplikasi sistem kontrol open loop pada mobile robot
1.2 Peserta didik dapat memanipulasi bahasa pemrograman mikrokontroler dengan
arduino IDE untuk aplikasi sistem kontrol closed loop pada mobile robot

2. Peralatan yang Digunakan


No Alat yang digunakan Jumlah
1 Laptop (terisi software Arduino IDE) 1
2 Mobile Robot Obstacle Avoider 1
3 Kabel Downloader 1

3. Dasar Teori
Arduino IDE merupakan sebuah software yang digunakan untuk membuat program
atau sketch yang kemudian di upload pada board Arduino. Arduino dapat digunakan
untuk membuat aplikasi sistem open loop dan sistem closed loop.
Sistem open loop menggunakan peralatan penggerak untuk mengontrol proses
secara langsung tanpa umpan balik. Pada sistem ini harga keluaran sistem tidak dapat
dibandingkan terhadap harga masukannya. Dengan kata lain variabel yang dikontrol
tidak dapat dibandingkan dengan harga yang diinginkan. Penerapan sistem open loop
dapat diterapkan pada mobile robot. Salah satu contohnya adalah robot mobil-mobilan
tanpa diberikan sensor sebagai feedback.

Gambar 1. Sistem Open Loop


Sistem closed loop adalah sistem kontrol yang sinyal keluarnya mempunyai
pengaruh langsung pada aksi pengontrolan dengan umpan balik. Sinyal kesalahan
penggerak yang merupakan kesalahan, yang merupakan selisih antara sinyal masukan
dan sinyal umpan balik yang dapat berupa sinyal keluaran atau fungsi sinyal keluaran
atau turunannya, diumpankan ke kontroler untuk memperkecil kesalahan dan membuat
harga sistem mendekati harga yang diinginkan. Penerapan sistem closed loop dapat
diterapkan pada mobile robot. Salah satu contohnya adalah robot obstacle avoider
dengan diberikan sensor ultrasonic sebagai feedbacknya.

Gambar 2. Sistem Closed Loop

4. Prosedur Percobaan
a. Siapkan alat-alat yang dibutuhkan.
b. Hubungkan kabel downloader pada laptop dan arduino.
c. Tuliskan sketch di bawah ini pada jendela kerja software arduino IDE

#include <Servo.h> //Servo motor library. This is


standard library
#include <NewPing.h> //Ultrasonic sensor function
library. You must install this library

//our L298N control pins


const int LeftMotorForward = 7;
const int LeftMotorBackward = 6;
const int RightMotorForward = 4;
const int RightMotorBackward = 5;

//sensor pins
#define trig_pin A1 //analog input 1
#define echo_pin A2 //analog input 2

#define maximum_distance 200


boolean goesForward = false;
int distance = 100;

NewPing sonar(trig_pin, echo_pin, maximum_distance); //sensor


function
Servo servo_motor; //our servo name
void setup(){

pinMode(RightMotorForward, OUTPUT);
pinMode(LeftMotorForward, OUTPUT);
pinMode(LeftMotorBackward, OUTPUT);
pinMode(RightMotorBackward, OUTPUT);
servo_motor.attach(10); //our servo pin

servo_motor.write(115);
delay(2000);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
}

void loop(){

int distanceRight = 0;
int distanceLeft = 0;
delay(50);

if (distance <= 20){


moveStop();
delay(300);
moveBackward();
delay(400);
moveStop();
delay(300);
distanceRight = lookRight();
delay(300);
distanceLeft = lookLeft();
delay(300);
if (distance >= distanceLeft){
turnRight();
moveStop();
}
else{
turnLeft();
moveStop();
}
}
else{
moveForward();
}
distance = readPing();
}
int lookRight(){
servo_motor.write(50);
delay(500);
int distance = readPing();
delay(100);
servo_motor.write(115);
return distance;
}
int lookLeft(){
servo_motor.write(170);
delay(500);
int distance = readPing();
delay(100);
servo_motor.write(115);
return distance;
delay(100);
}
int readPing(){
delay(70);
int cm = sonar.ping_cm();
if (cm==0){
cm=250;
}
return cm;
}
void moveStop(){

digitalWrite(RightMotorForward, LOW);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(LeftMotorBackward, LOW);
}

void moveForward(){

if(!goesForward){

goesForward=true;

digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);
}
}
void moveBackward(){

goesForward=false;

digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorBackward, HIGH);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorForward, LOW);

}
void turnRight(){

digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorBackward, HIGH);
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorForward, LOW);
delay(500);
digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);

void turnLeft(){

digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorBackward, LOW);

delay(500);

digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);
}

d. Setelah menulis sketch di atas, pilih dan klik ikon verify untuk memastikan program
jalan atau tidak.
e. Tuliskan sketch di bawah ini pada jendela kerja arduino IDE.

const int IN1 = 7;


const int IN2 = 6;
const int IN3 = 5;
const int IN4 = 4;

//const int ENA = 9;


//const int ENB = 3;

void setup() {

pinMode (IN1, OUTPUT);


pinMode (IN2, OUTPUT);
pinMode (IN3, OUTPUT);
pinMode (IN4, OUTPUT);
//pinMode (ENA, OUTPUT);
//pinMode (ENB, OUTPUT);
// put your setup code here, to run once:

}
void loop() {

//analogWrite(ENA, 255);
//analogWrite(ENB, 255);

digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);

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

f. Setelah program selesai ditulis, klik verify untuk memastikan program berjalan atau
tidak.
g. Upload secara bergantian program tersebut pada board arduino.

5. Tabel Hasil Percobaan


Tulislah perbedaan antara sistem kontrol open loop dan sistem kontrol closed loop pada
mobile robot berdasarkan percobaan yang telah dilakukan.
Mobile Robot Sistem Mobile Robot Sistem
Open Loop Closed Loop

6. Kesimpulan
........................................................................
........................................................................
........................................................................

Anda mungkin juga menyukai