Anda di halaman 1dari 13

MAKALAH

ANALISA PROGRAM KONTROL ROBOT ARM


Tugas Mata Kuliah Mikrokontroler

Disusun Oleh :
Andre Stevanus Kaparang
2016-11-156

FAKULTAS TEKNIK ELETRO


SEKOLAH TINGGI TEKNIK PLN
JAKARTA
2019
KATA PENGANTAR

Puji syukur kehadirat Tuhan Yang Maha Esa atas segala rahmatnya sehingga makalah ini dapat
tersusun hingga selesai .
Harapan saya semoga makalah ini dapat menambah pengetahuan dan pengalaman bagi para
pembaca, Untuk ke depannya dapat memperbaiki bentuk maupun menambah isi makalah agar
menjadi lebih baik lagi.
Karena keterbatasan pengetahuan maupun pengalaman saya, saya yakin masih banyak kekurangan
dalam makalah ini, Oleh karena itu saya sangat mengharapkan saran dan kritik yang membangun
dari pembaca demi kesempurnaan makalah ini.
BAB I

Pendahuluan

1.1 LATAR BELAKANG PENULISAN


Penyusunan makalah ini untuk memenuhi tugas mata kuliah Mikrokontroler . Tugas ini
disusun untuk menganalisa program sesuai topik masing-masing yang dipilih oleh
mahasiswa , dimana analisa ini dapat membantu mahasiswa belajar lebih dalam mengenai
Bahasa dan instruksi dalam sebuah program.

1.2 TUJUAN PENULISAN


Penyusunan makalah ini bertujuan untuk memenuhi tugas mata kuliah Mikrokontroler serta
melatih mahasiswa agar dapat mengetahui Bahasa dan instruksi program dalam analisa
program masing-masing.

1.3 MANFAAT
Mahasiswa Elektronika industri STT-PLN belum terlalu memahami Bahasa pemrograman ,
maka dari itu dengan tugas menganalisa program dalam mata kuliah Mikrokontroler dapat
menjadi latihan dan pengenalan lebih dalam mengenai Bahasa pemrograman.
BAB II

PEMBAHASAN

2.1 MIKROKONTROLER

2.1.1 PENGERTIAN MIKROKONTROLER

CPU (Control Processing Unit) adalah sebuah pusat komputer yang merupakan perangkat keras
dari komputer itu sendiri yang bertugas atau berfungsi sebagai penerima dan pelaksana suatu
perintah dan data yang ada dari sebuah perangkat lunak. Sedangkan Mikrokontroler merupakan
suatu bagian elektronik yang dalam wujudnya seperti IC (Integrated Circuit) yang dapat berguna
sebagai komputer tetapi dalam ukuran yang kecil atau minim. Kata Mikrokontroler ini ialah
gabungan dari dua kata yaitu Mikro dan Controler. Mikro berarti yang sangat kecil, sedangkan
controler berarti sebuah pengendali. Jika kata Mikrokontroler ini menjadi atau berarti suatu unit
pengendali yang dalam ukuran yang sangat kecil.

Mikrokontroler ini bisa diprogram untuk sebuah perintah tertentu. Mikrokontroler ini memiliki isi
dari suatu benda penyimpan sebuah data yang digunakan untuk menyimpan data sebuah program.
Program ini merupakan sebuah program yang dibuat secara manual oleh manusia dengan susunan
dan kepentingan tertentu. Agar bisa digabungkan dengan mikrokontroler tersebut, maka program
yang dibuat oleh manusia ini harus diubah ke dalam bentuk hexa atau pun binery. Istilah ini bisa
dibilang dengan meng-Compile sebuah data yang ada.

Mikrokontroler terdapat keunggulan tersendiri yaitu tersedia sebuah RAM dan peralatan I/O
pendukung yang membuat ukuran board mikrokontroler ini menjadi lebih praktis. Mikrokontroler
merupakan suatu chip pada komputer yang memilki fungsi untuk pengontrol susunan dari alat
elektronik dan secara garis besar dapat menyimpan program yang ada. Mikrokontroler terbagi atas
Memori, I/O khusus, ROM, Timers (pewaktu), dan unsur pendukung seperti ADC atau (Analog
Digital Converter) yang sudah terjamin pada isi dalamnya.
2.1.2DASAR-DASAR MIKROKONTROLER

1.Sistem Input Komputer

Perangkat masukan menyajikan sebuah informasi kepada suatu sistem dari komputer dari
komponen luar. Komponen yang penting dalam komputer adalah Keyboard.

2. Sistem Output Komputer

Perangkat keluaran dipakai dalam berhubungan sebuah informasi ataupun aksi dari sitem pada
komputer dengan komponen luar. Komponen yang utama dalam keluaran yaitu Monitor.

3. CPU (Central Processing Unit)

CPU ini merupakan otak daripada komputer yang berguna melakukan sebuah instruksi pada
program oleh user.

4. Clock dan Memori Komputer

Sistem ini digunakan untuk clock atau pewaktu untuk membangkitkan CPU

5. Program Komputer

Program merupakan hasil imajinasi yang di ciptakan oleh seorang programmer

6. Sistem Mikrokontroler

Penggambaran sistem pada komputer ialah komponen yang dikelilingi dengan garis yang putus-
putus. Bagian itulah yang membentuk mikrokontroler
2.1.3 JENIS-JENIS MIKROKONTROLER

Ternyata ada banyak jenis mikrokontroler tersebut yang dipakai oleh masyarakat banyak. Jenis ini
dibedakan dengan pabrik, generasi, kumpulan perintah, memori, dan bentuknya. Kumpulan
perintahnya mikrokontroler ini dibedakan menjadi dua bentuk, yaitu :

1.CISC, adalah kepanjangan Complex Instruction Set Computer yaitu mikrokontroler dengan
sekumpulan instruksi yang utuh bagiannya. Bagian dari mikrokontroler MCS51 dari ATMEL
termasuk ke dalam bentuk yang ini.

2.RISC, adalah kepanjangan dari Reduced Instruction Set Computer yaitu mikrokontroler yang
mempunyai kumpulan perintah yang tidak utuh atau terbatas. Bagian yang terdapat dari
mikrokontroler AVR dari ATMEL tergolong bentuk yang ini.

2.2 PROGRAM

2.2.1 PENGERTIAN PROGRAM

Program komputer atau sering kali disingkat sebagai program adalah serangkaian instruksi
yang ditulis untuk melakukan suatu fungsi spesifik pada komputer.[1] Komputer pada dasarnya
membutuhkan keberadaan program agar bisa menjalankan fungsinya sebagai komputer, biasanya
hal ini dilakukan dengan cara mengeksekusi serangkaian instruksi program tersebut
pada prosesor.[2] Sebuah program biasanya memiliki suatu bentuk model pengeksekusian tertentu
agar dapat secara langsung dieksekusi oleh komputer. Program yang sama dalam format kode yang
dapat dibaca oleh manusia disebut sebagai kode sumber, bentuk program yang
memungkinkan programmer menganalisis serta melakukan penelaahan algoritme yang digunakan
pada program tersebut. Kode sumber tersebut pada akhirnya dikompilasi oleh utilitas bahasa
pemrograman tertentu sehingga membentuk sebuah program. bentuk alternatif lain model
pengeksekusian sebuah program adalah dengan menggunakan bantuan interpreter, kode sumber
tersebut langsung dijalankan oleh utilitas interpreter suatu bahasa pemrograman yang digunakan.
2.3 ANALISA PROGRAM KONTROL ROBOT ARM DENGAN ADRUINO

2.3.1 ROBOT ARM

Robot Arm adalah sejenis robot yang berfungsi seperti lengan kita, lengan manusia. Ada siku
(elbow), pergelangan (wrist), ada pula bagian untuk memegang/menjepit (grip). Penampakannya
terlihat pada gambar :

Gambar 2.1 Robot Arm

Terdapat lima servo : Base, Shoulder, Elbow, Wrist dan Grip. Jadi kita perlu lima pin Arduino
yang dihubungkan ke masing masing servo.

Gambar 2.2 Konfigurasi koneksi pin masing-masing Servo dengan Adruino


2.3.2 SCRIPT PROGRAM

#include <Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;
unsigned int sudut;
String inString=””,temStr;
char str;
unsigned int nomor,l,i;
void setup()
{
Serial.begin(9600);
servo1.attach(2);//pin 2=servo1
servo2.attach(3);//pin 3=servo2
servo3.attach(4);//pin 4=servo3
servo4.attach(5);//pin 5=servo4
servo5.attach(6);//pin 6=servo5
servo1.write(90);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
Serial.println(“ROBOT ARM CONTROLLER”);
}
void loop()
{
if(Serial.available()>0)
{
str = Serial.read();
if(str!=’\n’)
{
inString += (char)str;
}
else if (str == ‘\n’)
{
temStr=inString.substring(0,1);
nomor=temStr.toInt();
temStr=inString.substring(2);
sudut=temStr.toInt();
Serial.print(nomor);
Serial.print(” : “);
Serial.println(sudut);
switch(nomor){
case 1:servo1.write(sudut); break;
case 2:servo2.write(sudut); break;
case 3:servo3.write(sudut); break;
case 4:servo4.write(sudut); break;
case 5:servo5.write(sudut); break;
}
inString = “”;
}
}
}
Jalannya program :
Untuk mengontrol gerakan masing-masing servo menggunakan perintah dari serial komunikasi.
Buka Serial Monitor. Perintah kontrolnya sebenarnya bebas saja, dapat anda buat sendiri, pada
contoh kita kali ini memakai protokol komunikasi sebagai berikut :
[nomor servo] [spasi atau karakter lain] [besar sudut] [‘\n’]
Contoh, servo 1 kita set pada sudut 120 °, cukup kita tulis “1 120” kemudian klik Send maka
servo 1 (base) akan berputar menuju posisi 120 °.

Gambar 2.3 Aplikasi ARM Controler

2.3.3 Analisa Program

Pengontrolan motor servo menggunakan perintah dari library motor servo :


#include <Servo.h>
Jumlah servo ada 5, sehingga perlu kita membuat 5 identifikasi motor servo :
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;
Selanjutnya konfigurasi koneksi pin masing – masing servo dengan pin Arduino, perhatikan
schematic pada gambar 2.2. Servo1 terhubung ke pin 2, servo 3 terhubung ke pin 4 dan
seterusnya :
servo1.attach(2);//pin 2=servo1
servo2.attach(3);//pin 3=servo2
servo3.attach(4);//pin 4=servo3
servo4.attach(5);//pin 5=servo4
servo5.attach(6);//pin 6=servo5
Posisikan semua servo pada posisi tengah (90 °) :
servo1.write(90);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
Berikutnya program utama hampir sama dengan program sebelumnya, menunggu sampai ada
perintah dari komputer. Perintahnya sesuai dengan format/protokol yang sudah kita buat.
Sebagai tanda kalau pengiriman perintah sudah lengkap, disertakan karakter newline ‘\n’ pada
akhir perintah.
Ketika ada data masuk maka Serial.available()>0 bernilai “true” sehingga pengujian kondisinya
menjadi benar. Variabel str untuk menampung data yang masuk :
if(Serial.available()>0)
{
str = Serial.read();
Jika data bukan newline ‘\n’ maka pengiriman data belum komplit, tampung, gabungkan dan
simpan ke inString.
if(str!=’\n’)
{
inString += (char)str;
}
Setelah karakter newline diterima berarti sudah diterima sebuah perintah :
else if (str == ‘\n’)
Selanjutnya kita olah data yang diterima, kita ambil mana yang merupakan perintah untuk nomor
servo dan mana yang merupakan perintah besar sudutnya.
Ambil satu karakter pertama, yaitu nomor servo yang akan dikontrol :
temStr=inString.substring(0,1);
Nilainya masih string, kita konversi menjadi integer :
nomor=temStr.toInt();
Posisi karakter yang menunjukkan besaran sudut dimulai pada karakter ketiga atau urutan kedua.
Contoh : “2 150”, karakter 1 (angka pertama dari 150) ada pada posisi kedua, sehingga perintah
berikutnya adalah mengambil karakter mulai urutan kedua :
temStr=inString.substring(2);
Nilai inipun masih bertipe string sehingga perlu dikonversi ke integer :
sudut=temStr.toInt();
Selanjutnya kita cek servo keberapa yang akan dikontrol, dengan perintah :
switch(nomor){
case 1:servo1.write(sudut); break;
case 2:servo2.write(sudut); break;
case 3:servo3.write(sudut); break;
case 4:servo4.write(sudut); break;
case 5:servo5.write(sudut); break;
}
Jika servo yang dikontrol adalah servo 1 maka isi variabel nomor adalah 1 dan case 1 yang akan
dikerjakan yaitu mengontrol servo 1 sesuai dengan nilai sudutnya. Demikian juga untuk nomor
servo yang lain, terakhir variabel inString dikosongkan nilainya untuk dipakai pada proses
penerimaan perintah berikutnya :
inString = “”;
BAB III

PENUTUP

3.1 KESIMPULAN

Robot ARM adalah robot yang berfungsi seperti lengan kita, lengan manusia , dengan control
robot arm dapat memungkinkan mengerjakan pekerjaan industri dengan kontrol yang lebih presisi
dari pada dengan perngerjaan manual .

Dari analisa program ini , dapat dilihat bahwa kontrol robot arm dapat diprogram menggunakan
adruino dengan memasukan printah pada aplikasi arm controller pada adruino dengan mengubah
sudut dari posisi servo , masing-masing servo akan bergerak sesuai sudut yang telah diinput pada
program.

Anda mungkin juga menyukai