Perancangan Alat Bantu Pengukur Jarak Bagi Penyandang Tuna Netra Dengan Menggunakan Sensor Ultrasonik Berbasis Mikrokontroler AT89S51

(1)

PERANCANGAN ALAT BANTU PENGUKUR JARAK BAGI

PENYANDANG TUNA NETRA DENGAN MENGGUNAKAN

SENSOR ULTRASONIK BERBASIS MIKROKONTROLER

AT89S51

TUGAS AKHIR

NAIMAH F. NASUTION 052408040

PROGRAM STUDI D-3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2008


(2)

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

NAIMAH F. NASUTION 052408040

PROGRAM STUDI D-3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2008


(3)

PERSETUJUAN

Judul : PERANCANGAN ALAT BANTU PENGUKUR

JARAK BAGI PENYANDANG TUNA NETRA DENGAN MENGGUNAKAN SENSOR ULTRASONIK BERBASIS MIKROKONTROLER AT89S51

Kategori : TUGAS AKHIR

Nama : NAIMAH F NASUTION

Nomor Induk Mahasiswa : 052408040

Program Studi : DIPLOMA (D3) FISIKA INSTRUMENTASI

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (MIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2008 Diketahui

Departemen Fisika FMIPA USU Pembimbing,

Ketua,

(Drs. Syahrul Humaidi, M.Sc.)

NIP : 132 050 870 NIP : 132 050 870


(4)

PERANCANGAN ALAT BANTU PENGUKUR JARAK BAGI PENDERITA TUNA NETRA DENGAN MENGGUNAKAN SENSOR ULTRASONIK

BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

Saya mengakui bahwa Tugas Akhir ini adalah hasil karya saya sendiri,kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juli 2008

NAIMAH F NASUTION 052408040


(5)

iv

PENGHARGAAN

Puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya serta kesehatan sehingga penulisan Tugas Akhir ini selesai pada waktunya.

Dalam kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada pihak-pihak yang telah mendukung: kedua orang tua penulis yang telah banyak memberikan dukungan baik moril maupun materil kepada penulis dalam menyelesaikan Tugas Akhir ini, Bapak Dr. Eddy Marlianto, M.Sc., selaku Dekan FMIPA USU, Bapak Drs. Syahrul Humaidi, M.Sc., selaku Ketua Jurusan Program Studi Fisika Instrumentasi dan selaku dosen pembimbing Tugas Akhir yang telah bersedia meluangkan waktunya, bersabar dalam membimbing dan mengarahkan penulis dalam menyelesaikan Tugas Akhir ini, seluruh dosen dan pegawai FMIPA USU, Bang Brian dan kawan-kawan di Laboratorium Digital Departemen Fisika FMIPA USU yang telah banyak membantu penulis dalam menyelesaikan Tugas Akhir ini, dan rekan-rekan stambuk 2005 serta rekan-rekan di Asrama Putri yang telah banyak memberikan masukan, semangat dan motivasi kepada penulis.

Penulis menyadari bahwa dalam penyusunan Tugas Akhir ini masih terdapat kekurangan dalam materi dan penyajiannya. Oleh karena itu, penulis sangat mengharapkan masukan berupa saran maupun kritikan yang membangun.

Medan, Juli 2008


(6)

DAFTAR ISI

Halaman

Halaman Judul i

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Daftar Isi vi

Daftar Tabel viii

Daftar Gambar ix

Bab 1 Pendahuluan

1.1 Latar Belakang Masalah 1

1.2 Rumusan Masalah 2

1.3 Tujuan Penulisan 3

1.4 Batasan Masalah 3

1.5 Sistematika Penulisan 3

Bab 2 Landasan Teori

2.1 Mikrokontroler AT89S51 6

2.1.1 Konstruksi AT89S51 8

2.2 Sensor Ping ))) Ultrasonic Range Finder 12

2.3 Komponen Pendukung 13

2.3.1 Resistor 13

2.3.1.1 Fixed Resistor 14 2.3.1.2 Variable Resistor 16

2.3.2 Kapasitor 18

2.3.2.1 Electrolytic Capacitor (ELCO) 19 2.3.2.2 Ceramic Capacitor 19 2.3.2.3 Nilai Kapasitor 20

2.3.3 Transistor 21

2.4 Bahasa Assembly MCS-51 25

2.5 Software 8051 Editor, Assembler, Simulator 30 2.5.1 Software Downloader 31

Bab 3 Perancangan Alat

3.1 Diagram Blok 32

3.2 Rangkaian Mikrokontroler AT89S51 33 3.3 Perancangan Rangkaian Power Supplay 34 3.4 Perancangan Rangkaian Buzzer 35 3.5 Perancangan Rangkaian Tombol 36 3.6 Sensor Ultrasonik Ping))) 37


(7)

vii

Bab 4 Pengujian Rangkaian dan Program

4.1 Pengujian Rangkaian Mikrokontroler AT89S51 40 4.2 Pengujian Rangkaian Alarm 41 4.3 Pengujian Rangkaian Pemancar Ultrasonik 42 4.4 Pengujian Rangkaian Penerima Ultrasonik 45

4.5 Program 45

Bab 5 Kesimpulan Dan Saran

5.1 Kesimpulan 51

5.2 Saran 51

Daftar Pustaka 52

Lampiran A Skema Rangkaian Lengkap Lampiran B Gambar Alat


(8)

DAFTAR GAMBAR

Halaman

Gambar 2.2 IC Mikrokontroler AT89S51 9 Gambar 2.2 Ilustrasi Cara Kerja Ping))) 13

Gambar 2.3.1.1 Resistor karbon 14

Gambar 2.3.1.2.a Potensiometer 16 Gambar 2.3.1.2.b Grafik Perubahan nilai pada potensiometer 17

Gambar 2.3.2 Skema kapasitor 18

Gambar 2.3.2.1 Electrolytic Capacitor (ELCO) 19 Gambar 2.3.2.2 Ceramic Capacitor 20 Gambar 2.3.3. Simbol tipe transistor 22 Gambar 2.3.3.(a) Transistor sebagai Saklar ON 23 Gambar 2.3.3.(b) Karakteristik daerah saturasi pada transistor 24 Gambar 2.3.3.(c) Transistor Sebagai Saklar OFF 24 Gambar 2.5 Software 8051 Editor, Assembler, Simulator (IDE) 30 Gambar 2.5.1 ISP- Flash Programmer 3.0a 31 Gambar 3.1 Diagram Blok Keseluruhan Rangkaian 32 Gambar 3.2 Rangkaian Mikrokontroler AT89S51 33 Gambar 3.3 Rangkaian Power Supplay (PSA) 35

Gambar 3.4 Rangkaian Tombol 37

Gambar 3.6 Bentuk Fisik Sensor Ultrasonik 38

Gambar 3.7 Flowchart 39


(9)

viii

DAFTAR TABEL

Halaman

Tabel 2.3.1.1. Gelang Resistor 15 Tabel 2.3.2.3. Nilai Kapasitor 21 Tabel 4.3 Lamanya mikrokontroler AT89S51 mengerjakan perintah 44


(10)

ABSTRAK

Kajian ini bertujuan untuk merancang sebuah instrument pengukur jarak. Pada alat ini digunakan sepasang sensor ultrasonik yang terdiri dari pengirim dan penerima sinyal ultrasonik yang berfungsi sebagai pendeteksi jarak. Mikrokontroler yang digunakan adalah mikrokontroler jenis AT89S51 yang berfungsi untuk menghitung waktu antara pemancaran dan penerimaan sinyal serta dilengkapi dengan alarm sebagai pemberitahu jarak yang terukur. Objektif utama sistem ini adalah membantu penyandang tuna netra dalam mengukur jarak dan mengetahui keberadaan benda yang ada di depannya dengan memanfaatkan kecepatan suara.


(11)

v

ABSTRAK

Kajian ini bertujuan untuk merancang sebuah instrument pengukur jarak. Pada alat ini digunakan sepasang sensor ultrasonik yang terdiri dari pengirim dan penerima sinyal ultrasonik yang berfungsi sebagai pendeteksi jarak. Mikrokontroler yang digunakan adalah mikrokontroler jenis AT89S51 yang berfungsi untuk menghitung waktu antara pemancaran dan penerimaan sinyal serta dilengkapi dengan alarm sebagai pemberitahu jarak yang terukur. Objektif utama sistem ini adalah membantu penyandang tuna netra dalam mengukur jarak dan mengetahui keberadaan benda yang ada di depannya dengan memanfaatkan kecepatan suara.


(12)

BAB 1

PENDAHULUAN

1.1. Latar Belakang Masalah

Pengukuran merupakan hal yang penting dalam dunia ilmu pengetahuan. Pengukuran-pengukuran tersebut antara lain : pengukuran jarak dari satu tempat ke tempat lain, pengukuran waktu dari satu kejadian ke kejadian yang lainnya, pengukuran temperatur / suhu suatu daerah dan lain sebagainya.

Untuk mengukur jarak dari suatu titik ke titik lainnya dapat digunakan mistar atau meteran. Dengan menggunakan mistar atau meteran, maka dapat ditentukan jarak antara satu titik ke titik lainnya. Namun untuk beberapa kasus, misalnya pada penyandang tuna netra hal pengukuran jarak tidak dapat dilakukannya karena si penyandang tidak dapat melihat.

Seiring dengan perkembangan teknologi yang semakin canggih, khususnya dibidang elektronika analog dan digital, maka untuk mengukur jarak dari satu titik ke titik lainnya dapat digunakan sensor ultrasonik dan alat penghitung.


(13)

2

Sensor ultrasonik ini menggunakan kecepatan suara untuk mengukur jarak. Kecepatan suara adalah 331 m/s, dengan demikian jika diketahui waktu antara pengiriman sinyal dan penerimaan sinyal, maka akan dapat dihitung jarak antara pemancar dan penerima. Untuk menghitung waktu antara pengiriman sinyal dan penerimaan sinyal, maka harus digunakan alat penghitung. Alat penghitung ini dapat dirancang dengan menggunakan sebuah mikrokontroler. Jadi dengan menggabungkan antara sensor ultrasonik dan sebuah mikrokontroler, maka dapat dirancang sebuah alat pengukur jarak elektronik. Dengan demikian dengan adanya alat ini diharapkan dapat membantu penyandang tuna netra dalam hal pengukuran jarak dan mengetahui keberadaan benda yang ada didepannya.

1.2. Rumusan Masalah

Berdasarkan uraian diatas, penulis tertarik untuk mengangkat permasalahan tersebut kedalam Tugas Akhir dengan judul “Perancangan Alat Bantu Pengukur Jarak bagi Penyandang Tuna Netra dengan Menggunakan Sensor Ultrasonik Berbasis Mikrokontroler AT89S51”.

Pada alat ini akan digunakan sepasang sensor untrasonik yang terdiri dari pengirim dan penerima sinyal ultrasonik, sebuah mikrokontroler AT89S51 yang berfungsi untuk menghitung waktu antara pemancaran dan penerimaan dan alarm untuk memberitahukan jarak yang terukur.


(14)

1.3. Tujuan Penulisan

Tujuan dilakukan Tugas Akhir ini adalah sebagai berikut:

1. Memanfaatkan mikrokontroler sebagai alat penghitung waktu antara pemancaran dan penerimaan sinyal ultrasonik.

2. Memanfaatkan sensor ultrasonik untuk membantu penyandang tuna netra dalam hal mengukur jarak.

1.4. Batasan Masalah

Mengacu pada hal diatas, penulis membuat alat pengukur jarak dengan menggunakan sensor ultrasonik berbasis mikrokontroler AT89S51 dengan batasan-batasan sebagai berikut:

1. Mikrokontroler yang digunakan adalah mikrokontroler AT89S51.

2. Sensor yang digunakan untuk mengukur jarak adalah sensor ultrasonik ping))) buatan Parallax inc.

3. Alat hanya mendeteksi benda yang ada didepannya, dan tidak dapat mendeteksi lubang.

1.5. Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana sebenarnya prinsip kerja alat bantu pengukur


(15)

4

jarak bagi penyandang tuna netra dengan menggunakan sensor ultrasonik berbasis mikrokontroler AT89S51, maka penulis menulis laporan ini sebagai berikut:

BAB 1. PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, serta sistematika penulisan.

BAB 2. LANDASAN TEORI

Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian. Teori pendukung itu antara lain tentang ultrasonik, mikrokontroler AT89S51 (hardware dan software), bahasa program yang digunakan. serta karekteristik dari komponen-komponen pendukung.

BAB 3. PERANCANGAN ALAT

Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok dari rangkaian, skematik dari masing-masing rangkaian dan diagram alir dari program yang akan diisikan ke mikrokontroler AT89S51.

BAB 4. PENGUJIAN ALAT DAN PROGRAM

Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai program-program yang digunakan untuk mengaktifkan rangkaian, penjelasan mengenai program yang diisikan ke mikrokontroler AT89S51.


(16)

BAB 5. KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari tugas akhir ini serta saran apakah rangkaian ini dapat dibuat lebih efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai sistem kerja yang sama.


(17)

BAB 2

LANDASAN TEORI

2.1. Mikrokontroler AT89S51

Mikrokontroler sebagai suatu terobosan teknologi mikrokontroler dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semi konduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggih serta dalam bidang pendidikan.

Tidak seperti sistem komputer yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka, dan lain sebagainya), Mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka


(18)

perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan Pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program kontrol disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sederhana sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

Mikrokontroler AT89S51 merupakan salah satu keluarga dari MCS-51 keluaran Atmel. Jenis mikrokontroler ini pada prinsipnya dapat digunakan untuk mengolah data per bit ataupun data 8 bit secara bersamaan.

Pada prinsipnya program pada mikrokontroler dijalankan bertahap, jadi pada program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu dijalankan secara bertahap atau berurutan.

Beberapa fasilitas yang dimiliki oleh mikrokontroler AT89S51 adalah sebagai berikut :

1. Sebuah Central Processing Unit 8 bit 2. Osilator : internal dan rangkaian pewaktu 3. RAM internal 128 byte

4. Flash memori 4 Kbyte

5. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal)

6. Empat buah programable port I/O yang masing-masing terdiri dari delapan buah jalur I/O


(19)

8

8. Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika

9. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi 12 MHz.

2.1.1. Konstruksi AT89S51

Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 µF dan resistor 10 KΩ dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 30 pF dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.

Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu

daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan progam ini dinamakan sebagai memori program.

Random Access Memory (RAM) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

Ada berbagai jenis ROM. Untuk mikrokontroler dengan program yang sudah baku dan diproduksi secara massal, program diisikan ke dalam ROM pada saat IC


(20)

mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler menggunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan

setelah ada flash PEROM yang harganya jauh lebih murah.

Jenis memori yang dipakai untuk memori program AT89S51 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer. Memori Data yang disediakan dalam chip AT89S51 sebesar 128 byte, meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup. Sarana Input/Ouput yang disediakan cukup banyak dan bervariasi. AT89S51 mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).


(21)

10

Deskripsi pin-pin pada mikrokontroler AT89S51 : VCC (Pin 40)

Suplay tegangan GND (Pin 20)

Ground

Port 0 (Pin 39-Pin 32)

Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash programming. Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL 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 eksternal pull up terutama pada saat verifikasi program.

Port 1 (Pin 1 - Pin 8)

Port 1 adalah port dua arah masukan/keluaran 8-bit dengan pull-up internal. Sebagai tambahan, P1.0 dan P1.1 dapat diatur sebagai pewaktu/ pencacah-2 eksternal masukan pencacah (P1.0/T2) dan pewaktu/pencacah-2 masukan pemicu (P1.1/T2EX). Port 1 juga menerima byte-byte alamat saat pemrograman dan verifikasi flash.

Port 2 (Pin 21 – pin 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori secara 16 bit. Pada saat mengakses memori 8 bit, 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 output sink keempat buah input TTL.


(22)

Port 3 (Pin 10 – pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pull up. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :

Nama pin Fungsi

P3.0 (pin 10) RXD (Port input serial) P3.1 (pin 11) TXD (Port output serial) P3.2 (pin 12) INTO (interrupt 0 external) P3.3 (pin 13) INT1 (interrupt 1 external) P3.4 (pin 14) T0 (input external timer 0) P3.5 (pin 15) T1 (input external timer 1)

P3.6 (pin 16) WR (menulis untuk eksternal data memori) P3.7 (pin 17) RD (untuk membaca eksternal data memori)

RST (pin 9)

Reset akan aktif dengan memberikan input high selama 2 cycle. ALE / PROG (pin 30)

Address Latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input program (PROG) selama memprogram Flash.

PSEN (pin 29)

Program store enable digunakan untuk mengakses memori program eksternal. EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem direset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan program yang ada pada


(23)

12

memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12 Volt.

XTAL1 (pin 19)

Input untuk clock internal. XTAL2 (pin 18)

Output dari osilator.

2.2. Sensor Ping ))) Ultrasonic Range Finder

Sensor Ping mendeteksi jarak obyek dengan cara memancarkan gelombang ultrasonik (40 kHz) selama tBURST (200 μs) kemudian mendeteksi pantulannya. Sensor Ping memancarkan gelombang ultrasonik sesuai dengan kontrol dari mikrokontroler pengendali / sesuai dengan input kontrol dari pin SIG (pulsa trigger dengan tOUT min. 2 μs). Gelombang ultrasonik ini melalui udara dengan kecepatan kurang lebih 344 meter per detik, mengenai obyek dan memantul kembali ke sensor. Ping akan mengeluarkan pulsa output high pada pin SIG setelah memancarkan gelombang ultrasonik dan setelah gelombang pantulan terdeteksi Ping akan membuat output low pada pin SIG. Lebar pulsa High (tIN) akan sesuai dengan lama waktu tempuh gelombang ultrasonik untuk 2x jarak ukur dengan obyek, sehingga jarak obyek yang terukur adalah [(tIN s x 344 m/s) ÷ 2] meter. Ilustrasi cara kerja sensor Ping ini dapat dilihat pada gambar dibawah ini.


(24)

Sinyal Ultrasonik ½ waktu tempuh PING )))TM

((( ((( Obyek

))) )))

½ waktu tempuh pantulan Jarak yang diukur

( a )

( b )

Gambar 2.2 Ilustrasi Cara Kerja Ping)))

2.3. Komponen Pendukung

2.3.1. Resistor

Resistor komponen pasif elektronika yang berfungsi untuk membatasi arus listrik yang mengalir. Berdasarkan kelasnya resistor dibagi menjadi 2 yaitu : Fixed Resistor dan Variable Resistor dan umumnya terbuat dari carbon film atau metal film, tetapi tidak menutup kemungkinan untuk dibuat dari material yang lain.

Pada dasarnya semua bahan memiliki sifat resistif namun beberapa bahan tembaga perak emas dan bahan metal umumnya memiliki resistansi yang sangat kecil.


(25)

14

Bahan–bahan tersebut menghantar arus listrik dengan baik, sehingga dinamakan konduktor. Kebalikan dari bahan yang konduktif, bahan material seperti karet, gelas, karbon memiliki resistansi yang lebih besar menahan aliran elektron dan disebut sebagai isolator.

2.3.1.1. Fixed Resistor

Resistor adalah komponen dasar elektronika yang digunakan untuk membatasi jumlah arus yang mengalir dalam satu rangkaian. Sesuai dengan namanya resistor bersifat resistif dan umumnya terbuat dari bahan karbon. Tipe resistor yang umum berbentuk tabung porselen kecil dengan dua kaki tembaga dikiri dan kanan. Pada badannya terdapat lingkaran membentuk gelang kode warna untuk memudahkan pemakai mengenali besar resistansi tanpa mengukur besarnya dengan ohm meter. Kode warna tersebut adalah standar menufaktur yang dikeluarkan oleh EIA (Electronic Industries Association).

Gambar 2.3.1.1. Resistor karbon

WARNA GELANG I GELANG II GELANG III GELANG IV

Hitam 0 0 1 -

Coklat 1 1 10 -


(26)

Jingga 3 3 1000 -

Kuning 4 4 10000 -

Hijau 5 5 100000 -

Biru 6 6 1000000 -

Violet 7 7 10000000 -

Abu-abu 8 8 100000000 -

Putih 9 9 1000000000 -

Emas - - 0,1 5%

Perak - - 0,01 10%

Tanpa Warna - - - 20%

Tabel 2.3.1.1. Gelang Resistor

Resitansi dibaca dari warna gelang yang paling depan ke arah gelang toleransi berwarna coklat, emas, atau perak. Biasanya warna gelang toleransi ini berada pada bahan resistor yang paling pojok atau juga dengan lebar yang lebih menonjol, sedangkan warna gelang yang keempat agak sedikit ke dalam. Dengan demikian pemakai sudah langsung mengetahui berapa toleransi dari resistor tersebut. Kalau anda telah bisa menentukan mana gelang pertama selanjutnya adalah membaca nilai resistansinya.

Biasanya resistor dengan toleransi 5%, 10% atau 20% memiliki gelang (tidak termasuk gelang toleransi). Tetapi resistor dengan toleransi 1% atau 2% (toleransi kecil) memiliki 4 gelang (tidak termasuk gelang toleransi). Gelang pertama dan


(27)

16

seterusnya berturut-turut menunjukkan besar nilai satuan, dan gelang terakhir adalah faktor pengalinya.

2.3.1.2. Variable Resistor

Untuk kelas resistor yang kedua ini terdapat 2 tipe. Untuk tipe pertama dinamakan variabel resistor dan nilainya dapat diubah sesuai keinginan dengan mudah dan sering digunakan untuk pengaturan volume, bass, balance, dll. Sedangkan yang kedua adalah semi-fixed resistor. Nilai dari resistor ini biasanya hanya diubah pada kondisi tertentu saja. Contoh penggunaan dari semi-fixed resistor adalah tegangan referensi yang digunakan untuk ADC, fine tune circuit, dll. Ada beberapa model pengaturan nilai variable resistor, yang sering digunakan adalah dengan cara terbatas sampai 300

derajat putaran. Ada beberapa model variable resistor yang harus diputar berkali – kali untuk mendapatkan semua nilai resistor. Model ini dinamakan “Potentiometres” atau “Trimmer Potentiometres”.


(28)

Pada gambar 2.3.1.2a di atas untuk bentuk 3 biasanya digunakan untuk volume kontrol. Bentuk yang ke 2 merupakan semi fixed resistor dan biasanya di pasang pada PCB (Printed Circuit Board). Sedangkan bentuk 1 potentiometres. Ada 3 tipe didalam perubahan nilai dari resistor variabel, perubahan tersebut dapat dilihat pada gambar 2.3.1.2.b.

Gambar 2.3.1.2.b Grafik Perubahan nilai pada potensiometer

Pada saat tipe A diputar searah jarum jam, awalnya perubahan nilai resistansi lambat tetapi ketika putarannya mencapai setengah atau lebih nilai perubahannya menjadi sangat cepat. Tipe ini sangat cocok dengan karakteristik telinga manusia. Karena telinga sangat peka ketika membedakan suara dengan volume yang lemah, tetapi tidak terlalu sensitif untuk membedakan perubahan suara yang keras. Biasanya tipe A ini juga disebut sebagai “Audio Taper” potensiometer. Untuk tipe B perubahan resistansinya adalah linier dan cocok digunakan untuk Aplikasi Balance Control, resistance value adjustment in circuit, dll. Sedangkan untuk tipe C perubahan


(29)

18

2.3.2 Kapasitor

Kapasitor adalah komponen elektronika yang dapat menyimpan muatan listrik. Struktur sebuah kapasitor terbuat dari 2 buah plat metal yang dipisahkan oleh suatu bahan dielektrik. Bahan-bahan dielektrik yang umum dikenal misalnya udara vakum, keramik, gelas dan lain-lain. Jika kedua ujung plat metal diberi tegangan listrik, maka muatan-muatan positif akan mengumpul pada salah satu kaki elektroda metalnya dan pada saat yang sama muatan-muatan negatif terkumpul pada ujung metal yang satu lagi. Muatan positif tidak dapat mengalir menuju ujung kutub negatif dan sebaliknya muatan negatif tidak bisa menuju ke ujung kutub positif karena terpisah oleh bahan elektrik yang non-konduktif. Muatan elektrik ini “tersimpan” selama tidak ada konduktif pada ujung- ujung kakinya. Di alam bebas penomena kapasitor terjadi pada saat terkumpulnya muatan-muatan positif dan negatif diawan.

dielektrik

Elektroda Elektroda

Gambar 2.3.2. Skema kapasitor.

Kapasitor merupakan komponen pasif elektronika yang sering dipakai didalam merancang suatu sistem yang berfungsi untuk memblok arus DC, Filter, dan menyimpan energi listrik. Didalamnya 2 buah pelat elektroda yang saling berhadapan dan dipisahkan oleh sebuah insulator. Sedangkan bahan yang digunakan sebagai insulator dinamakan dielektrik. Ketika kapasitor diberikan tegangan DC maka energi


(30)

listrik disimpan pada tiap elektrodanya. Selama kapasitor melakukan pengisian, arus mengalir. Aliran arus tersebut akan berhenti bila kapasitor telah penuh. Yang membedakan tiap - tiap kapasitor adalah dielektriknya. Berikut ini adalah jenis– jenis kapasitor yang dipergunakan dalam perancangan ini.

2.3.2.1 Electrolytic Capacitor (ELCO)

Gambar 2.3.2.1. Electrolytic Capacitor (ELCO)

Elektroda dari kapasitor ini terbuat dari aluminium yang menggunakan membran oksidasi yang tipis. Karakteristik utama dari Electrolytic Capacitor adalah perbedaan polaritas pada kedua kakinya. Dari karakteristik tersebut kita harus berhati – hati di dalam pemasangannya pada rangkaian, jangan sampai terbalik. Bila polaritasnya terbalik maka akan menjadi rusak bahkan “meledak”. Biasanya jenis kapasitor ini digunakan pada rangkaian power supply. Kapasitor ini tidak bisa digunakan pada rangkaian frekuensi tinggi. Biasanya tegangan kerja dari kapasitor dihitung dengan cara mengalikan tegangan catu daya dengan 2. Misalnya kapasitor akan diberikan catu daya dengan tegangan 5 Volt, berarti kapasitor yang dipilih harus memiliki tegangan kerja minimum 2 x 5 = 10 Volt.


(31)

20

2.3.2.2 Ceramic Capacitor

Kapasitor menggunakan bahan titanium acid barium untuk dielektriknya. Karena tidak dikonstruksi seperti koil maka komponen ini dapat digunakan pada rangkaian frekuensi tinggi. Biasanya digunakan untuk melewatkan sinyal frekuensi tinggi menuju ke ground. Kapasitor ini tidak baik digunakan untuk rangkaian analog, karena dapat mengubah bentuk sinyal. Jenis ini tidak mempunyai polaritas dan hanya tersedia dengan nilai kapasitor yang sangat kecil dibandingkan dengan kedua kapasitor diatas.

Gambar 2.3.2.2. Ceramic Capacitor

2.3.2.3 Nilai Kapasitor

Untuk mencari nilai dari kapasitor biasanya dilakukan dengan melihat angka/kode yang tertera pada badan kapasitor tersebut. Untuk kapasitor jenis elektrolit memang mudah, karena nilai kapasitansinya telah tertera dengan jelas pada tubuhnya. Sedangkan untuk kapasitor keramik dan beberapa jenis yang lain nilainya dikodekan. Biasanya kode tersebut terdiri dari 4 digit, dimana 3 digit pertama merupakan angka dan digit terakhir berupa huruf yang menyatakan toleransinya. Untuk 3 digit pertama angka yang terakhir berfungsi untuk menentukan 10n, nilai n dapat dilihat pada tabel dibawah.


(32)

Tabel 2.3.2.3. Nilai Kapasitor

Misalnya suatu kapasitor pada badannya tertulis kode 474J, berarti nilai kapasitansinya adalah 47 + 104

2.3.3. Transistor

= 470.000 pF = 0.47µF sedangkan toleransinya 5%. Yang harus diingat didalam mencari nilai kapasitor adalah satuannya dalam pF (Pico Farad).

Transistor adalah komponen elektronika yang mempunyai tiga buah terminal. Terminal itu disebut emitor, basis, dan kolektor. Transistor seakan-akan dibentuk dari penggabungan dua buah dioda. Dioda satu dengan yang lain saling digabungkan dengan cara menyambungkan salah satu sisi dioda yang senama. Dengan cara penggabungan seperti dapat diperoleh dua buah dioda sehingga menghasilkan transistor NPN.

Bahan mentah yang digunakan untuk menghasilkan bahan N dan bahan P adalah silikon dan germanium. Oleh karena itu, dikatakan :


(33)

22

1. Transistor germanium PNP 2. Transistor silikon NPN 3. Transistor silikon PNP 4. Transistor germanium NPN

Semua komponen di dalam rangkaian transistor dengan simbol seperti pada gambar 2.3.3. Anak panah yang terdapat di dalam simbol menunjukkan arah yang melalui transistor.

Gambar 2.3.3. Simbol tipe transistor Keterangan :

C = kolektor E = emiter B = basis

Didalam pemakaiannya transistor dipakai sebagai komponen saklar (switching) dengan memanfaatkan daerah penjenuhan (saturasi) dan daerah penyumbatan (cut off) yang ada pada karakteristik transistor.

Pada daerah penjenuhan nilai resistansi persambungan kolektor emiter secara ideal sama dengan nol atau kolektor dan emiter terhubung langsung (short). Keadaan ini menyebabkan tegangan kolektor emiter (VCE) = 0 Volt pada keadaan ideal, tetapi

C

B

E

C B

E


(34)

pada kenyataannya VCE

Gambar 2.3.3.(a) Transistor sebagai Saklar ON

Saturasi pada transistor terjadi apabila arus pada kolektor menjadi maksimum dan untuk mencari besar arus basis agar transistor saturasi adalah :

bernilai 0 sampai 0,3 Volt. Dengan menganalogikan transistor sebagai saklar, transistor tersebut dalam keadaan on seperti pada gambar 2.3.4.(a).

Rc Vcc

Imax= ………..……….(2.1)

Rc Vcc I

.

hfe B = ……….……….(2.2)

Rc . hfe

Vcc

IB= ……….(2.3)

Hubungan antara tegangan basis (VB) dan arus basis (IB

B BE B B R V V

I = −

) adalah :

……….(2.4)

VB = IB . RB + VBE

BE B B V Rc . hfe R . Vcc

V = +

………..(2.5)

………(2.5)

Jika tegangan VB B BE

B V Rc . hfe R . Vcc

V = +

telah mencapai , maka transistor akan saturasi,

dengan Ic mencapai maksimum.

Saklar On Vcc

Vcc

IC R

RB

VB

IB VBE


(35)

24

Gambar 2.3.4.(b) dibawah ini menunjukkan apa yang dimaksud dengan VCE (sat) adalah harga VCE pada beberapa titik dibawah knee dengan posisi tepatnya ditentukan pada lembar data. Biasanya VCE

Gambar 2.3.3.(b) Karakteristik daerah saturasi pada transistor

Pada daerah penyumbatan, nilai resistansi persambungan kolektor emiter secara ideal sama dengan tak terhitung atau terminal kolektor dan emiter terbuka (open). Keadaan ini menyebabkan tegangan (V

(sat) hanya beberapa perpuluhan volt, walaupun pada arus kolektor sangat besar bisa melebihi 1 volt. Bagian dibawah knee pada gambar 2.3.4.(b) dikenal sebagai daerah saturasi.

CB

Gambar 2.3.3.(c) Transistor Sebagai Saklar OFF

) sama dengan tegangan sumber (Vcc). Tetapi pada kenyataannya Vcc pada saat ini kurang dari Vcc karena terdapat arus bocor dari kolektor ke emiter. Dengan menganalogikan transistor sebagai saklar, transistor tersebut dalam keadaan off seperti gambar dibawah ini.

Titik Sumbat (Cut off) IB > IB(sat)

IB = IB(sat)

IB Penjenuhan (saturation)

IC

Rc Vcc

IB = 0

VCE

Saklar Off Vcc

Vcc

IC R

RB

VB

IB VBE


(36)

Keadaan penyumbatan terjadi apabila besar tegangan habis (VB) sama dengan tegangan kerja transistor (VBE) sehingga arus basis (IB

hfe I

I C

B =

) = 0 maka :

………(2.6)

IC = IB . hfe ….………(2.7) IC = 0 . hfe ………..………(2.8)

IC = 0 ………..(2.9) Hal ini menyebabkan VCE sama dengan Vcc dapat dibuktikan dengan rumus :

Vcc = Vc + VCE …………..………(2.10)

VCE = Vcc – (Ic . Rc) …..………(2.11)

VCE

Label mnemonic operand1 operand2 komentar

= Vcc …..………(2.12)

2.4. Bahasa Assembly MCS-51

Mode pengalamatan menjelaskan bagaimana operand dioperasikan. Berikut penjelasan dari berbagai mode pengalamatan. Bentuk program assembly yang umum ialah sebagai berikut :

(isi memori) (opcode)


(37)

26

Isi memori ialah bilangan heksadesimal yang dikenal oleh mikrokontroler kita, yang merupakan representasi dari bahasa assembly yang telah kita buat. Mnemonic atau opcode ialah kode yang akan melakukan aksi terhadap operand . Operand ialah data

yang diproses oleh opcode. Sebuah opcode bisa membutuhkan 1,2 atau lebih operand, kadang juga tidak perlu operand. Sedangkan komentar dapat kita berikan dengan menggunakan tanda titik koma (;). Berikut contoh jumlah operand yang berbeda beda dalam suatu assembly.

CJNE R5,#22H, aksi ;dibutuhkan 3 buah operand MOVX @DPTR, A ;dibutuhkan 2 buah operand

RL A ;1 buah operand

NOP ; tidak memerlukan operand

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa assembly untuk MCS-51. Angka 51 merupakan jumlah instruksi pada bahasa ini, hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan orang hanya 10 instruksi. Instruksi –instruksi tersebut antara lain :

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

Contoh pengisian nilai secara langsung MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsung


(38)

...

...

MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 heksadesimal ke register 0 (R0).

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

2. Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh ,

MOV R0,#80h

Loop: ...

...

DJNZ R0,Loop

...

R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.

3. Instruksi ACALL

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh : ...

ACALL TUNDA

...

TUNDA:


(39)

28

4. Instruksi RET

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,

ACALL TUNDA

...

TUNDA:

...

RET

5. Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh, Loop:

...

...

JMP Loop

6. Instruksi JB (Jump if Bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh,

Loop:

JB P1.0,Loop

...

7. Instruksi JNB (Jump if Not Bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh,

Loop:


(40)

...

8. Instruksi CJNE (Compare Jump If Not Equal)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh,

Loop:

...

CJNE R0,#20h,Loop

...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h, maka program akan melanjutkan instruksi selanjutnya..

9. Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

DEC R0 R0 = R0 – 1

...

10.Instruksi INC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

INC R0 R0 = R0 + 1


(41)

30

11.Dan lain sebagainya

2.5. Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah ini.

Gambar 2.5. Software 8051 Editor, Assembler, Simulator (IDE)

Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.


(42)

Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroler.

2.5.1 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroler digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar di bawah ini

Gambar 2.5.1. ISP- Flash Programmer 3.0a

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroler.


(43)

BAB 3

PERANCANGAN ALAT

3.1. Diagram Blok

Pada perancangan alat bantu pengukur jarak pada penderita tuna netra dengan menggunakan sensor ultrasonik ini secara umum terdiri dari lima blok rangkaian utama. Adapun diagram blok keseluruhan rangkaian ditunjukkan oleh gambar berikut:

Gambar 3.1 Diagram Blok Keseluruhan Rangkaian

Ultrasonik transmitter berfungsi untuk memancarkan gelombang 40 KHz. Pantulan gelombang ultrasonik 40 KHz ini akan diterima oleh ultrasonik reciever untuk diubah menjadi bilangan - bilangan digital. Data frekuensi 40 KHz yang telah diubah menjadi bilangan digital ini akan diterima oleh mikrokontroler untuk diolah

Ultrasonik reciever

Mikrokontroller AT89S51

Ultrasonik transmitter

alarm Tombol input


(44)

dan dibandingkan. Mikrokontroler AT89S51 berfungsi sebagai otak dari keseluruhan sistem dimana didalam mikrokontroler inilah semua data akan diolah. Alarm berfungsi untuk memberikan nada peringatan kepada pengguna. Alarm akan berbunyi tiga kali apabila jarak benda yang terdeteksi sejauh 3m, berbunyi dua kali apabila jarak benda yang terdeteksi sejauh 2m, dan akan berbunyi satu kali apabila jarak benda yang terdeteksi sejauh 1m. Tombol input berfungsi untuk mengaktifkan pembacaan data. Hal ini dilakukan agar alat tidak melakukan pembacaan data apabila tidak diperlukan.

3.2. Rangkaian Mikrokontroler AT89S51

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Komponen utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC inilah semua program diisikan sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki. Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini:


(45)

34

Pin 31 External Access Enable (EAE) diset high (H). Ini dilakukan karena mikrokontroler AT89S52 tidak menggunakan memori eskternal. Pin 18 dan 19 dihubungkan ke XTAL 12 MHz dan 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. Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3. Pin 39 yang merupakan P0.0 dihubungkan dengan resistor 330 ohm dan sebuah LED. Ini dilakukan hanya untuk menguji apakan rangkaian minimum mikrokontroler AT89S51 sudah bekerja atau belum. Dengan memberikan program sederhana pada mikrokontroler tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah bekerja dengan baik atau tidak. Jika LED yang terhubung ke Pin 39 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap digunakan. Pin 20 merupakan ground dihubungkan dengan ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supplay.

3.3. Perancangan Rangkaian Power Supplay (PSA)

Rangkaian power supplay berfungsi untuk menyupplay tegangan ke seluruh rangkaian. Rangkaian PSA yang dibuat terdiri dari satu keluaran, yaitu 5 volt,


(46)

keluaran 5 volt ini digunakan untuk menghidupkan seluruh rangkaian. Rangkaian power supplay / adaptor ditunjukkan oleh gambar berikut ini:

Gambar 3.3 Rangkaian Power Supplay (PSA)

Sumber tegangan power supplay ini berasal dari baterai kering 9 volt. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan dan kapasitor 10mF berfungsi untuk meratakan arus yang masuk dari baterai ke rangkaian.

3.4. Perancangan Rangkaian Buzzer

Rangkaian buzzer ini berfungsi untuk memberikan peringatan berupa nada alarm apabila ada benda atau halangan yang terdeteksi. Rangkaiannya seperti gambar di bawah ini:


(47)

36

Pada alat ini, alarm yang digunakan adalah buzzer 5 volt. Buzzer ini akan berbunyi jika positipnya dihubungkan ke sumber tegangan positip dan negatipnya dihubungkan ke ground. Pada rangkaian di atas transistor berfungsi sebagai saklar elektronik yang dapat menghidupkan dan mematikan buzzer. Dari gambar dapat dilihat bahwa negatip buzzer dihubungkan ke kolektor dari transistor NPN (2SC945), ini berarti jika transistor dalam keadaan aktif maka kolektor akan terhubung ke emitor dimana emitor langsung terhubung ke ground yang menyebabkan tegangan di kolektor menjadi 0 volt, keadaan ini akan mengakibatkan buzzer berbunyi. Sebaliknya jika transistor tidak aktif, maka kolektor tidak terhubung ke emitor, sehingga tegangan pada kolektor menjadi 5 volt, keadaan ini menyebabkan buzzer mati.

Transistor yang digunakan dalam rangkaian di atas adalah transistor jenis NPN, transistor jenis ini akan aktip apabila tegangan pada basis lebih besar dari 0,7 volt. Resistor 4,7 KΩ pada basis berguna untuk membatasi arus yang masuk pada basis agar transistor tidak rusak.

3.5. Perancangan Rangkaian Tombol

Rangkaian tombol ini berfungsi sebagai start awal pengukuran dimana pada saat tombol ditekan, maka mikrokontroler akan memerintahkan kepada pemancar ultrasonik untuk aktif dan memancarkan gelombang ultrasonik, kemudian pantulan gelombang ultrasonik akan diterima oleh penerima ultrasonik. Gambar rangkaian tombol ditunjukkan pada gambar berikut:


(48)

Gambar 3.5. Rangkaian Tombol

Rangkaian keypad ini terdiri dari sebuah keypad yang salah satu pinnya dihubungkan ke ground dan pin yang lain dihubungkan ke VCC dan AT89S51, yaitu pada pin 1 atau P1.0, sehingga pada saat tidak terjadi penekanan keypad, maka P1.0 akan mendapatkan logika high sehingga LED akan mati, dan sebaliknya saat terjadi penekanan pada keypad, maka P1.0 akan mendapatkan logika low, sehingga LED akan menyala. LED disini hanya sebagai indikator ketika tombol ditekan.

3.6. Sensor Ultrasonik Ping)))

Sensor yang digunakan pada alat ini adalah sensor ultrasonik ping))) buatan paralax inc. Sensor jarak ultrasonik ping))) merupakan sensor jarak yang presisi. Dapat melakukan pengukuran jarak 3 cm sampai 3 meter dan sangat mudah untuk dihubungkan ke mikrokontroler menggunakan sebuah pin Input dan pin Output. Sensor ultrasonik ping))) bekerja dengan cara memancarkan sinyal ultrasonik sesaat dan menghasilkan pulsa output yang sesuai dengan waktu pantul sinyal ultrasonik sesaat kembali menuju sensor. Dengan mengukur lebar pulsa pantulan tersebut jarak


(49)

38

target didepan sensor dapat diketahui. Sensor ini dipilih karena memiliki fitur-fitur diantaranya :

1. Voltage – 5 v

2. Current – 30 mA Typ. 50mA Max. 3. Frequency – 38-40 kHz

4. Max Range - 3 m 5. Min Range - 3 cm

6. Sensitivity - Detect 3 cm diameter broom handle at > 2 m Dimensi range finder tampak pada gambar di bawah ini.


(50)

3.7. Flowchart

start

Jarak = 3m?

Jarak = 2m?

Jarak = 1m? Bunyikan alrm 3x

Bunyikan alarm 2x

Bunyikan alarm 1x ya

tdk

ya

tdk

ya tdk

Gambar 3.7 Flowchart

Program diawali dengan start, kemudian program akan mencek apakah jarak yang terdeteksi sama dengan 3m. Jika jarak sama dengan 3m maka program akan membunyikan alarm sebanyak 3 kali. Jika jarak tidak sama degan 3m maka program akan mencek apakah jarak sama dengan 2 m. Jika jarak sama dengan 2m maka program akan membunyikan alarm sebanyak 2 kali. Jika jarak tidak sama degan 2m maka program akan mencek apakah jarak sama dengan 1 m. Jika jarak sama dengan 1m maka program akan membunyikan alarm sebanyak 1 kali, jika tidak, maka tidak ada benda atau halangan yang terdeteksi sehingga program akan kembali ke awal.


(51)

BAB 4

PENGUJIAN RANGKAIAN DAN PROGRAM

4.1. Pengujian Rangkaian Mikrokontroler AT89S51

Untuk mengetahui apakah rangkaian mikrokontroler AT89S51 telah bekerja dengan baik, maka dilakukan pengujian. Pengujian bagian ini dilakukan dengan memberikan program sederhana pada mikrokontroler AT89S51. Programnya adalah sebagai berikut:

Loop:

Setb P0.0 Acall tunda Clr P0.0 Acall tunda Sjmp Loop Tunda:

Mov r7,#255 Tnd: Mov r6,#255

Djnz r6,$ Djnz r7,tnd


(52)

Ret

Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P0.0 beberapa saat dan kemudian mematikannya. Perintah Setb P0.0 akan menjadikan P0.0 berlogika high yang menyebabkan LED menyala. Acall tunda akan menyebabkan LED ini hidup selama beberapa saat. Perintah Clr P0.0 akan menjadikan P0.0 berlogika low yang menyebabkan LED akan mati. Perintah Acall tunda akan menyebabkan LED ini mati selama beberapa saat. Perintah Sjmp Loop akan menjadikan program tersebut berulang, sehingga akan tampak LED tersebut tampak berkedip.

Jika program tersebut diisikan ke mikrokontroler AT89S51, kemudian mikrokontroler dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroler AT89S51 telah bekerja dengan baik.

4.2. Pengujian Rangkaian Alarm

Pengujian pada rangkaian buzzer ini dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor jenis ini akan aktif jika pada basis diberi tegangan > 0,7 volt dan tidak aktif jika pada basis diberi tegangan < 0,7 volt. Aktifnya transistor akan membunyikan buzzer.


(53)

42

Selanjutnya buzzer dihubungkan dengan mikrokontroler dan mikrokontroler diberi program sederhana untuk megaktifkan buzzer. Program yang diisikan ke mikrokontroler untuk mengaktifkan buzzer adalah :

Setb P0.0 . . .

Perintah di atas akan memberikan logika high (1) atau tegangan 5 volt pada P0.0, sehingga dengan demikian buzzer akan berbunyi.

Gambar 4.2 Pengujian Rangkaian Alarm

4.3. Pengujian Rangkaian Pemancar Ultrasonik

Untuk memancarkan frekuensi 40 KHz dari transduser piezoelektrik, langkah yang harus dilakukan adalah dengan memberikan logika high dan low pada P0.0 dengan selang waktu (perioda) :


(54)

Detik mikro ik KHz

f

T 0,000025 25 det

40 1 1 = = = =

Untuk mendapatkan perioda tersebut, maka program yang harus diberikan pada mikrokontroler AT89S51 adalah:

40KHz: clr p0.0 nop nop nop nop nop nop nop nop nop nop nop nop setb p0.0 nop nop nop nop nop


(55)

44 nop nop nop nop sjmp 40KHz

Mikrokontroler AT89S51 memerlukan 12 Clock setiap satu siklus mesin. Dengan demikian, jika digunakan kristal 12 MHz, maka waktu yang diperlukan untuk satu siklus mesin adalah :

6

12

1 10 1

12

Clock

x sekon s MHz = = µ

Jika dihitung lamanya mikrokontroler AT89S51 mengerjakan perintah di atas :

Instruksi Siklus mesin Waktu (μS)

CLR NOP SETB SJMP 1 1 1 2 1 1 1 2

Tabel 4.3 Lamanya mikrokontroler AT89S51 mengerjakan perintah

Berdasarkan tabel di atas, maka lamanya logika low (0) pada P0.0 adalah 13 μ dan lamanya logika high (1) adalah 12 μs, sehingga periodanya menjadi 25 μs.

13 μs 12 μs

Low High 25 μs


(56)

KHz Hz

T

f 40.000 40

000025 , 0 1 1 = = = =

4.4. Pengujian Rangkaian Penerima Ultrasonik

Pengujian rangkaian ini dapat dilakukan dengan cara menghidupkan pemancar ultrasonik. Pada saat pemancar ultrasonik dinyalakan, maka LED indikator akan menyala, dan sebaliknya jika pemancar ultrasonic dimatikan, maka LED indicator akan mati.

4.5. Program

;=======================================================; ; program blind detector with ultrasound ping)) ;

; author: naimah ;

; filetype: list.program TA ;

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

transmit bit p3.2 receive bit p3.3 buzzer bit p2.7

utama:

clr buzzer ;matikan buzzer jmp ping


(57)

46

ping:

setb transmit ;kirim sinyal nop

nop nop nop nop

clr transmit ;hentikan pengiriman sinyal nop

nop nop nop nop

jb recieve,$ ;baca data sinyal sampai selesai mov r0,#0 ;isi register 0 dengan nilai 0

tiga_meter:

inc r0 ;tambahkan nilai pada r0

call pulsa

jnb recieve,tiga_meter mov p0,r0

mov 60h,r0 call delay mov a,60h


(58)

call hidup_buzzer jmp ping

tiga_meter2:

call pulsa

jnb recieve,tiga_meter2 mov p0,r0

mov 60h,r0 call delay mov a,60h

cjne a,#0b1h,tiga_meter3 call hidup_buzzer jmp ping

tiga_meter3:

call pulsa

jnb recieve,tiga_meter3 mov p0,r0

mov 60h,r0 call delay mov a,60h

cjne a,#99h,dua_meter call hidup_buzzer jmp ping

dua_meter:


(59)

48

call pulsa jnb recieve,dua_meter mov p0,r0

mov 60h,r0 call delay mov a,60h

cjne a,#19h,dua_meter1 call hidup_buzzer jmp ping

dua_meter1:

call pulsa

jnb recieve,dua_meter1 mov p0,r0

mov 60h,r0 call delay mov a,60h

cjne a,#0f2h,dua_meter2 call hidup_buzzer jmp ping

dua_meter2:

call pulsa

jnb recieve,dua_meter2 mov p0,r0


(60)

mov 60h,r0 call delay mov a,60h

cjne a,#0bdh,dua_meter3 call hidup_buzzer jmp ping

dua_meter3:

call pulsa

jnb recieve,dua_meter3 mov p0,r0

mov 60h,r0 call delay mov a,60h

cjne a,#0c1h,ke_utama call hidup_buzzer jmp ping

ke_utama:

ljmp utama

pulsa:

mov r6,#8 djnz r6,$ ret


(61)

50

hidup_buzzer:

setb buzzer ;hidupkan buzzer ret

delay:

mov r7,#180 dly:

mov r6,#90 djnz r6,$ djnz r7,dly ret


(62)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

1. Semakin jauh jarak benda semakin besar lebar pulsa yang dihasilkan oleh sensor.

2. Sensor ultrasonik memancarkan gelombang suara sebesar 40 kHz pada sistem operasinya.

3. Kita akan mengalami sedikit kesulitan dalam hal pembacaan data yang dihasilkan sensor karena setiap terjadi perubahan posisi walaupun sebesar 1 cm saja, maka data yang dihasilkan sensor telah berubah.

5.2. Saran

1. Diharapkan bagi pembaca untuk memberikan masukan dalam pengembangan alat yang dirancang penulis.

2. Pembaca dapat membuat alat yang lebih efisien lagi dan dapat memodifikasikannya dengan mengembangkan laporan yang dibuat penulis.


(63)

(64)

DAFTAR PUSTAKA

Albert, Malvino Paul. 1986. Prinsip- Prinsip Dasar Elektronika. Edisi ketiga. Alih bahasa M. Barmawi dan M. O. Tjia. Jakarta: Erlangga.

Andi, Paulus. 2003. Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler AT 89C51. Jakarta: PT Elex Media Komputindo.

Eko, Agfianto. 2002. Belajar Mikrokontroler AT89C51/52/55 (Teori dan Aplikasi). Edisi pertama. Cetakan pertama. Yogyakarta: Gava Media.


(1)

48 call pulsa jnb recieve,dua_meter mov p0,r0 mov 60h,r0 call delay mov a,60h cjne a,#19h,dua_meter1 call hidup_buzzer jmp ping dua_meter1: call pulsa jnb recieve,dua_meter1 mov p0,r0 mov 60h,r0 call delay mov a,60h cjne a,#0f2h,dua_meter2 call hidup_buzzer jmp ping dua_meter2: call pulsa jnb recieve,dua_meter2


(2)

49 mov 60h,r0 call delay mov a,60h cjne a,#0bdh,dua_meter3 call hidup_buzzer jmp ping dua_meter3: call pulsa jnb recieve,dua_meter3 mov p0,r0 mov 60h,r0 call delay mov a,60h cjne a,#0c1h,ke_utama call hidup_buzzer jmp ping ke_utama: ljmp utama pulsa: mov r6,#8 djnz r6,$ ret


(3)

50

hidup_buzzer:

setb buzzer ;hidupkan buzzer ret

delay:

mov r7,#180 dly:

mov r6,#90 djnz r6,$ djnz r7,dly ret


(4)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

1. Semakin jauh jarak benda semakin besar lebar pulsa yang dihasilkan oleh sensor.

2. Sensor ultrasonik memancarkan gelombang suara sebesar 40 kHz pada sistem operasinya.

3. Kita akan mengalami sedikit kesulitan dalam hal pembacaan data yang dihasilkan sensor karena setiap terjadi perubahan posisi walaupun sebesar 1 cm saja, maka data yang dihasilkan sensor telah berubah.

5.2. Saran

1. Diharapkan bagi pembaca untuk memberikan masukan dalam pengembangan alat yang dirancang penulis.

2. Pembaca dapat membuat alat yang lebih efisien lagi dan dapat memodifikasikannya dengan mengembangkan laporan yang dibuat penulis.


(5)

(6)

51

DAFTAR PUSTAKA

Albert, Malvino Paul. 1986. Prinsip- Prinsip Dasar Elektronika. Edisi ketiga. Alih bahasa M. Barmawi dan M. O. Tjia. Jakarta: Erlangga.

Andi, Paulus. 2003. Panduan Praktis Teknik Antarmuka dan Pemrograman

Mikrokontroler AT 89C51. Jakarta: PT Elex Media Komputindo.

Eko, Agfianto. 2002. Belajar Mikrokontroler AT89C51/52/55 (Teori dan Aplikasi). Edisi pertama. Cetakan pertama. Yogyakarta: Gava Media.