• Tidak ada hasil yang ditemukan

ROBOT PENYEDOT DEBU BERBASIS MIKROKONTROLER AT89S52.

N/A
N/A
Protected

Academic year: 2017

Membagikan "ROBOT PENYEDOT DEBU BERBASIS MIKROKONTROLER AT89S52."

Copied!
99
0
0

Teks penuh

(1)

MIKROKONTROLER AT89S52

SKRIPSI

Diajukan Oleh :

ASROFI NUCHROWI 0634010268

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

(2)

ii

Syukur Alhamdulillaahi rabbil ‘alamin terucap ke hadirat Allah SWT atas segala limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan keberuntungan yang dimiliki penyusun, akhirnya penyusun dapat menyelesaikan Skripsi yang berjudul “Robot Penyedot Debu berbasis Mikrokontroler AT89S52” tepat pada waktunya.

Skripsi dengan beban 4 SKS ini disusun guna diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada program studi Teknik Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.

Melalui Skripsi ini penyusun merasa mendapatkan kesempatan emas untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkuliahan, terutama berkenaan tentang penerapan teknologi perangkat bergerak. Namun, penyusun menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh karena itu penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.

Surabaya, November 2010

(3)

iii

Penyusun menyadari bahwasanya dalam menyelesaikan Skripsi ini telah mendapat banyak bantuan dan dukungan dari berbagai pihak, untuk itu pada kesempatan yang berharga ini, penyusun mengucapan terima kasih kepada:

1. Ibu, Bapak, Kakak dan AdikKu di rumah yang senantiasa memberikan dukungan dan mendoakan penyusun agar Skripsi ini segera terselesaikan. 2. Ryan ”nduT” yang telah memberikan hiburan ketika penulis menemui

kejenuhan.

3. Bapak Ir. Sutiyono, MT, selaku Dekan Fakultas Teknologi Industri.

4. Bapak Basuki Rahmat S.Si, MT, selaku Ketua Jurusan Teknik Informatika.

5. Bapak Basuki Rahmat S.Si, MT, selaku Dosen Pembimbing I yang telah giat meluangkan banyak waktu untuk memberikan arahan, ilmu dan dorongan serta motivasi kepada penyusun untuk menyelesaikan Skripsi ini.

(4)

iv

yang telah banyak memberi masukan serta membuka wawasan baru.

8. Bapak Nur Cahyo yang telah banyak meluangkan waktu untuk memberikan solusi dan membantu menyelesaikan masalah yang dihadapi penulis.

9. Teman-teman spesial satu angkatan yang telah banyak membantu penyusun Abdul Aziz, Dapit, dan teman-teman satu Grup seperjuangan lainnya (Bagus, firman, hanif, tio,rivi, desta, sena.).

(5)

v

1.1 Latar Belakang... 1

1.2 Rumusan Masalah... 2

1.3 Batasan Masalah... 3

1.4 Tujuan... 3

1.5 Manfaat... 3

1.6 Metodologi Penelitian... 4

1.7 Sistematika Penulisan... 5 2.3 Mikrokontroler AT89S52... 10

2.3.1 Konfigurasi, Fungsi Pin... 11

2.3.2 Diagram Blok AT89S52…... 13

(6)

vi

2.8 Program Sumber dan Ekspresi Assembly………... 2.9 Program DT-HiQ AT89 USB ISP…………...

3.1 Perancangan Robot... 50

3.2 Flowchart, penjelasan Flowchart... 51

3.3 Blok Diagram dan penjelasan………..………. 52

3.4 Kebutuhan Perancangan Hardware robot.……… 53

3.5 Cara Merancang Robot……… 3.6 Perancangan Motor DC...………..…… 3.7 Rancangan dan Analisis Robot...……….…...……… 3.7.1 Rancangan Motor Saat Maju ke Depan……….. 3.7.2 Rancangan Motor Saat Maju Belok ke Kanan……… 3.7.3 Rancangan Motor Saat Maju Belok ke Kiri……… 3.7.4 Rancangan Motor Saat Maju Belok ke Mundur…………. 3.8 Perancangan dan Fungsi Komponen PCB pada Robot………….

(7)

vii

BAB V PENGUJIAN DAN ANALISA... 75

75 75 75 75 76 77 77 5.1 Pendahuluan... 5.2 Pengujian Alat... 5.2.1 Pengujian Mikrokontroler AT89S52... 5.2.2 Pengujian Sensor Limit Switch... 5.2.3 Pengujian Rangakaian Driver Motor... 5.2.4 Pengujian Alat Secara Keseluruhan... 5.3 Pengujian Robot Penyedot Debu... BAB VI KESIMPULAN DAN SARAN... 81

6.1. Kesimpulan... 82

6.2. Saran... 82

(8)

viii

2.5 Konfigurasi Pin pada Mikrokontroler AT89S52... 11

2.6 Diagram Blok Konfigurasi Pin pada Mikrokontroler ... 14

2.7 Register PSW dalam AT89S52... 21

2.8 Catu Daya Sederhana untuk Mikrokontrol... 23

2.9 128 byte RAM Internal Bagian Bawah(lower)... 26

2.10 128 byte RAM Bagian Atas... 27

2.11 Bit Latch dan I/O Buffer... 28

2.12 Dasar Pengaturan Arah Putar... 29

2.13 Pengaturan Arah Dengan Mengunakan Saklar... 30

2.14 Skema Arah Putaran Motor DC 20V Dengan Arus Maksimum 5A... 30

2.15 Konfigurasi Darlington NPN... 31

2.16 Simbol Transistor NPN dan PNP... 34

2.17 IC L293D... 35 3.10 stade transation diagram pada robot penyedot debu.... ... 59 59 60 3.11 Rangkaian PCB…... 61

4.1 Form Pembuatan Assembler Program………... 65

4.2 Form Run Assembler Program…….………..……... 65

4.3 Form Error Asembler Program... 66

4.4 Form compile Assembler Program... 66

4.5 Tampilan Program AT USB ISP... 67

4.6 Pemilihan IC Target... 68

4.7 Load HEX File to Flash buffer... 69

4.8 Upload Program... 69

4.9 Rangkaian PCB pada Robot... 73

(9)

ix

5.1 Robot Kondisi OFF... 5.2 Robot Kondisi ON...

77 77

5.3 Robot Saat Menyentuh Limit Switch Depan... 78

5.4 Robot Saat Menyentuh Limit Switch Belakang... 78

5.5 Robot Saat Menyentuh Limit Switch Kanan... 79

(10)

x

No. Hal.

16 2.1 Fungsi Alternatif Port 1... 2.2 Fungsi Alternatif Port 3... 2.3 Instruksi Logika... 2.4 Instruksi Aritmatika... 2.5 Instruksi Bolean... 3.1 Rancangan Rangkaian Driver Motor... 5.1 Uji Coba Limit Switch pada Robot...

(11)

i

Robot penyedot debu Berbasis Mikrokontroler AT89S52 berfungsi untuk menyedot debu secara otomatis. Proses menghisap debu menggunakan vacuum cleaner mini sebagai penyedot debu pada robot. untuk vacuum cleaner mini pada robot di aktifkan secara manual.

Alat ini dibuat berdasarkan beberapa bagian antara lain : Mikrokontroler AT89S52, dengan pemrograman assembler. Sensor limit switch yang merupakan rangkaian sensor sebagai inputan pada mikrokontroler. Limit switch juga berfungsi untuk merasakan adanya benturan pada robot yang langsung masuk ke mikrokontroler.

Output mikrokontroler akan menghasilkan logika 1 untuk mengaktifkan driver motor pada pin IC L293D untuk mengaktifkan motor roda kanan dan roda kiri melalui relay pada rangkaian PCB pada robot. Motor DC yang digunakan sebagai pengerak robot. Baterai kering ukuran AA di gunakan sebagai catu daya pada robot.

Komponen terpenting yang dipergunakan pada Robot Penyedot Debu adalah dengan menggunakan salah satu jenis Mikrokontroller yaitu AT89S52. Dengan menggunakan Mikrokontroller AT89S52 tersebut dapat diketahui bahwa dalam merancang sebuah robot dapat ditentukan gerak laju robot tersebut secara otomatis sesuai dengan program yang telah diinputkan ke dalam chip robot.

Kata Kunci : Vacuum Cleaner roboting, assembly program, Mikrocontroler

(12)

BAB I PENDAHULUAN

1.1 Latar Belakang

Seiring dengan perkembangan teknologi mikrokontroler yang sangat pesat yang pada akhirnya mengantarkan kita pada suatu era teknologi robotika, telah membuat kualitas kehidupan manusia semakin tinggi. Berbagai robot canggih, sistem keamanan rumah, telekomunikasi, dan sistem komputer banyak menggunakan mikrokontroler sebagai unit pengontrol utama. Tentunya hal ini dimaksudkan untuk lebih mempermudah manusia untuk melakukan pekerjaan atau aktivitasnya sehari-hari.

Saat ini perkembangan teknologi robotika telah mampu meningkatkan kualitas maupun kuantitas produksi berbagai pabrik. Teknologi robotika juga telah menjangkau sisi hiburan dan pendidikan bagi manusia. Salah satu jenis robot yang paling banyak diminati adalah jenis robot penyedot debu. Robot penyedot debu adalah jenis robot yang proses penyedotan mengunakan vacuum cleaner mini, walaupun bisa saja menggunakan vacuum cleaner biasa.

Perancangan dan pembuatan sistem robot penyedot debu antara lain meliputi penjelasan tentang perancangan perangkat keras (hardware) dan perancangan perangkat lunak (software). Perancangan perangkat keras meliputi rangkaian elektronik yang terdiri dari rangkain catu daya, rangkaian pengendali mikro yang menggunakan IC pengendali mikro AT89S52, rangkaian kendali motor (motor driver), dan rangkaian saklar batas. Sedangkan pada perancangan perangkat lunak (software) meliputi perancangan pada pembuatan diagram alir dan bahasa assembly.

(13)

Robot penyedot debu yang dibuat menggunakan mikrokontroler AT89S52. Selain dapat berjalan diciptakan untuk bisa mendeteksi adanya benturan di depannya serta mampu menyedot debu pada permukaan lantai datar. Menggunakan vacuum cleaner mini sebagai penyedot debu pada lantai. Mengunakan sensor limit switch sebagai sensor pendeteksi adanya benturan pada robot yang mana sensor inilah yang selalu bekerja mendeteksi adanya suatu benturan pada robot.

1.2 Rumusan Masalah

Berdasarkan latar belakang diatas, maka dapat diambil rumusan masalah sebagai berikut :

” Bagaimana membuat atau merangkai sebuah robot yang dapat berjalan dan menyedot debu serta partikel kecil pada lantai di dalam ruangan atau tempat yang di tentukan. ”

1.3 Batasan Masalah

Batasan - batasan masalah yang diberikan sesuai dengan permasalahan yang telah diterangkan diatas, antara lain:

1. Robot ini menggunakan mikrokontroler AT89S52.

2. Robot ini mengunakan 4 buah sensor limit switch tapi tidak dilengkapi sensor debu. 3. Robot menyedot semua partikel kecil termasuk debu.

(14)

5. Jika robot menabrak rintangan maka sensor limit swicth akan mendeteksi rintangan sehingga motor pada roda akan berfungsi untuk merubah jalur dan akan berjalan lagi pada jalur yang sudah di tentukan.

6. Robot akan terus berjalan sampai tombol off ditekan atau limit switch kanan dan kiri pada robot menabrak hambatan maka robot berhenti.

1.4 Tujuan

Tujuan yang ingin dicapai dalam Tugas Akhir ini adalah :

1. Merancang robot yang mampu berjalan untuk merubah alur jika ada rintangan.

2. Merancang robot yang mampu menyedot partikel benda kecil termasuk debu pada lantai.

3. Mengendalikan dan mempelajari cara kerja Mikrokontroller AT89S52. 4. Mengimplementasikan robot dalam bentuk nyata.

1.5 Manfaat

Adapun manfaat yang dapat diambil dari pembuatan robot penyedot debu dengan menggunakan sensor ini adalah:

1. Robot dapat di desain untuk membantu melakukan pekerjaan rumah yg dilakukan oleh manusia.

2. Dapat digunakan untuk membersikan debu pada lantai. Dengan bantuan mikro kontroler sebagai pengontrol arah robot dan sensor limit switch sebagai pendeteksi hambatan.

(15)

1.6 Metodologi Penelitian

Metodologi yang digunakan dalam penelitian ini adalah sebagai berikut :

1. Studi literatur mengenai pengendalian Motor DC serta penggunaan Mikrokontroller AT89S52.

2. Merancang serta menguji rangkaian penggerak motor DC yang merupakan aktuator robot.

3. Merancang serta menguji sistm minimal Mikrokontroller AT89S52 sebagai pengendali sistem secara keseluruhan.

4. Merancang perangkat lunak yang berfungsi untuk membangkitkan dan mengendalikan gerakan robot secara keseluruhan.

5. Menguji kinerja sistem secara keseluruhan serta mengambil data dari hasil perancangan.

6. Menganalisa hasil dan membuat kesimpulan.

1.7 Sistematika Penulisan

Adapun Sistematika Tugas Akhir ini adalah: BAB I : PENDAHULUAN

(16)

BAB II : TINJAUAN PUSTAKA

Pada bab ini akan dijelaskan tentang teori-teori serta penjelasan-penjelasan yang dibutuhkan dalam pembuatan robot penyedot debu.

BAB III : PERANCANGAN

Bab ini berisi tentang analisa dan perancangan sistem dalam pembuatan Tugas Akhir robot penyedot debu dengan menggunakan sensor limit swicth.

BAB IV : HASIL DAN PEMBAHASAN

Bab ini berisi penjelasan hasil Tugas Akhir serta pembahasan suorce code dari robot penyedot debu.

BAB V : UJICOBA DAN EVALUASI PROGRAM Bab ini berisi pengujian program Tugas Akhir. BAB VI : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran-saran penulis untuk proses pengembangan selanjutnya.

DAFTAR PUSTAKA

(17)

6

2.1 Vacum Cleaner

Penghisap debu ialah perkakas rumah tangga yang berfungsi sebagai ‘sapu elektronik’. Sistem kerjanya menggunakan pompa udara untuk menciptakan keadaan kosong untuk menghisap debu dan kotoran, biasanya dari lantai. Sebagian besar rumah dengan lantai berkarpet di negara berkembang memiliki penghisap debu sebagai pembersih. Kotoran dikumpulkan dengan sistem penyaringan maupun siklon untuk kemudian dibuang. Sejumlah uji telah menunjukkan bahwa penghisapan debu dapat membunuh 100% kutu muda dan 96% kutu dewasa. Bagi mereka yang memiliki aktivitas tinggi sekaligus menjunjung tinggi kepraktisan hidup, kehadiran teknologi untuk kegiatan membersihkan rumah adalah suatu hal yang mutlak. Salah satunya adalah Vacuum cleaner. Saat ini banyak vacuum cleaner atau lazim kita sebut penghisap debu menampilkan teknologi kebersihan yang mutakhir yang membuat pekerjaan

(18)

Desain Vacuum Cleaner saat ini banyak yang ramping sehingga bisa mencapai celah dan bisa membersihkan debu serta kotoran dengan singkat dan cepat. Berdasarkan hasil riset yang dilakukan di pasar Eropa yang menyebutkan, 70 persen wanita lebih suka membersihkan rumah secara instan dan baru seminggu sekali melakukan pembersihan menyeluruh. Vacuum cleaner modern bisa dipakai untuk menghisap debu di permukaan sofa, meja atau jok mobil. Sebagian merk dagang vacuum cleaner menggunakan teknologi cyclonic system untuk mencegah debu menghambat filter. Teknologi lain yang saat ini sedang banyak berkembang baterai Vacuum cleaner memiliki daya tahan baterai pemakaian selama 15-20 menit untuk membersihkan area seluas hingga 80 meter persegi. [7]

Gambar 2.1 Vacum Cleaner Mini

2.2 Limit Switch

(19)

seringkali digunakan untuk sensor cadangan bilamana sensor yang lain tidak berfungsi. Contohnya pada bagian pinggir dari sebuah robot, pada saat sensor infrared gagal berfungsi untuk mendeteksi adanya halangan, maka limit switch akan mendeteksi dan memerintahkan motor untuk berhenti saat terjadi kontak fisik.

[3]

Gambar 2.2 Sensor Limit Swicth 2.2.1 Cara Kerja Limit Switch

Limit switch biasa disebut mikroswitch merupakan sakelar yang akan bekerja saat mendapat tekanan atau gesekan pada luas atau tangkai. Pada limit switch biasanya terdapat tangkai yang berupa tangkai atau plunyer ataupun roda sebagai sakelarnya. limit switch dirancang hanya untuk beroperasi apabila batas yang sudah ditentukan sebelumnya sudah dicapai. Sakelar-sakelar tersebut aktif jika terminal menyentuh objek.

2.2.2 Bentuk Limit Switch

(20)

a. Terminal bersama (common)

b. Terminal Norman tertutup (normally closed/nc) c. Terminal normal terbuka (normally open/no)

Limit switch ini ditempatkan sesuai dengan kebutuhan dan disesuaikan dengan keadaan benda agar dapat menyentuh tangkai dari limit switch tersebut, pengguaan jenis kontaktor juga disesuaikan dengan benda yang akan dijadikan penyentuh tangkai dari limit switch agar kontaktor tidak cepat patah atau rusak. Terminal normal terbuka (NO) berfungsi sebagai penghubung, sedangkan terminal normal tertutup (NC) berfungsi sebagai pemutus. Apabila tekanan yang menyentuh tangkai tertarik, maka kontak limit switch akan kembali ke posisi semula. Adapun konfigurasi dari limit switch bisa di lihat pada gambar 2.3

Gambar 2.3 Limit switch

2.2.3 Bentuk Rangkaian Limit Switch

(21)

pembatas arus masuk ke mikrokontroler agar didapatkan arus ke mikro 0,5mA dengan menggunakan persamaan 2-17:

mA R

Vs I 0,5

1

 ...(2-17)

Agar lebih jelas tentang rangkaian limit switch yang menggunakan satu resistor saja, perhatikan gambar 2.4

Gambar 2.4 Rangkaian Limit Switch

2.3 Mikrokontroler AT89S52

Mikrokontroler adalah mikroprosessor yang dirancang khusus untuk aplikasi kontrol, dan dilengkapi dengan ROM, RAM dan fasilitas I/O pada satu chip. AT89S52 adalah salah satu anggota dari keluarga MCS-51/52 yang dilengkapi dengan internal 8 Kbyte Flash PEROM (Programmable and Erasable Read Only Memory), yang memungkinkan memori program untuk dapat deprogram kembali. AT89S52 dirancang oleh Atmel sesuai dengan instruksi standar dan susunan pin 80C5. Mikrokontroler AT89S52 memiliki :

(22)

c. Empat buah port I/O, yang masing masing terdiri dari 8 bit d. Osilator internal dan rangkaian pewaktu.

e. Dua buah timer/counter 16 bit

f. Lima buah jalur interupsi ( 2 buah interupsi eksternal dan 3 interupsi internal). g. Sebuah port serial dengan full duplex UART (Universal Asynchronous

Receiver Transmitter).

h. Mampu melaksanakan proses perkalian, pembagian, dan Boolean. i. EPROM yang besarnya 8 KByte untuk memori program.

j. Kecepatan maksimum pelaksanaan instruksi per siklus adalah 0,5 μs pada frekuensi clock 24 MHz. Apabila frekuensi clock mikrokontroler yang digunakan adalah 12 MHz, maka kecepatan pelaksanaan instruksi adalah 1 μs. [2]

2.3.1 Konfigurasi Pin

Mikrokontroler AT89S52 mempunyai 40 pin dengan catu daya tunggal 5 Volt. Ke-40 pin tersebut digambarkan sebagai berikut :

(23)

Fungsi dari masing-masing pin AT89S52 adalah :

1. Pin 1 sampai 8 (Port 1) merupakan port pararel 8 bit dua arah (bidirectional) yang dapat digunakan untuk berbagai keperluan (general purpose).

2. Pin 9 merupakan pin reset, reset aktif jika mendapat catuan tinggi.

3. Pin 10 sampai 17 (Port 3) adalah port pararel 8 bit dua arah yang memiliki fungsi pengganti sebagai berikut :

a. P3.0 (10) : RXD (port serial penerima data) b. P3.1 (11) : TXD (port serial pengirim data)

c. P3.2 (12) : INT0 (input interupsi eksternal 0, aktif low) d. P3.3 (13) : INT1 (input interupsi ekstrernal 1, aktif low) e. P3.4 (14) : T0 (eksternal input timer / counter 0)

f. P3.5 (15) : T1 (eksternal input timer / counter 1)

g. P3.6 (16) : WR (Write, aktif low) Sinyal kontrol penulisan data dari port 0 ke memori data dan input-output eksternal.

h. P3.7 (17) : RD (Read, aktif low) Sinyal kontrol pembacaan memori data input-output eksternal ke port 0.

4. Pin 18 sebagai XTAL 2, keluaran osilator yang terhubung pada kristal.

5. Pin 19 sebagai XTAL 1, masukan ke osilator berpenguatan tinggi, terhubung pada kristal.

6. Pin 20 sebagai Vss, terhubung ke 0 atau ground pada rangkaian.

(24)

8. Pin 29 sebagai PSEN (Program Store Enable) adalah sinyal yang digunakan untuk membaca, memindahkan program memori eksternal (ROM / EPROM) ke mikrokontroler (aktif low).

9. Pin 30 sebagai ALE (Address Latch Enable) untuk menahan alamat bawah selama mengakses memori eksternal. Pin ini juga berfungsi sebagai PROG (aktif low) yang diaktifkan saat memprogram internal flash memori pada mikrokontroler (on chip).

10. Pin 31 sebagai EA (External Accesss) untuk memilih memori yang akan digunakan, memori program internal (EA = Vcc) atau memori program eksternal (EA = Vss), juga berfungsi sebagai Vpp (programming supply voltage) pada saat memprogram internal flash memori pada mikrokontroler. 11. Pin 32 sampai 39 (Port 0) merupakan port pararel 8 bit dua arah. Berfungsi

sebagai alamat bawah yang dimultipleks dengan data untuk mengakses program dan data memori eksternal.

12. Pin 40 sebagai Vcc, terhubung ke +5 V sebagai catuan untuk mikrokontroler.

2.3.2 Diagram Blok AT89S52

(25)

menon-aktifkan fungsi- fungsi chip lainnya sampai instruksi eksternal dilakukan atau terjadi reset hardware. Dalam pengoperasiannya, AT89S52 cukup memberikan tegangan yang berkisar antara 4–5.5 Volt DC pada pin VCC, sedangkan pin GND diberikan tegangan 0 volt. Selain pin Vcc dan GND, pin-pin yang dimiliki AT89S52 terdiri atas 4 buah port yaitu port 0, port 1, port 2, port 3. Masing-masing port tersebut terdiri dari 8 pin, RST, ALE/PROG, PSEN, EA/VPP, XTAL1 dan XTAL2.

Gambar 2.6 Diagram blok mikrokontroller AT89S52

(26)

2.3.3 Fungsi kaki-kaki mikro kontroller AT89S52: a. VCC

Pin 40 dihubungkan dengan tegangan catu +5 Volt. b. Ground

Pin 20 dihubungkan dengan ground. c. Port 0

Port 0 adalah sebuah saluran terbuka port I/O 8-bit dua arah. Port 0 merupakan dual-purpose port (port yang memiliki dua kegunaan). Sebagai port keluaran, setiap pin dapat mencakup 8 inputan TTL. Ketika logika ‘1’ diberikan pada pin-pin port 0, pin tersebut dapat digunakan sebagai inputan impedansi tinggi. Port 0 juga dapat dikonfigurasikan sebagai multiplexed low-order alamat/data bus, selama terjadinya pengaksesan ke program eksternal dan memori data. Port 0 jaga dapat menerima kode byte selama pemrograman flash dan menghasilkan keluaran kode byte selama verifikasi program. Selama verifikasi program dibutuhkan eksternal pull-ups.

d. Port 1

(27)

fungsi khusus AT89S52 seperti yang terlihat pada table 2.1 Tabel 2.1 Fungsi Alternatif Port 1

Port pin Fungsi Alternatif P 1.5 MOSI (Master Output/Slave Input) P 1.6 MISO (Master Input/Slave Output) P 1.7 CK (Serial Clock)

e. Port 2

(28)

verifikasi. f. Port 3

Port 3 adalah port I/O 8 bit dua arah yang memiliki pull-ups internal. Keluaran dari port 3 dapat mencakup 4 masukan TTL. Ketika logika ‘1’ diberikan pada pin-pin port 3, maka pin tersebut akan dipengaruhi oleh pull-ups internal dan dapat digunakan sebagai masukan (input). Sebagai masukan, pin port 3 akan menghasilkan arus yang disebabkan oleh adanya internal pull-ups. Port 3 dapat melakukan beberapa pengendalian sinyal untuk pemrograman flash dan verifikasi. Port 3 juga dapat melakukan beberapa fungsi khusus AT89S52 seperti terlihat pada tabel di bawah ini :

Tabel 2.2 Fungsi Alternatif Port 3

Port pin Fungsi Alternatif

P3.0 RXD (serial input port) P3.1 TXD (serial output port) P3.2 INT0 (external interrupt 0) P3.3 INT1 (external interrupt 1) P3.4 T0 (Timer 0 external input) P3.5 T1 (Timer 1 external input)

P3.6 WR (external data memory write strobe) P3.7 RD (external data memory read strobe)

g. RST

(29)

ketika osilator melakukan reset pada device. Jika pada pin RST diberikan logika ‘1’ selama minimal 2 siklus mesin selama osilator bekerja, maka akan mereset mikrokontroler yang bersangkutan. Pin ini akan menjadi semakin tinggi untuk 98 periode osilator setelah melewati watchdog times out. Bit DISTRO pada SFR AUXR (alamat 8EH) dapat digunakan untuk mengabaikan feature tersebut. Pada keadaan awal bit DISTRO, keadaan keluaran RESET HIGH berada dalam kondisi enable.

h. ALE/PROG

Address Latch Enable (ALE) merupakan pulsa keluaran untuk pemasangan byte yang rendah dari alamat, selama terjadi pengaksesan ke memori eksternal. ALE digunakan untuk men-demultiplex address dan data bus. Pin ini juga merupakan PROG (program pulse input) ketika terjadi pemrograman flash. Dalam keadaan normal, ALE menggunakan kecepatan yang stabil yaitu sekitar 1/6 dari frekuensi osilator dan dapat dipergunakan untuk external timing atau untuk clocking. Namun perlu diketahui bahwa, satu pulsa ALE akan dilewati selama terjadi pengaksesan ke memori data eksterna l. Jika diinginkan, operasi ALE dapat dinon-aktifkan dengan cara mengatur bit 0 pada SFR di alamat 8EH. Dengan keadaan bit yang telah diatur, ALE hanya akan aktif jika ada instruksi MOVX atau MOVC. Kondisi saat ALE dinon-aktifkan tidak akan memberikan pengaruh bila mikrokontroler berada dalam mode eksekusi internal.

i. PSEN

(30)

memori eksternal. PSEN merupakan kontrol sinyal yang mengijinkan untuk mengakses program (code) memori eksternal. Pin ini dihubungkan ke pin OE (Output Enabled) dari EPROM. Saat AT89S52 mengeksekusi kode dari program memori eksterna l, PSEN akan mengaktifkan sebanyak dua kali setiap perputaran mesin, kecuali bila pengaktifan kedua PSEN terlewat selama setiap pengaksesan ke data memori eksternal.

j. EA/VPP

Eksternal Access Enable (EA) harus terhubung dengan ground untuk mengaktifkan mikrokontroller dalam mengambil kode dari lokasi program memori eksternal yang dimulai dari 0000H sampai FFFFH. Perlu diketahui bahwa, bila clock bit 1 telah diprogram, EA akan dihubungkan dengan reset secara internal. E A harus dihubungkan dengan VCC untuk melakukan eksekusi program secara internal. Pin ini juga menerima programming enable voltage (VPP) sebesar 12 volt selama pemrograman flash.

k. XTAL1 dan XTAL2

(31)

clock mikrokontroler yang digunakan adalah 12 MHz, maka kecepatan pelaksanaan instruksi persiklus adalah 1 mikro sekon.

2.3.4 Special Function Register

Register Fungsi Khusus ( Special Function Register / SFR ) terdapat pada RAM internal pada lokasi memori 80h hingga FFh. SFR ini mencakup port-port pewaktu (timer), kontrol peripheral, dll. Register-register ini hanya dapat diakses dengan pengalamtan langsung. 16 alamat dalam SFR dapat diakses baik secara byte maupun bit. SFR memiliki format alamat awal yang khusus yaitu xxxx x000b atau dalam format heksadesimal yaitu x0h dan x8h. [5] Berikut ini akan dijelaskan secara singkat SFR beserta fungsinya.

a. Akumulator

Akumulator atau ACC menempati lokasi E0h, digunakan sebagai register untuk menyimpan data sementara dalam program dimana instruksinya mengacu sebagai register A.

b. Register B (lokasi F0h)

Digunakan selama operasi perkalian dan pembagian. Untuk instruksi lain, dapat digunakan sebagai register scratch pad.

c. Program Status Word (PSW)

(32)

Gambar 2.7 Register PSW dalam AT89S52 d. Data Pointer

Register data pointer atau DPTR mengandung DPTR untuk byte tinngi (DPH) dan byte rendah (DPL) yang masing-masing berada pada lokasi 83h dan 82h, bersama-sama membentuk register yang mampu menyimpan alamat 12 bit. Dapat dimanipulasi sebagai register 16 bit atau sebagai 2 register 8 bit yang terpisah.

e. Stack Pointer

Register SP (stack Pointer) menempati lokasi 81h yang merupakan register dengan panjang 8 bit, digunakan dalam proses simpan dan ambil dari / ke stack. Stack ini berisi alamat dari data yang berada paling awal yang masuk ke dalam stack. Operasi stack terdiri dari memasukkan data (push) pada stack dan mengeluarkan data (pop) dari stack. Memasukkan data stack ini akan mengakibatkan peningkatan nilai dari SP sebelum menulis data dan mengeluarkan data akan mengakibatkan penurunan nilai SP.

f. Port Register

P0, P1, P2 dan P3 menempati lokasi 80h, 90h, A0h dan B0h yang digunakan untuk menyimpan data yang akan dibaca atau ditulis dari / ke port untuk masing-masing port 0, port1, port2 dan port3.

g. Timer Register

(33)

dilokasi 8Dh dan 8Bh serta (TH2, TL2) dilokasi CDh dan CCh merupakan register- register pencacah 16 bit untuk masing-masing timer 0, timer 1 dan timer2.

h. Serial Data Buffer

SBUF atau Serial Data Buffer (lokasi 99h) terdiri dari 2 register yang terpisah yaitu register penyangga pengirim (transmit buffer) dan penyangga penerima (receive buffer). Pada saat data disalin ke SBUF, data sesungguhnya dikirim ke penyangga pengirim dan sekaligus mengawali transmisi data serial. Sedangkan pada saat data disalin dari SBUF, maka sebenarnya data tersebut berasal dari penyangga penerima.

i. Control Register

Register-register IP, IE, TMOD, TCON, T2CON, T2MOD, SCON dan PCON berisi bit-bit kontrol dan status untuk sisitem interupsi, pencacah / pewaktu dan port serial.

2.3.5 Catu Daya untuk Sistem Mikrokontroller

(34)

LM 7805

hingga 1A, dapat digunakan LM7805 dengan kemasan TO-220 yang dilengkapi metal pendingin. Namun, jika sistem yang dibuat hanya mengkonsumsi daya sekitar 50mA, maka dapat menggunakan tipe LM7805 dengan kemasan TO-92 yang telah dapat menangani arus hingga 100mA. [5]

Gambar 2.8 Catu Daya Sederhana Untuk Mikrokontroller 2.3.6 Dasar Mikrokontroler

Sebuah mikrokontroler memiliki beberapa perlengkapan dasar, antara lain adalah CPU, Alamat, Data, Pengendali, Memori, RAM, ROM, Input/ Output.

1. Central Processing Unit (CPU)

Unit pengelola pusat (CPU) terdiri atas dua bagian yaiu unit pengendali (CU) serta unit aritmatika dan logika (ALU). Fungsi utama unit pengendali adalah untuk mengambil, mengkode, dan melaksanakan urutan instruksi pada sebuah program yang tersimpan dalam memori. Sedangkan unit aritmatika atau perhitungan bertugas untuk menangani operasi perhitungan maupun boolean dalam program.

2. Alamat

(35)

Bayangkan apa yang terjadi kalau rumah-rumah itu tidak diberi alamat, pasti kita akan kebingungan untuk menuju ke rumah tertentu. Demikian pula dengan mikrokontroler, supaya dapat mengakses suatu device maka mikrokontroler tersebut harus mengetahui alamat device yang akan diakses. Address decoder akan memberikan alamat untuk tiap device.

3. Data

Mikrokontroler AT89S52 merupakan versi terbaru dibandingkan mikrokontroler AT89C51 yang telah banyak digunakan saat ini.CPU mikrokontroler AT89S52 mempunyai lebar bus 8 bit. Pena data 8 bit pada AT89S52 (D0, …..D7) ini terletak didalam chip karena jumlah pena luar pada mikrokontroler terbatas. Pena untuk bus data di multipleks dengan alamat A0, …..A7 pada port 0, sehingga sering juga disebut AD0, …..AD7.

4. Pengendali

Selain bus alamat dan bus data mikroprosesor atau mikrokontroler dilengkapi juga dengan bus pengendali (control bus), yang fungsinya untuk menyerempakkan operasi mikroprosesor atau mikrokontroler dengan operasi rangkaian luar. Contoh pena pengendali ini antara lain ALE, PSEN, WR, RD, interupsi dan lain-lain.

5. Memori

(36)

untuk menyimpan data. Umumnya didalam mikrokontroller tersedia 2 jenis memori yaitu ROM dan RAM (Read Only Memory) bersifat hanya dibaca dan isinya tidak hilang bila catu daya dimatikan, digunakan untuk menyimpan program. Sedangkan RAM (Random-Access Memory) bersifat bisa dibaca dan ditulis tetapi isinya bisa hilang bila catu daya dimatikan, digunakan untuk menyimpan data stack. Dengan berkembangannya teknologi batas antara ROM dan RAM kini agak kabur. ROM sekarang bisa ditulisi untuk tipe flash atau EEROM. RAM sekarang juga tidak kehilangaan isinya saat catu daya dimatikan yaitu pada tipe NVRAM (Non-Volatile RAM).

Memori di dalam Mikrokontroller berukuran terbatas. Untuk itu dan harus tahu persis berapa kebutuhan memori yang digunakan. Kekurangan memori menyebabkan program anda tidak berjalan dengan benar, terlalu banyak memori yang tidak dipakai juga menyebabkan cost yang sia-sia.

6. RAM

RAM (Random Access Memory) pada mikrokomputer bisa mencapai ukuran sekian megabyte dan bisa di-upgrade ke ukuran yang lebih besar dan berlokasi di luar chip CPU-nya, sedangkan RAM pada mikrokontroler ada di dalam chip mikrokontroler yang bersangkutan dan ukurannya sangat minim, misalnya 128 byte, 256 byte dan seterusnya dan ukuran yang relatif kecil inipun dirasa cukup untuk aplikasi-aplikasi mikrokontroler.

(37)

(PSW) digunakan untuk memilih bank register yang digunakan. Penggunaan instruksi yang mengakses register akan menghemat kode mesin dibandingkan dengan instruksi yang mengakses lokasi secara langsung (direct addressing).

16 byte diatas bank register yaitu pada alamat 20h sampai 2Fh merupakan daerah yang dapat dialamati secara bit. Alamat bit-bit pada daerah ini adalah 00h sampai 7Fh.

Pendek kata, untuk RAM internal 128 byte bagian bawah, 32 byte pertama dapar digunakan sebagai bank register, 16 byte berikutnya dapat dialamati perbit, dan sisanya 80 byte dapat digunakan seperti biasa.

SFR

Gambar 2.9 128 byte RAM Internal Bagian Bawah (Lower)

(38)

SFR

Gambar 2.10 128 byte RAM Bagian Atas 7. ROM

ROM (Read Only Memory) diisi saat proses produksinya. Informasi yang dituliskan harus dipesan oleh pelanggan sebelum chip diberikan. Dalam sistem mikrokontroler, informasi ini dapat dibaca oleh CPU tetapi tidak dapat dirubah. ROM adalah memori yang paling sederhana, kecil, dan murah. Sifat memori program ini non volatile, artinya tetap akan tersimpan walaupun tidak diberi catu daya.

8. Input/ Output

(39)

P0 (lihat gambar 6A) hanya digunakan pada saat Port mengeluarkan '1' selama akses memori external, selain keadaan ini FET pull-up tidak aktif. Akibatnya bila bit-bit P0 berfungsi sebagai output maka bersifat open drain. Penulisan logika '1' ke bit latch menyebabkan kedua FET tidak bekerja, sehingga pin dalam keadaan mengambang (floating). Pada kondisi ini pin dapat berfungsi sebagai high impedance input. Port 1,2, dan 3 sering disebut dengan 'quasibidirectional' karena mempunyai pull-up internal. Saat berfungsi sebagai input maka mereka akan 'ditarik' ke high dan akan bersifat sebagai sumber arus bila 'ditarik' ke low secara eksternal. Port 0 sering disebut sebagai 'true-bidirectional', karena bila dikonfigurasikan sebagai input maka pinpinnya akan mengambang. Pada saat reset semua port latch akan berlogika ’1’ [5]

Gambar 2.11 Bit Latch Dan I/O Buffer

2.4 Motor DC

(40)

1. Motor DC dengan sikat (mekanis komutasi), yaitu motor yang memiliki sifat karbon berfungsi sebagai pengubah arus pada kumparan sedemikian rupa sehingga arah tenaga putaran motor akan selalu sama

2. Motor DC tanpa sikat, menggunakan semi konduktor untuk merubah maupum membalik arus sehingga layaknya pulsa yang menggerakkan motor tersebut. Biasa digunakan pada sistem servo, karena mempunyai efisiensi tinggi, umur pemakaian lama, tingkat kebisingan suara listrik rendah, karena putarannya halus seperti stepper namun putarannya terus menerus tanpa adanya step.

Dalam aplikasinya seringkali sebuah motor digunakan untuk arah yang searah dengan jarum jam maupun sebaliknya. Untuk mengubah putaran dari sebuah motor dapat dilakukan dengan mengubah arah arus yang mengalir melalui motor tersebut. Secara sederhana seperti yang ada pada Gambar 2.12, hal ini dapat dilakukan hanya dengan mengubah polaritas tegangan motor.

(41)

Agar pengubahan polaritas tegangan motor dapat dilakukan dengan mudah, maka hal ini dilakukan dengan menggunakan dua buah saklar seperti pada Gambar 2.13. di mana kedua saklar tersebut harus berada pada posisi yang saling berlawanan. Apabila S1 berada di posisi kiri (terhubung dengan positif) maka S2 harus berada di posisi kanan (terhubung dengan negatif) dan demikian pula sebaliknya dengan perubahan yang serempak.

Gambar 2.13 Pengaturan Arah Dengan Menggunakan Saklar Untuk aplikasi pengaturan arah dengan menggunakan mikrokontroler, maka posisi dari saklar dapat digantikan dengan transistor seperti yang ada pada Gambar 2.14. Gambar tersebut adalah merupakan rangkaian pengatur arah putaran motor DC dengan arus maksimum 5A dan tegangan kerja 20 Volt (V+).

(42)

Proses kendali dalam hal ini ditentukan oleh logika dari DRV0 dan DRV1, di mana agar motor tersebut bekerja, maka kondisi DRV0 dan DRV1 harus saling berbeda logika. Motor akan berhenti apabila keduanya berlogika 0. Kondisi logika 1 pada DRV0 dan DRV1 secara bersamaan tidak diperbolehkan, karena hal ini akan mengakibatkan semua transistor berada pada kondisi aktif dan sistem akan terhubung singkat.

Gambar tersebut pada dasarnya terdiri dari 4 buah transistor, namun karena arus dari motor yang dikendalikan cukup besar, maka setiap transistor dibentuk dengan konfigurasi darlington di mana setiap transistor terdiri dari 2 buah transistor yaitu 2N3055 dan C9013 untuk NPN dan MJ2955 dan C9012 untuk PNP. Dengan konfigurasi darlington, maka HFE (penguatan) dari transistor tersebut adalah sebesar hasil kali dari HFE keduanya, sedangkan tegangan VBE adalah 0,7V x 2 = 1,4V

Gambar 2.15 Konfigurasi Darlington NPN

(43)

ground (negatif), demikian pula dengan basis transistor darlington yang dibentuk oleh Q7 dan Q8. Basis dari transistor tersebut akan terhubung ke ground melalui R3 sehingga transistor darlington inipun aktif dan mengalirkan tegangan positif ke bagian kiri dari motor (Gambar 2.15.).

Logika 0 pada kaki DRV0 membuat transistor darlington yang dibentuk oleh Q1 dan Q2 non aktif sehingga bagian kiri dari motor atau kolektor dari transistor ini tidak terhubung ke ground. Arus tidak mengalir dari basis transistor darlington yang dibentuk oleh Q5 dan Q6 ke ground sehingga transistor inipun tidak aktif.

Sebaliknya bila kondisi logika dari DRV0 dan DRV1 dibalik, maka Q1-Q2 dan Q5-Q6 aktif sedangkan Q3-Q4 dan Q7-Q8 tidak aktif motor akan mendapat polaritas tegangan yang terbalik pula.

Skema pada Gambar 2.15. merupakan skema pengendali motor dengan kapasitas maksimum 5A. Proses perhitungan dari Gambar 2.15.

diperoleh sebagai berikut:

Arus motor maksimum (ICmax) = 5A HFE 2N3055 dan HFE MJ2955 = 20 HFE C9013 dan HFE C9012 = 60 HFE darlington = 1200

VBE = 1,4V V+ = 20Volt.

(44)

= 5/1200 = 4,16 Ma

Nilai R1 dan R2 adalah sama R1 = VOH DRV0 - VBE ---

Ib

= (4,5V – 1,4V)/4,16 mA

= 745 ohm atau untuk amannya digunakan nilai yang sedikit lebih besar yaitu 1K.

Nilai R3 dan R4 adalah sama R3 = (V+ - VBE)/Ib = (20 – 1,4)/4,16mA

= 4,47K atau untuk amannya digunakan nilai yang sedikit lebih besar yaitu 4,7K

Untuk antar muka dengan AT89S52, di mana setiap I/O kecuali Port 0 pada mode I/O biasa telah memiliki R pull up internal maka penggunaan R1 dan R2 dapat ditiadakan sehingga I/O AT89S52 dapat langsung terhubung ke DRV0 dan DRV1. Skema tersebut juga dapat digunakan untuk tegangan kerja (V+) selain 20 Volt dengan merubah nilai R3. [4]

2.5 Transistor

(45)

biasanya dibuat dari bahan silikon atau germanium. Tiga kaki yang berlainan membentuk transistor bipolar adalah emitor, basis dan kolektor. Mereka dapat dikombinasikan menjadi jenis N-P-N atau P-N-P yang menjadi satu sebagai tiga kaki transistor. Gambar di bawah memperlihatkan bentuk dan simbol untuk jenis NPN. (Pada transistor PNP, panah emitor berlawanan arah).

Gambar 2.16 Simbol Transistor NPN dan PNP

Pada rangkaian elektronik, sinyal inputnya adalah 1 atau 0 ini selalu dipakai pada basis transistor, yang mana kolektor dan emitor sebagai penghubung untuk pemutus (short) atau sebagai pembuka rangkaian. Aturan/prosedur transistor sebagai berikut:

1. Pada transistor NPN, memberikan tegangan positif dari basis ke emitor, menyebabkan hubungan kolektor ke emitter terhubung singkat, yang menyebabkan transistor aktif (on). Memberikan tegangan negatif atau 0 V dari basis ke emitor menyebabkan hubungan kolektor dan emitor terbuka, yang disebut transistor mati (off).

(46)

2.6 Driver Motor L293D

Untuk menjalankan Motor DC diperlukan sebuah Driver Motor. Driver Motor ini mempunyai banyak type atau versinya, namun yang akan digunakan untuk menjalankan Motor DC pada robot adalah Driver Motor versi L293D. L293D adalah suatu Driver Motor sirkit terintegrasi yang dapat digunakan untuk simulasi, yaitu mengendalikan dua kendali motor kecil.

Gambar 2.17 IC L293D

IC L293D ini termasuk dalam standard 16 pin dan mempunyai flyback dioda untuk memperkecil voltase induktif. L293D terbatas pada 600 mA, tetapi pada kenyataannya kebanyakan hanya dapat digunakan pada batasan mA yang kecil, kecuali jika sudah melakukan beberapa percobaan serius untuk menurunkan temperaturnya. Jika L293D ini dicoba dengan sebuah Motor DC dan pada saat bekerja terasa terlalu panas bila disentuh maka IC ini tidak dapat digunakan pada Motor DC tersebut. [4]

(47)

2.7 Perangkat Lunak

Dalam pengoperasian perangkat keras ini agar dapat bekerja sesuai dengan yang diharapkan maka perlu suatu perangkat lunak yaitu Software yang sesuai dengan mikrokontroller yang digunakan. Disini digunakan IC Mikrokontroller AT89S52 yang mempunyai 8 Kb Flash PEROM. Secara umum bahasa pemrograman yang sesuai dengan mikrokontroller adalah Bahasa Assembly karena merupakan suatu bahasa mesin.

2.8 Program Sumber Assembly

Program Sumber Assembly merupakan program yang ditulis oleh pembuat program yang berupa kumpulan baris perintah dan biasanya disimpan dengan extension.ASM. program ini ditulis menggunakan perangkat lunak-perangkat lunak teks editor seperti Notepad atau editor DOS. Program Assembler merupakan perangkat lunak yang akan dibutuhkan untuk melakukan proses assembly yang mengubah program sumber assembly menjadi program obyek maupun assembly listing. [6]

2.8.1 Ekspresi-Ekspresi Assembly

i. Basis Bilangan

Basis bilangan ditulis dengan standart Mikroprosesor Intel. Akhir konstanta harus ditulis “B” untuk biner, “O” atau “Q” untuk Oktal, “D” atau tanpa simbol untuk desimal, dan “H” untuk hexadesimal.[5]

Contoh :

(48)

MOV A, #15D

MOV A, #15O

MOV A, #15Q

MOV A, #15H

MOV A, #0AH

MOV A, #11111111B

MOV A, #10111B

Khusus untuk format heksa, jika digit awal MSB (Most Significant Bit) adalah huruf (A,B,C,D,E, atau F), penulisannya harus diawali huruf “0” (nol) dikarenakan bilangan hexadesimal terdiri dari 16 bit, dimana masing-masing terdiri dari 8 bit.

ii. String Karakter

Operan dapat berupa string yang terdiri dari satu atau karakter yang diapit tanda petik tunggal (‘). Kode ASCII dari karakter tersebut kemudian diterjemahkan sebagai bilangan biner yang sesuai dengan assembler. [10] Contoh :

CJNE A, #’Q’, LAGI

SUBB A, #’Q’ ; Konversi Digit ASCII ke digit biner MOV DPTR, #’AB’ ; Dua perintah

MOV DPTR, #4142 ; ini sama hasilnya iii. Operator-operator Aritmatik

(49)

- Pengurangan * Perkalian / Pembagian

MOD modulo, sisa pembagian

Contoh : Dua instruksi dibawah ini akan memiliki hasil yang sama MOV A, #10+10h

MOV A, #1Ah Atau

MOV A, #25 MOD 7 MOV A, #4 iv. Operator-operator logika

Operator Logika Mencakup : OR Logika OR

AND Logika AND XOR Logika XOR

NOT Logika komplemen (Kabalikan)

Operasi logika tersebut masing-masing bit pada operator, misalnya : Dua instruksi berikut hasilnya sama :

MOV A, #’9’ AND 0fh MOV A, #9

Operasi NOT hanya membutuhkan satu operan, misalnya : TIGA EQU 3

(50)

v. Operator-operator khusus Operator Khusus Mencakup : SHR menggeser beberapa bit ke kanan SHL menggeser beberapa bit ke kiri HIGH byte tinggi (d7 sampai dengan d4) LOW byte rendah (d0 sampai dengan d3)

Contoh pada dua baris program berikut ini : MOV A, #8 SHL 1

MOV A, #19h

vi. Operator-operator Relasional

Jika suatu operator relasional digunakan antara dua operan, maka hasilnya selalu salah (0000H) atau benar (FFFFH). Operator relasional ini mencakup :

EQ = sama dengan NE <> tidak sama dengan LT < lebih kecil

LE <= lebih kecil atau sama dengan GT > lebih besar

GE >= lebih besar atau sama dengan vii. Format Program Bahasa Assembly

Program Bahasa Assembler berisikan : 1. Instruksi-instruksi mesin

(51)

3. Kontrol-kontrol Assembler 4. Komentar-komentar

Instruksi- instruksi mesin merupakan mnemonic yang bisa dijalankan. Pengarah Assembler (Assembler Directive) merupakan instruksi ke program assembly yang mendefinisikan struktur program, simbol-simbol, data, konstanta, dan lain-lainnya. Kontrol Assembler mengatur mode-mode assembler dan aliran assembly langsung. Komentar perlu dituliskan agar program mudah dibaca dan dimengerti, tidak harus perinstruksi, dapat berupa sekumpulan instruksi yang mengerjakan suatu operasi.

Baris-baris program yang mengandung instruksi mesin atau pengarah assembler harus mengikuti aturan standart sebagai berikut :

[label:] mnemonic [operan] [,operan] […] [;komentar] Berikut adalah penjelasan dari aturan bahasa assembly:

a. Label

Sebuah label mewakili sebuah alamat dari instruksi atau data yang mengikat. Label ini digunakan sebagai operan pada instruksi-instruksi percabangan. Simbol dan label adalah 2 hal yang berbeda. Simbol tidak menggunakan titik dua ( : ), sedangkan label menggunakannya. Perhatikan contoh berikut :

PAR EQU 500 ; “PAR” adalah suatu symbol dari nila i 500 START : MOV A,#0FFh ; “START” adalah label yang menunjukkan alamat

(52)

Sebuah label atau simbol harus diawali dengan sebuah huruf, tanda Tanya atau garis bawah kemudian diikuti dengan huruf, angka, tanda tanya atau garis bawah hingga 31 karakter.

b. Mnemonic

Mnemonik instruksi atau pengarah assembly dimasukkan dalam “mnemonic field” yang mengikuti label mnemonic. Mnemonic instruksi misalnya ADD, MOV, INC dan lain- lain.

c. Operan

Operan ditulis setelah mnemonic, bisa berupa alamat atau data yang digunakan instruksi bersangkutan. Bisa juga berupa label yang mewakili alamat suatu data atau simbol yang mewakili data konstanta.

d. Komentar

Komentar harus diawali dengan titik kom ( ; ), sebuah baris akan dianggap sebagai komentar jika diawali dengan titik koma. Sub-rutin dari bagian-bagian besar program yang mengerjakan suatu operasi biasanya diawali dengan blok komentar yang menjelaskan fungsi sub-rutin atau sebagian besar program tersebut.

viii. Set Instruksi

(53)

a. Instruksi Transfer Data

Instruksi dasar yang digunakan adalah MOV, berasal dari kata move yang berarti memindahkan. Pada instruksi MOV artinya adalah menyalin data. Instruksi MOV dibedakan sesuai jenis memori. Pada memori data instruksi ini ditulis MOV, pada memori program ditulis dengan MOVC sedangkan pada memori eksternal ditulis dengan MOVX.

b. Instruksi Logika

Instruksi ini dipakai untuk melakukan operasi logika yaitu AND, OR, XOR, opeasi clear (CLR), komplemen (CPL), operasi pergeseran kanan atau kiri (RR, RRC, RL dan RLC) serta operasi penukaran data (SWAP). Data yang dipakai bisa berupa data dalam akumulator atau data yang berada dalam memori data.

(54)

c. Instruksi Aritmatika

Instruksi aritmatika merupakan instruksi dasar dalam setiap komputer, dimana terdiri dari operasi dasar matematika seperti penjumlahan (ADD), pengurangan (SUB), perkalian (MUL), pembagian (DIV). Operasi lainnya adalah penambahan 1 isi register (INC) dan pengurangan 1 isi register (DEC).

Tabel 2.4 Instruksi Aritmatika

d. Instruksi Boolean

(55)

bit tunggal yang terpisah. Instruksi yang mengakses bit-bit ini tidak hanya untuk percabangan bersyarat, namun juga meliputi instruksi-instruksi seperti MOV, SET, CLR (clear), CPL (complement), OR dan AND

Tabel 2.5 Instruksi Boolean

e. Instruksi Percabangan

Percabangan program digunakan untuk mengontrol jalannya program, termasuk pemanggilan dan kembali dari subrutin atau percabangan.

ix. Sub-Rutin dan Interupsi

(56)

pemanggilan sebuah sub-rutin terdiri dari ACALL (Absolute Call) dan LCALL (Long Call). Assembler menafsirkan perintah CALL sama seperti perintah JMP. Perintah CALL akan menyimpan program counter ke stack dan mengambil ketika sub- rutin selesai atau RET. Sedangkan RET1 digunakan untuk kembali dari interrupt service rutin. Jika tidak ada interupt lain yang menunggu, maka RET1 berfungsi seperti RET.

x. Mode Pengalamatan

Dalam pembuatan program, data atau operan bisa berada di tempat yang berbeda. Untuk mengakses data atau / operasi tersebut cara yang digunakan adalah menggunakan mode pengalamatan (addressing mode). Mode pengalamatan terbagi menjadi beberapa macam, yaitu :

1. Mode pengalamatn segera (immediate addressing mode)

Proses pengalamatan ini terjadi pada sebuah perintah yang nilai operan merupakan data yang akan diproses. Operan tersebut diawali dengan tanda ‘#’.

Contoh : MOV A,#30h

Instruksi ini berarti data yang didefinisikan yaitu 30h disalin ke akumulator A.

2. Mode pengalamatan langsung (direct addressing mode)

Mode ini digunakan untuk menunjukkan data yang berada di suatu lokasi memori dengan cara menyebut lokasi memori tempat data tersebut berada. Contoh : MOV A,50h

(57)

lokasi 50h di salin ke akumulator.

3. Mode pengalamatan tidak langsung (indirect addressing mode) Pengalamatan dengan cara menaruh alamat yang dimaksud ke suatu register dalam hal ini, khususnya register R0 dan R1.

Contoh : MOV A, @R1

Isi memori yang alamat ditunjukkan oleh isi register 1 disalin ke akumulator A.

4. Mode pengalamatan register (register addressing mode) Mode pengalamatan ini melibatkan register.

Contoh : MOV A,R5

Instruksi ini berarti bahwa data dalam register R5 disalin ke akumulator A 5. Mode pengalamatan kode tidak langsung (code indirect

addressing mode)

Pengalamatan ini digunakan untuk memori program. Contoh : MOV C, @A+DPTR

Instruksi ini menggunakan ‘move’ untuk membedakan bahwa instruksi ini digunakan untuk memori program. Tanda’@’ menandai A+DPTR yang berfungsi untuk menyatakan lokasi memori yang isinya disalin kedalam akumulator.

xi. Assembler Directives

(58)

beberapa contoh dari assembler directives.

1. ORG (set Origin), yaitu menyeting awal dari suatu program. Sintaks penulisan ORG adalah :

ORG ekspresi

Contoh : ORG 100h . . . .

Program diatas artinya adalah set awal lokasi program ke alamat 100h dan mulai baris program di alamat 100h.

2. END, yaitu akhir dari suatu program, tidak ada baris program lagi yang akan dieksekusi setelah directive ini.

Contoh :

. . . ; baris instruksi terakhir END ; akhir program

3. DB (difine byte), digunakan untuk memberi nilai tertentu pada memori di lokasi tersebut.

Contoh :

ORG 300

DB 50h, 51h

Pengarah assembler DB terletak dibawah ORG 300h. sehingga data 50h dan 51h akan menempati lokasi 300h dan 301h.

4. EQU, digunakan untuk mendefinisikan sebuah simbol assembler secara bebas.

(59)

Simbol EQU Ekspresi

Contoh : BILANGAN EQU 30H

MOV A,# BILANGAN

Pada perintah diatas, akumulator diisi konstanta ‘bilangan’. Konstanta ini didefinisikan sebelumnya dengan nilai 50h dengan menggunakan pengarah assembler EQU.

2.9 Program DT-HiQ AT89 USB ISP

DT-HiQ AT89 USB ISP adalah In-System Programmer (ISP) untuk mikrokontroler keluarga MCS-51®. Programmer ini dapat dihubungkan ke PC melalui antarmuka USB dan mengambil sumber catu daya dari target board. DT-HiQ AT89 USB ISP dilengkapi dengan perangkat lunak berbasis Windows® yang menyediakan antarmuka yang sederhana dan mudah digunakan pengguna.[5]

2.9.1 Spesifikasi DT-HiQ AT89 USB ISP adalah sebagai berikut: 1. Beroperasi dengan tegangan target 2,7V sampai 5,5V. 2. Antarmuka USB ke PC.

3. Mengambil daya dari target board. Tidak memerlukan catu daya tersendiri

4. dan aman bagi PC jika terjadi hubungan singkat pada target board. 5. ISP Programmer untuk mikrokontroler MCS-51® seri AT89 yang 6. berkemampuan In-System Programming.

(60)

9. Mendukung file format Intel HEX atau BIN.

2.9.2 IC yang di dukung

Saat ini DT-HiQ AT89 USB ISP mendukung pemrograman beberapa IC berikut ini:

a) AT89LP2052 b) AT89LP4052 c) AT89S2051 d) AT89S4051 e) AT89S51 f) AT89S52

(61)

50

Pada Bab ini dibahas mengenai beberapa hal dasar tentang bagaimana perancangan robot dirancang, komponen - komponen apa saja yang dibutuhkan dalam perancangan robot ini, bagaimana cara merancang robot ini, Flowchart Robot, Blok Diagram Hardware Robot dan Analisa setelah robot itu dibuat.

3.1 Perancangan Robot

Dalam pembuatan robot ini penulis memperhatikan beberapa aspek yang dibutuhkan, yaitu :

1. Robot ini dirancang untuk dapat berjalan secara otomatis dengan kemampuan program yang telah diinputkan di dalam robot tersebut serta robot dapat menyedot semua partikel benda kecil termasuk debu.

2. Robot ini bergerak dalam sebuah ruangan yang telah di sediakan juga dapat bergerak pada ruangan tertentu.

3. Robot ini dirancang dengan kemampuan hanya dapat bergerak dan tidak mempunyai kemampuan lebih untuk menangani hal yang bersifat berat.

4. Robot ini dirancang dengan menggunakan sensor Limit Switch dengan Mikrokontroller AT89S52 sebagai pengendali utama pada robot.

(62)

3.2 Flowchart

(63)

L im it S w itc h D e p a n

M o to r D C D riv e r M o to r M o to r D C

M ic ro k o n tro le r A T 8 9 S 5 2 V a c u m

C le n e r M in i

L im it S w itc h B e la k a n g

L im it S w itc h K a n a n L im it S w itc h K iri

Pada gambar 3.1 menjelaskan tentang flowchart robot penyedot debu pada saat robot bergerak secara otomatis.

1. Inputan awal dari robot ini dimulai dari mikrokontroller. Apabila mikrokontroller telah diinputkan program maka mikrokontroller dapat diproses sesuai dengan program yang telah diatur oleh user.

2. Setelah diaktifkan robot secara otomatis akan berjalan lurus, jika ada halangan di depan maka robot akan mengubah arah sesuai program yang di tentukan. Robot ini memiliki dua tombol, tombol 1 untuk robot agar bergerak dan tombol ke - 2 untuk vacuum cleaner mini.

3. Jika robot tidak menemukan suatu hambatan , robot akan terus berjalan maju. Dan jika robot menemukan satu hambatan, maka akan ke proses selanjutnya, yaitu robot memutar arah sesuai program yang telah di inputkan.

3.3 Blok Diagram

(64)

Pada gambar 3.2 menjelaskan tentang perencanaan perangkat keras pada proyek akhir ini mempergunakan mikrokontroler AT89S52 sebagai sistem kontrol utama pada robot penyedot debu. Dimana sensor Limit Switch memiliki kemampuan mendeteksi adanya suatu hambatan. Jika sensor mendeteksi adanya hambatan maka mikrokontroler yang berfungsi sebagai system control utama akan memerintahkan driver motor untuk berjalan mundur sesuai dengan program yang telah di inputkan. Dan jika sensor tidak mendeteksi adanya hambatan maka mikrokontroler akan memerintahkan driver motor berjalan maju lurus. sedangkan untuk penyedot debu pada robot, di pasang secara manual. Jika tombol penyedot debu di aktifkan robot akan menyedot debu sampai tombol off pada penyedot debu di matikan.

3.4 Kebutuhan Perancangan Hardware Robot

Dalam pembuatan robot ini komponen-komponen yang dibutuhkan adalah sebagi berikut:

1. Sensor Limit Swicth 2. Vacuum Cleaner Mini 3. Dinamo DC.

4. Transistor bc557.

5. PCB (Printed Circuit Board). 6. Baterai ukuran AA.

(65)

8. Elco 1000 uF

9. IC Regulator / voltage regulator 10. Conector 8 pin

11. Biled

12. Rpack 10 khom 13. LED

3.5 Cara Merancang Robot

Merancang robot bukanlah suatu hal yang mudah dan tidak dapat dilakukan oleh banyak kalangan. Dalam menjalani Tugas Akhir ini penulis ingin memaparkan bagaimana cara merancang robot ini.

Pertama, membeli semua komponen-komponen yang diperlukan dalam pembuatan robot ini. Setelah membeli semua komponennya, kemudian mendesign robotnya sesuai dengan keperluan dan kebutuhan user.

Kedua, setelah mendesign robot, kemudian merakit komponen-komponen yang sudah ada ke PCB (Printed Circuit Board). Setelah itu untuk menyatukan rangkaian komponen dan motor diperlukan sebuah mika sebagai rangka dari robot serta vacuum cleaner mini untuk menyedot debu.

Ketiga, di dalam menggerakkan robot maka di gunakan baterai dengan ukuran AA yang berjumlah masing-masing 18 (delapan belas) biji untuk vacum cleaner mini, mekanik dan komponen yang terdapat di PCB.

(66)

3.6 Analisa Perancangan Motor DC

Motor DC merupakan salah satu bagian terpenting dalam merancang sebuah robot penjelajah. Motor DC ini mempunyai peran yang sangat penting disamping sebagai alat penggerak, maka dari hasil perancangan dan analisa, jika robot tersebut maju ke depan maka kedua motor kanan dan kiri berputar bersama ke arah depan dan jika robot tersebut belok kekanan maka motor bagian kanan berputar ke belakang dan motor bagian kiri berputar ke depan. Begitu pula sebaliknya jika robot belok kekiri maka motor bagian kiri berputar ke belakang dan motor bagian kanan berputar ke depan. Serta jika robot itu mundur ke belakang, maka motor kanan dan kiri berputar ke belakang.

Tabel 3.1 Rancangan Rangkaian Driver Motor

Motor Kanan Motor Kiri

M1 M2 M3 M4

Keterangan

0 1 0 1 Maju

0 1 1 0 Kiri

1 0 0 1 Kanan

1 0 1 0 Mundur

0 0 0 0 Stop

3.7 Rancangan dan Analisis Robot

(67)

Vacum

Dinam o Kiri

Dinam o Kanan Depan

Belakang

Vacum

Dinam o Kiri

Dinam o Kanan Depan

Belakang

3.7.1 Rancangan Motor Saat Maju ke Depan

Posisi pada saat maju , dinamo kiri berputar ke arah kanan atau searah jarum jam sedangkan untuk dinamo kanan berputar ke kiri atau berlawanan searah jarum jam.

Gambar 3.3 Robot saat maju 3.7.2 Rancangan Motor Saat Belok ke Kanan

Posisi pada saat belok kanan , dinamo kiri dan dinamo kanan berputar ke arah kanan atau searah jarum jam.

(68)

V a c u m

Posisi pada belok kiri , dinamo kiri berputar ke arah kanan atau searah jarum jam sedangkan untuk dinamo kanan berputar ke kiri atau berlawanan searah jarum jam.

Gambar 3.5 Robot saat belok kiri 3.7.4 Rancangan Motor Saat Mundur

Posisi pada saat mundur , dinamo kiri berputar ke arah kanan atau searah jarum jam sedangkan untuk dinamo kanan berputar ke kiri atau berlawanan searah jarum jam.

(69)

3.8 Rancangan pada Robot

Rancangan perangkat keras pada proyek akhir ini mempergunakan mikrokontroler AT89S52 sebagai sistem kontrol utama pada robot penyedot debu. Dan dihubungkan dengan perangkat luar antara lain rangkaian sensor Limit Switch untuk pendeteksian suatu hambatan. Sedangkan rangkaian driver digunakan untuk menjalankan motor DC

Gambar 3.7 Skematis PCB

(70)

M ikro Gambar 3.8 Diagram Blok PCB

Pada blok diagram ini yang di tunjukan pada gambar 3.8 menjelaskan catu daya pada mikrokontroler yang mempunyai tegangan 5 volt, sedangkan untuk motor DC memiliki 3 volt dan untuk vacum 6 volt. untuk menjalankan robot dibutuhkan catu daya pararel 6 volt yang di dapat kan dari 18 ( delapan belas ) baterei kering AA, ukuran 1,5 volt pada tiap baterei.

(71)

Robot Penyedot Debu Limit Switch Depan Limit Switch Belakang

Limit Switch Kiri Limit Switch Kanan Robot Berjalan Maju

End

Pada gambar 3.9 menjelaskan tentang rancangan robot yang tampak pada bagian atas robot, dan bagian bawah robot. Dimana rancangan robot ini mempunyai panjang 20 Cm dan lebar 10 Cm. robot juga memiliki 4 buat sensor limit switch sebagai sensor pendeteksi benturan. Serta vacuum cleaner mini untuk penyedot debu pada robot.

Gambar3.10 STD Pada Robot Penyedot Debu

(72)

Relay

Dioda 1N Elco 1000uf Voltage Regulator 5 Volt

Swicth ON/OFF Robot

LED Power

Conector putih 8 pin Terminal PCB

gambar di bawah ini adalah rangkaian PCB pada robot yang menjelaskan bagian - bagian komponen PCB.

Gambar 3.11 Rangkaian PCB

1. On / Off Switch

(73)

2. Sensor Limit Switch

Sensor Limit Switch adalah sensor peraba yang bersifat mekanis dan mendeteksi sesuatu setelah terjadi kontak fisik. Penggunaan sensor ini digunakan untuk membatasi gerakan maksimum sebuah mekanik

3. Mikrokontroler AT89S52

Mikrokontroler itu sendiri merupakan chip yang berfungsi sebagai control utama pada robot penyedot debu ini.

4. Driver Motor

Driver motor adalah komponen yang digunakan khusus untuk pergerakan motor DC, dimana fungsi driver motor tersebut mengatur dan menyampaikan perintah dari mikrokontroler.

5. Transistor

Transistor adalah komponen yang digunakan sebagai penguat arus pada robot penyedot debu.

6. Resistor

Resistor adalah komponen yang di gunakan sebagai penghambat arus ke transistor pada robot penyedot debu.

7. Elco 1000uf

(74)

8. Dioda

Dioda 1N4148 adalah komponen pada robot penyedot debu yang digunakan sebagai pengaman tegangan arus balik pada relay. Sedangkan dioda 1N berfungsi untuk mencegah polaritas terbalik

9. Conector putih 8 pin

Conector putih 8 pin komponen pada robot penyedot debu yang berfungsi untuk menghubungkan limit switch dengan mikrokontroler pada robot penyedot debu.

10. Rpack

Rpack 10ohm adalah komponen pada rangakaian pada robot penyedot debu yang berfungsi sebagai pull up P0P 0 untuk mikrokontroler.

11. IC Regulator / Volatage Regulator

Voltage regulator 5 volt adalah salah satu komponen pada robot penyedot debu yang berfungsi sebagai penurun tegangan menjadi 5 volt.

12. Terminal PCB

Terminal PCB adalah penghubung antara komponen rangkaian PCB pada mekanik dan vacuum cleaner mini serta baterei kering ukuran AA.

13. Tombol reset

Tombol reset pada robot berfungsi untuk pengembalian seting robot pada kondisi normal atau bernilai 0.

14. LED

(75)

64 4.1 Kebutuhan Sistem

Ada beberapa hal dalam pengembangan sistem yang harus diperhatikan sebelum akhirnya sampai pada langkah menjalankan program, antara lain perangkat keras (hardware), perangkat lunak (software) serta bagaimana akhirnya sistem dapat berjalan sesuai dengan program yang telah dibuat.

4.1.1 Perangkat Sistem

Perangkat yang dibutuhkan dalam pembuatan robot penyedot debu dengan menggunakan sensor Limit Swicth ini termasuk dalam pembuatan laporan adalah perangkat keras (hardware) dan perangkat lunak (software).

Adapun perangkat keras yang digunakan dalam pengembangan sistem ini adalah: 1. Komputer Pentium 4 Intel 3.0 Ghz

2. RAM 512 Mb 3. Hard Disk 80 Gb

4. DT-HiQ AT89 USB ISP 5. CD-ROM

Sedangkan perangkat lunak yang digunakan adalah :

1. Easy Assembler.exe

2. AT89 USB ISP.exe

(76)

4.2 Prosedur Pemasangan

Ada beberapa cara yang harus dilakukan sebelum program dibuat dan dimasukkan kedalam chip robot, yaitu :

1. Instal terlebih dahulu aplikasi Easy Assembler pada komputer.

2. Setelah selesai menginstal maka tahap selanjutnya adalah pembuatan program melalui easy assembler

Gambar 4.1 Pembuatan Program

Setelah program di buat terlebih dahulu kita Run Assembler program dengan cara memilih menu yang terdapat pada aplikasi Easy Assembler atau dengan cara menekan tombol F9 yang terdapat pada keybord untuk mengetahui apakah program yang di buat terdapat error atau tidak.

(77)

3. Setelah melakukan Run Assembler, kita dapat mengetahui apakah program yang kita buat teradapat error atau tidak. Berikut ini akan ditunjukkan gambar dimana jika program yang kita buat terdapat error.

Gambar 4.3 Error Program

4. Jika dalam program tidak terdapat kesalahan atau error terlebih kita compile program yang berekstensi .ASM ke .HEX, kita dapat memilih menu yang sudah ada pada aplikasi tersebut untuk meng-compile atau dengan menekan tombol F9 pada keyboard

(78)

5. Setelah selesai membuat dan mengconvert pemrograman ke dalam bentuk file .HEX . selanjutnya adalah mengirim / mengunduh file HEX tersebut ke dalam

IC AT89S52 yang telah terpasang pada sistem minimum. Pertama kita

Jalankan perangkat lunak AT89 USB ISP.exe

Gambar 4.5 Tampilan Program

6. Tahap selanjutnya pemilihan target IC Dialog Device Selection akan muncul saat perangkat lunak AT89 USB ISP.exe baru dijalankan atau bila menu

Options → Device Select dipilih. Jendela dialog ini berfungsi untuk

(79)

perangkat lunak akan aktif kembali serta pilihan instruksi yang disediakan akan disesuaikan dengan tipe IC target.

Gambar 4.6 Pemilihan IC Target

7. Komponen software dasar yang dibutuhkan ketika mengupload adalah harus tersedianya software AT89 USB ISP.exe serta terdapat file usb_isp_driver.inf pada direktori dimana program kita akan di upload. Tanpa adanya kedua

komponen tersebut kita tidak dapat mengupload program yang telah dibuat.

Untuk mengupload program anda sebelumnya anda harus menempatkan file

(80)

Gambar 4.7 Load HEX File to Flash Buffer

8. Tahap terakhir dalam pembuatan program setelah Load HEX File to Flash

Buffer yaitu pengupload file pemrograman HEX kita ke sistem

microcontroler. pilih menu “Program”, menu inilah yang berfungsi sebagai pengupload file pemrograman HEX kita ke sistem microcontroler. Jika file

berhasil di kirim maka akan muncul persentase pengiriman data, namun bila

gagal akan muncul pesan error. Jika proses download telah selesai maka

hardware kita telah diprogram sesuai dengan pemrograman serta fungsinya.

(81)

4.3 Implementasi coding

Pada tahapan ini akan dibahas mengenai implementasi program yang telah di buat untuk robot, dari perancangan robot yang telah dibahas sebelumya. Langkah pertama yang harus di lakukan dalam pembuatan program adalah mendeklarasikan semua fungsi, delay perintah ke perintah yang lain, dan semua port pada mikrokontroler yang digunakan sebagai input dan output dari program yang akan kita susun. Berikut adalah potongan program yang merupakan penentuan port pada mikrokontroler dalam membaca perintah sebelum masuk ke perintah utama

DelayBackward_C EQU 20 ; x 50 ms

(82)
(83)

Setelah proses deklarasi port yang di tentukan ke dalam mikrokontroler selesai, langkah kedua adalah membuat program yang akan memfungsikan register dan port mikrokontroler untuk menjalankan dan meneruskan perintah kepada piranti pendukungnya. Berikut adalah potongam program dimana robot akan berjalan sesuai inputan user. Program di bawah ini adalah sederet perintah mutlak mewakili inisialisasi program di atas jika sensor menyentuh suatu hambatan.

Perintah untuk menentukan robot berhenti,

ACALL Motor_Stop MOV a,#DelayStop_C ACALL Do_Delay

(84)

Relay

Elco 1000uf Voltage Regulator 5 Volt

Swicth ON/OFF Robot

LED Power

Batrei AA

4.4 Implementasi Robot

Pada tahapan ini akan dibahas mengenai implementasi sistem dari perancangan robot yang telah dibahas sebelumya.

Berikut adalah gambar kompenen-komponen yang telah di rakit PCB pada robot

Gambar 4.9 Rangkaian PCB pada Robot

Gambar

Gambar 2.8 Catu Daya Sederhana Untuk Mikrokontroller
Gambar 2.14  Skema Pengatur Arah Putaran Motor DC 20V
Gambar 2.15 Konfigurasi Darlington NPN
Tabel 2.3 Instruksi Logika
+7

Referensi

Dokumen terkait

Sensor yang digunakan untuk mendeteksi kecepatan putar dalam penelitian ini adalah sensor Optocoupler dan sensor yang digunakan untuk mengukur dan mengontrol temperatur motor

Implementasi Sistem (tampak belakang) ... Rangkaian Masukan Optocoupler ... Rangkaian Mikrokontroler Atmega8535 ... Rangkaian Driver Relay ... Rangkaian Mikrokontroler Sensor Warna

Mikrokontroler basic stamp 2P40 berfungsi sebagai otak dari robot yang mengendalikan semua komponen yang ada di dalam robot seperti sensor garis, sensor jarak, sensor warna

memerintahkan motor driver untuk membelokkan Robot Mobil ke kanan, apabila yang diterima kurang dari 120, maka Arduino memerintahkan motor driver untuk membelokkan Robot

Buzzer dan LED berfungsi sebagai penanda saat mikrokontroler menerima informasi dari sensor logam telah mendeteksi adanya logam atau besi yang melalui

Ketika sensor Ultrasonic PING bagian depan mendeteksi jarak pengguna troli terlalu dekat maka roda berjalan mundur sedikit, dalam perancangan sistem kontroler motor tidak

memerintahkan motor driver untuk membelokkan Robot Mobil ke kanan, apabila yang diterima kurang dari 120, maka Arduino memerintahkan motor driver untuk membelokkan Robot

Rangkaian sensor debu ini merupakan input utama dalam sistem ini, karena data hasil pembacaan intensitas debu yang ada dan akan diolah untuk dibandingkan dengan data