Rancangan Tongkat Pintar (Smart Stick) Tunanetra Berbasis Mikrokontroller Atmega8535

(1)

RANCANGAN TONGKAT PINTAR (SMART STICK)

TUNA NETRA BERBASIS MIKROKONTROLLER

ATMEGA8535

SKRIPSI

FATIMAH SRI HANDAYANI

110821002

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2013


(2)

RANCANGAN TONGKAT PINTAR ( SMART STICK )

TUNA NETRA BERBASIS MIKROKONTROLLER

ATMEGA8535

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains

FATIMAH SRI HANDAYANI

110821002

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2013


(3)

PERSETUJUAN

Judul : RANCANGAN TONGKAT PINTAR (SMART

STICK ) TUNANETRA BERBASIS MIKROKONTROLLER ATMEGA8535

Kategori : SKRIPSI

Nama : FATIMAH SRI HANDAYANI

Nomor Induk Mahasiswa : 110821002

Program Studi : SARJANA (S1) FISIKA EKSTENSI

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Agustus 2013

Diketahui :

Departemen Fisika FMIPA USU Pembimbing

Dr. Marhaposan Situmorang Dr. Marhaposan Situmorang Nip. 1955103019800310003 Nip. 1955103019800310003


(4)

PERNYATAAN

RANCANGAN TONGKAT PINTAR (SMART STICK) TUNANETRA BERBASIS MIKROKONTROLLER ATMEGA8535

SKRIPSI

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

Medan, Agustus 2013

Fatimah Sri Handayani 110821002


(5)

PENGHARGAAN

Segala puji bagi Allah SWT atas rahmat dan hidayah yang telah dilimpahkan kepada penulis sehinggan penulis dapat menyelesaikan skripsi ini. Shalawat dan salam kepada junjungan nabi besar Muhammad SAW, yang penulis harapkan syafaatnya di hari kelak, Amin.

Terima kasih yang tidak terhingga penulis sampaikan kepada ayahanda tercinta Abdul Manaf Pospos dan Ibunda tersayang Rahmawita, yang telah setia, sabar dan tulus mendidik penulis. Terima kasih atas doa, pengetian dan kasih sayang yang tak terhingga serta dukungan baik moril maupun materil yang tidak mungkin terbalas, hanya skripsi ini yang penulis persembahkan sebagai awal dari keberhasilan penulis di masa mendatang, Amin.

Dalam penulisan skripsi ini, penulis banyak menerima bantuan, bimbingan, dukungan dan nasehat-nasehat dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis menyampaikan ucapan terima kasih yang sebesar-besarnya kepada :

1. Bapak Dr. Marhaposan Situmorang, selaku Ketua jurusan dan selaku dosen pembimbing yang telah banyak meluangkan waktu, tenaga dan pikiran untuk memberi bimbingan, motivasi dan masukannya demi sempurnanya skripsi ini. 2. Bapak/ Ibu Staff pengajar dan Pegawai di Fakultas MIPA Universitas

Sumatera Utara.

3. Saudara kandung saya kak Novri Yanti Pospos, AMKeb, Desy Handayani Pospos, A.Md, serta adik-adik saya semua Maya, Dana, Suci dan Anggi yang telah memberikan dukungan, jangan nakal-nakal yaa.

4. Nang2Q (Novita, Jenny, Dila dan Riska) terima kasih ya atas dukungan dan doanya serta rekan-rekan layanan lainnya yang tidak bisa disebutkan satu persatu.

5. Kepada teman-teman seperjuangan di Fisika Ekstensi FMIPA USU Stambuk 2011 dan sahabat-sahabat saya di D-III Fisika Instrumentasi FMIPA USU yang tidak dapat disebutkan satu persatu.

6. Kepada semua yang telah membantu dalam penyelesaian skripsi ini yang tidak dapat disebutkan satu persatu. Terima kasih buat motivasi dan dukungannya.


(6)

Penulis menyadari bahwa skripsi ini belum sempurna dan masih banyak kekurangan. Untuk itu penulis memohon maaf atas kesalahan dan kekurangan yang terdapat di dalamnya dan semoga skripsi ini dapat memberikan manfaat kepada semua pembacanya. Amin.

Medan, Agustus 2013


(7)

ABSTRAK

RANCANGAN TONGKAT PINTAR (SMART STICK) TUNANETRA BERBASIS MIKROKONTROLLER ATMEGA8535

Perkembangan teknologi di Indonesia semakin lama semakin berkembang. Begitu juga dengan perkembangan teknologi elektronika yang semakin canggih dan semakin efisien. Dengan semakin berkembangnya teknologi elektronika maka dapat dibuat suatu alat yang dapat digunakan untuk membantu para penyandang tuna netra sebagai alat pemandu jalan. Alat ini dapat digunakan sebagai alat penunjuk arah dan mendeteksi adanya penghalang di depan penggunanya.

Pembuatan alat ini akan mendeteksi 4 arah mata angin yaitu utara, timur, selatan dan barat yang akan diset sebagai arah tujuan oleh penggunanya. Sebagai pendeteksi adanya penghalang maka digunakan sensor ultrasonik. Outputnya berupa suara yang akan diolah dalam rangkaian pengolah suara ISD 2560 menggunakan sistem mikrokontroler ATMega8535.

Dengan adanya alat ini dapat membantu penyandang tunanetra untuk berjalan kearah yang dituju. Selain itu, output yang berupa suara asli/natural dapat membantu penyandang tunanetra mengetahui arah hadapnya dan meningkatkan kemandirian bagi tunanetra dalam melakukan aktivitasnya sendiri tanpa bantuan orang lain.

Kata Kunci: Arah Mata Angin, Kompas Digital CMPS03, Sensor Ultrasonik, Mikrokontroler ATMega8535, ISD 2560


(8)

ABSTRACT

RANCANGAN TONGKAT PINTAR (SMART STICK) TUNANETRA BERBASIS MIKROKONTROLLER ATMEGA8535

Technological developments in Indonesia are increasingly growing. So also with the development of increasingly sophisticated electronic technology and more efficient. With the development of electronic technology, it can be made a tool that can be used to help people with visual impairment as a guide tool. This tool can be used as a signpost and detect the barrier in front of users.

Making this tool will detect the 4 cardinal directions are north, east, south and west which will be set as a goal by its direction. As a detector of the barrier then used ultrasonic sensors. The output is the sound that will be processed in ISD 2560 and processing circuit using a microcontroller ATMega8535.

With this tool can help blind people to walk towards the destination. In addition, the output in the form of the original sound / natural can help blind people know him have been the direction and increase independence for the blind in conducting its own activities without the help of others.

Keywords: Cardinal, Digital Compass CMPS03, Ultrasonic Sensors, Microcontroller ATMega8535, ISD 2560


(9)

DAFTAR ISI

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel xi

Daftar Gambar xii

Daftar Lampiran xiii

BAB I Pendahuluan 1

1.1Latar Belakang 1

1.2Rumusan Masalah 2

1.3Batasan Masalah 2

1.4Tujuan Penelitian 2

1.5Manfaat Penelitian 3

1.6Sistematika Penulisan 3

BAB II Landasan Teori 5

2.1 Kompas 5

2.1.1 Susunan Kompas 5

2.1.2 Fungsi Kompas 6

2.1.3 Arah Mata Angin 6


(10)

2.1 I2C Interface 8

2.3 Sensor Ultrasonik 10

2.3.1 Spesifikasi Dari Sensor Ultrasonik 10 2.3.2 Cara Kerja Sensor Ultrasonik 11 2.3.3 Prinsip Kerja Sensor Ultrasonik 11

2.4 Pengolah Sinyal Suara ISD2560 13

2.4.1 Fitur – Fitur ISD2560 13

2.4.2 Diagram Blok ISD2560 14

2.4.3 Konfigurasi Pin 15

2.4.4 Fungsi Pin – Pin ISD2560 15

2.5 Mikrokontroller ATMega 8535 17

2.5.1 Fitur – Fitur Mikrokontroller ATMega 8535 19 2.5.2 Keunggulan Mikrokontroller ATMega 8535 20 2.5.3 Diagram Blok ATMega 8535 21 2.5.4 Konfigurasi Pin Mikrokontroller AVR ATMega 8535 22 2.5.5 Karakteristik ADC Internal

Mikrokontroller ATMega 8535 23

2.6 Buzzer 23

2.7 Baterai 24

BAB III Rancangan Sistem 26

3.1 Diagram Blok Dan Cara Kerja Rangkaian 26 3.2 Perancangan Rangkaian Catu Daya 28

3.3 Rangkaian Sensor Ultrasonik 29

3.4 Perancangan Rangkaian Sensor Ultrasonik dengan

Mikrokontroller ATMega 8535 31


(11)

3.6 Rangkaian Input Push Button 34 3.7 Perancangan Sistem Modul Kompas 34

3.8 Flowchart 37

BAB IV Analisa Rangkaian 39

4.1 Pengujian dan Analisa Rangkaian Sensor Ultrasonik 39 4.2 Pengujian Rangkaian Power Supply 41 4.3 Pengujian Rangkaian Mikrokontroller ATMega8535 41

4.4 Pengujian Input Push Button 42

4.5 Pengujian ISD2560 43

4.6 Pengujian Resolusi Kompas 44

BAB V Kesimpulan dan Saran 47

5.1 Kesimpulan 47

5.2 Saran 47

Daftar Pustaka 48

Lampiran 50

Lampiran A : Gambar Keseluruhan Rangkaian 50 Lampiran B : Gambar Skematik Rangkaian 51

Lampiran C : Listing Program 52

Lampiran D : Datasheet ATMega 8535 63 Lampiran E : CMPS03 Robot Compass Module 68


(12)

DAFTAR TABEL

Tabel 2.1 Register CMPS03 9

Tabel 2.2 Perbandingan Beberapa Seri Mikrokontroller

AVR Buatan ATMEL 18

Tabel 4.1 Data Jarak Deteksi Berbagai Halangan 39 Tabel 4.2 Hasil Pengamatan Pada Pengujian Keypad 43


(13)

DAFTAR GAMBAR

Gambar 2.1 Arah Mata Angin 7

Gambar 2.2 Kompas Digital CMPS03 8

Gambar 2.3 Sensor Ultrasonik 10

Gambar 2.4 Ilustrasi Cara Kerja Sensor Ultrasonik 11 Gambar 2.5 Pulsa Yang Dihasilkan Gelombang Elektronik 12

Gambar 2.6 Diagram Blok ISD2560 14

Gambar 2.7 Pin – pin ISD2560 15

Gambar 2.8 Blok Diagram ATMega8535 21

Gambar 2.9 Pin Mikrokontroller ATMega8535 22

Gambar 2.10 Buzzer 24

Gambar 2.11 Baterai Turnigy 25

Gambar 3.1 Diagram Blok Rangkaian 26

Gambar 3.2 Rangkaian Catu Daya 28

Gambar 3.3 Rangkaian Receiver Ultrasonik 29

Gambar 3.4 Jarak Antara Tx – Rx 29

Gambar 3.5 Keluaran Pulsa Ultrasonik 30

Gambar 3.6 Gambar Rangkaian Sensor Ultrasonik dengan

Mikrokontroller ATMega 8535 31

Gambar 3.7 Rangkaian ISD2560 32

Gambar 3.8 Rangkaian Input Push Button 34 Gambar 3.9 Rangkaian Aplikasi Modul Kompas 35

Gambar 3.10 Kuminikasi I2C Protocol 36

Gambar 3.11 Flow Chart 37


(14)

DAFTAR LAMPIRAN

LAMPIRAN A : Gambar Keseluruhan Rangkaian 50 LAMPIRAN B : Gambar Skematik Rangkaian 51

LAMPIRAN C : Listing Program 52

LAMPIRAN D : Datasheet ATMega 8535 63


(15)

ABSTRAK

RANCANGAN TONGKAT PINTAR (SMART STICK) TUNANETRA BERBASIS MIKROKONTROLLER ATMEGA8535

Perkembangan teknologi di Indonesia semakin lama semakin berkembang. Begitu juga dengan perkembangan teknologi elektronika yang semakin canggih dan semakin efisien. Dengan semakin berkembangnya teknologi elektronika maka dapat dibuat suatu alat yang dapat digunakan untuk membantu para penyandang tuna netra sebagai alat pemandu jalan. Alat ini dapat digunakan sebagai alat penunjuk arah dan mendeteksi adanya penghalang di depan penggunanya.

Pembuatan alat ini akan mendeteksi 4 arah mata angin yaitu utara, timur, selatan dan barat yang akan diset sebagai arah tujuan oleh penggunanya. Sebagai pendeteksi adanya penghalang maka digunakan sensor ultrasonik. Outputnya berupa suara yang akan diolah dalam rangkaian pengolah suara ISD 2560 menggunakan sistem mikrokontroler ATMega8535.

Dengan adanya alat ini dapat membantu penyandang tunanetra untuk berjalan kearah yang dituju. Selain itu, output yang berupa suara asli/natural dapat membantu penyandang tunanetra mengetahui arah hadapnya dan meningkatkan kemandirian bagi tunanetra dalam melakukan aktivitasnya sendiri tanpa bantuan orang lain.

Kata Kunci: Arah Mata Angin, Kompas Digital CMPS03, Sensor Ultrasonik, Mikrokontroler ATMega8535, ISD 2560


(16)

ABSTRACT

RANCANGAN TONGKAT PINTAR (SMART STICK) TUNANETRA BERBASIS MIKROKONTROLLER ATMEGA8535

Technological developments in Indonesia are increasingly growing. So also with the development of increasingly sophisticated electronic technology and more efficient. With the development of electronic technology, it can be made a tool that can be used to help people with visual impairment as a guide tool. This tool can be used as a signpost and detect the barrier in front of users.

Making this tool will detect the 4 cardinal directions are north, east, south and west which will be set as a goal by its direction. As a detector of the barrier then used ultrasonic sensors. The output is the sound that will be processed in ISD 2560 and processing circuit using a microcontroller ATMega8535.

With this tool can help blind people to walk towards the destination. In addition, the output in the form of the original sound / natural can help blind people know him have been the direction and increase independence for the blind in conducting its own activities without the help of others.

Keywords: Cardinal, Digital Compass CMPS03, Ultrasonic Sensors, Microcontroller ATMega8535, ISD 2560


(17)

BAB I

PENDAHULUAN

1.1Latar Belakang

Mata merupakan salah satu panca indra yang sangat penting. Mata berfungsi untuk mengenali benda yang ada di sekitar kita. Maka tidak salah apabila ada yang berpendapat bahwa mata adalah jendela dunia. Namun Tidak semua orang memiliki mata sempurna yang bisa menikmati semua hasil penciptaan di alam ini. Ada beberapa orang di dunia ini yang tidak mampu melihat karena matanya tidak dapat berfungsi sebagaimana mestinya. Salah satu permasalahannya yaitu kebutaan. Penyebab kebutaan ada dua macam, yaitu (1) kebutaan sejak lahir dan (2) kebutaan karena peristiwa tertentu. Kebutaan sejak lahir mungkin tidak berpengaruh banyak terhadap penyandang karena mereka sudah terbiasa dengan kondisi keterbatasannya tersebut. Hal tersebut berbanding terbalik dengan kebutaan yang disebabkan karena peristiwa tertentu, misal karena kecelakaan, didonorkan, atau penyakit. Karena tidak mampu melihat penderita tunanetra seringkali memerlukan bantuan orang lain dalam melakukan aktivitasnya sehari-hari, terutama saat berjalan. Untuk menuju suatu tempat, mereka harus tahu arah mana saja yang harus ditempuh.

Bagi seorang tunanetra, tentu akan kesulitan untuk berjalan jika dia tidak mengetahui arah mata angin. Perlu suatu alat bantu yang dapat membantu mereka untuk melakukan aktivitasnya sehari-hari. Selama ini alat bantu untuk mobilitas tunanetra yang kita kenal adalah tongkat dengan garis merah diujungnya. Alat bantu ini memiliki beberapa keterbatasan, antara lain kurang efesien jika digunakan didalam ruangan dan hanya untuk mendeteksi benda yang berada di bagian bawah, serta tidak dapat menentukan arah hadap si penyandang tunanetra tersebut mengetahui arah mata angin.

Untuk itulah penulis melakukan penelitian yaitu menciptakan alat bantu dalam keilmuan fisika untuk memberikan kontribusi dalam penentuan jarak dengan


(18)

menggunakan sensor ultrasonik dan arah hadap pengguna menggunakan kompas yang di tujukan bagi tunanetra, dimana alat ini berguna untuk menentukan jarak antara pengguna dan benda-benda disekitarnya, yang dipadukan dengan output berupa tampilan visual berupa audio menggunakan modul ISD.

1.2Rumusan Masalah

Berdasarkan latar belakang yang ada, maka perumusan dari masalah pada penelitian ini, yaitu bagaimana merancang sensor ultrasonik agar bisa mengirim data apakah ada atau tidaknya benda yang berada di depan pengguna dan mengubah data penunjuk arah dari kompas digital menjadi output suara.

1.3Batasan Masalah

Dalam perencanaan penelitian ini, terdapat beberapa batasan masalah sebagai berikut: 1. Arah mata angin yang ditunjukkan ada empat yaitu utara, timur, barat dan

selatan.

2. Output yang dihasilkan berupa suara, sehingga hanya dapat digunakan untuk penderita tunanetra.

3. Mikrokontroller yang digunakan adalah mikrokontroller ATMega8535 4. Jarak yang dibaca hanya jarak depan saja berkisar 2-3 m di depan pengguna.

1.4 Tujuan Penelitian

Adapun tujuan dilakukannya penelitian ini adalah :

1. Untuk menghasilkan rangkaian elektronik alat bantu penunjuk arah mata angin bagi tunanetra dengan output berupa suara.

2. Untuk membantu para penyandang tunanetra agar bisa menghindari benda yang berada di depannya.


(19)

Manfaat yang dihasilkan dari penelitian ini adalah dapat membantu penyandang tunanetra tersebut untuk berjalan kearah yang dituju. Selain itu, output yang berupa suara asli/natural dapat membantu penyandang tunanetra mengetahui arah hadapnya dan meningkatkan kemandirian bagi tunanetra dalam melakukan aktivitasnya.

1.6 Sistematika Penulisan

Sistematika penulisan dalam menyusun skripsi ini dibagi dalam beberapa bab dan terdiri dari beberapa sub bab. Adapun sistematika penulisan skripsi ini adalah sebagai berikut :

BAB 1. PENDAHULUAN

Bab ini berisikan tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian dan sistematika penulisan laporan.

BAB 2. TEORI DASAR

Bab ini berisikan penjelasan mengenai dasar teori tentang komponen utama yang digunakan dalam rangkaian dengan menggunakan kompas dan sensor ultrasonik sebagai alat utama dan komponen pendukung lainnya.

BAB 3. PERANCANGAN ALAT

Bab ini berisikan perancangan blok diagram, rangkaian, flowchart dan pembuatan program secara keseluruhan dari mikrokontroller ATMega 8535.


(20)

Bab ini berisikan uraian tentang hasil yang diperoleh berdasarkan pengukuran dan membandingkan dengan hasil secara teoritis.

BAB 5. PENUTUP

Bab ini berisikan kesimpulan dan saran dari seluruh pembahasan yang telah dilakukan pada penelitian ini guna perbaikan dan pengembangan pada penelitian ini.


(21)

BAB II

LANDASAN TEORI

2.1. Kompas

Kompas merupakan salah satu alat yang paling penting dalam navigasi yang berfungsi dalam menentukan arah berdasarkan posisi kutub bumi. Kompas bekerja berdasarkan gaya medan magnet. Kompas memiliki sifat magnet yang selalu menunjuk arah utara-selatan, meskipun arah utara yang dimaksud disini bukan sebenarnya, tetapi arah utara secara magnetis. Pada umumnya kompas hanya dirancang dalam bentuk visual, sehingga hanya dapat digunakan bagi mereka yang dapat melihat. Para tuna netra akan kesulitan jika menggunakan kompas biasa, karena tidak dapat melihat dan lebih banyak mengandalkan pendengaran.

2.1.1 Susunan Kompas

Secara fisis kompas terdiri dari :

1. Badan, sebagai pembungkus dan pelindung komponen utama kompas.

2. Jarum, selalu menunjuk arah utara selatan, dengan catatan tidak dekat dengan magnet lain/ tidak dipengaruhi medan magnet dan pergerakan jarum tidak terganggu/ peta dalam posisi horizontal.

3. Skala penunjuk, merupakan pembagian derajat sistem mata angin. Jenis kompas yang biasa digunakan dalam navigasi darat ada dua macam, yaitu kompas bidik (misal kompas prisma) dan kompas orienteering (misal kompas silva, sunto dll). Skala penunjuk umumnya berupa lingkaran 3600 dan arah mata angin.


(22)

Adapun fungsi utama dari kompas adalah : 1. Untuk mencari arah utara magnetis 2. Untuk mengukur besarnya sudut kompas 3. Untuk mengukur besarnya sudut peta 4. Untuk menentukan letak orientasi

Alat apa pun yang memiliki batang atau jarum magnetis yang bebas bergerak menunjuk arah utara magnetis dari magnetosfer sebuah planet sudah bisa dianggap sebagai kompas.

2.1.3 Arah Mata Angin

Mata angin biasa digunakan untuk menentukan arah yang umumnya digunakan dalam navigasi, kompas dan peta. Berikut ini adalah arah mata angin yang dapat ditentukan kompas:

1. Utara (00) disingkat U atau N

2. Timur laut (450) terletak antar timur dan utara, disingkat TL atau NE 3. Timur (900) disingkat T atau E

4. Tenggara (1350) terletak diantara timur dan selatan, disingkat TG atau SE 5. Selatan (1800) disingkat S

6. Barat daya (2250) terletak diantara barat dan selatan, disingkat BD atau SW 7. Barat (2700) disingkat B atau W


(23)

Gambar 2.1 Arah Mata angin

Utara, timur, selatan dan barat merupakan empat mata angin utama. Utara dan selatan menggambarkan kutub Bumi, manakala timur dan barat menentukan arah putaran Bumi. Matahari terbit di timur dan tenggelam di barat.

2.2 Kompas Digital CMPS03

Magnetic Compas adalah sensor kompas yang dapat mengetahui posisi sudut. Sensor ini didesain khusus untuk bidang robotik dengan tujuan sebagai navigator yang digunakan untuk pergerakan pada robot.

Di dalam sensor kompas elektronik CMPS03 ini terdapat dua buah sensor fero magnetik yang akan mendeteksi medan magnet bumi. Data yang dihasilkan dari kompas berupa data biner hasil konversi dari sudut magnetik bumi ke data digital contohnya utara dihasilkan sama dengan data 0 dan selatan sama dengan 7F dan data derajat yang lainnya secara linier. CMPS03 Magnetic Compass buatan Devantech Ltd ini menggunakan sensor medan magnet Philips KMZ51 yang cukup sensitif untuk mendeteksi medan magnet bumi. Kompas digital ini cukup supplay tegangan sebesar 5 Vdc dengan konsumsi arus 15mA. Sensor ini akan memberikan arah dalam bentuk derajat, sesuai arah sensor ini menghadap kemana, yaitu utara = 00 , timur = 900, selatan = 1800 dan barat = 2700.


(24)

Gambar 2.2 Kompas Digital CMPS03

Kompas merupakan alat untuk navigasi untuk penunjuk arah, dalam. Penggunaan kompas CMPS03 menggunakan jalur I2C. Mikrokontroller yang digunakan adalah AVR Atmega8535 dan bahasa C. Modul kompas membutuhkan tegangan 5 V pada nominal 15mA karena menggunakan I2C maka disini hanya menggunakan 5 jalur sajah yaitu :

1. VCC + 5 V pada pin 1

2. SCL dengan Full_Up resistor 10 K 3. SDA dengan pull_Up resistor 10 K

4. Calibrate pada PIN 6 yang terhubung swicth tactile

5. Ground pada PIN9

CMPS03 juga dilengkapi dengan interface I2C yang dapat digunakan untuk membaca data arah dalam bentuk data serial. Pada mode 8 bit, arah utara ditunjukkan dengan data 255 dengan resolusi 1,40625 derajat/bit. Pada mode 16 bit, arah utara ditunjukkan dengan data 65535 sehingga resolusinya menjadi 0,0055 derajat/bit.

I2C Interface

Pin 2 dan 3 adalah jalur komunikasi I2C dan dapat digunakan untuk membaca data arah (bearing). Jika jalur I2C tidak digunakan, maka pin ini harus di pull up (ke +5V) melalui resistor yang nilainya sekitar 47K, nilai resistor tidak kritikal. I2C communication protocol dimulai dengan mengirimkan start bit, address modul digital


(25)

compass dengan read/write low (0xC0), kemudian nomor register yang akan dibaca. Selanjutnya diikuti dengan start bit lagi, address modul digital compass dengan read/write high (0xC1). Selanjutnya anda bisa membaca satu atau dua register (8 bit atau 16 bit). Untuk register 16 bit, yang pertama kali dibaca adalah high byte. CMPS03 memiliki 16 register sesuai tabel berikut :

Tabel 2.1 Register CMPS03

Register Function

0 Sofware Revision Number

1 Compass Bearing as a byte, i.e. 0-255 for a full circle

2,3 Compass Bearing as a word, i.e. 3599 for a full cicle, representing 0-39.9 degrees

4,5 Internal Test - Sensor1 difference signal - 16 bit signed word 6,7 Internal Test -Sensor2 difference signal - 16 bit signed word 8,9 Internal Test - Calibration value 1-16 bit signed word 10,11 Internal Test - Calibration value 2-16 bit signed word

12 Unused - Read as Zero 13 Unused - Read as Zero 14 Unused - Read as Zero

15 Calibrate Command - Write 255 to perform calibration step

Register 0 adalah Software revision number. Register 1 adalah data arah yang diubah dalam nilai 255. Dalam aplikasinya ini lebih mudah dibandingkan nilai 0-360 karena memerlukan dua byte. Untuk resolusi yang lebih tinggi pada Register 2 dan 3 akan menyimpan data arah 16 bit dengan nilai 3599. Ini menunjukkan arah 0-359.9°. Register 4 sampai 11 adalah internal test register. Register 12, 13 dan 14 tidak digunakan. Register 15digunakan untuk melakukan kalibrasi kompas. Pin 7 adalah input untuk memilih mode operasi 50Hz (low) atau 60Hz (high. Pin 6 digunakan untuk kalibrasi digital compass


(26)

2.3 Sensor Ultrasonik

Sensor ultrasonik adalah sensor yang bekerja berdasarkan prinsip pantulan gelombang dimana sensor menghasilkan gelombang pantulan ke benda yang kemudian menangkapnya kembali dengan perbedaan waktu sebagai dasar perhitungannya.. Perbedaan waktu antara gelombang pantulan yang di kembalikan dan yang diterima kembali adalah berbanding lurus dengan jarak atau tinggi objek yang memantulkannya. Jenis objek yang dapat di indranya adalah padat, cair dan butiran. Tanpa kontak jarak 2 cm sampai 3 meter dan dapat dengan mudah dihubungkan dengan mikrokontroler malalui satu pin I/O saja. Dimensi : 2,6 cm (p) x 4,1 cm (l) x 6,2 cm (t)

Gambar 2.2 Sensor Ultrasonik

Gambar 2.3 Sensor Ultrasonik

2.3.1 Spesifikasi Dari Sensor Ultrasonik

Adapun spesifikasi dari sensor ultrasonik antara lain :

1. Memiliki 2 jenis antarmuka yang dapat aktif bersamaan, yaitu I2C-bus (fSCL maks. 65 kHz) dan pulse width (10µs/mm).

2. 8 modul dapat digunakan bersama dalam satu sistem I2C-bus yang hanya membutuhkan 2 pin I/O mikrokontroler saja.

3. Membutuhkan catu daya tunggal +5 VDC, dengan konsumsi arus 17 mA typ. (tanpa sensor infrared ranger).


(27)

2.3.2 Cara Kerja Sensor Ultrasonik

Cara kerja sensor ultrasonik dengan cara memantulkan gelombang ke sebuah objek kemudian data yang di pantulkan menentukan jarak dari sensor ke objek.

Gambar 2.4 Ilustrasi cara kerja sensor ultrasonik

2.3.3 Prinsip Kerja Sensor Ultrasonik

Prinsip kerja dari sensor ultrasonik adalah sebagai berikut :

1. Pin yang digunakan sebagai jalur data sensor dijadikan output.

2. Mikrokontroler memberikan pulsa trigger (pulsa high dengan tOUT selama 2 µs sampai 5 µs).

3. Kemudian setelah memberikan trigger, pin tersebut dijadikan input.

4. Sensor memancarkan gelombang ultrasonic sebesar 40KHz selama 200 µs (tBURST).

5. Gelombang ultrasonic ini akan merambat diudara dengan kecepatan 344.424 m/detik atau 1 cm setiap 29.034 µs.

6. Gelombang tersebut akan mengenai objek kemudian terpantul kembali ke sensor.

7. Selama menunggu pantulan, sensor akan menghasilkan sebuah pulsa (high) 8. Pulsa ini akan berhenti (low) ketika gelombang suara pantulan terdeteksi oleh


(28)

9. Lebar pulsa tersebutlah yang yang dipresentasikan sebagai jarak antara sensor ping dengan objek.

10.Lebar pulsa high (tIN) akan sesuai dengan lama waktu tempuh gelombang ultrasonik untuk 2x jarak ukur dengan obyek yang kemudian dapat merepresentasikan jarak antara sensor ping dengan objek.

11.Sinyal yang diterima oleh rangkaian receiver dikirimkan ke rangkaian mikrokontroler untuk selanjutnya diolah untuk menghitung jarak terhadap benda.

12.Benda di sini adalah benda yang bersifat memantul, bukan benda yang bersifat meredam sinyal.

Gambar 2.5 Pulsa yang dihasilkan gelombang ultrasonik

Untuk menghitung jarak yang terukur dari waktu terima sensor dapat menggunakan persamaan berikut ini.

Di mana:

V = adalah kecepatan suara 344 m/s t = adalah waktu tempuh (s) s = adalah jarak (m)


(29)

2.4 Pengolah Sinyal Suara ISD2560

Pengolah sinyal suara adalah bagian yang mengolah sinyal suara analog menjadi sinyal suara digital, yang akhirnya sinyal suara hasil rekaman dapat disimpan dalam memori IC. Selain itu bagian ini juga mengubah sinyal suara digital menjadi sinyal suara analog kembali sehingga rekaman yang tersimpan dapat diperdengarkan (diputar ulang), untuk dapat melakukan perekaman dan pemutaran ulang rekaman digunakan IC khusus yaitu ISD2560/75/90/120 “Single-Chip, Multiple-Mesage, Voice Record/Playback Device” yang merupakan produk dari Winbond Electronic Corp.

ISD2560 adalah single-chip dengan kualitas tinggi, dengan durasi rekam atau putar ulang (Record/Playback) antara 60 sampai 120 detik. Merupakan komponen CMOS yang terdiri atas on-chip oscillator, microphon preamplifier, aoutomatic gain control, antialiasing filter, smoothing filter, speaker preamplifier, dan high density multi-level storage array.

2.4.1 Fitur-Fitur ISD2560

ISD2560 mempunyai fitur-fitur sebagai berikut :

1. Single-chip mudah digunakan untuk merekam suara atau memutar ulangnya. 2. Kualitas suara atau audio yang dihasilkan tinggi dan tampak alami.

3. Single-chip dengan durasi 60,75,90 dan 120 detik. 4. Dapat digunakan dengan atau tanpa mikrokontroler. 5. Secara langsung merekam dalam durasi yang panjang. 6. Power Down (PD) otomatis (mode Push-button). 7. Penyimpanan pesan dengan daya nol.

8. Dapat dialamatkan secara langsung untuk mengatasi pesan yang panjang. 9. Penyimpanan pesan selama 100 tahun.

10.Siklus perekaman 100.000 kali. 11.Sumber clock on-chip.


(30)

13.Catu daya +5 volt

2.4.2 Diagram Blok ISD 2560


(31)

2.4.3 Konfigurasi Pin

Gambar 2.7 Pin-pin ISD2560

2.4.4 Fungsi Pin-Pin ISD2560

Fungsi dari masing-masing pin adalah sebagai berikut:

1. Input microphone (Mic). Pin ini akan menerima sinyal input masukan yang berasal dari microphone. Sinyal yang diterima akan dikuatkan oleh penguat (preamplifier) yang sudah ada dalam IC tersebut. Pada bagian Automatic Gain Control (AGC) akan diatur sehingga penguatan yang keluar setelah preamplifier adalah –15db sampai 24 db. Referensi input microphone (Mic Ref). Dengan menghubungkan pin ini ke VSSA (analog ground) secara seri dengan kapasitor, maka noise yang ada pada sinyal input dapat ditolak atau dibuang oleh preamplifier.

2. Output analog (Ana Out). Keuntungan dari pin ini adalah memberikan output preamplifier pada pemakai. Penguatan tegangan pada preamplifier ini ditentukan oleh level tegangan pada pin AGC.


(32)

3. Input analog (Ana In). Pin ini menerima sinyal input masukan yang akan direkam. Pada pemakaian input microphone, pin output analog harus dihubungkan dengan pin input analog melalui sebuah kapasitor tambahan. 4. Automatic Gain Control (AGC). Bagian ini mengatur kestabilan penguatan

yang dilakukan oleh preamplifier.

5. Speaker output. Perbedaan semua alat ISD seri 2500 dengan yang lainnya yaitu adanya driver speaker yang terdiri dari penguat audio output. keluaran dari pin ini dengan daya 50 mWatt.dapat langsung dihubungkan dengan speaker 16.

6. Power Down Input (PD). Saat tidak digunakan untuk merekam atau memutar ulang, maka PD akan berlogika high, keadaan ini digunakan untuk menghasilkan mode daya yang sangat kecil karena tidak digunakan. Saat pulsa menjadi low untuk menghasilkan kondisi overflow, maka Pd yang berlogika high akan melakukan proses reset pada alamat memori sehingga menunjuk pada alamat awal. Pin PD digunakan pada pilihan mode operasi M6 (push-botton).

7. Chip Enable Input (CEI). Untuk menghasilkan kondisi aktif (enable) maka pin ini harus diberikaan kondisi low sehingga proses perekaman dan memutar ulang suara dapat dilakukan.

8. Playback/Record Input (P/ ). Pin ini digunakan untuk mengunci (latch) keadaan atau mode yang sedang dipilih. Untuk melakukan mode putar ulang suara, maka pin ini diberikan logika high. Sedangkan untuk proses perekaman, maka yang diberikan pada pin ini adalah logika low.

9. End Of Message (EM). Pin ini memberi tanda saat proses perekaman selesai dilakukan. Output akan mengeluarkan pulsa low untuk TEOM pada akhir proses output. Saat pin ini mengeluarkan logika low maka berarti proses perekaman selesai dilakukan. Pada pilihan penerapannya, biasanya pin ini terhubung dengan kondisi low dan digunakan pada mode Pemutar ulang suara saja.

10.Oveflow Output (OO). Pulsa low dikeluarkan jika memori sudah sampai pada akhir ruang terakhir yang ada pada memori, dan itu menandakan bahwa memori yang tersedia sudah habis. Output akan mengikuti input Pin sampai pulsa PD mereset alat tersebut. Pin ini dapat digunakan secara bersama dengan


(33)

beberapa seri ISD 2500 yang lainnya untuk menambah durasi waktu perekaman atau pemutar ulang sesuai waktu yang diinginkan.

11.Tegangan Input (VCCA,VCCD). Pin ini untuk memberikan tegangan masukan pada IC sehingga dapat bekerja. Batas tegangan masukan yang dapat diberikan pada IC ini adalah 4,5 sampai 6,5 volt.

12.Ground input (VSSA,VSSD). Pin ini digunakan untuk input ground.

2.5 Mikrokontroller ATMega 8535

Mikrokontroler, sesuai namanya adalah suatu alat atau komponen pengontrol atau pengendali yang berukuran mikro atau kecil. Sebelum ada mikrokontroler, telah ada terlebih dahulu muncul mikroprosesor. Mikrokontroler adalah otak dari suatu sistem elektronika seperti halnya mikroprosesor sebagai otak komputer. Namun mikrokontroler memiliki nilai tambah karena didalamnya sudah terdapat memori dan sistem input/output dalam suatu kemasan IC. Mikrokontroler AVR (Alf and Vegard’s RISC processor) standar memiliki arsitektur 8-bit, dimana semua instruksi dikemas dalam kode 16- bit dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Berbeda dengan instruksi MCS-51 yang membutuhkan 12 siklus clock karena memiliki arsitektur CISC (seperti komputer).

Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT89RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Oleh karena itu, dipergunakan salah satu AVR produk Atmel, yaitu ATMega 8535. Selain mudah didapatkan dan lebih murah ATMega 8535 juga memiliki fasilitas yang lengkap. Untuk tipe AVR ada 3 jenis yaitu ATTiny, AVR klasik, dan ATMega. Perbedaannya hanya pada fasilitas dan I/O yang tersedia serta fasilitas lain seperti ADC, EEPROM, dan lain sebagainya. Salah satu contohnya adalah ATMega 8535. Memiliki teknologi RISC dengan kecepatan maksimal 16 MHz membuat ATMega 8535 lebih cepat bila dibandingkan dengan varian MCS51. Dengan fasilitas


(34)

yang lengkap tersebut menjadikan ATMega 8535 sebagai mikrokontroler yang powerfull.

Berikut tabel perbandingan beberapa seri mikrokontroler AVR buatan Atmel.

Tabel 2.2 Perbandingan Beberapa Seri Mikrokontroller AVR buatan Atmel

Seri Flash (KBytes) RAM (Bytes) EEPROM (KBytes) Pin I/O Timer 16-bit Timer

8-bit UART PWM ADC

10-bit

SPI ISP

ATmega8 8 1024 0.5 23 1 1 1 3 6/8 1 Ya ATmega8535 8 512 0.5 32 2 2 1 4 8 1 Ya ATmega16 16 1024 0.5 32 1 2 1 4 8 1 Ya ATmega162 16 1024 0.5 35 2 2 2 6 8 1 Ya ATmega32 32 2048 1 32 1 2 1 4 8 1 Ya ATmega128 128 4096 4 53 2 2 2 8 8 1 Ya ATtiny12 1 - 0.0625 6 - 1 - - - - Ya ATtiny2313 2 128 0.125 18 1 1 1 4 - 1 Ya ATtiny44 4 256 0.25 12 1 1 - 4 8 1 Ya ATtiny84 8 512 0.5 12 1 1 - 4 8 1 Ya

Keterangan:

 Flash adalah suatu jenis Read Only Memory yang biasanya diisi dengan program hasil buatan manusia yang harus dijalankan oleh mikrokontroler.

 RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk penyimpanan data sementara dan pengolahan data ketika program sedang running.

 EEPROM (Electrically Erasable Programmable Read Only Memory) adalah memori untuk penyimpanan data secara permanen oleh program yang sedang running.

 Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran ataupun masukan bagi program.


(35)

 Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa .

 UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data khusus secara serial asynchronous.

 PWM (Pulse Width Modulation) adalah fasilitas untuk membuat modulasi pulsa.

 ADC (Analog to Digital Converter) adalah fasilitas untuk dapat menerima sinyal analog dalam range tertentu untuk kemudian dikonversi menjadi suatu nilai digital dalam range tertentu.

 SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara serial secara serial synchronous.

 ISP (In System Programming) adalah kemampuan khusus mikrokontroler untuk dapat diprogram langsung dalam sistem rangkaiannya dengan membutuhkan jumlah pin yang minimal.

2.5.1 Fitur – Fitur Mikrokontroller ATMega 8535

Adapun fitur-fitur dari mikrokontroller ATMega8535 adalah sebagai berikut :

1. Saluran I/O Sebanyak 32 buah, yaitu port A sampai port D (Port A, B, C dan D)

2. ADC (Analog to Digital Converter) 10 bit sebanyak 8 chanel.

3. Tiga buah timer/ counter dengan kemampuan perbandingan, yaitu 2 buah timer/ counter 8 bit dan 1 buah timer/ counter 16 bit.

4. CPU yang memiliki 32 buah register.

5. 131 instruksi yang hanya membutuhkan 1 siklus clock. 6. Watchdog timer dengan osilator internal.

7. Tegangan operasi 2,7 V – 5,5 V. 8. Internal SRAM sebesar 512 byte.

9. Memori flash sebesar 8 KB dengan kemampuan Read While Write. 10.Unit interupsi internal dan eksternal.


(36)

11.Port antarmuka SPI (Serial Pheripheral Interface).

12.Kecepatan hampir mencapai 16 MPIS pada kristal 16 MHz.

13.Internal downloader USB AVR (In-system Programming dilengkapi LED programming indicator).

14.Tidak membutuhkan power tambahan saat melakukan downloader proram. 15.EEPROM (Electrically Erasble Programmable Read Only Memory), sebesar

512 byte yang dapat doprogram saat operasi. 16.Antarmuka komparator analog.

17.Port USART untuk komunikasi serial.

2.5.2 Keunggulan Mikrokontroller ATMega 8535

Dengan menggunakan mikrokontroler ini maka :

1. Sistem elektronik akan menjadi lebih ringkas.

2. Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodifikasi.

3. Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak. Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran input dan output (I/O). dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler sudah mengandung beberapa bagian yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital (ADC), dan sebagainya hanya menggunakan Minimum System yang tidak rumit atau kompleks.


(37)

2.5.3 Diagram Blok ATMega 8535

Adapun blok diagramnya sebagai berikut :

:

Gambar 2.8 Blok Diagram ATMega8535

Dari diagram blok tersebut dapat dilihat bahwa ATMega 8535 memiliki bagian-bagian antara lain, sebagai berikut:

1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D. 2. ADC 8 Channel 10 bit.

3. Tiga buah timer/counter dengan kemampuan pembanding. 4. CPU yang terdiri dari 32 buah register.

5. Watchdog timer dengan osilator internal. 6. SRAM sebesar 512 byte.

7. Memori flash sebesar 8KB dengan kemampuan Reead While Write. 8. Intterupt internal dan eksternal.

9. Port antarmuka SPI (Serial Pheripheral Interface).


(38)

11.Antarmuka komparator analog. 12.Port USART untuk komunikasi serial.

2.5.4 Konfigurasi Pin Mikrokontroller AVR ATMega 8535

Gambar 2.9 Pin Mikrokontroller ATMega8535

Konfigurasi pin ATMega 8535 dapat dilihat pada gambar di atas. Dari Gambar dapat dijelaskan secara fungisional konfigurasi pin ATMega 8535 sebagai berikut :

1. VCC merupakan pin yang berfungsi sebagai pin input catu daya. 2. GND sebagai pin ground.

3. Port A (PA0-PA7) merupakan pin I/O dua arah dan input ADC.

4. Port B (PB0-PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, komparator analog dan SPI.

5. Port C (PC0-PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog dan timer osilator.

6. Port D (PD0-PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal dan komunikasi serial.


(39)

8. XTAL1 dan XTAL2 merupakan pin input clock eksternal. 9. AVCC merupakan pin input tegangan untuk ADC.

10.AREF merupakan pin input tegangan referensi ADC.

2.5.5 Karakteristik ADC Internal Mikrokontroller ATMega 8535

Adapun karakteristik ADC internal mikrokontroller ATMega 8535 adalah : 1. Medan dalam pengoperasian.

2. Resolusi 10 bit.

3. Memiliki 8 masukan analog. 4. Konversi pada saat CPU sleep. 5. Interupt waktu kkonversi selesai.

2.6 Buzzer

Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loudspeaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi elektromagnet. Kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara. Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).


(40)

Gambar 2.10 Buzzer

2.7 Baterai

Baterai adalah alat listrik-kimiawi yang menyimpan energi dan mengeluarkan tenaganya dalam bentuk listrik. Sebuah baterai biasanya terdiri dari tiga komponen penting, yaitu:

1. Batang karbon sebagai anode (kutub positif baterai) 2. Seng (Zn) sebagai katode (kutub negatif baterai) 3. Pasta sebagai elektrolit (penghantar)

Baterai yang biasa dijual (disposable/sekali pakai) mempunyai tegangan listrik 1,5 volt. Baterai ada yang berbentuk tabung atau kotak. Ada juga yang dinamakan rechargeable battery, yaitu baterai yang dapat diisi ulang, seperti yang biasa terdapat pada telepon genggam. Baterai sekali pakai disebut juga dengan baterai primer, sedangkan baterai isi ulang disebut dengan baterai sekunder.

Baik baterai primer maupun baterai sekunder, kedua-duanya bersifat mengubah energi kimia menjadi energi listrik. Baterai primer hanya bisa dipakai sekali, karena menggunakan reaksi kimia yang bersifat tidak bisa dibalik (irreversible reaction). Sedangkan baterai sekunder dapat diisi ulang karena reaksi kimianya bersifat bisa dibalik (reversible reaction).


(41)

Dalam percobaan ini baterai yang digunakan adalah baterai lipo turnigy.

Gambar 2.11 Baterai Turnigy

Batere Lipo Turnigy 2200mA 3S digunakan karena memiliki spesifikasi antara lain:

1. Minmum Capacity : 2200Mah 2. Configuration : 3 S1p / 11.1V / 3 cell 3. Vonstant Discharge : 25C

4. Peak Discharge : (10 sec) : 35C 5. Peak weight : 188g

6. Pack size : 105 x 33 x 24mm 7. charge Plug : JST – XH 8. Discharge Plug : XT60


(42)

BAB III

RANCANGAN SISTEM

3.1 Diagram Blok Rangkaian

Diagram blok dari rangkaian dapat dilihat di bawah ini:

A

T

M

E

G

A

8

5

3

5

INPUT UTARA

INPUT TIMUR

INPUT SELATAN

INPUT BARAT

SENSOR ULTRASONIK

BUZZER

MODUL SUARA SUARA

SENSOR COMPAS

BATTERY

Gambar 3.1 Diagram Blok Rangkaian

Sensor ping ultrasonik akan mengindera keberadaan halangan yang ada di depan pengguna. Sensor compass akan mendeteksi arah dari pengguna tongkat. Sedangkan


(43)

ISD25120 digunakan untuk mengolah sinyal suara. Pengolah sinyal suara merupakan bagian yang mengolah sinyal suara analog menjadi sinyal suara digital, yang akhirnya sinyal suara hasil rekaman dapat disimpan dalam memori IC.

Power Supply

Power supplay berfungsi sebagai sumber tegangan dari seluruh sistem agar sistem dapat bekerja.

AVR ATMega8535

AVR ATMega8535 merupakan pusat kendali dari seluruh rangkaian. Dimana mikrokontroller akan mengecek sinyal yang dikirim oleh sensor, kemudian memprosesnya dan mengirimkan perintah ke ISD2560.

Sensor PingUltrasonik

Sensor ping ultrasonik berfungsi untuk mendeteksi halangan di depan pengguna.

Sensor Kompas

Sensor kompas berfungsi untuk mendeteksi arah mata angin.

ISD2560

ISD2560 berfungsi untuk memproses data yang dikirim oleh mikrokontroller dan menyesuaikannya dengan suara yang telah direkam lalu mengirim kembali data tersebut ke speaker.

Speaker dan Buzzer


(44)

3.2 Perancangan Rangkaian Catu Daya

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian catu daya (power supply adaptor) ini terdiri dari satu keluaran, yaitu 5 Volt. Keluaran 5 Volt digunakan untuk mensupply tegangan ke rangkaian mikrokontroller AVR ATMega 8535, rangkaian ISD2560, sensor ultrasonik dan kompas. Rangkaian catu daya ditunjukkan pada gambar 3.2 berikut ini :

Gambar 3.2 Rangkaian Catu Daya

Baterai merupakan sumber tegangan DC. Kemudian tegangan akan disearahkan dengan menggunkan jembatan dioda, selanjutnya akan diratakan kapasitor 220 µF. Regulator tegangan 5 Volt (7805) digunakan agar keluaran yang dihasilkan tetap 5 Volt walaupun terjadi perubahanpada tegangan masukannya. LED digunakan sebagai indikator apabila catu daya dinyalakan. Tegangan 5 Volt DC langsung diambil dari keluaran jembatan dioda penyearah gelombang penuh.


(45)

3.3 Rangkaian Sensor Ultrasonik

Di dalam blok sensor ultrasonik ada 2 rangkaian yang salingg berhubungan yaitu transmitter sebagai pengirim data dari objek ke benda dan receiver sebagai penerima data dari benda ke objek seperti terlihat pada gambar 3.3 sebagai berikut:

Gambar 3.3 Rangkaian Receiver Ultrasonik

Jarak antara untrasonik transducer Rx dan Tx mempengaruhi kenerja alat dalam aplikasi ini. Pengaturan resistor variabel R6 pada rangkaian receiver dapat dilakukan saat rangkaian dinyalakan yaitu dengan acuan tampilan LCD. Bila LCD selalu menampilkan “Distance = 001 cm” berarti jendela komparator terlalu sempit sehingga dapat di-trigger oleh gelombang ultrasonik langsung dari Tx bukan pantulan dari benda di depannya.


(46)

Rangkaian ultrasonik transducer terbagi 2 yaitu rangkaian receiver dan rangkaian transmitter, skematik rangkaian terdapat pada gambar 3.3. Pada gambar 3.3 resistor variabl R6 berfungsi untuk mengatur jendela komparator yang akan berpengaruh pada sensitivitas receiver dan juga mempengaruhi daya ukur alat ini secara keseluruhan. Dengan pengaturan R6 yang baik, alat ini dapat mengu kur jarak minimum 2 cm dan maksimum 300 cm dengan cukup baik.

Jika gelombang ultrasonik merambat dalam suatu medium, maka partikel medium mengalami perpindahan energi. Besarnya energi gelombang ultrasonik yang dimiliki partikel medium. Maka kita perhatikan pulsa di bawah ini adalah keluaran dari gelombang ultrasonik:


(47)

3.4 Perancangan Rangkaian Sensor Ultrasonik dengan Mikrokontroller ATMega 8535

Gamabr 3.6 Rangkain Sensor Ultrasonik dengan Mikrokontroller AVR ATMega 8535

Sensor ping untrasonik memiliki tegangan kerja 5 Volt, namun output yang menghasilkan pulsa akan dikirim ke mikro untuk diolah lebih lanjut. Rangkaian diatas berfungsi untuk mengendalikan seluruh sistem. Komponen utama dari rangkaian ini adalah IC mikrokontroller ATMega 8535. Pada IC inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.

Mikrokontroller ini memiliki 32 port I/O, yaitu port A, port B, port C dan port D. Pin 33 samapai 40 adalah port A yang merupakan port ADC, dimana port ini dapat mmenerima data analog. Pin 1 sampai 8 adalah port B. Pin 22 sampai 29 adalah port C. Dan pin 14 sampai 21 adalah port D. Pin 10 dihubungkan ke sumber tegangan 5 Volt. Dan pin 11 dihubungkan ke ground. Rangkaian mikrokontroller ini


(48)

menggunakan komponen kristal sebagai sumber clock-nya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroller dalam mengeksekusi suatu perintah tertentu.

Pin 12 dan 13 dihubungkan ke XTAL 8 MHz dan dua buah kapasitor 22pF. XTAL ini akan mempengaruhi kecepatan mikrokontroller AVR Atmega8535 dalam mengaksekusi setiap perintah dalam program. Pada pin 9 dihubungkan dengan sebuah kapasitor dan sebuah resistor yang dihubungkan ke ground. Kedua komponen ini berfungsi agar program pada mikrokontroller dijalankan beberapa saat setelah power aktif. Lamanya waktu antara aktifnya power pada IC mikrokontroller dan aktifnya program adalah sebesar perkalian antara kapasitor dan resistor tersebut.

3.5 Perancangan Rangkaian ISD2560

Gambar 3.7 Rangkaian ISD2560

Penjelasan dari rangkaian diatas adalah ketika kita ingin melakukan perekaman suara, maka yang perlu kita lakukan yaitu menentukan alamat dimana suara akan disimpan. Dengan menentukan alamat contoh 0x00-0x02 maka mikro akan mudah dalam mendeteksi dimana tempat suara itu disimpan. Setelah itu tekan pin CE dan P/R secara bersamaan kemudian ucapkan suara yang ingin direkam dengan microfon yang


(49)

tersedia.

Perancangan pada rangkaian penyimpanan pesan ini, terbagi atas empat tahapan, yaitu :

1. Proses perekaman suara dari micropon ke PC (Personal Computer). 2. Proses pengalamatan ISD2560.

3. Proses perekaman suara dari PC ke rangkaian penyimpan pesan. 4. Prooses play/record (P/R)

Pada saat melakukan perekaman suara ke ISD2560 perlu diperhatikan langkah-langkah sebagai berikut :

1. Tentukan alamat suara terlebih dahulu, merupakan tempat untuk menyimpan suara hasil rekaman dengan mengatur dip switch, pada pin 1 sampai pin 8. Pin 9 dan pin 10 dihubungkan dengan ground karena digunakan mode pengalamatan sedangkan pin 1 sampai pin 8 digunakan sebagai bit-bit alamat pada IC suara.

2. Tekan switch1 dan switch2 secara bersamaan dan tahan pada saat merekam. Switch1 ditekan agar pin CE terhubung ke ground (LOW) sehingga dapat mengaktifkan proses perekaman, sementara switch2 ditekan agar pin P\R terhubung ke ground (LOW) juga sehingga akan dilakukan proses merekam (jika pin P\R diset HIGH maka akan menjadi proses putar ulang).

3. Berikan masukan berupa suara yang telah diedit melalui software pengolah suara, dari output audio komputer melalui pin ANA IN dan ground, selain itu juga bisa menggunakan rangkaian MIC yang telah terhubung ke pin 17 dan pin 18 pada IC suara.

4. Lepas switch1(pin CE) dan switch2 (pin P\R) untuk menghentikan proses perekaman.

Untuk mengetahui hasil suara yang telah direkam, yaitu dengan menentukan alamat suara yang ingin didengar suaranya kemudian tekan switch1 sehingga pin CE menjadi LOW dan proses putar ulang akan dimulai (dalam hal ini pin P\R pada


(50)

kondisi HIGH). Setelah proses putar ulang selesai, maka otomatis suara akan berhenti. Untuk melakukan reset, pada pin PD diatur pada kondisi HIGH.

3.6. Rangkaian Input Push Button

Input yang digunakan untuk menentukan arah tujuan dari pengguna tongkat adalah sebuah tombol push button normally open yang dihubungkan ke ground, dengan alasan pada saat mikrokontroler dihidupkan pertama kali, akan menuliskan logika 0 pada semua port yang digunakan otomatis terkonfigurasi sebagai masukan impedensi rendah, program akan membaca kaki port logika 0 karena masukan tombol tekan disambung ke-ground. Tombol yang digunakan adalah jenis tactile switch berukuran kecil dengan jumlah total 5 buah tombol. Dimana 1 tombol untuk menset tujuan dan 4 tombol untuk menentukan arah tujuan.

Gambar 3.8 Rangkaian input push button

3.7 Perancangan Sistem Modul Kompas

Modul CMPS03 disini berfungsi sebagai sensor magnet,untuk supply hanya memerlukan tegangan sebesar 5 Vdc dengan konsumsi arus 15mA. Pada CMPS03, arah mata angin dibagi dalam bentuk derajat yaitu : Utara (0o), Timur (90o), Selatan (180o) dan Barat (270o).


(51)

Gambar 3.9 Rangkaian Aplikasi Modul Kompas

Modul kompas membutuhkan tegangan 5 V pada nominal 15mA karena menggunakan I2C maka disini hanya menggunakan 5 jalur sajah yaitu :

6. VCC + 5 V pada pin 1

7. SCL dengan Full_Up resistor 10 K 8. SDA dengan pull_Up resistor 10 K

9. Calibrate pada PIN 6 yang terhubung swicth tactile

10. Ground pada PIN9

Berikut adalah skema rangkaian aplikasi CMPS03. Pin 1 sebagai input tegangan sebesar 5V.

Pin 2 digunakan untuk kominikasi clock.(scl) Pin 3 digunakan untuk komunikasi data.(sda) Pin 4 digunakan untuk Komunikasi PWM.

Pin 6 digunakan untuk kalibrasi digital kompas. Pin ini juga memiliki resistor pullup on board dan dapat dibiarkan tidak terhubung setelah proses kalibrasi.

Pin 9 dihubungkan ke ground.

Pin 2 dan 3 adalah jalur komunikasi I2C dan dapat digunakan untuk membaca data arah (bearing).


(52)

Gambar 3.10 Kominikasi I2C Protocol

Jika jalur I2C tidak digunakan, maka pin ini harus di pull up (ke +5V) melalui resistor yang nilainya sekitar 47K, nilai resistor tidak kritikal. I2C communication protocol dimulai dengan mengirimkan start bit, address modul digital compass dengan read/write low (0xC0), kemudian nomor register yang akan dibaca. Selanjutnya diikuti dengan start bit lagi, address modul digital compass dengan read/write high (0xC1). Selanjutnya anda bisa membaca satu atau dua register (8 bit atau 16 bit). Untuk register 16 bit, yang pertamakali dibaca adalah high byte. CMPS03 memiliki 16 register.


(53)

3.8 Flowchart

Flowchart pada sistem rangkaian adalah sebagai berikut :

Gambar 3.11 Diagram Alir Program

Saat alat dihidupkan maka sistem akan meminta inputan arah tujuan, setelah ditentukan arah tujuan, maka sensor ultrasonic akan terus mengirim data ke sistem , apabila jarak sensor tongkat dengan penghalang di depan sudah mendekati jarak warning, maka sistem akan mengeluarkan tanda bahaya dengan cara membunyikan

START

INISIALIASASI PORT

SET TUJUAN

BUZZER HIDUP ARAH SESUAI

DENGAN TUJUAN

SUARA PERINGATAN

Jarak < 1,5 m ? BUZZER HIDUP

SUARA PERINGATAN TIDAK

YA

YA


(54)

buzzer disertai suara peringatan melalui modul suara. Apabila si pemegang tongkat menyimpang dari arah tujuan yang telah di inputkan pertama, maka sistem akan mengeluarkan tanda bahaya dengan cara membunyikan buzzer disertai suara peringatan melalui modul suara arah yang menyimpang dan mengingatkan melalui suara arah yang akan dituju.


(55)

BAB IV

ANALISA RANGKAIAN

4.1 Pengujian dan Analisa Rangkaian Sensor Ultrasonik

Pada gambar 3.3.dan 3.4. tentang rangkaian transmitter dan receiver terletak dalam 1 komponen melainkan masing- masing mempunyai fungsi. untuk menganalisa rangkaian ultrasonic dapat di lihat pada pembahasan di bawah ini.

Jika sensor terkena suatu benda, maka secara otomatis LED indikator akan menyala. Sedangkan jika tidak terhalangi LED indikator akan padam. Dalam pengujian jarak yang di tentukan adalah sebesar 15 cm. tapi indikator sudah menyala dalam jarak 13 cm. jadi terdapat error pengukuran sebesar 2 cm.

Tabel 4.1 Data Jarak Deteksi Berbagai Halangan

Penjelasan pada table diatas yaitu : Pengujian jarak pendeteksian sensor ultrasonik dilakukan dengan mendekatkan dan menjauhkan posisi objek yang ada


(56)

didepan sensor.untuk mengetahui kepekaan sensor ketika diberikan objek yang berbeda dilakukan sebanyak 11 kali pada masing-masing objek. Jarak dari objek di variasikan . Setiap pengujian akan menghasilkan pembacaan yang berbeda walau dengan jarak yang sama, tetapi perbedaanya tidak terlalu besar. Tujuan dari pengujian itu untuk mendapatkan nilai yang akurat, misalnya pengujian dengan jarak 80 cm menghasilkan nilai pembacaan 77 cm.

Hasil pengujian dapat membuktikan bahwa sensor ultrasonik bekerja berdasarkan kemampuan penghalang memantulkan kembali gelombang ultrasonik yang dikirim oleh sensor ultrasonik, gangguan pada pendeteksiaan sensor dapat diakibatkan oleh penghalang yang tidak mampu memantulkan gelombang bunyi dengan baik dan adanya interferensi gelombang dengan frekuensi yang sama.

Data yang ada di dalam tabel adalah linear karena batas minimal baca sensor adalah 2cm dan apabila pengukuran di bawah 2 cm maka tidak terdefenisi karena jarak dari sensor ke benda terlalu dekat dan tidak menghasilkan data. dalam pengukuran menggunakan sistem perhitungan dan setiap 1 gelombang pulsa nilainya adalah kelipatan 10mS.

Rumus untuk mencari % Error yaitu

% Error = ∣ − � − 100%

Contoh: Pada Pengukuran no 10 untuk jarak mistar 100 cm, maka: Rata-rata pengukuran = ( 1+ 2+ 3+ 4+ 5+ 6+ 7+ 8+ 9+ 10+ 11)

11

= (98+97+97+97+96+96+96+97+95+98+96)

11 =

1063 11 Rata-rata pengukuran = 96,636 cm

Data sebenarnya = 100 cm

Maka:

% Error =

96,636− 100

100 100% =3,36 %


(57)

Catt: hasil sebenarmya bernlai -3,36, namun karena ini adalah untuk mencari persen error, dan terdapat tanda “| |” (nilai mutlak) maka tanda “-“ (minus) dapat dihilangkan

4.2 Pengujian Rangkaian Power Supply

Pengujian rangkaian power supply ini bertujuan untuk mengetahui tegangan yang dikeluarkan oleh rangkaian tersebut, dengan mengukur tegangan keluaran dari power supply menggunakan multimeter digital. Setelah dilakukan pengukuran maka diperoleh besarnya tegangan keluaran sebesar 5 volt.Dengan begitu dapat dipastikan apakah terjadi kesalahan terhadap rangkaian atau tidak. Jika diukur, hasil dari keluaran tegangan tidak murni sebesar +9 Volt dan +12 Volt, tetapi +8.97Volt dan +12.03 Volt. Hasil tersebut dikarenakan beberapafaktor, diantaranya kualitas dari tiap-tiap komponen yang digunakannilainya tidak murni. Selain itu, tegangan jala-jala listrik yang digunakan tidak stabil.

4.3 Pengujian Rangkaian Mikrokontroller ATMega 8535

Pengujian pada rangkaian mikrokontroler ATMega8535 ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian power supply sebagai sumber tegangan. Kaki 10 dihubungkan dengan sumber tegangan 5 volt, sedangkan kaki 11 dihubungkan dengan ground. Kemudian tegangan pada kaki 10 diukur dengan menggunakan Voltmeter. Dari hasil pengujian didapatkan tegangan pada kaki 10 sebesar 4,9 volt. Langkah selanjutnya adalah memberikan program sederhana pada mikrokontroler ATMega 8535, program yang diberikan adalah sebagai berikut:

#include <mega8535.h> #include <delay.h> #include <stdio.h> while (1)


(58)

{

// Place your code here PORTA=0xFF;

DDRA=0xFF; {

delay_us(100); PORTA=0x00; DDRA=0x00; }

4.4 Pengujian Input Push Button

Keypad yang digunakan pada penelitian ini merupakan keypad aktif low. keypad ini dapat dihubungkan langsung pada port mikrokontroler. Dimana port yang dipakai untuk pengujian keypad pada penelitian ini adalah portB0-portB7 dan dari portD0-portD3.


(59)

Selain dihubungkan dengan keypad, setiap pin pada port-port juga dihubungkan dengan LED untuk mengetahui keadaan port saat dilakukan pengujian keypad.

Keypad ini bekerja dengan sistem aktif low. Setiap penekanan pada salah satu keypad akan membuat pin pada port yang terhubung dengan keypad akan berlogika low.

Tabel 4.2 Hasil Pengamatan Pada Pengujian Keypad

Tombol Keypad

Logika pin saat ditekan

Logika pin saat dilepas

1 0 1

2 0 1

3 0 1

4 0 1

5 0 1

Dengan adanya respon yang terlihat pada port disetiap penekanan keypad, maka keypad tersebut dianggap berfungsi dapat digunakan dalam penelitian ini

4.5 Pengujian ISD2560

Pengujian pada bagian ini digunakan untuk melihat kemampuan IC ISD yang menyimpan database suara yang dikontrol secara otomatis melalui mikrokontroler ATMEGA8535. Untuk mengeluarkan suara yaitu dengan menghubungkan output pada penguat audio yang ada dalam IC ISD2560 dengan speaker sehingga mampu kita dengar.

Langkah pengujian ISD yaitu dengan : 1. Atur P/R pada posisi High (play)

2. Tentukan pin alamat (address) pada ISD2560 dengan cara menekan tombol keypad.


(60)

4. Dengarkan suara yang dihasilkan.

5. Lakukan langkah 1 s/d 4 untuk masing-masing alamat yang berbeda.

Dari hasil pengujian yang dilakukan didapatkan untuk masin-masing suara yang dihasilkan adalah benar sesuai dengan masukan alamat yang diberikan, dapat dikatakan bagian record dan playback dapat bekerja baik

4.6 Pengujian Resolusi Kompas

Pengujian resolusi kompas ini dilakukan untuk mengetahui kepresisian arah dari kompas CMPS03 dibandingkan dengan arah arah dari kompas analog. Lihat blok diagram dan alat pengujian pada tabell berikut:

Tabel 4.3 Pengujian Arah Kompas

Tampak dari tabel bahwa data pada pengujian dalam ruangan memliki deviasi lebih kecil dari pengujian luar ruangan. data ini karena sensor medan magnet KMZ51 dalam CMPS03 ini bersifat magnetoresisive yaitu resistansi


(61)

tergantung pada sifat kemagnetan bahan. Sehingga benda-benda yang terdapat di dalam ruangan (dalam hal ini laboratorium) akan mempengaruhi sensitifitas sensor medan magnet di dalamnya. Apalagi di ruang laboratorium yang kemungkinan besar terpengaruh dengan medan listrik yang mampu menimbulkan medan magnet. Terlihat pada gambar 4.5 di atas bahwa error untuk pengujian di dalam ruangan lebih besar. Dari pengujian ini dapat diketahui bahwa sensor medan magnet KMZ51 yang digunakan pada kompas digital tipe CMPS03 bersifat magnetoresisive yang sangat sensitif sekali dengan medan magnet. Sehingga dalam penggunaannya harus dijauhkan dari benda-benda yang menimbulkan medan magnet, seperti kabel bertegangan tinggi, benda-benda dari bahan besi.

a. Rumus untuk mencari % Error yaitu

% Error = ∣ � – 100%

Contoh: Pada Pengukuran no 8 untuk data kompas analog 150, maka:

1. Untuk dalam ruangan

Pengukuran sensor cmps03(dlm ruang) = 127 Data kompas analog = 150 Maka:

% Error = ∣ 127− 150

150 100% =15,33 %

2. Untuk luar ruangan

Pengukuran sensor cmps03(luar ruang) = 132 Data kompas analog = 150

Maka:

% Error = ∣ 132− 150

150 100% =12 %


(62)

b. Rumus untuk mencari rata-rata dari % error, yaitu Contoh pada pengukuran dalam ruangan:

= 4,17+20+4,44+3,33+4,44+11,67+14,07+15,33+20+19,52+16+12,5+3,7+1,67+1,59+4,55 16

Nilai rata= 9,811

c. Rumus untuk mencari deviasi

( � � − � � − )^2


(63)

BAB V

KESIMPUAN DAN SARAN

5.1Kesimpulan

Dari hasil perancangan alat hingga pengujian dan pembahasan sistem, maka penulis dapat menarik kesimpulan, antara lain:

1. Alat ini dapat bekerja ketika ada penghalang di depan penggunanya sehingga dapat menghindari benda/halangan yang ada di depannya dan akan menunjukkan arah yang benar sesuai dengan arah yang diinginkan oleh pengguna, misalnya arah selatan.

2. Sensor ultrasonik bekerja berdasarkan kemampuan penghalang untuk memantulkan kembali gelombang ultrasonik yang dikirim oleh sensor ultrasonik.

5.2Saran

Setelah melakukan penulisan ini diperoleh beberapa hal yang dapat dijadikan saran untuk dilakukan perancangan lebih lanjut, yaitu :

1. Sensor medan magnet yang digunakan sangat sensitif sekali sehingga dalam penggunaannya harus dijauhkan dari benda – benda yang menimbulkan medan magnet.

2. Diharapkan alat ini dapat digunakan oleh para penyandang tunanetra sehingga membantu mereka dalam melakukan aktivitas sehari – hari tanpa bantuan orang lain.


(64)

DAFTAR PUSTAKA

Blocher, Richard. 2004. Dasar Elektronika. Yogyakarta : Penerbit ANDI.

Halawa, Edward E.H dan Setyawan P. Sakti. 1995. Pemrograman Dengan C/C++ Dan Aplikasi Numerik. Jakarta: Erlangga

http://elektronika-dasar.web.id/teori-elektronika/jenis-jenis-kapasitor/ http://komponenelektronika.net/jenis-jenis-resistor.htm

Malvino, Albert paul. 2003. Prinsip-prinsip Elektronika. Jilid 1 & 2. Edisi Pertama. Jakarta: Salemba Teknika.

Malvino, Albert paul. 2004 . Prinsip-prinsip Elektronika. Jilid 1 & 2, Edisi Keempat, Jakarta : Salemba Teknika.

Naimah F Nasution. 2008. Perancangan Alat Bantu Pengukur Jarak Bagi Penyandang Tuna Netra Dengan Menggunakan Sensor Ultrasonik Berbasis Mikrokontroler A8T9S51. Tugas Akhir. Medan, Indonesia: Universitas Sumatera Utara

Opim S. Sitompul. 1995. Prinsip Dasar Pemrograman C. Jakarta: Ghalia Indonesia. Bhisop, Owen. 2004. Dasar – dasar Elektronika. Surabaya: Erlangga

Petruzella, Frank D. 2001. Elektronik Industri. Terjemahan sumanto. Edisi kedua. Yogyakarta: Andi

Pitowarno, Endra. 2005. Mikrokontroller & Interfacing. Yogyakarta: Andi

Pratamo, Andi. 2005. Panduan Praktis Pemograman AVR Mikrokontroler. Yogyakarta : Penerbit ANDI.


(65)

Rahmad. 2010. Rancangan Alat Pemandu Jalan Bagi Kaum Tunanetra Dengan Menggunakan Sensor Jarak. Tugas Akhir. Medan, Indonesia: Universitas Sumatera Utara

Sugarto Fajar. 1991. Teori Dasar Elektronika. Surabaya: CV Anugerah

Widodo, Budiharto. 2004. Elektronika Digital Dan Mikrokontroller. Yogyakarta: Andi Offset

Bejo,Agus. 2008. C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroller ATMEGA8535 Edisi I. Yogyakarta: Graha Ilmu.

Linga,Wardana. 2006. Belajar Sendiri Mikrokontroller AVR Seri ATMega8535 Simulasi, Hardware dan Aplikasi. Yogyakarta: Andi.


(66)

LAMPIRAN A


(67)

Gambar Sensor Ultrasonik

Lampiran B


(68)

LAMPIRAN C

LISTING PROGRAM

/***************************************************** This program was produced by the

CodeWizardAVR V2.05.3 Standard Automatic Program Generator

© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com

Project : Version :

Date : 21/06/2013 Author : n3t0 Company : free Comments:

Chip type : ATmega8535 Program type : Application

AVR Core Clock frequency: 4,000000 MHz Memory model : Small

External RAM size : 0 Data Stack size : 256

*****************************************************/


(69)

#include <delay.h> #include <stdio.h> #include <i2c.h>

// Alphanumeric LCD functions #include <alcd.h>

#define SIG_out PORTB.5 #define SIG_in PINB.5 #define SIG_dir DDRB.5

#define ce PORTB.7 #define adr PORTD

//#define arah PINB.4 #define utara PINB.0 #define selatan PINB.1 #define barat PINB.3 #define timur PINB.2

// Declare your global variables here char buf[33];

int a=0,b,c,i; signed int x,y,z; unsigned int US,US1;


(70)

{

ce = 0; // ic aktif delay_ms(250);

ce = 1; // ic tidak aktif delay_ms(1500);

}

void writeRegisterValueByte(unsigned char I2Caddress,unsigned char address,unsigned char value) {

i2c_start();

i2c_write(I2Caddress); i2c_write(address); i2c_write(value); i2c_stop(); }

void readkompas(void) {

i2c_start(); i2c_write(0x3C); i2c_write(0x03); i2c_stop();

i2c_start(); i2c_write(0x3D); x = i2c_read(1); x = x << 8;


(71)

x |= i2c_read(0); i2c_stop();

i2c_start(); i2c_write(0x3C); i2c_write(0x07); i2c_stop();

i2c_start(); i2c_write(0x3D); y = i2c_read(1); y = y << 8; y |= i2c_read(0); i2c_stop(); }

void readjarak() {

for (i=0;i<5;i++)

{SIG_dir = 1; // set SIG pin as output SIG_out = 0; //

delay_us(20); // send start pulse SIG_out = 1; //

SIG_dir = 0; // set SIG pin as input TCNT1=0;


(72)

TCCR1B=0x02; // start timer (timer period = 2uS)

while ((!SIG_in) && !(TIFR & 0x80)); // timing the return pulse TCCR1B=0x00; // stop timer

US = TCNT1; // save timer value to variable US US=US/200;

US=US*2; US1=US1+US; }

US1=US1/5;

sprintf(buf,"j=%d cm",US1); lcd_gotoxy(0,1);

lcd_puts(buf); }

void halsatu() {adr=0x60; ic_aktif(); adr=0xCB; ic_aktif(); adr=0xE0; ic_aktif(); }

void halsatusetengah() {adr=0x60;


(73)

adr=0x34; ic_aktif(); adr=0xE0; ic_aktif(); }

void halsetengah() {adr=0x60;

ic_aktif(); adr=0x70; ic_aktif(); adr=0xE0; ic_aktif(); }

void tujuan() {adr=0x10; ic_aktif();}

void arah_sekarang() {adr=0x91;

ic_aktif();}

void arah_utara() {adr=0x40; ic_aktif();}


(74)

void arah_selatan() {adr=0x80;

ic_aktif();}

void arah_barat() {adr=0x20; ic_aktif();}

void arah_timur() {adr=0xC0; ic_aktif();}

void main(void) //pogram utama {

// Declare your local variables here

// Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;

DDRA=0x00;

// Port B initialization


(75)

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0xEF;

DDRB=0xA0;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;

DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0xFF;

DDRD=0xFF;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=0x00;

TCNT0=0x00; OCR0=0x00;


(76)

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00;

TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped


(77)

// Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0x00;

TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

// External Interrupt(s) initialization // INT0: Off

// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;

// USART initialization // USART disabled UCSRB=0x00;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;


(78)

// ADC initialization // ADC disabled ADCSRA=0x00;

// SPI initialization // SPI disabled SPCR=0x00;

// TWI initialization // TWI disabled TWCR=0x00;

// Alphanumeric LCD initialization // Connections are specified in the

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTA Bit 0

// RD - PORTA Bit 1 // EN - PORTA Bit 2 // D4 - PORTA Bit 4 // D5 - PORTA Bit 5 // D6 - PORTA Bit 6 // D7 - PORTA Bit 7 // Characters/line: 16


(79)

i2c_init(); delay_ms(100);

writeRegisterValueByte(0x3C,0x02,0x00);

adr=0x00; //menampilkan suara “tentukan arah” ic_aktif();

while (a==0)

{ if (PINB.0==0) //utara { adr=0x10;

ic_aktif(); adr=0x40; ic_aktif(); a=1;b=1;} if (PINB.1==0) {tujuan(); arah_selatan(); a=1;b=2;} //selatan if (PINB.2==0) //timur {tujuan();

arah_timur(); a=1;b=3;}

if (PINB.3==0) //barat {tujuan();

arah_barat(); a=1;b=4;}


(80)

}

while (1) //perulangan terus-menerus {

readjarak(); /fungsi untuk memanggil fungsi “readjarak” delay_ms(100);

readkompas();

///*****************halangan sensor jarak*****************/ if(US<=150 && US>=105) halsatusetengah();

if(US<=100 && US>=55) halsatu(); if(US<=51) halsetengah();

///******************************************************/

///***************** arah kompas *****************/ if(x>=200 && (y>=-200 && y<=200) ) {c=1;} //utara if((x<=150 && x>=-300)&& (y>=250)) {c=3;} //timur if(x<=-350 && (y<=200 && y>=-200)) {c=2;} //selatan if((x>=-300 && x<=150) && (y<=-250)) {c=4;} //barat ////////////////////////////////////////////////////////

if (c!=b) {

switch (b)


(81)

case 2 : tujuan();arah_selatan();break; case 3 : tujuan();arah_timur();break; case 4 : tujuan();arah_barat();break; }

switch (c)

{case 1 : arah_sekarang();arah_utara();break; case 2 : arah_sekarang();arah_selatan();break; case 3 : arah_sekarang();arah_timur();break; case 4 : arah_sekarang();arah_barat();break; }

} } }


(1)

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00;

TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped


(2)

// Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0x00;

TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

// External Interrupt(s) initialization // INT0: Off

// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;

// USART initialization // USART disabled UCSRB=0x00;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;


(3)

// ADC initialization // ADC disabled ADCSRA=0x00;

// SPI initialization // SPI disabled SPCR=0x00;

// TWI initialization // TWI disabled TWCR=0x00;

// Alphanumeric LCD initialization // Connections are specified in the

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTA Bit 0

// RD - PORTA Bit 1 // EN - PORTA Bit 2 // D4 - PORTA Bit 4 // D5 - PORTA Bit 5 // D6 - PORTA Bit 6 // D7 - PORTA Bit 7 // Characters/line: 16


(4)

i2c_init(); delay_ms(100);

writeRegisterValueByte(0x3C,0x02,0x00);

adr=0x00; //menampilkan suara “tentukan arah” ic_aktif();

while (a==0)

{ if (PINB.0==0) //utara { adr=0x10;

ic_aktif(); adr=0x40; ic_aktif(); a=1;b=1;} if (PINB.1==0) {tujuan(); arah_selatan(); a=1;b=2;} //selatan if (PINB.2==0) //timur {tujuan();

arah_timur(); a=1;b=3;}

if (PINB.3==0) //barat {tujuan();

arah_barat(); a=1;b=4;}


(5)

}

while (1) //perulangan terus-menerus {

readjarak(); /fungsi untuk memanggil fungsi “readjarak” delay_ms(100);

readkompas();

///*****************halangan sensor jarak*****************/ if(US<=150 && US>=105) halsatusetengah();

if(US<=100 && US>=55) halsatu(); if(US<=51) halsetengah();

///******************************************************/

///***************** arah kompas *****************/ if(x>=200 && (y>=-200 && y<=200) ) {c=1;} //utara if((x<=150 && x>=-300)&& (y>=250)) {c=3;} //timur if(x<=-350 && (y<=200 && y>=-200)) {c=2;} //selatan if((x>=-300 && x<=150) && (y<=-250)) {c=4;} //barat ////////////////////////////////////////////////////////

if (c!=b) {

switch (b)


(6)

case 2 : tujuan();arah_selatan();break; case 3 : tujuan();arah_timur();break; case 4 : tujuan();arah_barat();break; }

switch (c)

{case 1 : arah_sekarang();arah_utara();break; case 2 : arah_sekarang();arah_selatan();break; case 3 : arah_sekarang();arah_timur();break; case 4 : arah_sekarang();arah_barat();break; }

} } }