Prototipe Pengendali Robot Mobil Berlengan Jepit Dengan Mikrokontroler ATMega 16 Melalui Papan Ketik Berantarmuka PS/2.

PROTOTIPE PENGENDALI ROBOT MOBIL BERLENGAN JEPIT
DENGAN MIKROKONTROLER ATMEGA 16
MELALUI PAPAN KETIK BERANTARMUKA PS/2
Angkar Wijaya / 0422005

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha
Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia
Email: akian_w@yahoo.com

ABSTRAK
Dalam dunia industri, untuk memindahkan barang-barang yang berbentuk
tabung dan berat dapat digunakan perangkat pembantu yang bertujuan untuk
mempermudah kerja manusia. Perangkat pembantu ini dapat berupa robot mobil
dengan lengan yang mampu menjepit benda, memindahkan, dan meletakan
kembali.
Pada tugas akhir ini telah dibuat robot mobil yang dilengkapi dengan
lengan jepit. Penggunaan mikrokontroler dalam hal ini Atmega16 dengan
menghubungkan dengan papan ketik yang memiliki antarmuka PS/2 digunakan
untuk mengendalikan robot mobil untuk menjepit, memindahkan, dan melepaskan
benda.
Dari hasil pengujian terhadap robot mobil yang direalisasi, untuk benda

yang berbentuk tidak beraturan (batu), hanya bentuk-bentuk tertentu (batu 1 dan
batu 2) yang dapat dijepit dan dipindahkan dengan baik. Untuk benda dengan
permukaan normal dan licin yang beratnya kurang dari 100 gram dapat dijepit dan
dipindahkan dengan baik. Demikian juga untuk benda yang berdiameter kurang
dari 2 centimeter dapat dijepit dan dipindahkan dengan baik.
Kata kunci: ATMEGA 16, PS/2.

PROTOTIPE PENGENDALI ROBOT MOBIL BERLENGAN JEPIT
DENGAN MIKROKONTROLER ATMEGA 16
MELALUI PAPAN KETIK BERANTARMUKA PS/2

Angkar Wijaya / 0422005

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha
Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia
Email: akian_w@yahoo.com

ABSTRACT

On the industries, for moving things that in the cylinder form and also

heavy, a tool can be used with aim to help human being. This tool can be form
like mobile robot with arm that capable to grip object, move it, and then place it.

At this final project has been made mobile robot equiped with gripper arm.
Usage of microcontroller in this case Atmega16 connected to PS/2 keyboard to
control mobile robot to grip object, move it, and then place it.

From the test result of mobile robot which realized, for objects which in
irregular form (stone), only certain forms ( stone 1 and stone 2) can be gripped
and moved well. For objects with slippery and normal surface which its weight

less than 100 grams can be gripped and moved well, and for objects which have
diameter less than 2 centimeter can be gripped and moved well too.

Key words: ATMEGA 16, PS/2.

DAFTAR ISI

ABSTRAK ……………………………………………………………………...…i
ABSTRACT……………………………………………………………………….ii

KATA PENGANTAR …………………………………………………………...iii
DAFTAR ISI ……………………………………………………………………...v
DAFTAR GAMBAR....……………………………………………………...….viii
DAFTAR TABEL.......…………………………………………………………….x
BAB I PENDAHULUAN………….……………………………………………...1
1.1

Latar Belakang.……………………………………………………………1

1.2

Perumusan Masalah……………………………………………………….1

1.3

Tujuan....................…………………………………………………..……2

1.4

Pembatasan Masalah………………………………………...………….…2


1.5

Sistematika Penulisan………………………………………………..……2

BAB II LANDASAN TEORI…………..…………………………………………4
2.1.

PS/2...……………………………………………………………………...4
2.1.1 Deskripsi PS/2....……………………………………………….….4
2.1.2. Komunikasi Device dengan Host.……………….…………………5

2.2.

Mikrokontroler ATmega16…….………………………………….………6
2.2.1. Deskripsi Mikrokontroler ATmega16................................................7
2.2.2. Fitur ATMega 16................................................................................9

2.2.3. Konfigurasi pin ATMega 16............................................................9
2.3. Code Vision AVR C Compiler..…………………………………………….10

2.4. LCD (Liquid Crystal Display).......................................................................15
2.5. Motor Arus Searah (DC)................................................................................16

BAB III PERANCANGAN DAN REALISASI................................................... 19
3.1.

Diagram Blok .................................……………………………………...19

3.2.

Perancangan dan Realisasi Perangkat Keras...….…………………..……20
3.2.1. Rangkaian Antarmuka PS/2 dengan Mikrokontroler Atmega16...20
3.2.2. Rangkaian IC L293D dengan Mikrokontroler Atmega16.............22
3.2.3. Rangkaian LCD dengan Mikrokontroler Atmega16......................24
3.2.4. Perancangan Bentuk Robot Mobil.................................................25

3.3.

Perancangan Software................................................................................26
3.3.1. Code Vision AVR C Compiler......................................................26

3.3.2. Flowchart Program Utama.............................................................31

BAB IV DATA PENGAMATAN DAN ANALISA…………………………….35
4.1.

Pengujian Tampilan LCD..………………………………………………35

4.2.

Pengujian Reaksi Motor...……...………………………………………..36

4.3

Pengujian Pengendalian Robot Mobil….………………………………..37

4.4

Pengujian Lengan Penjepit........................................................................41

BAB V KESIMPULAN DAN SARAN…………………………………………44

5.1.

Kesimpulan……………………………………………………………....44

5.2.

Saran……………………………………………………………………..44

DAFTAR PUSTAKA.……………………………………………………………xi
LAMPIRAN A FOTO ALAT..............................................................................A-1
LAMPIRAN B LISTING PROGRAM…………………………………………B-1
LAMPIRAN C DATA KOMPONEN………………………………………….C-1
LAMPIRAN D SKEMA RANGKAIAN……………………………………….D-1
LAMPIRAN E DOKUMENTASI.......................................................................E-1
LAMPIRAN F KODE-KODE TOMBOL KEYBOARD......................................F-1

DAFTAR TABEL

Tabel 2.1. Pin-pin pada antarmuka PS/2............................……………………......5
Tabel 3.1. Tombol pada keyboard, kode, dan fungsinya .……………………….21

Tabel 3.2. Motor yang bekerja pada pergerakan robot mobil...............…….……22
Tabel 4.1. Tombol pada keyboard, kode desimal, dan tampilan LCD...................36
Tabel 4.2. Reaksi pada robot mobil dan motor DC yang aktif .............................37
Tabel 4.3. Batas kemampuan menjepit yang kaitannya dengan
diameter benda.…...…..........................................................................41
Tabel 4.4. Batas kemampuan menjepit yang kaitannya dengan berat benda.....…41
Tabel 4.5. Gambar benda......................................................................................42
Tabel 4.6. Kemampuan menjepit batu...................................................................43
Tabel 4.7. Kemampuan menjepit benda licin.........................................................43

DAFTAR GAMBAR

Gambar 2.1.

Port PS/2 male pada keyboard…………………………………….4

Gambar 2.2.

Port PS/2 female pada komputer..............................................…....5


Gambar 2.3.

Sinyal data dan sinyal clock…………...…………………………..6

Gambar 2.4

Blok Diagram Fungsional ATMega16.......…………………….….8

Gambar 2.5.

Konfigurasi pin mikrokontroler Atmega16.....…………………...10

Gambar 2.6.

Tampilan CodeWizardAVR pada bagian Chip………………..…11

Gambar 2.7.

Tampilan CodeWizardAVR pada bagian LCD..............................12


Gambar 2.8.

Tampilan CodeWizardAVR pada bagian Ports.............................13

Gambar 2.9.

Tampilan CodeWizardAVR pada bagian External IRQ...........….14

Gambar 2.10. Gambar LCD 16x2..................…………………………………...15
Gambar 2.11. Penghubungan LCD dengan mikrokontroler ATMega 16…….....16
Gambar 2.12. Cara Kerja Motor DC……………................................….……....17
Gambar 2.13. Motor DC Konvensional…………..…..............................…...….18
Gambar 3.1

Blok Diagram......................……………………………………...19

Gambar 3.2.

Rangkaian antarmuka PS/2 dengan mikrokontroler ATmega16...20


Gambar 3.3.

Rangkaian IC L293D dengan mikrokontroler ATmega16 untuk
roda depan dan roda belakang ...............................………….…..23

Gambar 3.4.

Rangkaian IC L293D dengan mikrokontroler ATmega16
untuk lengan penjepit ..............................………………………..24

Gambar 3.5.

Rangkaian LCD dengan mikrokontroler Atmega16.................….25

Gambar 3.6.

Sketsa rancangan bentuk robot mobil......…………………….….26

Gambar 3.7.

Tampilan CodeWizardAVR pada bagian Chip..........………...….27

Gambar 3.8.

Tampilan CodeWizardAVR pada bagian LCD.......……………...28

Gambar 3.9.

Tampilan CodeWizardAVR pada bagian Ports......……………...29

Gambar 3.10. Tampilan CodeWizardAVR pada bagian External IRQ...….........30
Gambar 3.11. Flowchart utama.….......................................................................31
Gambar 3.12. Flowchart robot mobil maju………………...…………………...32
Gambar 3.13. Flowchart robot mobil mundur…………………………………..32
Gambar 3.14. Flowchart robot mobil belok kiri dan maju……………………...33
Gambar 3.15. Flowchart robot mobil belok kanan dan maju…………………...33
Gambar 3.16. Flowchart lengan menjepit………………………………………34
Gambar 3.17. Flowchart lengan melepas.............................................................34
Gambar 4.1.

Denah percobaan pertama………………...……………………...38

Gambar 4.2.

Denah percobaan kedua….……………………………………....39

Gambar 4.3.

Denah percobaan ketiga……………………………………….....40

DAFTAR LAMPIRAN

Lampiran A

Foto Alat......................................................................................A-1

Lampiran B

Listing Program............................................................................B-1

Lampiran C

Data Komponen...........................................................................C-1

Lampiran D

Skema Rangkaian........................................................................D-1

Lampiran E

Dokumentasi................................................................................E-1

Lampiran F

Kode-kode tombol keyboard.......................................................F-1

LAMPIRAN A
FOTO ALAT

Gambar A.1. Gambar robot mobil dilihat dari atas

Gambar A.2. Gambar robot mobil dilihat dari depan

Gambar A.3. Gambar robot mobil dilihat dari samping

Gambar A.4. Gambar keseluruhan

Gambar A.5. Gambar kotak kendali

LAMPIRAN B
LISTING PROGRAM

/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.3 Professional
Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 8/24/2007
Author : F4CG
Company : F4CG
Comments:

Chip type
: ATmega16
Program type
: Application
Clock frequency : 11.059200 MHz
Memory model
: Small
External SRAM size : 0
Data Stack size : 256
*/
#include
#include
#include
#include
int keyboard_data;
int data_kb;
char display_lcd[33];
int count;
char pindata[12]={0,0,1,2,4,8,16,32,64,128,0,0};

// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
// Place your code here
count ++;
if(PINB.0 == 1)

{
data_kb = data_kb + pindata[count];
}
if(count==11)
{
lcd_clear();
keyboard_data = data_kb;
count=0;
data_kb=0;
sprintf(display_lcd,"%d",keyboard_data);
lcd_puts(display_lcd);
}

}
// Declare your global variables here
void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In
Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0xFF;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In
Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0xF0;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In
Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In
Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;

OCR2=0x00;
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Falling Edge
// INT1: Off
// INT2: Off
GICR|=0x40;
MCUCR=0x02;
MCUCSR=0x00;
GIFR=0x40;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// LCD module initialization
lcd_init(16);
// Global enable interrupts
#asm("sei")
while (1)
{
switch (keyboard_data)
{
case 29:
//lcd_clear();
//lcd_putsf("MAJU");
PORTA = 0x01;
delay_ms(500);
PORTA = 0x00;
keyboard_data=0;
break;
case 27:
//lcd_clear();
//lcd_putsf("MUNDUR");
PORTA = 0x02;
delay_ms(500);

PORTA = 0x00;
keyboard_data=0;
break;
case 35:
//lcd_clear();
//lcd_putsf("KANAN+MAJU");
PORTA = 0x05;
delay_ms(400);
PORTA = 0x00;
keyboard_data=0;
break;
case 28:
//lcd_clear();
//lcd_putsf("KIRI+MAJU");
PORTA = 0x09;
delay_ms(400);
PORTA = 0x00;
keyboard_data=0;
break;
case 36:
//lcd_clear();
//lcd_putsf("GRIP");
PORTB = 0x40;
delay_ms(100);
PORTB = 0x00;
keyboard_data=0;
break;
case 21:
//lcd_clear();
//lcd_putsf("RELEASE");
PORTB = 0x80;
delay_ms(100);
PORTB= 0x00;
keyboard_data=0;
break;
};

;

}

}

LAMPIRAN C
DATA KOMPONEN

C.1 IC L293D

C.2 ATMEGA 16

C.3 LCD

C.4 7805

LAMPIRAN D
SKEMA RANGKAIAN

LAMPIRAN E
DOKUMENTASI

PERCOBAAN I
1

2

3

PERCOBAAN II

1

2

3

PERCOBAAN III

1

2

3

MENJEPIT BENDA LICIN

MENJEPIT BATU

LAMPIRAN F
KODE-KODE TOMBOL KEYBOARD

BAB I
PENDAHULUAN

1.1 Latar Belakang
Meningkatnya dunia industri, keterbatasan waktu dan juga keterbatasan
tenaga manusia menuntut manusia untuk bekerja lebih efektif dan efisien. Dalam
kenyataannya di industri banyak dibutuhkan perangkat-perangkat pembantu demi
menghemat tenaga kerja manusia, waktu, dan biaya produksi. Kemajuan teknologi
membuat manusia berupaya membuat perangkat pembantu agar kerja manusia
lebih cepat dan ringan.
Khususnya dalam industri, untuk memindahkan barang-barang yang
berbentuk tabung dan berat. Dalam hal ini dapat digunakan perangkat pembantu
yang bertujuan untuk mempermudah kerja manusia yaitu dapat berupa robot
mobil dengan lengan yang mampu menjepit benda, memindahkan, dan meletakan
kembali.
Penggunaan

mikrokontroler

dalam

hal

ini

Atmega16

dengan

menghubungkan dengan papan ketik yang memiliki antarmuka PS/2 menjadikan
sistem dapat diprogram untuk menjalankan berbagai fungsi tambahan mengingat
papan ketik mempunyai banyak tombol.
1.2 Perumusan Masalah
Masalah dalam penyusunan Tugas Akhir ini adalah bagaimana membuat
robot mobil berlengan jepit dengan mikrokontroller Atmega16 yang dikendalikan
dengan papan ketik yang memiliki antarmuka PS/2.

1.3 Tujuan
Penyusunan Tugas Akhir ini bertujuan untuk membuat robot mobil
berlengan jepit dengan mikrokontroller Atmega16 yang dikendalikan dengan
papan ketik yang memiliki antarmuka PS/2.
1.4 Pembatasan masalah
Dalam tugas akhir ini, pembatasan masalah mencakup hal-hal berikut:
1. Menggunakan papan ketik dengan kabel sebagai penghubung dengan
antarmuka PS/2.
2. Panjang kabel pada kotak kendali yang menentukan daerah pergerakan
yang mampu dijangkau robot mobil adalah 1 meter.
3. Robot mobil mempunyai satu lengan jepit yang kemampuan menjepit
benda berukuran maksimum 2 centimeter dan merupakan benda padat dan
pejal yang beratnya tidak lebih dari 100 gram.
4. Lengan penjepit dibuat dari kunci inggris.
5. Robot mobil bergerak dari suatu lokasi awal untuk menjepit benda di
lokasi tersebut lalu akan bergerak ke lokasi lain sebagai tujuan dan
kemudian benda dilepaskan di lokasi tujuan tersebut.

1.5 Sistematika Penulisan
Agar dalam penulisan laporan Tugas Akhir ini lebih terarah dan teratur serta
terstruktur maka akan dibagi dalam:
BAB I

PENDAHULUAN
Berisi latar belakang, perumusan masalah, tujuan, pembatasan
masalah, dan sistematika penulisan.

BAB II

LANDASAN TEORI
Berisi teori-teori yang menunjang dalam pembuatan alat. Teori
yang dimaksud adalah PS/2, mikrokontroler ATmega16, Code
Vision AVR C Compiler, LCD, Motor Arus Searah.

BAB III

PERANCANGAN DAN REALISASI
Berisi perancangan dan implementasi, yang membahas tentang
perencanaan dan implementasi dalam sistem yang dibangun,
meliputi diagram blok, perancangan dan realisasi perangkat keras,
perancangan perangkat lunak.

BAB IV

DATA PENGAMATAN DAN ANALISA
Berisi hasil pengamatan dan analisa terhadap alat yang telah
dirancang.

BAB V

KESIMPULAN DAN SARAN
Berisi kesimpulan dan saran.

BAB V
KESIMPULAN DAN SARAN

Dari hasil pengamatan dalam tugas akhir ini, dapat diambil kesimpulan
dan saran sebagai berikut:
5.1. Kesimpulan
Kesimpulan yang didapat dari tugas akhir ini sebagai berikut :
1. Robot mobil berlengan jepit dengan mikrokontroller Atmega16 yang
dikendalikan dengan papan ketik yang memiliki antarmuka PS/2 telah
berhasil direalisasi.
2. Dari hasil pengujian terhadap robot mobil yang direalisasi, untuk benda
yang berbentuk tidak beraturan (batu), hanya bentuk-bentuk tertentu (batu
1 dan batu 2) yang dapat dijepit dan dipindahkan dengan baik. Untuk
benda dengan permukaan normal dan licin yang beratnya kurang dari 100
gram dapat dijepit dan dipindahkan dengan baik. Dan untuk benda yang
berdiameter kurang dari 2 centimeter dapat dijepit dan dipindahkan
dengan baik
5.2. Saran
Untuk pengembangan selanjutnya disarankan :
1. Perancangan dari robot mobil perlu disempurnakan dengan membuat
struktur penjepit yang dapat menjepit benda yang bentuknya tidak
beraturan.
2. Lengan jepit dikembangkan menjadi mempunyai beberapa derajat
kebebasan.

3. Ditambahkan sensor tekanan pada lengan jepit untuk dapat menjepit bendabenda yang lunak.

DAFTAR PUSTAKA

1. Wardhana, Lingga, Belajar Sendiri Mikrokontroler AVR Seri ATMega
8535 Simulasi, Hardware, dan Aplikasi, Andi, Yogyakarta, 2006
2. http://www.atmel.com/dyn/resources/prod_documents/doc1919.pdf,
25 Juli 2007.
3. www.datasheet4u.com/l293d, 21 Agustus 2007.
4. http://www.lima.com.tr, 21 Agustus 2007.
5. http://www.wikipedia.com/ps2, 10 Oktober 2007