PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI TUGAS AKHIR
PIRANTI PENUNTUN PENYANDANG TUNANETRA DENGAN INDIKASI JARAK BERBASIS ARDUINO
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
Oleh : FELIKS ANGGIE PURWOKO 115114015
PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2014 i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI FINAL PROJECT
GUIDING DEVICE FOR BLIND PEOPLE WITH DISTANCE INDICATION BASED ON ARDUINO
Presented as Partial Fulfillment of the Requiements To Obtain Sarjana Teknik Degree In Electrical Engineering Study Program
FELIKS ANGGIE PURWOKO 115114015
ELECTRICAL ENGINEERING STUDY PROGRAM SCIENCE AND TECHNOLOGY FACULTY SANATA DHARMA UNIVERSITY YOGYAKARTA 2014 ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI c
I{ALAMAN PERSETUruA}.I
TUGAS AKHIR
PIRANTI PEI\IT}NTTIN PEI\IYAI{DAI\IG TUNAI\TETRA DENGAI\I ${I}IKASI JARAK BERBASIS ARI}IIINO GTIIDING DEVICE FOR BLIND PEOPLE W TH DISTAI\TCE INDICATION BASED ON ARDtItr{O
1& ffi*h ffirro'"Nff,"*,r"rq
fffiE 4ffiS
q"Gu**? Pembimbing
B.lYuri Hrrini.
It [b**;
S.T.. M.T.
llt
zcsrcr
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI }IALAMAN PENGESff{If$ TUGAS AKI{IR
PIRANTI PEI\TUNTTIN PEI\TYAITDANG TTINANETRA DENGAI\T $II}IKAST JARAK-BERBASIS ARDUINO GTIII}BIG DEYICE FOR BLII\IE PEOPLE WITII DISTAhICE IFTDICATION BASED ON ARI}UINO Oleh: FELIKS ANGGIE PURWOKO 1
151 14015
Telatr dipertahankan di depan panitia penguji P ada tanggal 2l J artuan 20 1 4 Dan dinyatakan memenuhi syarat Sustrnan Panitia Penguji :
Tandatangan
Nama Lengkap
Petrus
Ketua
ffioPmbowq
Sekretaris
:
B. Wuri Harini, S.T.,
Anggota
: Mrttnto, $.T., M.T.
S.T., M.T,
\\tr,, l{
ffi
*LT.
Yogyakartq 13 Februari 2014 Fakultas Sains dan Teknologi
Iv
:::f'
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PtsRNYATAAN KEASLIAN KARYA
Sqn*u€,n:mtalsm dengp ssrmggukrya hhwa trgss
&irfui tiffi
wmuat kr)ne
ataubagiekryaonmg lain, kecuatiymgtelahdisebutkmdalm*utipmfudaffarpustaka sebagaimlra la)rdrrya karJna itriah.
Yogyakartq 30 Jadrrtri 2014
fe'tits AngSe'Pmnd
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
Motto :
Kesuksesan selalu disertai dengan kegagalan
Skripsi ini saya persembahkan untuk….. Tuhan Yesus Kristus yang selalu Melimpahkan Berkat-Nya kepadaku Almarhum Bapak, Ibu, adikku, dan kekasihku yang selalu memberiku semangat
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI I(ARYA ILMIAH UNTUI( KEPENTINGAN AKADEMIS
Yang bertanda taryan di baunatr ini, saya nmhreiswa Universitas Sarata Dhmrra :
Nama Nomor Mahasiswa
: :
Feliks Anggie Purwoko 115114015
Demi pengembangan ilmupengetahuan, saya memberikankepadaperpustakaan Universitas sanata Dhar:na karyailmiah safa yangberjudul :
PIRANTI PEIYUNTUN PEI\TYAI\IDAIYG TT]NAI\Tf, TRA DBNGAN IhIDIKASI JARAK BERBASIS ARDUINO
Deqgan demikian saya memberikan-kepada Perpmtakam Universitas Smata Dhrma hak
untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolaaya dalarn bentuk .danmempublihsikannya di internet atau pmgkalan mendistribusikan serara tertatas, data,
media lain untuk kepentingan akademis tanpa perlu merninta
ljin dari
saya maupun
memberikan royalty kepada mya selanra teEpme,ncantunkan ilama saya sebagi prcmlis:
Demikianpernyataan iniyang saya butt dengan sebenamya Yogyakarta, 30 Januari 2014
Felits Anggie Purwoko
vll
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
INTISARI
Dalam penelitian ini dibuat alat bantu berjalan bagi penyandang tunanetra berupa rompi dan tongkat yang dilengkapi dengan sensor pendeteksi jarak ultrasonic. Selain itu, terdapat rangkaian pemutar suara yang dapat dimanfaatkan oleh penyandang tunanetra untuk memberitahu seberapa jauh jarak benda yang ada di depan dan di samping. Alat ini memiliki keluaran berupa suara yang berasal dari sebuah IC suara ISD2590. Komponen IC ini memuat perangkat tambahan untuk proses perekaman dan pemutaran suara. Salah satu perangkat alat ini adalah penguat atau amplifier untuk speaker sehingga tidak memerlukan rangkaian tambahan untuk penguat speaker. Suara yang dihasilkan oleh alat ini merupakan jarak yang terdeteksi oleh sensor yang terpasang pada rompi dan tongkat. Sistem ini telah dicoba untuk mendeteksi benda yang berada di depan dan disamping pengguna alat ini. Hasil dari percobaan yang sudah dilakukan suara yang keluar dari alat ini sudah sesuai dengan jarak yang terdeteksi oleh sensor yang dipasang pada rompi maupun sensor yang dipasang pada tongkat. Hasil pengukuran jarak memiliki error rata-rata sebesar 0,58% untuk sensor yang dipasang pada rompi dan 0,49% untuk sensor yang dipasang pada tongkat. Kata kunci — Rompi, sensor jarak ultrasonic, ISD2590.
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ABSTRACT In this study is made for walking tools for people with a blind person in the form of a vest and a stick furnished with ultrasonic sensor proximity. In addition, there are a series of player sound that could be used by people with a blind person to tell how far the distance of objects which was in front and on the side. This tool has an output in the form of sound derived from a sound device ISD2590. The CMOS component has additional devices to process of recording and playback of sound. One of these devices is the amplifier to the speaker so that it does not require additional circuits for the amplifier speakers. The sound produced by these tools is the distance that is detected by a sensor attached to a vest and a stick. This system had already attempted to detect any object that is located in front of and besides users of these tools. The result of the experiment has conducted, the sound out of this instrument is in accordance with the distance detected by the sensors that are mounted on a vest and sensors that are mounted on a stick. The distance measurement has error average of 0.58% for sensor that are mounted on vest, and 0.49% for sensor mounted on stick. Keywords: Vest, ultrasonic sensor proximity, ISD2590
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KATA PENGANTAR Puji dan syutur kepada Tuhan Yesus Kristus atas segala ralmal dan karunia-Nya sehingga tugas akhir dengan
judul "Piranti Pentxrtun Penyandang Tunanetra
Dengan
Indikasi JarakBerbasis Arduino" ini dapat diselesaikan danganbaik. Selanra menulis tugas akhir ini, penulis menyadari
b*lwa
ada begitu banyak
phak
ymg telahmembsrikm bantuan dan dukungan dangan carilrya masing-masing sehingga tugas akhir,ini dapat diselesaikan. Oleh karena itu penulis ingin rnengucapkan torima kasih
kepada:
1.
Lbu Bernadeta
Wuri Harini S.T., M.T. selaku dosen penrbimbing yang telah deagan
sabar membimbing dan mernberi saran yang membantu penulis datam menyelesaikan tutisan ini.
2.
Seluruh dosen dan laboran Teknik Elekfio yang telah memberikan ifunu dan pengetahuan kepada
3.
Almarhurn bapak, ibu, dan adikku tercirfia atas doa" kesabaran dan dukungan baik secara
4.
petulis selama kuliah.
moril dan materil.
Teman-teman Teknik Elektro sekalian terima kasih atas kerja sama dan solidaritasnya.
5.
Ternan-ternan kelompok PKM
*Rompi Penwffun Penyandang Tunanetra dengan
butput Suara" terima kasih atas dukungan dan kerja samanya.
6. 7
.
Yosephin Andina I.R yang tidak bosan memberikill semangat dan dnkungamya. Rekan-rekan kust yang selalu mcmberi semangat.
Dengan rendatr hati penulis menyadari bahwa tugaas akhir sempurna, oteh karena itu segala
ini
m-asih
jauh dari
kritik dan saran ru*uk perbaikan tugas akhir fud sangat
diharapkan. Akhir kata, semoga tugas akhir
id
dapat bergrma bagi semua pihak. Terima
kasih.
Yogyakarta 30 Jantnri 2014
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR ISI
HALAMAN JUDUL ....................................................................................................
i
HALAMAN JUDUL (Bahasa Inggris) ......................................................................
ii
LEMBAR PERESETUJUAN .....................................................................................
iii
LEMBAR PENGESAHAN OLEH PENGUJI ..........................................................
iv
PERNYATAAN KEASLIAN KARYA ......................................................................
v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ..........................................
vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS .....................................................................
vii
INTISARI .....................................................................................................................
viii
ABSTRACT .................................................................................................................
ix
KATA PENGANTAR .................................................................................................
x
DAFTAR ISI ................................................................................................................
xi
DAFTAR GAMBAR ...................................................................................................
xiv
DAFTAR TABEL ........................................................................................................
xvi
BAB I PENDAHULUAN ............................................................................................
1
1.1. Latar Belakang ...................................................................................................
1
1.2. Tujuan dan Manfaat ...........................................................................................
2
1.3. Batasan Masalah ................................................................................................
2
1.4. Metodologi Penelitian ........................................................................................
2
BAB II DASAR TEORI ..............................................................................................
5
2.1. Arduino Uno ......................................................................................................
5
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.1.1. Perangkat Lunak Arduino ........................................................................
6
2.1.1.1 Struktur Program Arduino ............................................................
7
2.1.1.2 Variabel dan Tipe Data ................................................................
8
2.1.1.3 Fungsi ...........................................................................................
8
2.1.2. Mikrokontroler ATmega328 .....................................................................
9
2.1.3. Rangkaian Reset ........................................................................................
11
2.2. Sensor Jarak Ultrasonic PING)))........................................................................
11
2.3. Sound Device ISD2590 .......................................................................................
13
2.3.1. Konfigurasi Pin pada ISD2590 .................................................................
14
2.3.2. Deskripsi Pin ISD2590 .............................................................................
15
BAB III RANCANGAN PENELITIAN ....................................................................
17
3.1. Blok Diagram Sistem .........................................................................................
17
3.2. Perancangan Perangkat Keras ............................................................................
18
3.2.1. Board Arduino Uno ...................................................................................
18
3.2.2. Sound Device ISD2590 ............................................................................
19
3.3. Perancangan Perangkat Lunak ...........................................................................
22
3.4. Proses Record dan Playback ..............................................................................
25
BAB IV HASIL DAN PEMBAHASAN .....................................................................
27
4.1. Implementasi Alat ..............................................................................................
27
4.2. Pengujian Alat ....................................................................................................
31
4.2.1. Pengujian Hasil Rekaman .........................................................................
31
4.2.2. Pengujian Ketepatan Suara dengan Jarak ..................................................
32
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.2.3. Pengujian Respons Time............................................................................
37
4.2.4. Pengujian Tombol ....................................................................................
39
4.3. Perangkat Lunak .................................................................................................
40
BAB V KESIMPULAN DAN SARAN ......................................................................
45
5.1. Kesimpulan ........................................................................................................
45
5.2. Saran ..................................................................................................................
45
DAFTAR PUSTAKA ..................................................................................................
46
LAMPIRAN
xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR GAMBAR
Gambar 1.1.
Blok Perancangan ..................................................................................
3
Gambar 2.1.
Board Arduino Uno ..............................................................................
6
Gambar 2.2.
Perangkat Lunak Arduino .....................................................................
7
Gambar 2.3.
Konfigurasi Pin ATmega328 pada Arduino Uno .................................
10
Gambar 2.4.
Diagram Operasi untuk Reset Eksternal ................................................
11
Gambar 2.5.
Konfigurasi Pin Sensor Ultrasonic PING))) ..........................................
12
Gambar 2.6.
Diagram Waktu Sensor Ultrasonic PING))) .........................................
12
Gambar 2.7.
Cara Kerja Sensor Ultrasonic PING))) ..................................................
13
Gambar 2.8.
Blok Diagram ISD2560/ISD2590 ........................................................
14
Gambar 2.9.
Konfigurasi Pin ISD2560/ISD2590 .......................................................
14
Gambar 3.1.
Blok Diagram Sistem ............................................................................
17
Gambar 3.2.
Rangkaian Board Arduino dengan ATmega328 ...................................
19
Gambar 3.3.
Rangkaian ISD2590 ..............................................................................
20
Gambar 3.4.
Rangkaian Perekam Suara Menggunakan ISD2590 .............................
21
Gambar 3.5.
Diagram Alir Sistem ..............................................................................
22
Gambar 3.6.
Diagram Alir Pembacaan Sensor ..........................................................
23
Gambar 3.7.
Diagram Alir Deteksi Benda .................................................................
24
Gambar 3.8.
Diagram Alir Proses Merekam Suara ...................................................
25
Gambar 3.9.
Diagram Alir Proses Putar Ulang Suara ...............................................
26
Gambar 4.1.
Rangkaian Bootloader ..........................................................................
27
xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4.2.
Rompi dan Tongkat Penuntun Bagian Luar...........................................
28
Gambar 4.3.
Rompi Penuntun Bagian Dalam ............................................................
29
Gambar 4.4.
Rangkaian ISD2590 dan ATmega328 ..................................................
30
Gambar 4.5.
Pola Sinyal Dari Kata Nol .....................................................................
35
Gambar 4.6.
Pola Sinyal Dari Kata Satu ...................................................................
35
Gambar 4.7.
Pola Sinyal Dari Kata Dua ....................................................................
35
Gambar 4.8.
Pola Sinyal Dari Kata Tiga ...................................................................
35
Gambar 4.9.
Pola Sinyal Dari Kata Lima ..................................................................
35
Gambar 4.10. Pola Sinyal Dari Kata Koma .................................................................
35
Gambar 4.11. Pola Sinyal Dari Kata Meter .................................................................
36
Gambar 4.12. Pola Sinyal Dari Kata Jarak ..................................................................
36
Gambar 4.13. Pola Sinyal Dari Kata Lebih .................................................................
36
Gambar 4.14. Pola Sinyal Dari Kata Dari ...................................................................
36
Gambar 4.15. Pola Sinyal Dari Kata Hati-hati ............................................................
36
Gambar 4.16. Rangkaian Tombol ................................................................................
39
Gambar 4.17. Inisialisasi Input dan Output .................................................................
40
Gambar 4.18. Program Pemilihan Sensor ....................................................................
41
Gambar 4.19. Program Pendeteksian Benda ...............................................................
41
Gambar 4.20. Program Pembacaan Jarak oleh Sensor ................................................
42
Gambar 4.21. Program Pemutaran Suara Tiga Meter ..................................................
43
Gambar 4.22. Program Disable ISD2590 ....................................................................
43
xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR TABEL
Tabel 2.1. Deskripsi Arduino .......................................................................................
8
Tabel 2.2. Konfigurasi dan Deskripsi Pin ATmega328 .............................................
10
Tabel 2.3. Deskripsi Pin ISD2590 ...............................................................................
15
Tabel 2.3. Deskripsi Pin ISD2590 (lanjutan) ................................................................
16
Tabel 3.1. Alokasi Pin ATmega328 dan Sensor Ultrasonic PING))) .........................
18
Tabel 3.2. Alokasi Pin ATmega328 dan ISD2590 .......................................................
18
Tabel 3.3. Alamat Suara pada ISD2590 .......................................................................
20
Tabel 4.1. Keterangan Gambar Rompi dan Tongkat Penuntun Bagian Luar ..............
28
Tabel 42. Keterangan Gambar Rompi dan Tongkat Penuntun Bagian Dalam ...........
29
Tabel 4.3. Keterangan Gambar Rangkaian ISD2590 dan ATmega328 .......................
30
Tabel 4.4. Alamat Suara yang Disimpan Dalam ISD2590 ..........................................
32
Tabel 4.5. Suara yang Dihasilkan Ketika Sensor pada Rompi Mendeteksi Benda ......
32
Tabel 4.6. Suara yang Dihasilkan Ketika Sensor pada Tongkat Mendeteksi Benda ...
34
Tabel 4.7. Jarak yang diukur oleh sensor pada rompi dan sensor pada tongkat ..........
37
Tabel 4.8. Respons Time Piranti Penuntun Penyandang Tunanetra ............................
38
Tabel 4.9. Implementasi Tegangan Keluaran Sesuai Dengan Kondisi Tombol ..........
40
xvi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB I PENDAHULUAN 1.1.
Latar Belakang Penglihatan merupakan salah satu aspek penting dalam kehidupan manusia, dan
mata adalah indera yang membantu manusia untuk melihat. Tanpa indera penglihatan, manusia akan kesulitan dalam melakukan kegiatan terutama untuk mendeteksi bendabenda di sekitar. Walaupun menggunakan indera peraba, pendeteksian benda-benda di sekitar tetap tidak efektif dalam menunjang gerak manusia. Tunanetra atau manusia yang tidak mempunyai kemampuan untuk melihat, membutuhkan suatu alat bantu untuk berjalan dan mendeteksi benda-benda di sekitar. Alat bantu yang umumnya digunakan oleh tunanetra adalah tongkat. Fungsi dari tongkat ini yaitu untuk mendeteksi apakah ada benda atau makhuk hidup lain yang berada di sekitar penyandang tunanetra. Namun, tongkat yang biasa digunakan oleh penyandang tunanetra ini tidak dapat mendeteksi keberadaan benda yang berjarak cukup jauh. Tongkat ini hanya akan mendeteksi benda yang berjarak sesuai dengan panjang tongkat yang digunakan para penyandang tunanetra. Penyandang tunanetra harus memukul-mukulkan tongkat agar dapat mengetahui keberadaan benda lain di sekitar. Sebenarnya sudah ada penelitian lain yang telah dilakukan oleh Apri Setiawan dkk. dan sudah menghasilkan alat yang bernama ”Blind Sonar” [1]. Prinsip kerja dari alat tersebut adalah membantu para penyandang tunanetra dalam berjalan karena alat ini dilengkapi sensor ultrasonic. Ketika sensor berdekatan dengan barang atau orang dalam jarak sekitar satu meter, maka sensor akan memberi tanda kepada mikrokontroler agar motor dapat berputar dan menghasilkan getaran. Hasil getaran yang dirasakan penyandang tunanetra itulah yang digunakan untuk mengetahui keberadaan barang atau orang dalam jarak sekitar satu meter. Berangkat dari permasalahan di atas maka muncul gagasan untuk membuat PIRANTI PENUNTUN PENYANDANG TUNANETRA DENGAN INDIKASI JARAK BERBASIS ARDUINO sebagai alat bantu untuk berjalan dalam ruangan. Dalam penelitian ini akan dirancang suatu alat bantu berjalan bagi penyandang tunanetra berupa rompi dan tongkat yang dilengkapi dengan sensor pendeteksi jarak. Sensor pada rompi berfungsi sebagai pendeteksi jarak di depan, sedangkan sensor pada tongkat berfungsi sebagai pendetaksi jarak samping kanan dan kiri. Selain itu, terdapat rangkaian pemutar suara yang
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2
dapat dimanfaatkan oleh penyandang tunanetra untuk memberitahu seberapa jauh jarak benda yang ada di depan dan di samping. Alat ini memiliki keluaran berupa suara yang berasal dari sebuah IC suara ISD2590. Komponen IC ini sudah memuat perangkat tambahan untuk mempermudah proses perekaman dan pemutaran suara. Salah satu dari perangkat tersebut adalah penguat atau amplifier untuk speaker sehingga tidak memerlukan rangkaian tambahan untuk penguat speaker. Suara yang akan dihasilkan oleh alat ini merupakan jarak yang terdeteksi oleh sensor yang terpasang pada rompi dan tongkat.
1.2.
Tujuan dan Manfaat Penelitian Tujuan dari penelitian ini adalah menghasilkan suatu alat yang dapat digunakan
para penyandang tunanetra untuk berjalan dalam ruangan. Manfaat dari penelitian ini adalah memudahkan penyandang tunanetra berjalan dalam ruangan, serta membantu penyandang tunanetra dalam mendeteksi benda-benda yang berada di depan mereka, sehingga mereka akan tetap aman saat berjalan.
1.3.
Batasan Masalah Batasan Masalah dari penelitian ini adalah : a. Menggunakan dua buah sensor jarak ultrasonic PING))) sebagai pendeteksi jarak. Jarak maksimal deteksi sensor adalah 300cm. b. Sensor jarak ultrasonic dipasang pada rompi dan tongkat. c. Menggunakan komponen IC suara ISD2590. d. Keluaran alat ini berupa suara yang telah direkam sebelumnya. Suara yang direkam adalah berupa jarak dengan interval 50cm. e. Menggunakan rompi yang dipasang sensor ultrasonic PING))) sebagai pendeteksi jarak objek di depan. f. Menggunakan tongkat yang dipasang sensor ultrasonic PING))) sebagai pendeteksi jarak objek di samping kanan dan kiri.
1.4.
Metodologi Penelitian Penulisan proposal ini menggunakan metode :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3
a. Studi Pustaka Studi pustaka dilakukan dengan mengumpulkan referensi dan informasi dari literatur-literatur antara lain buku-buku penunjang, datasheet dan referensi dari internet. Mempelajari dasar-dasar teori dari sensor ultrasonic dan IC suara ISD2590. b. Perancangan subsistem hardware dan software Tujuan dari tahapan ini adalah merancang dan mencari model dari sistem yang akan dibuat. Perancangan tersebut mempertimbangkan segala aspek agar sistem dapat berjalan dengan optimal. Gambar 1.1 berikut ini merupakan diagram blok dari sistem secara keseluruhan.
Sensor
Ultrasonic 1
Tombol
Mikrokontroler
ISD2590
Sensor
Ultrasonic 2
Speaker
Gambar 1.1 Blok Perancangan
c. Pembuatan sistem hardware dan software Berdasarkan gambar 1.1 data dari sensor ultrasonic kemudian diolah oleh sebuah mikrokontroler. Dalam sistem ini mikrokontroler yang digunakan adalah Arduino. Data yang sudah diolah mikrokontroler kemudian dikirimkan ke IC suara ISD2590 untuk dikonversi menjadi suara yang akan dikeluarkan melalui sebuah earphone. Suara yang dikeluarkan merupakan jarak dari hasil pembacaan sensor ultrasonic. d. Pengujian alat Pengujian alat ini dilakukan dengan tujuan untuk mengetahui apakah sistem yang dibuat dapat bekerja sesuai dengan yang diharapkan. Pengujian alat dilakukan dengan cara memberi penghalang di depan sensor pendeteksi jarak. Penghalang diletakkan di depan sensor mulai dari jarak 50cm sampai dengan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4
jarak maksimal deteksi sensor yaitu 300cm. Interval jarak pemasangan penghalang satu dengan penghalang lain adalah sebesar 50cm. Fungsi yang perlu diperhatikan adalah suara yang dikeluarkan apakah sudah sesuai dengan jarak yang terdeteksi oleh sensor. e. Analisa dan kesimpulan dari pengujian Membandingkan hasil pengujian sistem dengan perancangan atau teori yang dibuat. Penyimpulan hasil percobaan dilakukan dengan melihat hasil persentase keberhasilan sistem. Indikator keberhasilan sistem yang sudah dibuat adalah ketika suara yang keluar sesuai dengan dengan jarak yang terdeteksi oleh sensor.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB II DASAR TEORI
Bab ini menjelaskan tentang teori dan komponen-komponen utama yang mendasari sistem “PIRANTI PENUNTUN PENYANDANG TUNANETRA DENGAN INDIKASI JARAK BERBASIS ARDUINO”. Komponen-komponen yang digunakan adalah sensor jarak ultrasonic PING))), Sound Device ISD2590 dan Arduino Uno.
2.1.
Arduino Uno Arduino merupakan sebuah platform elektronik yang open souce, berbasis pada
software dan hardware yang fleksibel dan mudah digunakan, yang ditujukan untuk para seniman, desainer, hobbies dan setiap orang yang tertarik dalam membuat objek atau lingkungan yang interaktif [2]. Kelebihan Arduino dari platform hardware mikrokontroler lain adalah [2]: 1.
IDE Arduino merupakan multiplatform, yang dapat dijalankan di berbagai sistem operasi, seperti Windows, Mac OS, dan Linux.
2.
IDE Arduino dibuat berdasarkan pada IDE processing yang sederhana sehingga mudah digunakan.
3.
Pemrograman Arduino menggunakan kabel yang terhubung dengan port USB, bukan port serial. Fitur ini berguna karena banyak komputer yang sekarang ini tidak memiliki port serial.
4.
Arduino adalah hardware dan software open source, artinya setiap orang dapat mengunduh software dan gambar rangkaian Arduino tanpa harus membayar ke produsen Arduino.
5.
Proyek Arduino ini dikembangkan dalam lingkungan pendidikan , sehingga bagi pemula akan lebih cepat dan mudah mempelajari.
6.
Memiliki begitu banyak pengguna dan komunitas di internet yang dapat membantu setiap kesulitan yang dihadapi.
5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
6
Arduino memiliki berbagai macam versi dan salahnya adalah versi Arduino Uno. Arduino Uno adalah sebuah perangkat keras dari Arduino berupa sistem minimum dengan mikrokontroler ATmega168/ATmega328 [3]. Perangkat Arduino Uno memiliki 14 pin digital untuk input dan output dimana 6 pin diantaranya dapat digunakan sebagai output Pulse Width Modulation (PWM), 6 pin input analog, kristal osilator 16MHz, jack power, ICSP header, tombol reset [3]. Arduino Uno memiliki sejumlah fasilitas untuk berkoneksi dengan perangkat komputer, board Arduino lain, atau mikrokontroler lainnya. ATmega328 menyediakan Universal Synchronous and Asynchonous Serial Receiver and Transmiter (UART) yang tersedia di pin digital 0 (RX) dan 1 (TX) [3]. Sebuah chip ATmega16U2 digunakan untuk komunikasi serial lewat USB dan sebagai port virtual com untuk perangkat lunak pada komputer.
Gambar 2.1 Board Arduino Uno [3]
2.1.1. Perangkat Lunak Arduino Arduino Uno dapat diprogram menggunakan perangkat lunak Arduino seperti pada gambar 2.2. Ada tiga bagian utama dalam bahasa pemrograman Arduino, yaitu Struktur, Variabel, dan Fungsi. Berikut penjelasan dari masing-masing bagian [2].
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
7
Gambar 2.2 Perangkat lunak Arduino
2.1.1.1. Struktur Program Arduino 1.
Kerangka Program Kerangka Program arduino sangat sederhana terdiri dari dua blok. Blok pertama adalah void setup(), dan blok kedua adalah void loop(). Blok void setup() merupakan bagian inisialisasi program yang berisi kode program yang hanya dijalankan sekali sesaat setelah Arduino dihidupkan atau di-reset. Blok void loop() bagian berisi program yang dijalankan terus menerus atau berulang.
2.
Sintaks Program Dalam kerangka program baik void setup() dan void loop() harus disertakan tanda kurung kurawal buka “{“ sebagai tanda awal program dan tanda kurung kurawal tutup “}” sebagai tanda akhir program pada blok tersebut. Untuk menandai akhir baris kode program digunakan tanda titik koma ‘;’ [2].
3.
Kontrol Aliran Program Kontrol aliran program meliputi instruksi-instruksi yang digunakan untuk membuat percabangan dan perulangan. Instruksi percabangan diantaranya adalah if, if-else, switch case, break, continue, return, dan goto. Sedangkan instruksi perulangan diantaranya adalah for-loop, whileloop, dan do-while-loop [2].
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.
8
Operator Operator aritmatika di arduino meliputi perkalian (*), pembagian (/), penjumlahan (+), pengurangan (-), dan modulo (%). Modulo adalah perhitungan untuk mendapatkan sisa hasil pembagian.
2.1.1.2. Variabel dan Tipe Data Tabel 2.1. Tipe Data Variabel [2] Tipe Data
Ukuran Data
Jangkauan Nilai
Boolean
1 bit
True / False
Char
8 bit
-128 s.d. 127
Byte
8 bit
0 s.d. 255
Int
16 bit
-32768 s.d. 32767
Word
16 bit
0 s.d.65535
Long
32 bit
-2147483648 s.d. 2147483647
Float
32 bit
-3,4028235 x 1038 s.d. 3,4028235 x 1038
2.1.1.3. Fungsi 1.
Input Output Digital Ada tiga instruksi yang digunakan dalam input output digital, yaitu pinMode(), digitalRead(), dan digitalWrite().
2.
Input Output Analog Secara umum hanya ada dua instruksi yang digunakan , yaitu analogRead(), dan analogWrite(). Untuk membaca sinyal analog yang masuk, digunakan instruksi analogRead(). Nilai input analog memiliki jangkauan antara 0 hingga 1023.
3.
Waktu Ada empat instruksi yang digunakan dalam fungsi waktu, yaitu millis(), micros(), delay(), delayMicroseconds().
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.
9
Matematika Ada beberapa instruksi yang digunakan dalam fungsi matematika, yaitu min(), max(), abs(), constrain(), map(), pow(), sqrt(), dan 3 instruksi dalam fungsi trigonometri, yaitu sin(), cos(), tan(), serta intruksi random(), byte(), dan bit().
5.
Komunikasi Fungsi ini digunakan untuk berkomunikasi dengan komputer melalui port serial. Kaki ATmega328 yang digunakan untuk fungsi ini adalah kaki 2 (RX) dan kaki 3 (TX). Beberapa instruksi yang digunakan adalah begin(), available(), read(), print(), println(), dan write().
2.1.2. Mikrokontroler ATmega328 Mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus. Mikrokontroler yang digunakan dalam perancangan “Piranti Penuntun Penyandang Tunanetra dengan Indikasi Jarak Berbasis Arduino” ini adalah ATmega328 yang sudah terpasang pada board Arduino Uno. Atmega328 memiliki beberapa fitur sebagai berikut : 1.
Mempunyai 32 kByte downloadable flash memory.
2.
Mempunyai 1 kByte Electrically Erasable Programmable Read-Only Memory (EEPROM) sebagai tempat penyimpanan data sementara meskipun saat mikrokontroler tidak diberi tegangan.
3.
Memiliki 2 kByte internal Static Random-AccesMemory (SRAM).
4.
Mempunyai 2 Timer/Counter 8 bit dan 1 Timer/Counter 16 bit.
5.
Frekuensi kerja sampai dengan 20 MHz.
6.
Memiliki serial USART yang dapat diprogram.
7.
Terdapat 23 pin I/O yang bisa diprogram.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
10
Tabel 2.2. Konfigurasi dan Deskripsi Pin ATmega328 [4] No. Pin
Nama Pin
Keterangan
7
VCC
Sumber tegangan
8, 22
GND
Ground Masing-masing pin pada Port B memiliki resistor pull-up
14, 15, 16, 17, 18, 19, 9, 10
Port B (PB7:0)
internal dan dapat digunakan sebagai 8 bit input dan output digital. Pin PB6 dan pin PB7 terhubung dengan kristal osilator 16MHz sehingga tidak digunakan sebagai input atau output. Pin PB1 - pin PB3 dapat digunakan sebagai output PWM.
23, 24, 25,
Port C
26, 27, 28
(PC5:0)
1 2, 3, 4, 5, 6, 11, 12, 13
PC6 / RESET Port D (PD7:0)
Masing-masing pin pada Port C memiliki resistor pull-up internal dan dapat digunakan sebagai 6 bit input dan output digital. Pin PC6 digunakan sebagai input reset sehingga tidak digunakan sebagai input dan output. Masing-masing pin pada Port D memiliki resistor pull-up internal dan dapat digunakan sebagai 8 bit input dan output digital. Pin PD3 dapat digunakan sebagai output PWM.
20
Avcc
Sumber tegangan untuk konversi analog ke digital.
21
AREF
Tegangan referensi untuk konversi analog ke digital.
Gambar 2.3 Konfigurasi pin ATmega168/ATmega328 pada Arduino Uno [5]
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
11
2.1.3. Rangkaian Reset Pin reset pada mikrokontroler AVR adalah aktif low. Bila pin reset diberikan pada logika rendah “low” akan mengakibatkan mikrokontroler dalam kondisi reset. Tujuan dari reset pada mikrokontroler antara lain sebagai berikut [6]: a.
Melepas semua jalur, dan mengkondisikan semua pin (kecuali pin XTAL) dalam keadaan awal (tri-state), menginisialisasi register I/O, dan mengubah nilai counter dalam keadaan 0.
b.
Mengkondisikan mikrokontroler dalam mode program.
Gambar 2.4 Diagram operasi untuk Reset eksternal [4]
Pin reset memiliki resistor internal pull-up. Tetapi dalam kondisi lingkungan yang bising atau banyak gangguan, resistor internal tersebut tidak cukup berfungsi dengan baik, dan reset dapat terjadi secara tidak terduga. Oleh sebab itu resistor eksternal pull-up dibutuhkan untuk menjaga agar pin reset tidak berlogika 0 secara tidak terduga. Resistor eksternal pull-up secara teori dapat bernilai berapa pun, tetapi jika Atmel AVR diprogram dari STK500/AVRISP maka nilai resistor eksternal pullup yang direkomendasikan adalah 4.7kΩ atau lebih besar [6].
2.2.
Sensor Jarak Ultrasonic PING))) Sensor pendeteksi jarak dalam sistem “PIRANTI PENUNTUN PENYANDANG
TUNANETRA DENGAN INDIKASI JARAK BERBASIS ARDUINO” adalah sebuah sensor ultrasonic PING))).Sensor ini memiliki karakteristik sebagai berikut ; 1.
Tegangan masukan yang dibutuhkan adalah 5Volt DC.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
12
2.
Arus masukan minimal sebesar 30mA dan maksimal 35mA.
3.
Rentang jarak yang dapat dideteksi adalah 2cm sampai dengan 300cm.
4.
Input Trigger berupa pulsa TTL positif minimal 2µs.
5.
Pulsa Echo berupa pulsa TTL positif dari 115µs sampai 18.5ms
6.
Frekuensi burst sebesar 40kHz untuk 200µs.
7.
Terdapat LED indikator untuk menunjukkan aktivitas sensor.
8.
Memiliki tiga buah pin yang digunakan untuk supply tegangan (5VDC), ground dan signal.
Gambar 2.5 Konfigurasi pin sensor ultrasonic PING))) [7]
Gambar 2.6 Diagram waktu sensor ultrasonic PING))) [7]
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
13
Prinsip kerja sensor ultrasonic PING))) dalam mendeteksi objek adalah dengan memancarkan gelombang ultrasonic dan kemudian menangkap sinyal pantulan atau gemanya. Dengan kendali host microcontroller (pemicu pulsa), sensor memancarkan gelombang ultrasonic sebesar 40kHz. Gelombang tersebut melintas melalui udara dengan kecepatan 1130 feet per second, menabrak sebuah objek dan kemudian memantulkan ke sensor kembali [7]. Sensor ultrasonic PING))) memberikan output pulsa “high” pada pin SIG setelah memancarkan gelombang ultrasonic. Ketika sinyal pantulan atau gema sudah terdeteksi, maka sensor ultrasonic PING))) akan membuat pin SIG menjadi “low”. Lebar pulsa “high” tersebut merupakan lama waktu gelombang ultrasonic yang dihitung sebagai dua kali jarak objek, maka untuk menghitung jarak objek dapat dibuat dengan persamaan berikut :
𝑗𝑎𝑟𝑎𝑘 𝑜𝑏𝑗𝑒𝑘 =
𝑙𝑒𝑏𝑎𝑟 𝑝𝑢𝑙𝑠𝑎 𝑤𝑎𝑘𝑡𝑢 𝑡𝑒𝑚𝑝𝑢ℎ 𝑥 344.424𝑚/𝑠 2
Gambar 2.7 Cara kerja sensor ultrasonic PING))) [9]
2.3.
Sound Device ISD2590 Sound device yang digunakan dalam sistem ini adalah sebuah ISD2590.
Komponen ISD2590 merupakan single-chip Record/Playback yang mampu merekam atau memutar suara dengan durasi 90 detik. Di dalam sound device tersebut sudah memuat berbagai perangkat tambahan yang dapat membantu dalam operasi perekaman dan pemutar ulang suara. Perangkat tambahan itu berupa on-chip oscillator, microphone preamplifier, Automatic Gain Control (AGC), antialiasing filter, amplifier speaker, dan high density multi-level storage array [8].
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
14
Gambar 2.8 Block Diagram ISD2560/ISD2590 [8]
ISD2590 memiliki frekuensi sampling 5.3kHz. Setiap suara yang direkam akan langsung disimpan ke dalam on-chip nonvolatile memory tanpa proses digitalisasi dan pengompresan. Chip ISD2590 ini mampu menyimpan pesan suara hingga 100 tahun saat chip tersebut dalam kondisi tidak diberi tegangan (zero-power message storage). Sebagai tambahan, perangkat ini dapat merekam ulang suara hingga lebih dari seratus ribu kali.
2.3.1. Konfigurasi Pin pada ISD2590
Gambar 2.9 Konfigurasi pin ISD2560/ISD2590 [8]
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
15
2.3.2. Deskripsi Pin ISD2590 Tabel 2.3 Deskripsi Pin ISD2590 NAMA
NO. PIN
PIN
SOIC/PDIP
KETERANGAN Address/Mode Inputs:Address/Mode Inputs memiliki dua fungsi bergantung pada level dari dua buah Most Significant Bits (MSB) dari pin-pin alamat (A8 dan A9).
Jika salah satu atau kedua MSB dalam kondisi low, semua masukan Ax/Mx
1-10/1-7
diinterpretasikan
sebagai
bit
alamat
dan
digunakan sebagai alamat awal untuk siklus perekaman atau putar ulang.
Jika kedua MSB dalam kondisi high, Address/mode Inputs diinterpretasikan sebagai Mode bits according untuk Mode Operasional (Operational Mode). Ada 6 mode operasi
(M0...M6)
dan
memungkinkan
untuk
menggunakan banyak mode operasional secara simultan. AUX IN
11
VSSA,VSSD
13,12
SP+ / SP-
14/15
VCCA/VCCD
16,28
Auxiliary Inputs
: AUX
IN digunakan untuk
menghubungkan sinyal playback dengan speaker. Ground Inputs Speaker Outputs: Bagian yang terhubung dengan speaker yang berfungsi mengeluarkan suara atau audio. Voltage Input Microphone Input : Microphone mentransfer sinyal
MIC
17
masukan
menuju
Automatic
Gain
on-ship Control
preamplifier. (AGC)
Rangkaian
mengontrol
gain
preamplifier mulai dari -15 sampai 24dB. MIC REF
18
Microphone Reference: Masukan MIC REF merupakan masukan inverting untuk microphone preamplifier.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
16
Tabel 2.3 Deskripsi Pin ISD2590 (lanjutan) NAMA
NO. PIN
PIN
SOIC/PDIP
KETERANGAN Automatic Gain Control: AGC secara dinamis mengatur
AGC
19
gain dari preamplifier untuk mengimbangi level masukan dari mikrofon. Dengan adanya AGC dapat meminimalkan distorsi suara yang diekam. Analog Input: Analog Input mentransfer sinyal masukan
ANA IN
20
analog pada chip untuk direkam. Untuk masukan mikrofon, pin ANA OUT harus dihubungkan dengan pin ANA IN melalui kapasitor eksternal.
ANA OUT
21
Analog Output: Preamplifier output. Overflow: Untuk mengindikasikan bahwa piranti telah
OVF
22
terisi penuh dengan pesan (pesan berlebihan). Pulsa rendah (low) dikeluarkan jika memori sudah sampai pada akhir ruang terakhir yang ada pada memori. Chip Enable: Pin CE diberi kondisi low untuk
CE
23
memberikan kondisi aktif atau enable agar semua operasi perekaman dan putar ulang dapat dilakukan. Power Down: Ketika sedang merekam atau memutar
PD
24
ulang hasil rekaman Pin PD harus dikondisikan high untuk menempatkan perangkat dalam mode standby. End-Of-Message:
EOM
25
Untuk
mengindikasikan
bahwa
perangkat sedang beroperasi (merekam atau memutar ulang). Output EOM akan mengeluarkan pulsa low untuk TEOM pada saat akhir proses. External Clock Input: Merupakan pin masukan clock bila
XCLK
26
membutuhkan clock dari luar rangkaian. Jika pin XCLK tidak memerlukan clock dari luar maka pin ini harus terhubung dengan ground.
P/R
27
Playback/Record: Pin ini digunakan untuk merekam atau memutar ulang (playback/record).
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB III RANCANGAN PENELITIAN Bab ini menjelaskan mengenai perancangan sistem “Piranti Penuntun Penyandang Tunanetra dengan Indikasi Jarak Berbasis Arduino” terdiri dari Diagram Blok Sistem, Perancangan Perangkat Keras dan Perancangan Perangkat Lunak.
3.1.
Blok Diagram Sistem Perancangan blok diagram sistem Piranti Penuntun Penyandang Tunanetra dengan
Indikasi Jarak ditunjukkan pada gambar 3.1. Sensor
Sensor
Mikrokontroler
Ultrasonic 1
Ultrasonic 2
ATmega328
IN
IN IN
OUT
Tombol
ISD2590
Speaker / earphone
Gambar 3.1 Blok Diagram Sistem
Berdasarkan blok diagram sistem di atas dapat dilihat bahwa mikrokontroler ATmega328 yang terdapat pada board Arduino Uno berfungsi sebagai kontrol utama. Arduino Uno ini terhubung dengan sebuah sensor jarak ultrasonic PING))) sebagai sensor jarak dan sebuah Sound Device ISD2590 sebagai komponen pemutar suara. Jarak yang terdeteksi oleh sensor kemudian diolah mikrokontroler dan dikeluarkan dalam bentuk suara. Keseluruhan data suara tersebut disimpan dalam ISD2590 dan dikeluarkan dengan diatur oleh Arduino Uno sesuai dengan jarak yang dideteksi oleh sensor jarak ultrasonic PING))).
17
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3.2.
18
Perancangan Perangkat Keras Perancangan perangkat keras dari Piranti Penuntun Penyandang Tunanetra dengan
Indikasi Jarak ini terdiri atas 3 bagian yaitu Arduino Uno, sensor jarak ultrasonic PING))), dan rangkaian pemutar suara menggunakan ISD2590. Sementara tombol pada perancangan dihubungkan ke digital pin 2 pada board Arduino uno atau pin PD2 pada Atmega328P.
Tabel 3.1 Alokasi Pin Atmega328P dan Sensor ultrasonic PING))) ATmega328 dan Sensor jarak ultrasonic PING))) ATmega328 Sensor jarak ultrasonic PING))) Sensor Nama Pin Nomor Pin Pin ultrasonic 1 PD7 13 Signal ultrasonic 2 PB0 14 Signal Tabel 3.2 Alokasi Pin Atmega328 dan ISD2590 ATmega328 dan ISD2590 ATmega328 ISD2590 Nama Pin Nomor Pin Nama Pin Nomor Pin PC5 28 A0 1 PC4 27 A1 2 PC3 26 A2 3 PC2 25 A3 4 PC1 24 A4 5 PC0 23 A5 6 PB5 19 A6 7 PB4 18 A7 8 PB3 17 CE 23 PB2 16 PD 24
3.2.1. Board Arduino Uno Board Arduino Uno menggunakan sistem minimum dari mikrokontroler ATmega328. Rangkaian osilator pada board Arduino menggunakan kristal 16MHz dan dua buah kapasitor senilai 22pF. Penentuan nilai crystal oscillator sebesar 16MHz dan kapasitor 22pF tersebut sesuai dengan datasheet [4]. Rangkaian board Arduino dengan ATmega328 ditunjukkan pada gambar 3.2.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
19
Gambar 3.2 Rangkaian Board Arduino dengan ATmega328
3.2.2. Sound Device ISD2590 ISD2590 merupakan IC yang digunakan untuk menyimpan suara-suara dalam sistem piranti penuntun penyandang tunanetra ini. ISD2590 tersebut dapat menyimpan suara selama 90 detik [8]. Gambar 3.3 merupakan gambar rangkaian dari ISD2590. Nilai dari komponen kapasitor C1, C2, C3, C4, dan C5 serta komponen resistor R2 dan R3 pada rangkaian disesuaikan dengan nilai yang terdapat pada typical aplication circuit dalam datasheet [8]. Fungsi dari ISD2590 dalam sistem ini hanya sebagai penyimpan dan pemutar suara saja. Sedangkan proses pemutaran suara akan diatur oleh mikrokontroler. Dalam rangkaian ISD2590 ini tidak perlu ditambahkan penguat atau amplifier karena di dalam perangkat ini sudah memuat penguat untuk speaker. Dalam perancangan sistem piranti penuntun penyandang tunanetra ini IC suara ISD2590 dioperasikan pada address bit yang berarti setiap kata yang direkam memiliki alamat masing-masing yang berbeda. Penggunaan address bit dilakukan dengan cara salah satu atau kedua Most Significant Bits (MSB) dari pin-pin alamat A8 dan A9 dikondisikan rendah atau low [8].
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 3.3 Rangkaian ISD2590
Tabel 3.3 Alamat suara pada ISD2590
Kata
Alamat (Address) A7
A6
A5
A4
A3
A2
A1
A0
HEX
Nol
0
0
0
0
0
1
1
1
7
Satu
0
0
0
0
1
1
1
0
E
Dua
0
0
0
1
0
1
0
1
15
Tiga
0
0
0
1
1
1
0
0
1C
Empat
0
0
1
0
0
0
1
1
23
Lima
0
0
1
0
1
0
1
0
2A
Koma
0
0
1
1
0
0
0
1
31
Meter
0
0
1
1
1
0
0
0
38
Hati-hati
0
0
1
1
1
1
1
1
3F
Jarak
0
1
0
0
1
0
0
0
48
Lebih
0
1
0
0
1
1
1
1
4F
Dari
0
1
0
1
0
0
0
0
50
20
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
21
ISD2590 memiliki total waktu perekaman selama 90 detik dan kapasitas 600 alamat [8]. Agar data berupa suara yang sudah direkam tidak bertumpuk dengan suara yang akan direkam, diperlukan pembagian waktu perekaman yang tepat yaitu durasi 90 detik dibagi dengan 600 alamat sehingga diperoleh 0.15 detik. Dalam perancangan ini dibutuhkan waktu 1 detik untuk satu kali perekaman suara, maka alamat yang diperlukan untuk satu kali perekaman adalah 6.66667 alamat sehingga dibulatkan menjadi 7 alamat.
Gambar 3.4 Rangkaian perekaman suara menggunakan ISD2590
Perekaman suara pada ISD2590 dilakukan dengan menggunakan rangkaian seperti pada Gambar 3.4. Nilai dari komponen kapasitor C1, C2, C3, C4, C5, C6, C7, dan C8 serta komponen resistor R11, R2, R3, R4, dan R5 pada rangkaian disesuaikan dengan nilai yang terdapat pada typical aplication circuit dalam datasheet [8]. Diagram alir perekaman suara mengacu pada Gambar 3.8. Proses memasukkan alamat dari A0 sampai dengan A9 dilakukan dengan mengatur saklar pada DIP Switch dan alamat penyimpanan suara mengacu pada Table 3.3.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3.3.
22
Perancangan Perangkat Lunak Perancangan perangkat lunak untuk sistem ini berupa diagram alir yang dapat dilihat
pada gambar 3.6. Suatu diagram alir akan mempermudah dalam pembuatan program dalam mikrokontroler. Dalam perancangan sstem Piranti Penuntun Penyandang Tunanetra dengan Indikasi Jarak ini, program akan dimasukkan ke dalam mikrokontroler Atmega328 yang terdapat di board Arduino Uno. Program yang dibuat harus sesuai dengan alur diagram agar sistem yang dibuat dapat berjalan sesuai dengan keinginan.
Start
Inisilisasi input/ output
Tombol 1 ditekan ?
Ya
Tidak Pembacaan Sensor Ultrasonic 1
Pembacaan Sensor Ultrasonic 2
Deteksi jarak benda
Deteksi jarak benda
Gambar 3.5 Diagram alir sistem Proses pertama yang dilakukan adalah menginisialisasi semua input dan output yang ada. Setelah itu sensor ultrasonic PING))) akan mendeteksi keberadaan benda dalam jangkauan deteksi sensor tersebut. Saat tombol 1 pada tongkat tidak ditekan maka sensor ultrasonic 1 atau sensor yang terpasang pada rompi akan melakukan pendeteksian benda. Sensor tersebut berfungsi untuk mendeteksi jarak yang ada di depan. Apabila tombol ditekan maka sensor ultrasonic 2 atau sensor yang terpasang pada tongkat akan melakukan pendeteksian benda. Gambar 3.6 menunjukkan diagram alir proses pembacaan sensor.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
23
Mulai
Atur pin13 sebagai output Tunggu sinyal echo
Atur pin output menjadi Low
Waktu sinyal echo < 18.5ms
Delay 2µs
Atur pin output menjadi High
Delay 5µs
Tidak
Ya Jarak = waktu tempuh sinyal * 344.424 / 2
Atur pin output menjadi Low
ret
Atur pin13 sebagai input
Gambar 3.6 Diagram alir pembacaan sensor Langkah awal dari proses pembacaan sensor adalah atur salah satu pin sebagai output kemudian atur pin tersebut menjadi logika rendah atau low. Memberikan logika low diawal proses bertujuan untuk memastikan tidak ada sinyal echo yang masuk ke dalam mikrokontroler dari proses pembacaan sebelumya. Langkah selanjutnya adalah memberikan delay dan membuat pin output berlogika high selama 5μs. Pulsa high tersebut merupakan pulsa pemicu yang digunakan sensor untuk memancarkan gelombang ultrasonic. Setelah pin output diberikan logika high selama 5μs langkah berikutnya adalah mengatur pin output menjadi logika low untuk membaca sinyal echo. Sesaat setelah sensor memancarkan gelombang ultrasonic, pin SIGNAL pada sensor akan memberikan pulsa high. Oleh sebab itu, pin yang semula merupakan output harus diubah menjadi pin input dengan tujuan untuk membaca sinyal pantulan atau echo dari gelombang ultrasonic yang telah dipancarkan. Ketika sinyal echo telah diterima oleh sensor
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
24
maka pin SIGNAL akan belogika low. Lebar sinyal high dari pin SIGNAL tersebut merupakan lama waktu gelombang ultrasonic yang akan dikonversi menjadi jarak. Mulai
Apakah sensor mendeteksi jarak >3.1m
Ya
Playback suara
Tidak
Apakah sensor mendeteksi jarak 2.9m - 3.1m
Ya
Playback suara
Playback suara
Apakah sensor mendeteksi jarak 0.9m - 1.1m
Ya
Playback suara
Ya
Playback suara
Ya
Playback suara
Tidak
Ya
Playback suara
Tidak
Apakah sensor mendeteksi jarak 1.9m - 2.1m
Ya
Tidak
Tidak
Apakah sensor mendeteksi jarak 2.6m – 2.4m
Apakah sensor mendeteksi jarak > 1.6m – 1.4m
Apakah sensor mendeteksi jarak 0.6m – 0.4m
Tidak
Ya
Playback suara
Apakah sensor mendeteksi jarak <0.4m
ret
Gambar 3.7 Diagram alir deteksi benda
Keluaran dari Piranti Penuntun Penyandang Tunanetra berupa suara. Output suara tersebut berupa jarak yang dideteksi oleh sensor dengan jarak deteksi maksimal 3 meter dan minimal 0.5 meter dengan interval jarak 0.5 meter. Agar sistem dapat berjalan dengan baik dan suara dapat dikeluarkan dengan baik pula maka jarak pendeteksian benda diganti dengan range. Bila sensor mendeteksi benda dengan jarak antara 3.1 meter sampai 2.9 meter maka alat ini akan mengeluarkan suara 3 meter. Ketika sensor mendeteksi benda dengan jarak antara 2.6 meter sampai 2.4 meter maka alat ini akan mengeluarkan suara 2.5 meter. Demikian seterusnya bila sensor mendeteksi jarak antara 0.6 meter sampai 0.4 meter maka piranti ini akan mengeluarkan suara 0.5 meter. Bila sensor mendeteksi jarak benda kurang
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
25
dari 0.4 meter maka suara yang akan diputar adalah “hati-hati”. Proses playback suara ditampilkan pada Gambar 3.9.
3.4.
Proses Record dan Playback Proses record atau perekaman bertujuan untuk menyimpan sinyal audio atau suara
ke dalam memori ISD2590. Penyimpanan suara dilakukan dengan mengubah sinyal analog menjadi data-data digital. Data yang telah disimpan tersebut akan diputar ulang sesuai dengan perintah mikrokontroler. Proses playback dan record ditunjukkan pada gambar 3.7. Langkah-langkah perekaman suara ke dalam IC ISD2590 adalah sebagai berikut : 1. Menentukan alamat dari ISD2590 yang akan diisi suara terlebih dahulu. Alamatalamat yang akan direkam dalam perancangan ini mengacu pada Tabel 3.3. 2. Proses pengisian suara dilakukan dengan memberikan logika rendah atau low pada pin Chip Enable Input (CE) dan pada pin Playback/Record Input (P/R) secara bersama-sama. 3. Berikan input berupa suara melalui mikrofon pada sistem ISD2590. 4. Setelah selesai merekam berikan logika tinggi atau high pada pin Power Down Input (PD). Mulai
Atur pin P/R “low”
Atur alamat pada ISD
Masukan suara
Atur pin PD “low”
Atur pin PD “high”
Atur pin CE “low”
Atur pin CE “high”
Selesai
Gambar 3.8 Diagram alir proses merekam suara
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
26
Proses playback atau pemutaran ulang suara dilakukan dengan menentukan alamat suara pada ISD2590 yang akan diputar, dalam perancangan ini mengacu pada Tabel 3.3. Kemudian berikan logika rendah atau low pada pin Chip Enable Input (CE) dan logika tinggi atau high pada pin Playback/Record Input (P/R). Setelah proses playback selesai, maka secara otomatis suara akan berhenti.
Mulai
Atur pin P/R “high”
Atur alamat pada ISD
Dengarkan suara hasil rekaman
Atur pin PD “low”
Atur pin PD “high”
Atur pin CE “low”
Atur pin CE “high”
Selesai
Gambar 3.9 Diagram alir proses putar ulang suara
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB IV HASIL DAN PEMBAHASAN Bab ini menjelaskan implementasi perancangan penelitian dan hasil pengamatan beserta pembahasannya untuk mengetahui kesesuaian antara perancangan dan penelitian.
4.1
Implementasi Alat Ada beberapa perubahan antara perancangan dan implementasi perangkat keras.
Pada rangkaian ini tidak digunakan Board Arduino tetapi hanya menggunakan IC ATmega328 saja yang terdapat pada Board Arduino. Hal tersebut dilakukan karena IC ATmega328 pada Board Arduino sudah terisi bootloader sehingga dapat langsung dipindahkan ke rangkaian dengan menambah crystal 16MHz, kapasitor 22pF dan resistor 10kΩ seperti yang ditampilkan pada Gambar 4.1.
Gambar 4.1 Rangkaian Bootloader [17]
Piranti Penuntun Penyandang Tunanetra dengan Indikasi Jarak Berbasis Arduino mempunyai dua buah buah komponen utama, yaitu sebuah rompi dan sebuah tongkat. Dalam dua komponen tersebut terpasang masing-masing sebuah sensor ultrasonic seperti yang ditunjukkan pada Gambar 4.2 dan Gambar 4.3.
27
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
28
1
2
3 4
5
Gambar 4.2 Rompi dan Tongkat Penuntun Bagian Luar
Tabel 4.1 Keterangan Gambar Rompi dan Tongkat Penuntun Bagian Luar No.
Nama Komponen
Keterangan
1
Speaker
Komponen yang mengeluarkan suara
2
Sensor ultrasonic 1
Sebagai pendeteksi jarak
3
Sensor ultrasonic 2
Sebagai pendeteksi jarak
4
Tombol
Mengganti pembacaan sensor
5
Kabel
Menghubungkan rongkat dengan rompi
Pembacaan sensor pada alat ini dilakukan secara bergantian dengan cara menekan tombol pada bagian tongkat. Bila tombol ditekan maka pendeteksian jarak akan dilakukan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
29
oleh sensor yang terpasang pada tongkat. Namun bila tombol pada tongkat tidak ditekan maka pendeteksian jarak akan dilakukan oleh sensor yang terpasang pada rompi.
1 3
5 2
4 Gambar 4.3 Rompi Penuntun Bagian Dalam
Tabel 4.2 Keterangan Gambar Rompi dan Tongkat Penuntun Bagian Dalam Nomor
Keterangan
1
Saku penyimpanan baterai
2
Baterai yang digunakan (lipo 7,2 volt )
3
Saku penyimpanan rangkaian mikrokontroler dan ISD2590
4
Rangkaian mikrokontroler dan ISD2590
5
Sensor ultrasonic
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
30
Perangkat keras dari piranti penuntun penyandang tunanetra ditampilkan pada Gambar 4.3. Dalam rangkaian tersebut terdapat sebuah minimal sistem dari arduino uno dan ISD2590 yang berfungsi sebagai perekam, penyimpan, dan pemutar suara. Alat ini dapat berfungsi pada tegangan 5 Volt DC. Tegangan yang dihasilkan berasal dari sebuah baterai Lithium Polymer (Lipo) yang dapat diisi ulang, sehingga alat ini cukup fleksibel untuk dibawa.
11 1 10
2 9 3 8
4
5
6
7
Gambar 4.4 Rangkaian ISD2590 dan ATmega328
Tabel 4.3 Keterangan Gambar Rangkaian ISD2590 dan ATmega328 No.
Nama Kompenen
Keterangan
1
ISD2590
Untuk menyimpan suara
2
Mikrokontroler ATmega 326
Kontrol utama dari sistem
3
Tombol reset
Untuk mereset mikrokontroler
4
Socket 2 pin
Untuk menghubungkan tombol dengan pin pada mikrokontroler
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
31
Tabel 4.3 (Lanjutan) Keterangan Gambar Rangkaian ISD2590 dan ATmega328 No. 5
Nama Kompenen Kapasitor 22pF
Keterangan Salah satu komponen dalam rangkaian osilator sistem mikrokontroler ATmega328
6
Kristal 16MHz
Salah satu komponen dalam rangkaian osilator sistem mikrokontroler ATmega328
7
Kapasitor 22pF
Salah satu komponen dalam rangkaian osilator sistem mikrokontroler ATmega328
8
TBlock 2 pin
Untuk input tegangan dari baterai
9
Socket 3 pin
Untuk menghubungkan sensor ultrasonic yang dipasang pada rompi dengan pin pada mikrokontroler
10
Socket 3 pin
Untuk menghubungkan sensor ultrasonic yang dipasang pada tongkat dengan pin pada mikrokontroler
11
Socket 2 pin
Untuk menghubungkan speaker dengan pin pada ISD2590
Dalam perangkat keras ini ATmega328 ditambahkan rangkaian osilator dengan menggunakan kristal 16MHz dan dua buah kapasitor senilai 22pF. Rangkaian ISD2590 menggunakan komponen kapasitor dan resistor yang nilainya disesuaikan dengan nilai yang terdapat pada typical aplication circuit dalam datasheet.
4.2
Pengujian Alat Pengujian alat berguna untuk mendapatkan data-data spesifikasi atau mendapatkan
titik pengukuran dari alat yang telah dibuat sehingga akan mempermudah menganalisa kesalahan dan kerusakan yang akan terjadi pada saat alat ini bekerja.
4.2.1 Pengujian Hasil Perekaman Suara Pengujian ini dilakukan untuk mengetahui apakah kata-kata yang direkam dalam ISD2590 sudah sesuai dengan perancangan. Data alamat suara yang direkam dalam ISD2590 ditunjukkan pada tabel 4.4.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
32
Tabel 4.4 Alamat Suara yang Disimpan Dalam ISD2590 Alamat (Address)
Kata
A7
A6
A5
A4
A3
A2
A1
A0
HEX
Nol
0
0
0
0
0
1
1
1
7
Satu
0
0
0
0
1
1
1
0
E
Dua
0
0
0
1
0
1
0
1
15
Tiga
0
0
0
1
1
1
0
0
1C
Empat
0
0
1
0
0
0
1
1
23
Lima
0
0
1
0
1
0
1
0
2A
Koma
0
0
1
1
0
0
0
1
31
Meter
0
0
1
1
1
0
0
0
38
Hati-hati
0
0
1
1
1
1
1
1
3F
Jarak
0
1
0
0
1
0
0
0
48
Lebih
0
1
0
0
1
1
1
1
4F
Dari
0
1
0
1
0
0
0
0
50
Data pada tabel 4.4 merupakan alamat kata-kata yang disimpan dalam ISD2590. Dari data tersebut alamat yang disimpan dalam ISD2590 sudah sesuai dengan apa yang sudah dirancang pada bab sebelumnya.
4.2.2 Pengujian Ketepatan Suara dengan Jarak Pengujian ini dilakukan untuk mengetahui ketepatan suara yang diputar dengan jarak yang dideteksi oleh sensor. Berikut ini merupakan tabel keluaran suara dengan jarak yang dideteksi sensor yang dipasang pada rompi.
Tabel 4.5 Suara yang Dihasilkan Ketika Sensor pada Rompi Mendeteksi Benda Range Jarak (meter)
< 0,4
Output Suara
Hati-hati
Gambar Sinyal Keluaran Suara
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
33
Tabel 4.5 (Lanjutan) Suara yang Dihasilkan Ketika Sensor pada Rompi Mendeteksi Benda Range Jarak (meter)
Output Suara
0,4 – 0,6
Nol koma lima meter
0,9 – 1,1
Satu meter
1,4 – 1,6
Satu koma lima meter
1,9 – 2,1
Dua meter
2,4 – 2,6
Datu koma lima meter
2,9 – 3,1
Tiga meter
> 3,1
Gambar Sinyal Keluaran Suara
Jarak lebih dari tiga meter
Pengujian ketepatan suara dengan jarak tidak hanya dilakukan pada sensor yang dipasang pada rompi saja. Pengujian tersebut juga dilakukan pada sensor yang dipasang pada tongkat untuk mengetahui kesesuian jarak yang dideteksi sensor dengan suara yang dihasilkan. Berikut ini merupakan tabel keluaran suara dengan jarak yang dideteksi sensor yang dipasang pada tongkat.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
34
Tabel 4.6 Suara yang Dihasilkan Ketika Sensor pada Tongkat Mendeteksi Benda Range Jarak (meter)
< 0,4
Output Suara
Hati-hati
0,4 – 0,6
Nol koma lima meter
0,9 – 1,1
Satu meter
1,4 – 1,6
Satu koma lima meter
1,9 – 2,1
Dua meter
2,4 – 2,6
Datu koma lima meter
2,9 – 3,1
Tiga meter
> 3,1
Gambar Sinyal Keluaran Suara
Jarak lebih dari tiga meter
Dari data pengujian ketepatan suara yang ditunjukkan pada tabel 4.5 dan tabel 4.6, suara yang dihasilkan dari piranti ini sudah sesuai dengan jarak yang dideteksi oleh sensor baik yang dipasang pada rompi maupun yang dipasang pada tongkat. Piranti penuntun penyandang tunanetra ini sudah mampu mengeluarkan suara yang sesuai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
35
dengan jarak yang dideteksi oleh sensor. Setiap kata yang direkam memiliki pola sinyal keluaran suara yang berbeda-beda antara kata yang satu dengan kata yang lain. Kata “nol” akan berbeda bentuk sinyalnya dari kata “satu” dan kata-kata lain yang disimpan dalam ISD2590. Gambar 4.5 menunjukkan pola sinyal dari kata “nol”. Pola sinyal dari kata “nol” tersebut berbeda dari pola kata “satu” seperti yang ditunjukkan pada gambar 4.6.
Gambar 4.5 Pola Sinyal Dari Kata Nol
Gambar 4.7 Pola Sinyal Dari Kata Dua
Gambar 4.9 Pola Sinyal Dari Kata Lima
Gambar 4.6 Pola Sinyal Dari Kata Satu
Gambar 4.8 Pola Sinyal Dari Kata Tiga
Gambar 4.10 Pola Sinyal Dari Kata Koma
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
36
Gambar 4.11 Pola Sinyal Dari Kata Meter
Gambar 4.12 Pola Sinyal Dari Kata jarak
Gambar 4.13 Pola Sinyal Dari Kata Lebih
Gambar 4.14 Pola Sinyal Dari Kata Dari
Gambar 4.15 Pola Sinyal Dari Kata Hati-hati
Bentuk dan pola sinyal dari kata “hati-hati” seperti yang ditampilkan pada gambar 4.15 lebih panjang dari pola sinyal kata-kata lain. Hal tersebut terjadi karena kata “hati-hati” terdiri dari dua buah kata sedangkan kata lain yang disimpan dalam ISD2590 hanya terdiri dari satu buah kata. Diperlukan waktu yang lebih lama untuk mengeluarkan suara “hati-hati” sehingga polanya menjadi lebih panjang dari pola katakata lainnya. Dalam pengujian jarak oleh sensor terdapat perbedaan jarak antara sensor yang dipasang pada rompi dan tongkat dengan jarak yang diukur dengan alat ukur berupa
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
37
meteran. Pada tabel 4.7 ditunjukan perbedaan jarak yang dideteksi oleh sensor yang dipasang pada rompi dengan sensor yang dipasang pada tongkat.
Tabel 4.7 Jarak yang diukur oleh sensor pada rompi dan sensor pada tongkat Jarak yang terukur sensor Jarak yang
Error jarak yang diukur dengan jarak yang terukur sensor
diukur
pada rompi
pada tongkat
(meter)
(meter)
(meter)
pada rompi
pada tongkat
(%)
(%)
0,4
0,396
0,399
1,00
0,25
0,6
0,603
0,61
0,50
1,67
0,9
0,898
0,89
0,22
1,11
1,1
1,11
1,105
0,91
0,45
1,4
1,404
1,406
0,29
0,43
1,6
1,616
1,602
1,00
0,13
1,9
1,908
1,904
0,42
0,21
2,1
2,11
2,11
0,48
0,48
2,4
2,406
2,402
0,25
0,08
2,6
2,618
2,616
0,69
0,62
2,9
2,914
2,905
0,48
0,17
3,1
3,121
3,108
0,68
0,26
0,58
0,49
Rata-rata
Tabel 4.6 menunjukan bahwa rata-rata error antara jarak yang diukur dengan jarak yang dideteksi sensor pada rompi adalah 0,58%. Selisih juga terjadi pada jarak yang diukur dengan jarak yang dideteksi sensor pada tongkat. Rata-rata error yang didapat adalah 0,49%. Selisih pengukuran jarak ini disebabkan karena masalah pengukuran yang kurang akurat dan waktu pembacaan sensor.
4.2.3 Pengujian Respons Time Pengujian ini dilakukan untuk menentukan langkah dari pengguna piranti ini. Pengujian dilakukan dengan cara menghitung waktu saat sensor ultrasonic mendeteksi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
38
beda sampai dengan piranti ini selesai mengeluarkan suara. Pada tabel 4.8 ditunjukkan respons time dari piranti penuntun penyandang tunanetra ini.
Tabel 4.8 Respons Time Piranti Penuntun Penyandang Tunanetra No.
Suara yang dikeluarkan
Waktu (detik)
1
Jarak lebih dari tiga meter
4,15
2
Tiga meter
1,85
3
Dua koma lima meter
3,4
4
Dua meter
1,78
5
Satu koma lima meter
3,38
6
Satu meter
2,15
7
Nol koma lima meter
3,82
8
Hati-hati
2,64
Tabel 4.8 menunjukkan waktu yang dibutuhkan piranti ini saat sensor mulai mendeteksi benda sampai dengan piranti ini selesai mengeluarkan suara. Setiap suara yang dikeluarkan memiliki waktu yang berbeda antara suara yang satu dengan suara yang lain. Hal tersebut terjadi karena setiap suara yang dikeluarkan memiliki jumlah kata yang berbeda. Ketika pengguna alat ini atau user berjalan dengan normal dalam suatu ruangan dan suara yang keluar dari speaker adalah “jarak lebih dari tiga meter” maka user dapat berjalan dengan aman. Waktu yang dibutuhkan untuk mengeluarkan suara “jarak lebih dari tiga meter” adalah 4,15 detik. Selama waktu tersebut user dapat melangkah sebanyak lima langkah dan jarak yang terdetaksi oleh sensor adalah satu meter sehingga suara yang dikeluarkan oleh speaker adalah ”satu meter”. Hal tersebut berarti jarak antara 3 meter sampai dengan jarak 1,5 meter tidak diputar suaranya karena waktu pemutaran suara “jarak lebih dari tiga meter” yang lebih lama dari pemutaran suara yang lain yang direkam dalam ISD2590. Supaya jarak antara 3 meter sampai dengan jarak 1,5 meter dapat diputar suaranya, pengguna alat ini harus berjalan sedikit lebih lambat dan mengambil langkah kaki yang tidak terlampau jauh. Saat suara yang keluar dari speaker adalah “jarak lebih dari tiga meter” pengguna alat ini disarankan untuk berjalan maksimal dua langkah dan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
39
berhenti sejenak sampai suara yang dikeluarkan speaker selesai. Ketika suara yang dikeluarkan speaker selesai dan setelah ditunggu beberapa saat namun tidak ada suara lagi yang dikeluarkan sebaiknya user mengambil langkah maju atau mundur sedikit supaya sensor dapat mendeteksi jarak yang telah ditentukan dalam program. Apabila suara yang dikeluarkan berupa jarak user disarankan untuk berjalan satu langkah saja dan berhenti sejenak dan menunggu sampai suara yang dikeluarkan selesai. Setelah suara yang dikeluarkan sudah selesai user dapat berjalan kembali satu langkah pendek. Saat suara yang dikeluarkan oleh speaker adalah “nol koma lima meter” user sebaiknya berhenti dan berbelok karena objek yang dideteksi oleh sensor sudah dekat.
4.2.4 Pengujian Tombol Pengujian ini dilakukan untuk mengetahui apakah tombol sudah berfungsi dengan baik. Dalam sistem ini rangkaian tombol menggunakan resistor pull down, artinya bila tombol ditekan maka tegangan keluran akan berlogika high atau mendekati VCC. Dalam sistem ini tegangan sumber yang digunakan adalah tegangan DC 5 Volt. Namun bila tombol tidak ditekan maka tegangan keluarannya akan berogika low. Rangkaian resistor pull down ditunjukkan pada gambar 4.16.
Gambar 4.16 Rangkaian Tombol
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
40
Tabel 4.9 Implementasi Tegangan Keluaran Sesuai Dengan Kondisi Tombol Kondisi Tombol
Tegangan Keluaran
Ditekan
4,93 Volt
Tidak Ditekan
0,00 Volt
Data yang diperoleh pada tabel 4.9 merupakan hasil implementasi saat tombol ditekan dan tombol tidak ditekan. Pengujian tombol tersebut menunjukkan bahwa saat tombol ditekan tegangan keluaran adalah 4.93 Volt. Hasil yang didapat ini sudah sesuai dengan teori bahwa tegangan keluarannya mendekati VCC atau tegangan masukan sistem.
4.3
Perangkat Lunak Perangkat lunak atau program pada mikrokontroler dibuat untuk menujang kinerja
dari sistem piranti penuntun penyandang tunanetra itu sendiri. Dalam sistem ini terdapat sebuah program utama dan sembilan buah subprogram. Program utama berisi inisalisasi input dan output, pembacaan jarak oleh sensor, dan pemilihan sensor oleh tombol. Sedangkan masing-masing subprogram berisi perintah untuk mengeluarkan suara dari ISD2590. Inisialisasi input output dilakukan dengan tujuan agar semua input dan output dapat dibaca oleh mikrokontroler. Setiap pin yan digunakan dalam sistem diatur apakah pin tersebut digunakan sebagai input atau sebagai output dengan perintah pinMode(). Program inisialisasi input dan output ditunjukkan pada gambar 4.17.
Gambar 4.17 Inisialisasi Input dan Output
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
41
Program pemilihan sensor oleh tombol berfungsi unuk memilih sensor mana yang jaraknya akan dikeluarkan oleh speaker. Jika tombol tidak ditekan maka speaker akan mengeluarkan suara berupa jarak yang didetaksi oleh sensor yang dipasang pada rompi. Tetapi bila tombol ditekan maka suara yang dikeluarkan speaker adalah jarak yang dideteksi oleh sensor yang dipasang pada tongkat. Program pemilihan sensor ditunjukkan pada gambar 4.18.
Gambar 4.18 Program Pemilihan Sensor
Jarak yang dideteksi oleh sensor tidak semua dapat dikeluarkan suaranya. Suara yang dapat dikeluarkan alat ini adalah berupa jarak 0.5 meter sampai 3 meter dengan interval 0.5 meter.
Gambar 4.19 Program Pendeteksian Benda
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
42
Setiap jarak yang akan dikeluarkan suaranya diberi range jarak 10cm ke atas dan ke bawah dengan tujuan untk mempermudah proses pendeteksian benda. Sebagai contoh bila suara yang akan dikeluarkan adalah 3 meter maka di dalam program dibuat jarak minimal deteksi adalah 2.9 meter dan jarak maksimal deteksi sebesar 3.1 meter. Kemudian untuk mengeluarkan suara 3 meter program akan melompat ke sub program “tiga_m( )”. Program pedeteksian benda ditunjukkan pada gambar 4.19. Proses awal program pembacaan sensor adalah dengan membuat pin mikrokontroler yang terhubung dengan pin Signal pada sensor menjadi pin output. Kemudian berikan sinyal High selama 5 microseconds untuk memicu sensor agar sensor mengeluarkan gelombang ultrasonic. Sebelum memberikan sinyal High perlu diberikan sinyal Low terlebih dahulu untuk menghilangkan sinyal High dari proses pembacaan sensor sebelumnya. Langkah selanjutnya adalah membuat pin mikrokontroler yang terhubung dengan pin Signal pada sensor menjadi pin input dengan tujuan untuk membaca sinyal pantulan (echo). Konversi dari waktu tempuh sinyal menjadi jarak dilakukan dengan cara jarak tempuh total sinyal dibagi dengan kecepatan suara lalu dibagi lagi dengan dua. Dalam hal ini kecepatan suara yang bernilai 344.424m/s diubah menjadi 29 microseconds per centimeter [11] untuk mempermudah konversi waktu menjadi jarak. Program pembacaan jarak oleh sensor ditunjukkan pada gambar 4.20.
Gambar 4.20 Program Pembacaan Jarak oleh Sensor Subprogram dalam sistem ini digunakan untuk mempermudah proses memutar suara. Terdapat Sembilan buah subprogram dalam sistem ini, delapan subprogram diantaranya berfungsi untuk mengeluarkan suara dari setiap jarak yang didetaksi oleh sensor. Sedangkan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
43
sebuah subprogram lain berfungsi untuk mematikan fungsi dari ISD2590. Bila jarak yang dideteksi sensor tidak sesuai dengan program maka ISD2590 akan disable atau tidak mengeluarkan suara.
Gambar 4.21 Program Pemutaran Suara Tiga Meter
Gambar 4.22 Program Disable ISD2590
ISD2590 dioperasikan dalam mode address bit artinya setiap kata yang disimpan dan direkam memiliki alamat masing-masing. Karena suara disimpan dalam alamat masingmasing proses pemutaran ulang suara juga dilakukan dengan memanggil alamat suara sesuai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
44
dengan aamat dimana suara tersebut disimpan. Sebagai contoh untuk mengeluarkan suara tiga meter maka hanya perlu memanggil alamat dimana kata “tiga” dan kata “meter” tersebut disimpan. Proses pemutaran suara tiga meter ditunjukkan pada gambar 4.21. Pada saat jarak yang dideteksi oleh sensor tidak sesuai dengan jarak yang diatur pada program, maka ISD2590 akan disable atau tidak mengeluarkan suara. Program pada mikrokontroler dibuat dengan cara mengunakan subprogram seperti yang ditunjukkan pada gambar 4.22.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan Kesimpulan yang dapat diambil dari program piranti penuntun penyandang tunanetra dengan indikasi jarak berbasis arduino ini adalah : 1. Sistem sudah dapat mengeluarkan output berupa suara yang sesuai jarak yang dideteksi oleh sensor. 2. Sinyal keluaran dari setiap output suara memiliki pola yang berbeda antara output suara yang satu dengan yang lainya. 3. Program pembacaan sensor telah mampu menghitung jarak benda yang dideteksi dengan rata-rata error 0,58% untuk sensor pada rompi dan 0,49% untuk sensor pada tongkat. 4. Pengguna piranti ini harus berjalan perlahan satu langkah dan berhenti menunggu sampai suara yang dikeluarkan oleh speaker selesai untuk kemudian melangkahkan kaki kembali.
5.2. Saran Penelitian ini masih memiliki kekurangan diantaranya adalah pengkoneksian tongkat dengan rompi yang cukup sulit karena konektor berada di bagian belakang rompi. Untuk mengatasi kekurangan tersebut maka diperlukan beberapa saran sebagai berikut : 1. Konektor rompi dan tongkat dapat dipindah atau diganti supaya mudah memasangnya. 2. Rompi dan tongkat dapat diganti dengan piranti lain yang lebih mudah untuk digunakan. 3. Dapat ditambahkan sensor lain yang dapat mendeteksi kemiringan seperti saat menuruni atau menaiki tangga.
45
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR PUSTAKA [1]
AN, Satria. 2012. Bantu Tunanetra, Mahasiswa UGM Kembangkan Peta Taktual dan Blind Sonar. http://www.ugm.ac.id/index.php?page=rilis&artikel=4767, diakses 5 November 2012
[2]
Artanto, Dian. 2012. Interaksi Arduino dan LabView. PT Elex Media Komputindo. Jakarta
[3]
Igoe, Tom. 2010. Arduino Uno. http://arduino.cc/en/Main/ArduinoBoardUno, diakses 26 November 2012
[4]
------, 2009. Datasheet ATmega48PA/88PA/168PA/328P. Atmel.
[5]
Mellis, David A.. 2007. ATmega168/328-Arduino Pin Mapping http://arduino.cc/en/Hacking/PinMapping168, diakses 26 November 2012
[6]
------, 2010. AVR042: AVR Hardware Design Considerations. Atmel.
[7]
------, 2006. PING)))TM Ultrasonic Distance Sensor (#28015). Parallax.
[8]
------, 1998. ISD 2560/75/90/120 Product. ChipCoder Technology by ISD.
[9]
Pratama, Hadijaya, Erik Haritman, Tjetje Gunawan. 2012. Akuisisi Data Kinerja Sensor Ultrasonic Berbasis Sistem Komunikasi Serial Menggunakan Mikrokontroler ATmega 32. Jurusan Pendidikan Teknik Elektro, Universitas Pendidikan Indonesia. Bandung.
[10]
-------, 2013. PING))) Ultrasonic Distance Sensor. http://www.parallax.com/Store/Sensors/ObjectDetection/tabid/176/CategoryID/51/ List/0/SortField/0/Level/a/ProductID/92/Default.aspx, diakses 30 Januari 2013
[11]
Igoe, Tom. 2011. PING Ultrasonic. http://arduino.cc/en/Tutorial/Ping, diakses 4 Februari 2013
[12]
Subandi. 2006. Alat Bantu Mobilitas untuk Tuna Netra Berbasis Elektronik, Jurusan Teknik Elektro, Institut Sains dan Teknologi AKPRIND. Yogyakarta.
46
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI [13]
Prawiroredjo, Kiki dan Nyssa Asteria. 2008. Detektor Jarak dengan Sensor Ultrasonik Berbasis Mikrokontroler. JETri Vol. 7, Nmr 2, hlm 41-52. Dosen jurusan Teknik Elektro FTI, Universitas Trisakti. Jakarta.
[14]
Sofyan, A., M. Amir, dan Yulhenri. 2005. Termometer Badan Dengan Output Suara Untuk Orang Buta Berbasis Mikrokontroler MCS-51. Fakultas Teknologi Industri, Institut Sains dan Teknologi Nasional. Jakarta.
[15]
Wiharto, Holy Lydia. 2008. Thermometer Badan Digital dengan Keluaran Suara Berbasis Mikrokontroler AVR 8535. Fakultas Teknik, Universitas 17Agustus 1945. Surabaya.
[16]
Arief, Fahmi Fardian., Muchlas., Tole Sutikno. 2008. Kompas Digital dengan Output Suara Berbasis Mikrokontroler AT89S52. Program Studi Teknik Elektro, Universitas Ahmad Dahlan. Yogyakarta.
[17]
Mellis, David A.. 2007. ATmega168/328-From Arduino to a Microcontroller on a Breadboard.
http://arduino.cc/en/Tutorial/ArduinoToBreadboard, diakses 13 Juli 2013
47
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
SKEMATIK RANGKAIAN
L2
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LISTING PROGRAM ARDUINO long cm=0; const int tombol=2; const int ping = 8; const int ping1= 7; const int A_0 = A5; const int A_1 = A4; const int A_2 = A3; const int A_3 = A2; const int A_4 = A1; const int A_5 = A0; const int A_6 = 13; const int A_7 = 12; const int Enable = 10; const int Pdown = 11; void setup() { Serial.begin(9600); pinMode(tombol, INPUT); pinMode(A_0, OUTPUT); pinMode(A_1, OUTPUT); pinMode(A_2, OUTPUT); pinMode(A_3, OUTPUT); pinMode(A_4, OUTPUT); pinMode(A_5, OUTPUT); pinMode(A_6, OUTPUT); pinMode(A_7, OUTPUT); pinMode(Enable, OUTPUT); pinMode(Pdown, OUTPUT); } void loop() { int baca=digitalRead(2); if(baca==HIGH){ cm=jarak(ping);} else{ cm=jarak(ping1);} if(cm>=310){ lebih_dari(); } else{
L3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI kosong(); } if(cm>=290 && cm<310){ tiga_m(); } else{ kosong(); } if(cm>=240 && cm<260){ dua_koma(); } else{ kosong(); } if(cm>=190 && cm<210){ dua_m(); } else{ kosong(); } if(cm>=140 && cm<160){ satu_koma(); } else{ kosong(); } if(cm>=90 && cm<110){ satu_m(); } else{ kosong(); } if(cm>=40 && cm<60){ nol_koma(); } else{ kosong(); } if(cm<40){ kurang_dari(); } else{ kosong(); } delay(500); }
L4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++// void lebih_dari(){ // jarak > 3meter ----------------------------------------------// "jarak" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, HIGH); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW); digitalWrite(A_3, HIGH); digitalWrite(A_4, LOW); digitalWrite(A_5, LOW); digitalWrite(A_6, HIGH); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(700); // "lebih" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, HIGH); digitalWrite(A_1, HIGH); digitalWrite(A_2, HIGH); digitalWrite(A_3, HIGH); digitalWrite(A_4, LOW); digitalWrite(A_5, LOW); digitalWrite(A_6, HIGH); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(700); // "dari" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW); digitalWrite(A_3, LOW); digitalWrite(A_4, HIGH); digitalWrite(A_5, LOW); digitalWrite(A_6, HIGH);
L5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(700); // "tiga" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, LOW); digitalWrite(A_2, HIGH); digitalWrite(A_3, HIGH); digitalWrite(A_4, HIGH); digitalWrite(A_5, LOW); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(750); // "meter" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW); digitalWrite(A_3, HIGH); digitalWrite(A_4, HIGH); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(800); digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); } void tiga_m(){ // 3meter -----------------------------------------------------// "tiga" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10);
L6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI digitalWrite(A_0, LOW); digitalWrite(A_1, LOW); digitalWrite(A_2, HIGH); digitalWrite(A_3, HIGH); digitalWrite(A_4, HIGH); digitalWrite(A_5, LOW); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(750); // "meter" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW); digitalWrite(A_3, HIGH); digitalWrite(A_4, HIGH); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(800); digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); } void dua_koma(){ // 2.5meter ---------------------------------------------------// "dua" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, HIGH); digitalWrite(A_1, LOW); digitalWrite(A_2, HIGH); digitalWrite(A_3, LOW); digitalWrite(A_4, HIGH); digitalWrite(A_5, LOW); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10);
L7
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(825); // " koma" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, HIGH); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW); digitalWrite(A_3, LOW); digitalWrite(A_4, HIGH); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(825); // "lima" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, HIGH); digitalWrite(A_2, LOW); digitalWrite(A_3, HIGH); digitalWrite(A_4, LOW); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(650); // "meter" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW); digitalWrite(A_3, HIGH); digitalWrite(A_4, HIGH); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW);
L8
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(800); digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); } void dua_m(){ // 2meter -----------------------------------------------------// "dua" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, HIGH); digitalWrite(A_1, LOW); digitalWrite(A_2, HIGH); digitalWrite(A_3, LOW); digitalWrite(A_4, HIGH); digitalWrite(A_5, LOW); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(825); // "meter" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW); digitalWrite(A_3, HIGH); digitalWrite(A_4, HIGH); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(800); digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); } void satu_koma(){
L9
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI // 1.5meter ---------------------------------------------------// "satu" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, HIGH); digitalWrite(A_2, HIGH); digitalWrite(A_3, HIGH); digitalWrite(A_4, LOW); digitalWrite(A_5, LOW); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(875); // "koma" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, HIGH); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW); digitalWrite(A_3, LOW); digitalWrite(A_4, HIGH); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(800); // "lima" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, HIGH); digitalWrite(A_2, LOW); digitalWrite(A_3, HIGH); digitalWrite(A_4, LOW); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW);
L10
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI digitalWrite(Pdown, LOW); delay(650); // "meter" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW); digitalWrite(A_3, HIGH); digitalWrite(A_4, HIGH); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(800); digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); } void satu_m(){ // 1meter -----------------------------------------------------// "satu" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, HIGH); digitalWrite(A_2, HIGH); digitalWrite(A_3, HIGH); digitalWrite(A_4, LOW); digitalWrite(A_5, LOW); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(875); // "meter" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW);
L11
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI digitalWrite(A_3, HIGH); digitalWrite(A_4, HIGH); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(800); digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); } void nol_koma(){ // 0.5meter ---------------------------------------------------// "nol" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, HIGH); digitalWrite(A_1, HIGH); digitalWrite(A_2, HIGH); digitalWrite(A_3, LOW); digitalWrite(A_4, LOW); digitalWrite(A_5, LOW); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(825); // "koma" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, HIGH); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW); digitalWrite(A_3, LOW); digitalWrite(A_4, HIGH); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(800);
L12
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI // "lima" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, HIGH); digitalWrite(A_2, LOW); digitalWrite(A_3, HIGH); digitalWrite(A_4, LOW); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(650); //"meter" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW); digitalWrite(A_3, HIGH); digitalWrite(A_4, HIGH); digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(800); digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); } void kurang_dari(){ // hati-hati ---------------------------------------------------// "hati-hati" digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, HIGH); digitalWrite(A_1, HIGH); digitalWrite(A_2, HIGH); digitalWrite(A_3, HIGH); digitalWrite(A_4, HIGH);
L13
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI digitalWrite(A_5, HIGH); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); digitalWrite(Enable, LOW); digitalWrite(Pdown, LOW); delay(1250); digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); } void kosong(){ // kosong ---------------------------------------------------digitalWrite(Enable, HIGH); digitalWrite(Pdown, HIGH); delay(10); digitalWrite(A_0, LOW); digitalWrite(A_1, LOW); digitalWrite(A_2, LOW); digitalWrite(A_3, LOW); digitalWrite(A_4, LOW); digitalWrite(A_5, LOW); digitalWrite(A_6, LOW); digitalWrite(A_7, LOW); delay(10); } //-------------------------------------------------------------long jarak(int pingpin) { long duration,cm; pinMode(pingpin, OUTPUT); digitalWrite(pingpin, LOW); delayMicroseconds(2); digitalWrite(pingpin, HIGH); delayMicroseconds(5); digitalWrite(pingpin, LOW); pinMode(pingpin, INPUT); duration = pulseIn(pingpin, HIGH); cm = duration/29/2; return cm; }
L14