• Tidak ada hasil yang ditemukan

Perancangan Robot Penghindar Dinding Dengan Menggunakan Sensor Infra Merah Berbasis Mikrokontroler AT89S51

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Robot Penghindar Dinding Dengan Menggunakan Sensor Infra Merah Berbasis Mikrokontroler AT89S51"

Copied!
95
0
0

Teks penuh

(1)

PERANCANGAN

ROBOT PENGHINDAR DINDING DENGAN

MENGGUNAKAN SENSOR INFRA MERAH

BERBASIS MIKROKONTROLER AT89S51

Oleh

KURNIADI

Nim. 025203033

Diajukan untuk memenuhi salah satu persyaratan untuk memperoleh Gelar Sarjana Sains Terapan

PROGRAM DIPLOMA IV

TEKNOLOGI INSTRUMENTASI PABRIK

FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

PERANCANGAN

ROBOT PENGHINDAR DINDING DENGAN

MENGGUNAKAN SENSOR INFRA MERAH

BERBASIS MIKROKONTROLER AT89S51

Oleh

K u r n i a d i Nim. 02 5203 033

Disetujui Oleh Pembimbing

Ir. M. Zulfin, MT Nip. 131 945 356

Diketahui Oleh

Ketua Program Diploma-IV Teknologi Instrumentasi Pabrik

Prof. Dr. Ir. Usman Baafai Nip. 130 365 322

PROGRAM DIPLOMA IV

TEKNOLOGI INSTRUMENTASI PABRIK

FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA

MEDAN

(3)

ABSTRAK

Robot merupakan hasil penggabungan antara perangkat keras dan perangkat lunak yang menyerupai bentuk benda tertentu dan dapat bergerak dengan sendirinya sesuai dengan program yang menggerakkannya.

Agar robot dapat bergerak sesuai dengan yang diinginkan, diperlukan perancangan khusus juga peralatan khusus yang mendukungnya, seperti peralatan mekanik dan elektrik.

Salah satu bentuk kombinasi antara peralatan mekanik dan elektrik juga perangkat lunak adalah mobil dengan sensor infra merah dan Mikrokontroller AT89S51. Dengan merancang program yang dimasukkan ke dalam Mikrokontroller AT89S51, maka robot dapat berjalan dan bergerak menghindar jika terdapat ada halangan yang berada di depan, kiri dan kanannya.

(4)

KATA PENGANTAR

Alhamdulillah, puji dan syukur penulis ucapkan kehadirat Allah SWT, karena berkat rahmat dan hidayah-Nya penulis dapat menyelesaikan Karya Akhir ini, yang merupakan salah satu persyaratan untuk menyelesaikan perkuliahan pada Program Diploma IV Teknologi Instrumentasi Industri Fakultas Teknik Universitas Sumatera Utara. Tak lupa pula selawat beriring salam penulis ucapkan kepada junjungan Nabi besar Muhammad SAW, yang telah membawa umatnya dari Zaman Jahilliyah menuju Zaman Islamiah yang penuh dengan ilmu pengetahuan seperti saat sekarang ini.

Karya akhir ini ditulis berdasarkan penelitian dan percobaan langsung terhadap rangkaian yang telah diteliti dan dipelajari dari buku dan internet. Pada Karya Akhir ini penulis membahas masalah proses pembuatan sebuah Robot yang dapat menghindari halangan yang ada di depan, kanan dan kirinya. Karya akhir ini penulis beri judul “Perancangan Robot Penghindar Dinding Dengan Menggunakan Sensor Infra Merah Berbasis Mikrokontroler AT89S51”.

Walaupun skripsi ini telah diselesaikan dengan sedemikian rupa namun penulis masih merasa ada kekurangan-kekurangan baik isi maupun teknik penulisan. Oleh sebab itu penulis mengharapkan kritik dan saran dari siapa saja yang sifatnya membangun.

(5)

menyampaikan penghargaan yang setinggi-tingginya serta ucapan terima kasih yang sebesar-besarnya kepada :

1. Ayahanda penulis Syarifuddin.B dan Ibunda penulis Nursiah. Yang tercinta, serta saudara-saudara penulis Rachmad Agustian, Syafriansyah, M.Mirza, M.Rizky, Miftah Farid.

2. Bapak Prof. Dr. Ir. Usman Baafai selaku Ketua Program Diploma IV Teknologi Instrumentasi Industri Fakultas Teknik Universitas Sumatera Utara.

3. Bapak Drs. Hasdari Helmi, MT. selaku Sekretaris Program Diploma IV Teknologi Instrumentasi Industri.

4. Bapak Ir. M. Zulfin, MT. selaku Dosen Pembimbing Karya Akhir. 5. Seluruh staf pengajar serta pegawai administrasi.

6. Teman - teman angkatan 2002 khususnya Indra, Angga, Yuliandra, Lany, Mia, Safwan, Faisal, Dannie, Riza, Dava,Ayul dan lain-lain. 7. Teman – teman di Fisika Bang Aan, Zairul dan Brian.

Penulis menyadari bahwa Karya Akhir ini masih belum sempurna dan masih banyak kekurangan dan masih jauh dari kesempurnaan dikarenakan keterbatasan pengetahuan penulis. Oleh karena itu, penulis mengharapkan saran serta kritikan yang konstruktif dan edukatif guna penyempurnaan Karya Akhir ini. Semoga Karya Akhir ini bermanfaat bagi penulis khususnya dan para pembaca pada umumnya.

Medan, Januari 2008 Penulis

(6)

DAFTAR ISI

Lembar Pengesahan

Abstrak ... i

Kata Pengantar ... ii

Daftar Isi ... iv

Daftar Gambar... vii

Daftar Tabel ... viii

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah...1

1.2. Tujuan Karya Akhir ...2

1.3. Rumusan Masalah ...2

1.4. Batasan Masalah ...2

1.5. Metode Penulisan ...3

1.6. Sistematika Penulisan ...3

BAB II LANDASAN TEORI 2.1. Teknologi Robotika...5

2.1.1. Disiplin Ilmu Pembentuk Robotika...5

2.1.2. Struktur Robot Otonom...6

2.2. Mikrokontroller AT89S51 ...7

2.2.1. Deskripsi Pin ...8

(7)

2.3. Infra Merah...14

2.3.1. Pemancar Infra Merah ( Transmitter ) ...15

2.3.2. Penerima Infra Merah ( Receiver )...15

2.4. Motor DC ...17

2.4.1. Cara Kerja Motor DC...18

2.5. Komponen Instrumentasi ...19

2.5.1. Kapasitor ...19

2.5.2. Resistor...20

2.5.3. Kristal...21

2.6. Bahasa Assembly ...21

2.6.1. Konstruksi Program Assembly ...21

2.6.2. Instruksi MCS-51 Yang Digunakan...22

BAB III PERANCANGAN ALAT 3.1. Diagram Blok ...24

3.2. Rangkaian Sistem Minimum Mikrokontroler AT89S51 ...27

3.3. Rangkaian Penguat Sensor Infra Merah...28

3.4. Rangkaian Jembatan H...31

3.5. Rangkaian Sensor Infra Merah...33

3.6. Desain Arena...34

BAB IV PEMBAHASAN RANGKAIAN DAN PROGRAM 4.1. Rangkaian Robot Penghindar dinding ...34

(8)

4.3. Pemrograman ...39

BAB V KESIMPULAN DAN SARAN

(9)

Daftar Gambar

Gambar 2.1. Disiplin Pembentukan Ilmu Robotika ...6

Gambar 2.2. Tipikal Struktur Robot Otonom ...6

Gambar 2.3. Konvigurasi pin ATMEL AT89S51...8

Gambar 2.4. Detail Mekanik Motor DC ...18

Gambar 2.5. (a) ELCO, (b) Kapasitor dan (c) Kapasitor mylar...19

Gambar 2.6. (a) Resistor tetap dan (b) LDR ...20

Gambar 2.7. Osilator/ Kristal ...21

Gambar 2.8. Bentuk Program Sumber assembly ...22

Gambar 3.1. Blok Diagram Robot Penghindar Dinding ...24

Gambar 3.2. Penguat Non Inverter ...30

Gambar 3.3. Arena Robot Penghindar Dinding ...34

Gambar 4.1. Rangkaian Robot Penghindar Dinding Secara Keseluruhan...35

(10)

Daftar Tabel

(11)

ABSTRAK

Robot merupakan hasil penggabungan antara perangkat keras dan perangkat lunak yang menyerupai bentuk benda tertentu dan dapat bergerak dengan sendirinya sesuai dengan program yang menggerakkannya.

Agar robot dapat bergerak sesuai dengan yang diinginkan, diperlukan perancangan khusus juga peralatan khusus yang mendukungnya, seperti peralatan mekanik dan elektrik.

Salah satu bentuk kombinasi antara peralatan mekanik dan elektrik juga perangkat lunak adalah mobil dengan sensor infra merah dan Mikrokontroller AT89S51. Dengan merancang program yang dimasukkan ke dalam Mikrokontroller AT89S51, maka robot dapat berjalan dan bergerak menghindar jika terdapat ada halangan yang berada di depan, kiri dan kanannya.

(12)

BAB I PENDAHULUAN

1.1.Latar Belakang Masalah

Manusia membutuhkan bantuan dari sesuatu yang dapat bekerja cepat, teliti

dan tidak mengenal lelah, robot adalah jawaban dari keinginan tersebut. Robot

diharapkan dapat bekerja pada lingkungan yang berbahaya bagi kesehatan atau

daerah yang harus diamati dengan pengamatan lebih dari kemampuan Panca

Indera manusia.

Robot yang dapat berpindah tempat tanpa campur tangan manusia disebut

juga Autonomous Mobile Robot (AMR) dan menjadi penelitian di berbagai

universitas dan lembaga penelitian di seluruh dunia. Aplikasi AMR antara lain

sebagai penyapu ranjau, kurir dan penelitian objek mineral batuan Planet di luar

angkasa.

Mikrokontroler adalah sistem komputer yang ringkas, dapat menggantikan

fungsi komputer dalam pengendalian kerja dan disain yang jauh lebih ringkas

daripada komputer. Dengan ukurannya yang kecil, mikrokontroler dapat

digunakan pada peralatan yang bersifat bergerak (mobile), seperti kendaraan dan

peralatan jinjing (portable), atau pada robot. Mikrokontroler digunakan sebagai

otak dari suatu embedded system, sebuah sistem komputer terpadu.

AT89S51 adalah chip mikrokontroler produksi Atmel Inc. merupakan

keluarga dari MCS-51 rancangan Intel. AT89S51 mempunyai fitur dasar yang

cukup lengkap untuk suatu pemrosesan input-output. Pada karya akhir ini

(13)

ruangan dengan memanfaatkan infra merah sebagai pengirim sinar infra merah

dan fotodioda sebagai penerima infra merah. Sinar infra merah akan dipantulkan

ke dinding dan diterima oleh fotodioda, pada kondisi tertentu akan diberikan

perintah tertentu agar robot dapat menghindari dinding.

1.2.Tujuan Karya Akhir

Adapun tujuan dalam penulisan Karya Akhir ini adalah:

Untuk merancang suatu alat yang dapat bergerak menghindari dinding

secara otomatis dengan menggunakan sensor infra merah berbasis mikrokontroler

AT89S51.

1.3.Rumusan Masalah

- Bagaimana cara kerja mikrokontroler yang berfungsi sebagai pusat

pengolahan data.

- Bagaimana cara membuat suatu perangkat yang dapat membuat suatu

robot yang menghindari dinding secara otomatis mulai dari perancangan

rangkaian hingga alat selesai dibuat.

1.4.Batasan Masalah

Mengingat masalah yang akan diangkat sebagai Karya Akhir ini

mempunyai ruang lingkup yang relatif luas, maka penulis membatasi masalah

Karya Akhir ini hanya pada :

- Hanya memaparkan cara kerja mikrokontroler sebagai pusat pengolahan

(14)

- Hanya membahas prinsip kerja alat dan hubungan masing-masing alat.

- Hanya membahas proses pembuatan alat.

1.5.Metode Penulisan

Metode penulisan yang digunakan dalam penulisan Karya akhir ini antara

lain adalah :

1. Dengan melakukan riset terlebih dahulu (trial and error) dan mencari

rangkaian yang setara di internet dan buku-buku yang mendukung.

2. Merancang alat mulai dari perancangan PCB dengan mengunakan

software Eagle 4.13, mentransfer gambar dengan menggunakan kertas

transfer paper ke PCB polos, kemudian dilarutkan dan selanjutnya

mengebor dan mensolder komponen ke PCB.

3. Mempelajari cara pemrograman dari buku-buku yang mendukung dan

percobaan pemrograman juga dengan trial and error.

1.6.Sistematika Penulisan

Untuk mempermudah pembahasan dalam penulisan Karya Akhir ini, maka

penulis membuat suatu sistematika penulisan. Sistematika penulisan ini

merupakan urutan bab demi bab termasuk isi dari sub-sub babnya. Adapun

sistematika penulisan tersebut adalah sebagai berikut :

BAB I : PENDAHULUAN

Bab ini berisikan tentang latar belakang pemilihan judul, tujuan

(15)

BAB II : LANDASAN TEORI

Bab ini berisikan tentang teori-teori dasar serta pembahasan

komponen-komponen yang digunakan dalam perancangan alat

yang akan dibuat.

BAB III : PERANCANGAN ALAT

Bab ini berisikan bagaimana langkah-langkah perancangan alat,

dimulai dari perancangan blok diagram rangkaian sampai dengan

pembuatan alatnya.

BAB IV : PEMBAHASAN RANGKAIAN DAN PROGRAM

Bab ini berisikan pengujian alat yang telah dibuat serta

pembahasan rangkaiannya dari segi prinsip kerja rangkaiannya

dan pembahasan program yang telah dibuat dan dimasukkan ke

dalam mikrokontroler.

BAB V : KESIMPULAN DAN SARAN

Bab ini berisikan tentang kesimpulan yang dapat diambil penulis

(16)

BAB II

LANDASAN TEORI

2.1. Teknologi Robotika

Perkembangan robot sangat berkaitan erat dengan adanya kebutuhan

dalam dunia industri modern yang menuntut adanya suatu alat dengan

kemampuan yang tinggi yang dapat membantu menyelesaikan pekerjaan manusia

ataupun untuk menyelesaikan pekerjaan yang tidak mampu diselesaikan oleh

manusia.

2.1.1 Disiplin Ilmu Pembentuk Robotika

Robot merupakan salah satu produk Mekatronika yang berkembang sangat

pesat dewasa ini, dimana pada dasarnya merupakan gabungan dari beberapa

teknologi, terutama :

 Teknologi Elektronika

 Teknologi Perangkat Lunak

 Teknologi Mekanik

Mengingat sebagian besar dari robot yang ada saat ini adalah robot yang

(17)

Elektronika

Software

Mekanika Teknologi Otomasi /

Robotika

Gambar 2.1 Disiplin ilmu pembentuk teknologi robotika

2.1.2 Struktur Robot Otonom

Dasar sistem mobile robot penghindar dinding mengacu pada dasar sistem

robot yang bergerak secara otonom. Secara umum, struktur robot yang bergerak

otonom digambarkan dalam Gambar 2.2.

Komunikasi

Gambar 2.2 Tipikal struktur robot otonom

Berdasarkan Gambar 2.2, struktur robot berupa loop tertutup yang terdiri

atas sensor, persepsi (perception), basis pengetahuan (knowledge base), kendali

(18)

Subsistem sensor menyediakan pengukuran kuantitatif terhadap kenyataan

di dalam lingkungan. Pemilihan sensor sebaiknya disesuaikan dengan misi yang

akan dijalankan. Selanjutnya subsistem persepsi melakukan proses ekstraksi

informasi dari sensor dan interpretasi informasi. Hasil pemrosesan memberikan

deskripsi tentang lingkungan secara terbatas sesuai dengan sensor yang dipakai.

Keluarannya lalu diberikan ke subsistem basis pengetahuan untuk menentukan

aksi yang akan dilakukan sesuai misinya. Oleh subsistem perencanaan dan

kendali, perintah tersebut diproses lebih lanjut untuk mengendalikan subsistem

aktuator.

2.2 Mikrokontroler AT89S51

AT89S51 adalah mikrokontroler keluaran Atmel dengan 4 Kbyte Flash

PEROM (Programmable and Erasable Read Only Memory). AT89S51

merupakan memori dengan teknologi nonvolatile memory, yaitu isi memori

tersebut dapat diisi ulang ataupun dihapus berkali-kali.

Memori ini biasa digunakan untuk menyimpan instruksi berstandar

MCS-51 sehingga memungkinkan mikrokontroler ini untuk bekerja dalam mode single

chip operation yang tidak memerlukan external memory untuk menyimpan source code tersebut.

2.2.1 Deskripsi Pin

AT89S51 mempunyai 40 kaki, 32 kaki diantaranya adalah kaki untuk

keperluan port paralel. Satu port paralel terdiri dari 8 kaki, dengan demikian 32

(19)

sebagai Port-0, Port-1, Port-2 dan Port-3. Nomor dari masing-masing kaki dari

port paralel mulai dari 0 sampai 7. Jalur atau kaki pertama Port-0 disebut sebagai

P0.0 dan jalur terakhir untuk port-0 adalah P0.7. Letak dari masing-masing port

diperlihatkan pada Gambar 2.3

Gambar 2.3 Konfigurasi pin ATMEL AT89S51

Adapun nama dan fungsi dari kaki-kaki pin pada mikrokontroler

AT89C51 adalah sebagai berikut:

1. VCC (pin 40) : Power supply

2. GND (pin 20) : Ground

3. Port 0 (pin 32 – 39)

Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data

ataupun menerima kode byte pada saat Flash Programming. Pada fungsi

(20)

Input atau dapat diubah sebagai input dengan memberikan logika 1 pada port

tersebut. Pada fungsi sebagai low order multiplex address/data port ini akan

mempunyai internal pull up. Pada saat Flash Programming diperlukan

external pull up terutama pada saat verifikasi program. 4. Port 1 (pin 1 – 8)

Port 1 berfungsi sebagai I/O biasa atau menerima low order address bytes

pada saat Flash Programming. Port ini mempunyai internal pull up dan

berfungsi sebagai input dengan memberikan logika 1. Sebagai output port ini

dapat memberikan output sink keempat buah input TTL.

5. Port 2 (pin 21 – 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat

mengakses memori secara 16 bit (Movx @Dptr). Pada saat mengakses

memori secara 8 bit, (Mov @Rn) port ini akan mengeluarkan isi dari P2

Special Function Register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat

memberikan outputsink keempat buah input TTL.

6. Port 3 (pin 10 – 17)

Sebagai I/O biasa port 3 mempunyai sifat yang sama dengan port 1 maupun

port 2. Port 3 menyediakan beberapa fungsi khusus sebagaimana diperlihatkan

pada tabel 2.1

Tabel 2.1 Fungsi-fungsi alternatif pada port 3

Kaki Port Fungsi Alternatif

P3.0 RXD (port input serial)

(21)

P3.2 INT0 (interupsi eksternal 0)

P3.3 INT1 (interupsi eksternal 1)

P3.4 T0 (input eksternal timer 0)

P3.5 T1 (input eksternal timer 1)

P3.6 WR (sinyal write pada data memori eksternal)

P3.7 RD (sinyal read pada data memori eksternal)

Fungsi-fungsi alternatif pada tabel diatas hanya dapat diaktifkan jika bit-bit

pengancing (latch) port yang bersangkutan berisi ‘1’.

7. RST (pin 9)

Masukan reset kondisi 1 selama 2 siklus mesin selama osilator bekerja akan

me-reset mikrokontroler yang bersangkutan ke alamat awal.

8. ALE/PROG (pin 30)

Pin ini dapat berfungsi sebagai Address Latch Enable (ALE) yang me-latch

low byte address pada saat mengakses memori eksternal. Sedangkan pada saat

Flash Programming (PROG) berfungsi sebagai pulse input. Pada operasi

normal ALE akan mengeluarkan sinyal clock sebesar 1/16 frekuensi oscillator

kecuali pada saat mengakses memori eksternal. Sinyal clock pada pin ini dapat

pula di-disable dengan men-set bit 0 dari special function register di alamat 8EH. ALE hanya akan aktif pada saat mengakses memori eksternal (MOVX

& MOVC)

9. PSEN (pin 29)

Pin ini berfungsi pada saat mengeksekusi program yang terletak pada memori

(22)

__

10. EA/VPP (pin 31)

__

Pada kondisi low, pin ini akan berfungsi sebagai External Acces Enable (EA),

yaitu mikrokontroler akan menjalankan program yang ada pada memori

eksternal setelah sistem di-reset. Jika berkondisi high, pin ini akan berfungsi untuk menjalankan program yang ada di memori internal.

11. XTAL1 (pin 19) : input oscillator

12. XTAL2 (pin 18) : output oscillator

2.2.2 Struktur Memori

AT89S51 mempunyai struktur memori yang terdiri dari :

1. RAM Internal

RAM internal memiliki memori sebesar 128 byte yang biasanya

digunakan untuk menyimpan variabel atau data yang bersifat sementara, dialamati

oleh RAM Address Register (Register Alamat RAM). RAM internal terdiri atas :

a. Register Banks

89S51 memiliki delapan buah register yang terdiri dari R0 sampai R7 yang

terletak pada alamat 00H hingga 07H pada setiap kali reset.

b. Bit Addressable RAM

RAM dengan alamat 20H hingga 2FH dapat diakses secara pengalamatan

bit (bit addressable) sehingga hanya dengan sebuah instruksi saja setiap bit dalam area ini dapat di-set, clear, AND dan OR.

(23)

RAM keperluan umum dimulai dari alamat 30H hingga 7FH dan dapat

diakses dengan pengalamatan langsung maupun tak langsung.

Pengalamatan langsung dilakukan ketika salah satu operand merupakan

bilangan yang dialamati. Sedangkan pengalamatan tak langsung pada

lokasi dari RAM Internal ini adalah akses data dari memori ketika alamat

memori tersebut tersimpan dalam suatu register R0 atau R1 yang dapat

digunakan sebagai pointer dari lokasi memori pada RAM Internal.

2. Special Function Register (Register Fungsi Khusus)

Memori yang berisi register-register yang memiliki fungsi khusus yang

tersediakan oleh mikrokontroler, seperti timer, serial dan lain-lain. AT89S51

memiliki 21 Special Function Register yang terletak pada alamat 80H hingga

FFH dengan rincian pada tabel 2.2. Salah satu contoh dari Special Function

Register adalah Accumulator, register ini terletak pada alamat E0H. Semua operasi aritmatika dan operasi logika dan proses pengambilan dan pengiriman

data ke memori selalu menggunakan register ini.

Tabel 2.2 Alamat register fungsi khusus

Register Mnemonic Alamat

P0 Port 0 Latch 80H

SP Stack Pointer 81H

DPTR Data Pointer 82H-83H

DPL Data Pointer Low Byte 82H

DPH Data Pointer High Byte 83H

PCON Power Control 87H

(24)

TMOD Timer/Counter Mode Control 89H

TL0 Timer/Counter 0 Low Byte 8AH

TL1 Timer/Counter 1 Low Byte 8BH

TH0 Timer/Counter 0 High Byte 8CH

TH1 Timer/Counter 1 High Byte 8DH

P1 Port 1 Latch 90H

IP Interrupt Priority Control B8H

PSW Program Status Word D0H

ACC Accumulator E0H

B Register B F0H

3. Flash PEROM

Memori yang digunakan untuk menyimpan instruksi-instruksi MCS-51

dialamati oleh Program Address Register (Register Alamat Program).

AT89S51 memiliki 4 Kb Flash PEROM yang menggunakan Atmel’s

High-Density Non Volatile Technology.

Program yang ada pada Flash PEROM akan dijalankan jika pada saat

__

sistem di-reset, pin EA/VP berlogika satu maka mikrokontroler aktif

(25)

__

EA/VPP berlogika nol, mikrokontroler aktif berdasarkan program yang ada

pada memori eksternal.

2.3 Infra Merah

Cahaya infra merah merupakan cahaya yang tidak tampak. Jika dilihat

dengan dengan spektroskop cahaya maka radiasi cahaya infra merah akan tampak

pada spektrum elektromagnet dengan panjang gelombang di atas panjang

gelombang cahaya merah. Dengan panjang gelombang ini maka cahaya infra

merah ini akan tidak tampak oleh mata namun radiasi panas yang ditimbulkannya

masih terasa/dideteksi.

Pada dasarnya komponen yang menghasilkan panas juga menghasilkan

radiasi infra merah termasuk tubuh manusia maupun tubuh binatang. Cahaya infra

merah, walaupun mempunyai panjang gelombang yang sangat panjang tetap tidak

dapat menembus bahan-bahan yang tidak dapat melewatkan cahaya yang nampak

sehingga cahaya infra merah tetap mempunyai karakteristik seperti halnya cahaya

yang nampak oleh mata.

Pada pembuatan komponen yang dikhususkan untuk penerima infra merah

lubang untuk menerima cahaya (window) sudah dibuat khusus sehingga dapat

mengurangi interferensi dari cahaya non-infra merah. Oleh sebab itu sensor infra

merah yang baik biasanya jendelanya (pelapis yang terbuat dari silikon) berwarna

biru tua keungu-unguan. Sensor ini biasanya digunakan untuk aplikasi infra merah

(26)

2.3.1 Pemancar Infra Merah (Transmitter)

Infra merah dapat digunakan baik untuk memancarkan data maupun sinyal

suara. Keduanya membutuhkan sinyal carrier untuk membawa sinyal data

maupun sinyal suara tersebut hingga sampai pada receiver.

Untuk transmisi sinyal suara biasanya digunakan rangkaian voltage to

frequency converter yang berfungsi untuk mengubah tegangan sinyal suara menjadi frekuensi. Untuk transmisi data biasanya sinyal ditransmisikan dalam

bentuk pulsa-pulsa. Ketika sebuah tombol ditekan pada remote control, maka

transmiter infra merah akan mentransmitkan sebuah sinyal yang akan dideteksi sebagai urutan data biner.

2.3.2 Penerima Infra Merah (Receiver)

Komponen yang dapat menerima infra merah ini merupakan komponen

peka cahaya yang dapat berupa dioda (photodioda) atau transistor

(phototransistor). Komponen ini akan merubah energi cahaya, dalam hal ini energi cahaya infra merah sebanyak mungkin sehingga pulsa sinyal listrik yang

dihasilkan kualitasnya cukup baik. Pada prakteknya sinyal infra merah yang

diterima intensitasnya sangat kecil sehingga perlu dikuatkan.

Dalam penerimaan infra merah, sinyal ini merupakan sinyal infra merah

yang termodulasi. Pemodulasian sinyal data dengan sinyal carrier dengan

frekuensi tertentu akan dapat memperjauh transmisi data sinyal infra merah.

Sebuah receiver infra merah dilengkapi dengan lensa cembung yang

mempunyai sifat mengumpulkan cahaya. Lensa tersebut juga merupakan filter

(27)

merah saja. Walaupun demikian cahaya yang nampakpun masih bisa mengganggu

kerja dari receiver infra merah karena tidak semua cahaya nampak bisa difilter

dengan baik. Oleh karena itu harus difilter pada frekeunsi sinyal carrier yaitu

pada 30 KHz sampai 40 KHz. Selanjutnya baik photodioda maupun

phototransistor disebut sebagai photodetector.

Konfigurasi photodetector yang umum dipakai adalah mode bias terbalik,

dimana photodetector dibias dengan tegangan eksternal yang sesuai dengan

karakteristik photodetector yang digunakan.

Ketika photodetector ini mendapat cahaya, dalam hal ini cahaya infra

merah maka terdapat arus bocor yang relatif kecil. Besar-kecilnya arus bocor ini

tergantung dari intensitas cahaya infra merah yang mengenai photodetector

tersebut.

Sebuah photodioda, biasanya mempunyai karakteristik yang lebih baik

dari pada phototransistor dalam responnya terhadap cahaya infra merah. Biasanya

photodioda mempunyai respon 100 kali lebih cepat dari pada phototransistor.

Oleh sebab itulah para designer cenderung menggunakan photodioda daripada

menggunakan phototransistor. Tetapi sebuah phototransistor tetap mempunyai

keunggulan yaitu mempunyai kemampuan untuk menguatkan arus bocor menjadi

ratusan kali jika dibandingkan dengan photodioda.

Faktor yang berpengaruh pada kemampuan penerima infra merah adalah

active area’ dan ‘respond time’. Semakin besar area penerimaan suatu dioda infra merah maka semakin besar pula intensitas cahaya yang dikumpulkannya

sehingga arus bocor yang diharapkan pada teknik bias terbalik semakin besar.

(28)

semakin besar. Kelemahan area penerimaan yang semakin besar ini adalah noise

yang dihasilkan juga semakin besar pula. Begitu juga dengan respon terhadap

frekuensi, semakin besar area penerimaannya maka respon frekuansinya turun dan

sebaliknya jika area penerimaannya kecil maka respon terhadap sinyal frekuensi

tinggi cukup baik.

Respond time dari suatu dioda infra merah (penerima) mempunyai waktu

respon yang biasanya dalam satuan nano detik. Respond time ini mendefinisikan

lama agar dioda penerima infra merah merespon cahaya infra merah yang datang

pada area penerima. Sebuah dioda penerima infra merah yang baik paling tidak

mempunyai respond time sebesar 500 nano detik atau kurang. Jika respond time

terlalu besar maka dioda infra merah ini tidak dapat merespon sinyal cahaya yang

dimodulasi dengan sinyal carrier frekuensi tinggi dengan baik. Hal ini akan

mengakibatkan adanya data loss.

2.4 Motor DC

Motor adalah suatu mesin yang berfungsi mengubah tenaga listrik menjadi

tenaga mekanik. Pada motor DC tenaga mekanik tersebut berupa putaran rotor

secara kontinu. Pada dasarnya motor DC mempunyai dua bagian penting yaitu

bagian stator dan bagian rotor. Lebih jelasnya bagian dari motor DC diperlihatkan

pada gambar 2.4.

 Bagian stator

Stator ialah bagian yang tinggal tetap (tidak bergerak) yang terdiri dari

rumah dengan kutub magnet yang dibuat dari pelat-pelat yang dipejalkan dengan

(29)

 Bagian rotor

Rotor ialah bagian yang bergerak yang terdiri dari silinder dibuat dari

pelat-pelat yang dipejalkan yang diberi saluran sebagai tempat kumparan yang

biasa disebut armatur. Pada armatur terpasang kolektor/komutator yang terdiri

dari sigmen-sigmen yang berhubungan dengan gulungan armatur. Fungsi

komutator adalah membalik arah aliran arus listrik yang melalui kumparan

armaturnya. Pada saat kumparan armatur berpindah dari kutub utara ke kutub

selatan (atau sebaliknya), untuk mendapatkan putaran motor sesuai dengan yang

dikehendaki.

Gambar 2.4 Detail mekanik motor DC

2.4.1 Cara Kerja Motor DC

Prinsip kerja dari motor DC berdasarkan pada penghantar yang membawa

arus kedalam kumparan sehingga kumparan akan menimbulkan medan magnet.

Medan magnet ini dibuat sedemikian rupa sehingga keadaannya selalu tolak

menolak antara medan magnet yang ditimbulkan stator dan medan magnet yang

ditimbulkan rotor sehingga didapat gaya dorong diantara keduanya maka timbulah

(30)

Pada motor DC magnet permanen tegangan armaturnya dapat diatur

dengan cara mengatur besar arus yang lewat pada armatur, karena besar arus

sebanding dengan kecepatan motor. Sedangkan untuk mengubah arah putaran

motor DC dengan cara membalikkan polaritas sumber tegangannya.

2.5. Komponen Instrumentasi

Komponen instrumentasi yang digunakan pada rangkaian ini diantaranya

adalah kapasitor, resistor dan kristal.

2.5.1 Kapasitor

Kapasitor disebut juga Kondensator, yaitu komponen yang berfungsi

untuk menyimpan muatan/tegangan listrik atau menahan arus searah. Kapasitor

ELCO (Electrolig capasitor) memiliki kekutuban atau polaritas yaitu tanda positif

dan tanda negatif. Jika dalam pemasangan kutub-kutub ELCO (Electrolig

capasitor) terbalik maka kapasitor akan rusak. Untuk satuan dari ELCO (Electrolig capasitor) adalah mikro Farat, kapasitor keramik adalah piko Farat dan kapasitor mylar adalah nano Farat. Simbol dan contoh dari kapasitor diperlihatkan

oleh gambar 2.5.

(31)

20

2.5.2 Resistor

Secara umum berfungsi sebagai penghambat arus, satuannya adalah ohm.

Untuk mengetahui nilai hambatan dari resistor dapat ditelusuri dengan

memperhatikan cincin kode warna atau tulisan pada badan resistor seperti gambar

2.6 (a).

LDR (Light Dependent Resistor) merupakan salah satu jenis dari resistor

yang besar hambatannya bisa berubah oleh pengaruh cahaya. Simbol dan contoh

dari LDR diperlihatkan oleh gambar 2.6 (b). LDR ini bisa digunakan sebagai

sensor.

(a) (b)

a

Gambar 2.6 (a) Resistor tetap dan (b) LDR

2.5.3 Kristal

Kristal merupakan pembangkit clock internal yang menentukan rentetan

kondisi-kondisi (state) yang membentuk sebuah siklus mesin mikrokontroler.

Siklus mesin tersebut diberi nomor S1 hingga S6, masing-masing kondisi

panjangnya 2 periode osilator, dengan demikian satu siklus mesin paling lama

(32)

dalam skala MHZ ( Mega Hezt ) dengan betuk dan simbol kristal diperlihatkan

oleh gambar 2.11.

Gambar 2.7 Osilator/ Kristal

2.6. Bahasa Assembly

Assembler adalah program komputer yang men-transliterasi program dari

bahasa assembly ke bahasa mesin. Sedangkan bahasa assembly adalah ekivalensi

bahasa mesin dalam bentuk alfanumerik. Mnemonics alfanumerik digunakan

sebagai alat bantu bagi programer untuk memprogram mesin komputer daripada

menggunakan serangkaian 0 dan 1 (bahasa mesin) yang panjang dan rumit.

2.6.1. Konstruksi Program Assembly

Program sumber assembly terdiri dari kumpulan baris-baris perintah dan

biasanya disimpan dengan extension .ASM dengan 1 baris untuk satu perintah,

setiap baris perintah tersebut bisa terdiri atas beberapa bagian, yakni bagian label,

bagian mnemonic, bagian operand yang bisa lebih dari satu dan terakhir bagian

komentar seperti yang terlihat pada gambar 2.12. Program sumber (source code)

dibuat dengan program editor seperti Notepad atau Editor DOS, selanjutnya

(33)

assembler. Hasil kerja program assembler adalah “program objek” dan juga “assembly listing”. Ketentuan penulisan source code adalah sebagai berikut :

1. Masing-masing bagian dipisahkan dengan spasi atau TAB, khusus untuk

operand yang lebih dari satu masing-masing operand dipisahkan dengan koma.

2. Bagian-bagian tersebut tidak harus semuanya ada dalam sebuah baris, jika ada

satu bagian yang tidak ada maka spasi atau TAB sebagai pemisah bagian tetap

harus ditulis.

3. Bagian label ditulis mulai huruf pertama dari baris, jika baris bersangkutan

tidak mengandung label maka label tersebut digantikan dengan spasi atau

TAB, yakni sebagai tanda pemisah antara bagian label dan bagian mnemonic.

IsiMemori: Movx @DPTR,A ;Isi Akumulator ke alamat yang ditunjuk oleh DPTR

Label Mnemoni

Gambar 2.8 Bentuk program sumber assembly

2.6.2. Instruksi MCS-51 Yang Digunakan

Beberapa instruksi yang digunakan dalam penyusunan program robot

penghindar dinding adalah sebagai berikut :

1. BIT

Pengarah BIT digunakan untuk mendefinisikan suatu lambang yang menunjuk

(34)

2. END

END biasanya diletakkan di akhir baris dari file program sumber assembler

sebagai tanda akhir pernyataan (statement) bagi program assembler dalam

melakukan proses assembly.

3. MOV

Instruksi ini melakukan pemindahan data dari variabel pada kode operasi

kedua dan disimpan di variabel pada kode operasi pertama.

4. ACALL

Instruksi melakukan lompatan dengan area sebesar 2 Kbyte.

5. LJMP

Melompat dan menjalankan program yang berada di alamat yang ditentukan

oleh variabel yang ditunjuk.

6. SJMP

Melakukan lompatan ke alamat yang ditentukan oleh variabel dengan

lompatan maksimum sebesar 128 byte.

7. CJNE

Instruksi ini melakukan perbandingan antara data tujuan dan data sumber serta

melakukan lompatan ke alamat yang ditentukan jika hasil perbandingan tidak

sama.

8. RET

Instruksi ini melakukan lompatan ke alamat yang disimpan dalam SP dan SP1.

Instruksi ini biasa digunakan pada saat kembali dari subroutine yang dipanggil

(35)

BAB III

PERANCANGAN ALAT

3.1. Diagram Blok

Secara garis besar, diagram blok robot penghindar dinding berbasis

mikrokontroler AT89S51 dapat ditunjukkan pada gambar 3.1. di bawah ini :

Gambar 3.1. Blok Diagram Robot Penghindar Dinding

Pada diagram blok di atas jelas terlihat keterhubungan masing-masing

perangkat dari peralatan robot penghindar dinding. Dimulai dari LED Infra Merah

sebagai sumber sinar infra merah yang dipancarkan ke dinding. Kemudian sinar

infra merah dipantulkan oleh dinding, sehingga sinar infra merah dapat diterima

oleh fotodioda. Keluaran dari fotodioda dihubungkan ke penguat operasional (Op

Amp). Penguatan tegangan dari fotodioda diatur sedemikian rupa sehingga untuk

satu sensor dapat mengetahui dua buah jarak. Pada kondisi tertentu motor akan

diperintahkan oleh mikrokontroler untuk maju, belok kanan dan belok kiri.

Dari diagram blok diatas, jelas diterangkan tentang penjelasan

keterhubungan masing-masing alat secara umum. Selain itu, pada Bab ini juga

(36)

rangkaian pada Project Board hingga mengisi program ke mikrokontroler. Langkah-langkah yang dilakukan adalah sebagai berikut :

 Merangkai rangkaian setara (yang didapat dari buku atau internet) pada

Project Board (papan percobaan).

 Jika alat berhasil bekerja, membuat rangkaian skematik dan layout PCB

(Printed Project Board) dengan menggunakan software Eagle 4.16r yang telah di crack terlebih dahulu.

Layout PCB yang telah berhasil dibuat, di-print pada kertas transfer

(transfer paper) dengan menggunakan printer laser.

 Sebelum layout PCB digosokkan dengan menggunakan strika pada kondisi

paling panas, PCB terlebih dahulu digosok dengan kertas pasir agar

permukaan PCB sedikit kasar sehingga proses pemindahan layout PCB

dan pensolderan timah ke PCB lebih mudah dikerjakan.

 PCB yang diatasnya telah terdapat layout rangkaian dilarutkan dengan

menggunakan larutan klorida. Proses penglarutan ini berguna untuk

menghilangkan tembaga yang tidak terkena layout rangkaian, sehingga

yang tertinggal hanyalah layout rangkaian.

Layout rangkaian yang tertinggal di PCB dibersihkan dengan

menggunakan air. Tinta yang masih tertinggal pada PCB dapat

dihilangkan dengan menggunakan cairan Terpentin.

 Setelah dibersihkan, PCB dapat dilubangi dengan menggunakan mata bor

(37)

 Pada kondisi ini PCB telah siap dipasangi dengan komponen. Tetapi

sebelum PCB dipasangi komponen, PCB di cat dengan cat semprot agar

PCB kelihatan lebih bagus penampilannya.

 Setelah selesai di cat, barulah PCB dirangkai bersama komponen

diatasnya. Setelah seluruh rangkaian selesai disolder, rangkaian disusun

diatas acrylic agar kelihatan lebih rapi.

 Berikutnya adalah mengkoneksikan seluruh rangkaian dengan

menggunakan kabel (pada perancangan ini digunakan kabel pelangi)

sesuai dengan urutan yang benar.

Finishing-nya adalah pemrograman. Pemrograman mikrokontroler

AT89S51 menggunakan bahasa assembly.

 Setelah program selesai dibuat dengan menggunakan Software 8051

Editor, Assembler, Simulator (IDE), program dapat di-assemble yang

berfungsi agar program yang ditulis berubah menjadi bilangan

heksadesimal.

 Pengiriman program ini kedalam mikrokontroler dapat menggunakan

Software Downloader (ISP – Flash Programmer 3.0a) dan hardware-nya

bernama ISP Programmer yang dihubungkan ke komputer melalui port

paralel.

 DB25 dari ISP Programmer dihubungkan ke port paralel yang ada di

komputer (biasanya lebih dikenal dengan port printer).

 Setelah terhubung, barulah program dapat di write (ditulis) ke dalam

(38)

 Apabila program dibuat dengan benar dan sesuai harapan, maka peralatan

akan bekerja sesuai dengan yang diharapkan .

 Selesai.

3.2. Rangkaian Sistem Minimum Mikrokontroler AT89S51

Rangkaian skematik sistem minimum mikrokontroler AT89S51 dapat

dilihat pada Lampiran 1. Pin 18 dan 19 dihubungkan ke XTAL 11,0592 MHz dan

dua buah kapasitor 30 pF. XTAL ini akan mempengaruhi kecepatan

mikrokontroler AT89S51 dalam mengeksekusi setiap perintah dalam program.

Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi

akan me-reset mikrokontroler ini. Pin 32 sampai 39 adalah Port 0 yang

merupakan saluran/bus I/O 8 bit open collector dapat juga digunakan sebagai

multipleks bus alamat rendah dan bus data selama adanya akses ke memori

program eksternal.

Karena fungsi tersebut maka Port 0 dihubungkan dengan resistor array.

Jika mikrokontroler tidak menggunakan memori eksternal, maka penggunaan

resistor array tidak begitu penting. Selain digunakan untuk fungsi diatas resistor

array digunakan sebagai pull up resistor.

Mikrokontroler AT89S51 membutuhkan logika high (1) selama 2 siklus

(cycle) pada kaki RST agar reset mikrokontroler dapat terjadi secara otomatis. Dengan menggunakan kristal 11,0592 MHz, dari rumus :

(39)

Selama 2 siklus berarti 0,92 x 2 = 184 µs.

Waktu pengisian kapasitor elektrolis 10 uF 16v yang dihubungkan dengan

resistor 8k2 Ohm. Diketahui, Tahanan = R = 8200 Ohm, muatan kapasitor = Q =

10 x 10-6 Farad.

Ts = 4RC

= 4 x 8200 x 10 x 10-6

= 0,328 detik

Jadi kapasitor 10 uF 16v sudah cukup untuk mereset otomatis

mikrokontroler. Untuk men-download file heksadesimal ke mikrokontroler, Mosi,

Miso, Sck, Reset, Vcc dan Gnd dari kaki mikrokontroler dihubungkan ke RJ45.

RJ45 sebagai konektor yang akan dihubungkan ke ISP Programmer. Dari ISP

Programmer inilah dihubungkan ke komputer melalui port paralel.

Kaki Mosi, Miso, Sck, Reset, Vcc dan Gnd pada mikrokontroler terletak

pada kaki 6, 7, 8, 9, 40 dan 20. Apabila terjadi keterbalikan pemasangan jalur ke

ISP Programmer, maka pemograman mikrokontroler tidak dapat dilakukan karena mikrokontroler tidak akan bisa merespon.

3.3. Rangkaian Penguat Sensor Infra Merah

Rangkaian skematik Rangkaian Penguat Sensor Infra Merah dapat dilihat

pada Lampiran 1.

Dari rangkaian skematik jelas terlihat bahwa dari kaki positif fotodioda

dihubungkan secara langsung ke kaki 3 Op Amp 358 sebagai input yang

tegangannya akan dikuatkan (dinaikkan). Tegangan yang lemah yang berasal dari

(40)

oleh Op Amp sebanyak dua kali penguatan (agar jarak sensor dengan dinding bisa

lebih jauh). Antara kaki 1 dan kaki 2 serta antara kaki 6 dengan kaki 7

dihubungkan dengan trimmer potensiometer 100kΩ yang berfungsi sebagai

perbandingan.

Ada dua aturan penting dalam melakukan analisa rangkaian op-amp

berdasarkan karakteristik op-amp ideal. Aturan ini dalam beberapa literatur

dinamakan golden rule, yaitu :

Aturan 1 : Perbedaan tegangan antara input v+ dan v- adalah nol (v+ - v- = 0 atau

v+ = v- )

Aturan 2 : Arus pada input Op-amp adalah nol (i+ = i- = 0)

Inilah dua aturan penting op-amp ideal yang digunakan untuk menganalisa

rangkaian op-amp.

Non Inverting Amplifier

Prinsip utama rangkaian penguat non-inverting adalah seperti yang

diperlihatkan pada gambar 3.2. berikut ini. Seperti namanya, penguat ini memiliki

masukan yang dibuat melalui input non-inverting. Dengan demikian tegangan

keluaran rangkaian ini akan satu fasa dengan tegangan inputnya. Untuk

menganalisa rangkaian penguat op-amp non inverting, caranya sama seperti

menganalisa rangkaian inverting.

Dengan menggunakan aturan 1 dan aturan 2, uraikan beberapa fakta yang

ada, antara lain :

vin = v+

(41)

Gambar 3.2. Penguat Non Inverting

Dari sini ketahui tegangan jepit pada R2 adalah vout – v- = vout – vin, atau iout =

(vout-vin)/R2. Lalu tegangan jepit pada R1 adalah v- = vin, yang berarti arus iR1 =

vin/R1.

Hukum kirchkof pada titik input inverting merupakan fakta yang mengatakan

bahwa :

iout + i(-) = iR1

Aturan 2 mengatakan bahwa i(-) = 0 dan jika disubsitusi ke rumus yang

sebelumnya, maka diperoleh:

iout = iR1 dan Jika ditulis dengan tegangan jepit masing-masing maka diperoleh

(vout – vin)/R2 = vin/R1 yang kemudian dapat disederhanakan menjadi :

vout = vin (1 + R2/R1)

Jika penguatan G adalah perbandingan tegangan keluaran terhadap tegangan

masukan, maka didapat penguatan op-amp non-inverting :

... (3.2.)

Pada rangkaian ini digunakan R1 sebesar 10k dan R2 antara 0 – 100k

Ohm. Jadi didapat G = 1 + (100k/10k) = 11 kali penguatan. Jika tegangan input

(42)

multimeter digital dengan jarak sensor dan dinding sekitar 8 cm), maka setelah

dikuatkan akan menjadi 0,01 x 11 = 0,11 volt. 0,11 volt merupakan output pada

penguatan pertama (yakni tegangan pada kaki 1). 0,11 volt dijadikan input untuk

penguatan yang kedua (karena 0,11 volt belum bisa mengaktifkan transistor NPN

C945). Setelah dikuatkan pada penguatan yang kedua, maka tegangan output pada

penguatan kedua menjadi 0,11 x 11 = 1,21 volt. Tegangan 1,21 volt sudah dapat

mengaktifkan transistor NPN C945 (tegangan kerja transistor 0,7 Volt).

3.4. Rangkaian Jembatan H

Rangkaian skematik Rangkaian Jembatan H dapat dilihat pada Lampiran

1. Untuk menghindari dinding, maka robot harus dapat mengendalikan perputaran

rodanya. Robot menggunakan 2 buah motor DC 5 volt untuk menggerakkan

rodanya, dimana 1 motor untuk menggerakkan roda sebelah kanan dan 1 motor

lagi untuk menggerakkan roda sebelah kiri. Untuk mengendalikan ke-2 motor ini

digunakan rangkaian jembatan H.

Pada rangkaian di atas, jika P2.0 diset high yang berarti P2.0 mendapat

tegangan 5 volt, maka kedua transistor tipe NPN C945 yang disebelah kiri akan

aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan

mendapat tegangan 0 volt dari ground. Kolektor dari transistor C945 yang berada

di sebelah kiri atas diumpankan ke basis dari transistor tipe PNP BD 434 sehingga

basis dari transistor BD 434 mendapatkan tegangan 0 volt yang menyebabkan

transistor ini aktif (transistor tipe PNP akan aktif jika tegangan pada basis lebih

(43)

kolektornya terhubung ke emitor sehingga kolektor mendapatkan tegangan 5 volt

dari Vcc.

Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah

diumpankan ke basis dari transistor tipe NPN BD 433 sehingga basis dari

transistor BD 433 mendapatkan tegangan 0 volt yang menyebabkan transistor ini

tidak aktif (transistor tipe NPN akan aktif jika tegangan pada basis lebih besar dari

0,7 volt). Karena transistor BD 433 ini tidak aktif, maka kolektornya tidak

terhubung ke emitor, sehingga kolektor tidak mendapatkan tegangan 0 volt dari

ground.

Karena kolektor BD 433 dihubungkan dengan kolektor BD 434 yang

mendapatkan tegangan 5 volt dari Vcc, maka kolektor dari BD 433 juga

mendapatkan tegangan yang sama. Hal ini menyebabkan kaki motor sebelah kiri

mendapatkan tegangan 5 volt (polaritas positif).

Agar motor dapat berputar ke satu arah maka kaki sebelah kanan motor

harus mendapatkan tegangan 0 volt (polaritas negatif). Hal ini diperoleh dengan

memberikan logika low (0) pada P2.1 mikrokontroler AT89S51.

Pada rangkaian di atas, jika P2.1 diset low yang berarti P2.1 mendapat

tegangan 0 volt, maka kedua transistor tipe NPN C945 yang disebelah kanan tidak

akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan

mendapat tegangan 5 volt dari Vcc. Kolektor dari transistor C945 yang berada di

sebelah kanan atas diumpankan ke basis dari transistor tipe PNP BD 434 sehingga

basis dari transistor BD 434 mendapatkan tegangan 5 volt yang menyebabkan

transistor ini tidak aktif. Karena transistor PNP BD 434 tidak aktif maka

(44)

tegangan 5 volt dari Vcc, tetapi mendapatkan tegangan yang berasal dari transistor

BD 433 yang berada di bawahnya.

Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah

diumpankan ke basis dari transistor tipe NPN BD 433 sehingga basis dari

transistor BD 433 mendapatkan tegangan 5 volt yang menyebabkan transistor ini

menjadi aktif. Karena transistor BD 433 ini menjadi aktif, menyebabkan

kolektornya terhubung ke emitor, sehingga kolektor mendapatkan tegangan 0 volt

dari ground.

Karena kolektor BD 433 yang mendapatkan teganagan 0 volt dari ground

dihubungkan dengan kolektor BD 434, maka kolektor dari BD 434 juga

mendapatkan tegangan yang sama. Hal ini menyebabkan kaki motor sebelah

kanan mendapatkan tegangan 0 volt (polaritas negatif). Hal ini akan menyebabkan

motor akan berputar ke satu arah tertentu. Sedangkan untuk memutar motor

kearah sebaliknya, maka logika yang diberikan ke P2.0 adalah low (0) dan logika

yang diberikan ke P2.1 adalah high (1).

3.5. Rangkaian Sensor Infra Merah

Rangkaian skematik Sensor Infra Merah dapat dilihat pada Lampiran 1.

Pada rangkaian Sensor Infra Merah ini menggunakan dua buah Photodioda yang

fungsinya adalah untuk mengenali dua buah jarak yaitu jarak jauh dan jarak dekat.

Pada gambar jelas terlihat sebelum tegangan 5 volt dihubungkan ke infra merah

dihubungkan terlebih dahulu ke tahanan. Tahanan yang digunakan adalah 100

(45)

besar arus yang melewati infra merah maka semakin besar pula pancaran sinar

infra merahnya. Kaki fotodioda yang negatif dihubungkan langsung ke Vcc.

3.6. Desain Arena

Gambar Arena Robot Penghindar Dinding dapat dilihat pada Gambar 3.3.

Gambar 3.3. Arena Robot Penghidar Dinding

Arena robot penghindar dinding yang dirancang hanyalah berbentuk segi

empat sama sisi dengan panjang sisi-sisinya 120 cm pada bagian luar dan pada

(46)

BAB IV

PEMBAHASAN RANGKAIAN DAN PROGRAM

4.1. Rangkaian Robot Penghindar Dinding

Rangkaian Robot Penghindar Dinding secara keseluruhan dapat dilihat

pada Gambar 4.1.

(47)

Pada Gambar tersebut jelas terlihat keterhubungan seluruh rangkaian

Robot Penghindar Dinding. Prinsip kerja robot ini dari awal hingga akhir dapat

dijelaskan sebagai berikut :

1. LED Infra Merah memancarkan sinar infra merah kearah depan, samping

kanan dan samping kiri robot. Fotodioda menunggu sinar infra merah yang

dipancarkan oleh LED infra merah. Ketika infra merah dipantulkan oleh

dinding yang berwarna putih dan diterima oleh fotodioda serta dikuatkan

oleh Op Amp sehingga setelah dikuatkan sedemikian rupa, keluaran Op

Amp dapat mengaktifkan transistor NPN C945. Dari kaki kolektor C945

dihubungkan ke mikrokontroler sebagai input. Input dari rangkaian

penguat sensor infra merah ini merupakan aktif low.

2. Jadi ketika fotodioda menerima sinar infra merah, keadaan yang diterima

oleh mikrokontroler berkondisi low (0). Sensor infra merah yang

digunakan ada 8 buah. Jika dimisalkan suatu kondisi bernilai 01000001

atau 41 heksadesimal, maka robot akan diperintahkan untuk maju (data

tabel kebenaran terhadap posisi sensor dapat dilhat pada lampiran 2).

3. Pada kondisi yang lain, robot dapat diperintahkan untuk belok kekanan

atau kekiri sebanyak 25 derajat dan 90 derajat. Banyaknya belokan dapat

(48)

4.2. Diagram Alir (Flowchart)

Cara kerja Robot Penghindar Dinding yang dirancang dijelaskan dalam

(49)
(50)

4.3. Pemrograman

Agar Robot Penghindar Dinding yang dirancang dapat bekerja sesuai

dengan yang diharapkan, maka ke dalam mikrokontroler AT89S51 diisikan

program sesuai dengan diagram alir (flowchart) yang dirancang (listing program

(51)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

1. Perpaduan infra merah dan fotodioda dapat dijadikan sebagai sensor

dinding agar robot tidak menabrak dinding.

2. Sensor infra merah jika telah dikuatkan dengan menggunakan

Operasional Amplifier (Op Amp) dapat mengetahui dinding hingga jarak 1 meter.

3. Fotodioda yang digunakan pada sensor infra merah sangat peka

terhadap infra merah yang dipancarkan oleh matahari, sehingga sensor

ini tidak baik digunakan pada ruangan terbuka (ruangan yang langsung

terkena sinar matahari).

5.2. Saran

1. Agar infra merah tidak mengganggu sistem robot penghindar dinding,

sebaiknya digunakan ultra sonic sebagai sensor dinding. Pada

perancangan ini tidak digunakan sensor ultra sonic dikarenakan

harganya yang mahal (sekitar @ Rp. 300.000,-) dan tidak dijual di

(52)

41

Daftar Pustaka

[1] Agfianto, Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi, Edisi

Kedua, Penerbit: Gava Media, Yogyakarta, 2004.

[2] Albert Paul Malvino, Ph.D, Prinsip-Prinsip Elektronika I, Edisi Ketiga, Jilid

1, Penerbit : Penerbit Erlangga, Jakarta, 1985.

[3] Barry G. Woollard, Elektronika Praktis, Penerbit: Pradnya Paramita, Jakarta

2000.

[4] Sulhan Setiawan, ST, Mudah dan Menyenangkan Belajar Mikrokontroler,

Penerbit : Penerbit Andi, Yogyakarta, 2004.

[5] Lingga Wardhana, ST, Belajar Sendiri Mikrokontroler AVR Seri ATMega8535

Simulasi, Hardware, dan Aplikasi, Penerbit : Penerbit Andi, Yogyakarta, 2006.

[6] My Experience In Autonomous Robotics by Bibin John, www.geocities.com/njbibin

(53)

Lampiran 1

1. Rangkaian Skematik Sistem Minimum Mikrokontroler AT89S51

(54)

3. Rangkaian Skematik Jembatan H

(55)

Lampiran 2

; ====================================

; = Program_Robot_Penghindar_Dinding =

(56)

Mov r0,p0

Cjne r0,#0beh,Cek_1

Acall Maju

Sjmp Main

Cek_1:

Cjne r0,#0fch,Cek_2

Acall Putar_Kanan_25_Derajat

Sjmp Main

Cek_2:

Cjne r0,#0bch,Cek_3

Acall Putar_Kanan_25_Derajat

Sjmp Main

Cek_3:

Cjne r0,#3fh,Cek_4

Acall Putar_Kiri_25_Derajat

Sjmp Main

Cek_4:

Cjne r0,#3eh,Cek_5

Acall Putar_Kiri_25_Derajat

(57)

Cek_5:

Cjne r0,#0aah,Cek_6

Acall Maju

Sjmp Main

Cek_6:

Cjne r0,#0e8h,Cek_7

Acall Maju

Sjmp Main

Cek_7:

Cjne r0,#98h,Cek_8

Acall Maju

Sjmp Main

Cek_8:

Cjne r0,#2bh,Cek_9

Acall Maju

Sjmp Main

Cek_9:

Cjne r0,#2ah,Cek_10

Acall Maju

(58)
(59)
(60)
(61)
(62)
(63)
(64)
(65)
(66)

Program di atas merupakan program robot pengikut garis yang diisikan ke dalam mikrokontroler AT89S51. Dari program dapat dijelaskan sebagai berikut:

 Motor_Kanan_1 bit p2.0 ... Sensor_Samping_Kanan_Dekat

bit p0.7  Menjelaskan bahwa pada port 2.0 adalah Motor_Kanan_1 hingga port 0.7 adalah Sensor_Samping_Kanan_Dekat (berfungsi sebagai pengenalan port).

 Start:  Merupakan sebuah Rutin.

 Mov p0,#0ffh  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan port 0 dengan harga 0ff heksadesimal. Nilai ini diberikan untuk memberikan kondisi high (11111111) semuanya pada port 0.

 Mov p2,#00h  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan port 2 dengan harga 00 heksadesimal. Nilai ini diberikan untuk memberikan kondisi high (00000000) semuanya pada port 2.

 Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Main:  Merupakan sebuah Rutin.

 Acall Maju  Perintah Acall Maju digunakan untuk memanggil

subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju.  Mov r0,p0  Menjelaskan bahwa mikrokontroler diperintahkan

(67)

 Cjne r0,#0beh,Cek_1  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0beh, jika harga register 0 sama dengan 0beh maka mikrokontroler akan melaksanakan perintah dibawahnya yaitu maju. Tetapi jika harga r0 tidak sama dengan 0beh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_1.

 Acall Maju  Perintah Acall Maju digunakan untuk memanggil

subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju.  Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_1:  Merupakan sebuah subrutin.

 Cjne r0,#0fch,Cek_2  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0fch, jika harga register 0 sama dengan 0fch maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0fch, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_2.

 Acall Putar_Kanan_25_Derajat  Perintah Acall

(68)

 Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_2:  Merupakan sebuah subrutin.

 Cjne r0,#0bch,Cek_3  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0bch, jika harga register 0 sama dengan 0bch maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0bch, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_3.

 Acall Putar_Kanan_25_Derajat  Perintah Acall

Putar_Kanan_25_Derajat digunakan untuk memanggil subrutin Putar_Kanan_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kanan_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekanan 25 derajat.

 Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_3:  Merupakan sebuah subrutin.

 Cjne r0,#3fh,Cek_4  Menjelaskan bahwa mikrokontroler

(69)

 Acall Putar_Kiri_25_Derajat  Perintah Acall

Putar_Kiri_25_Derajat digunakan untuk memanggil subrutin Putar_Kiri_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekiri 25 derajat.

 Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_4:  Merupakan sebuah subrutin.

 Cjne r0,#3eh,Cek_5  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 3eh, jika harga register 0 sama dengan 3eh maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 3eh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_5.

 Acall Putar_Kiri_25_Derajat  Perintah Acall

Putar_Kiri_25_Derajat digunakan untuk memanggil subrutin Putar_Kiri_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekiri 25 derajat.

 Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_5:  Merupakan sebuah subrutin.

 Cjne r0,#0aah,Cek_6  Menjelaskan bahwa mikrokontroler

(70)

dengan harga 0aah, jika harga register 0 sama dengan 0aah maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0aah, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_6.

 Acall Maju  Perintah Acall Maju digunakan untuk memanggil

subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju.  Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_6:  Merupakan sebuah subrutin.

 Cjne r0,#0e8h,Cek_7  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0e8h, jika harga register 0 sama dengan 0e8h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0e8h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_7.

 Acall Maju  Perintah Acall Maju digunakan untuk memanggil

subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju.  Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_7:  Merupakan sebuah subrutin.

 Cjne r0,#98h,Cek_8  Menjelaskan bahwa mikrokontroler

(71)

dengan harga 98h, jika harga register 0 sama dengan 98h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 98h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_8.

 Acall Maju  Perintah Acall Maju digunakan untuk memanggil

subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju.  Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_8:  Merupakan sebuah subrutin.

 Cjne r0,#2bh,Cek_9  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 2bh, jika harga register 0 sama dengan 2bh maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 2bh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_9.

 Acall Maju  Perintah Acall Maju digunakan untuk memanggil

subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju.  Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_9:  Merupakan sebuah subrutin.

 Cjne r0,#2ah,Cek_10  Menjelaskan bahwa mikrokontroler

(72)

dengan harga 2ah, jika harga register 0 sama dengan 2ah maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 2ah, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_10.

 Acall Maju  Perintah Acall Maju digunakan untuk memanggil

subrutin Maju dan melaksanakan perintah yang ada pada subrutin Maju tersebut. Subrutin ini berfungsi untuk memerintahkan robot bergerak maju.  Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_10:  Merupakan sebuah subrutin.

 Cjne r0,#0c2h,Cek_11  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0c2h, jika harga register 0 sama dengan 0c2h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0c2h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_11.

 Acall Stop  Perintah Acall Stop digunakan untuk memanggil

subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti.

 Acall Putar_Kanan_90_Derajat  Perintah Acall

(73)

 Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_11:  Merupakan sebuah subrutin.

 Cjne r0,#0c0h,Cek_12  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0c0h, jika harga register 0 sama dengan 0c0h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0c0h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_12.

 Acall Stop  Perintah Acall Stop digunakan untuk memanggil

subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti.

 Acall Putar_Kanan_90_Derajat  Perintah Acall

Putar_Kanan_90_Derajat digunakan untuk memanggil subrutin Putar_Kanan_90_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kanan_90_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekanan 90 derajat.

 Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_12:  Merupakan sebuah subrutin.

 Cjne r0,#83h,Cek_13  Menjelaskan bahwa mikrokontroler

(74)

r0 tidak sama dengan 83h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_13.

 Acall Stop  Perintah Acall Stop digunakan untuk memanggil

subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti.

 Acall Putar_Kiri_90_Derajat  Perintah Acall

Putar_Kiri_90_Derajat digunakan untuk memanggil subrutin Putar_Kiri_90_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_90_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekiri 90 derajat.

 Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_13:  Merupakan sebuah subrutin.

 Cjne r0,#03h,Cek_14  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 03h, jika harga register 0 sama dengan 03h maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 03h, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_14.

 Acall Stop  Perintah Acall Stop digunakan untuk memanggil

subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti.

 Acall Putar_Kiri_90_Derajat  Perintah Acall

(75)

Putar_Kiri_90_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_90_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekiri 90 derajat.

 Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_14:  Merupakan sebuah subrutin.

 Cjne r0,#0fh,Cek_15  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 0fh, jika harga register 0 sama dengan 0fh maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 0fh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_15.

 Acall Stop  Perintah Acall Stop digunakan untuk memanggil

subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti.

 Acall Putar_Kiri_25_Derajat  Perintah Acall

Putar_Kiri_25_Derajat digunakan untuk memanggil subrutin Putar_Kiri_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekiri 25 derajat.

 Ljmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

(76)

 Cjne r0,#2fh,Cek_16  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan harga yang ada pada register 0 dengan harga 2fh, jika harga register 0 sama dengan 2fh maka mikrokontroler akan melaksanakan perintah dibawahnya. Tetapi jika harga r0 tidak sama dengan 2fh, maka mikrokontroler akan mengerjakan perintah yang ada pada subrutin Cek_16.

 Acall Stop  Perintah Acall Stop digunakan untuk memanggil

subrutin Stop dan melaksanakan perintah yang ada pada subrutin Stop tersebut. Subrutin ini berfungsi untuk memerintahkan robot berhenti.

 Acall Putar_Kiri_25_Derajat  Perintah Acall

Putar_Kiri_25_Derajat digunakan untuk memanggil subrutin Putar_Kiri_25_Derajat dan melaksanakan perintah yang ada pada subrutin Putar_Kiri_25_Derajat tersebut. Subrutin ini berfungsi untuk memerintahkan robot berputar kekiri 25 derajat.

 Ljmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

 Cek_16:  Merupakan sebuah subrutin.

 Cjne r0,#0f0h,Cek_17  Menjelaskan bahwa mikrokontroler

Gambar

Gambar 2.1   Disiplin ilmu pembentuk teknologi robotika
Gambar 2.3   Konfigurasi pin ATMEL AT89S51
Tabel 2.1   Fungsi-fungsi alternatif pada port 3
Tabel 2.2   Alamat register fungsi khusus
+7

Referensi

Dokumen terkait

Perbaikan habitat dapat dilakukan dengan membersihkan sampah dan mengangkut sampah padat keluar dari kawasan mangrove, terutama pada kelompok stasiun A yang

Menyusun Kalimat dari mufradat yang disediakan tentang waktu shalat dhuhur berjamaah di masjid sekolah. Menceritakan gambar jam

Mohammad Ridwan. Value Added Reporting.. mengeksploitasi yang lain. VAS ini merupakan alternatif pengganti laporan laba rugi dalam akuntansi konvensional. Dimana Baydoun dan

Sejalan dengan uraian yang telah diungkapkan di atas, maka penelitian ini bertujuan untuk: (1) mengungkapkan perilaku wirausaha, kemandirian usaha, kemajuan usaha dan

Data yang digunakan dalam penelitian ini adalah data sekunder, meliputi: a)Data keuangan Pemerintah Kabupaten Kulon Progo tahun anggaran 1996 sampai dengan 2008 meliputi tar-

Universitas Kristen Maranatha memberikan motivasi untuk meningkatkan kepercayaan diri bahwa mereka adalah orang-orang yang mampu untuk meraih kesuksesan. Orientasi masa depan

Terungkap di dalam proses pembinaan etos kerja melalui kegiatan penyuluhan tidak digunakannya media belajar yang diambil dari lingkungan tempat kerja petani

andong terhadap Ascaridia galli dan mengetahui kandungan senyawa aktif dalam infusa daun andong yang terduga mempunyai daya antihelmintik. Data yang diperoleh