04540005
TRANSCRIPT
PERANCANGAN DAN PEMBUATAN PENUNJUK ARAH SERTA DETEKSI JARAK BENDA UNTUK TUNANETRA
DENGAN OUTPUT SUARA BERBASIS MIKROKONTROLER
SKRIPSI
Oleh:
Titik Muji Rahayu(04540005)
JURUSAN FISIKAFAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM MALANG
2010
PERANCANGAN DAN PEMBUATAN PENUNJUK ARAH SERTA DETEKSI JARAK BENDA UNTUK TUNANETRA
DENGAN OUTPUT SUARA BERBASIS MIKROKONTROLER
SKRIPSI
Diajukan Kepada:
Fakultas Sains dan TeknologiUniversitas Islam Negeri Maulana Malik Ibrahim Malang
Untuk Memenuhi Salah Satu Persyaratan DalamMemperoleh Gelar Sarjana Sains (S.Si)
Oleh:
Titik Muji Rahayu(04540005)
JURUSAN FISIKAFAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM MALANG
2010
SURAT PERNYATAANORISINALITAS PENELITIAN
Saya yang bertanda tangan di bawah ini:
Nama : Titik Muji Rahayu
NIM : 04540005
Fakultas/Jurusan : Sains dan Teknologi/Fisika
Judul penelitian : Perancangan Dan Pembuatan Penunjuk Arah Serta
Deteksi Jarak Benda Untuk Tunanetra Dengan Output
Suara Berbasis Mikrokontroler
Menyatakan dengan sebenar-benarnya bahwa hasil penelitian saya ini
tidak terdapat unsur-unsur penjiplakan karya penelitian atau karya ilmiah yang
pernah dilakukan atau dibuat oleh orang lain, kecuali yang secara tertulis dikutip
dalam naskah ini dan disebutkan dalam sumber kutipan dan daftar pustaka.
Apabila ternyata hasil penelitian ini terbukti terdapat unsur-unsur
jiplakan, maka saya bersedia untuk mempertanggung jawabkan, serta diproses
sesuai peraturan yang berlaku.
Malang, 6 Juli 2010
Yang Membuat Pernyataan
Titik Muji RahayuNIM. 04540005
3
LEMBAR PERSETUJUAN
PERANCANGAN DAN PEMBUATAN PENUNJUK ARAH SERTA DETEKSI JARAK BENDA UNTUK TUNANETRA
DENGAN OUTPUT SUARA BERBASIS MIKROKONTROLER
SKRIPSI
Oleh:
Titik Muji Rahayu(04540005)
Telah disetujui oleh:
Dosen pembimbing I
Drs. Muhammad Tirono, M.Si. NIP. 19641211 199111 1 001
Dosen pembimbing II
Novi Avisena, M.SiNIP. 1961109 200604 1 004
Malang, 17 Juni 2010
MengetahuiKetua Jurusan Fisika
Drs. Muhammad Tirono, M.Si. NIP. NIP. 19641211 199111 1 001
5
7
LEMBAR PERSEMBAHAN
Karya kecil ini aku persembahkan kepada:
Ibu dan BapakQ, yang selalu mencurahkan kasih sayangnya, selalu memberikan dorongan
dan motivasinya baik moril maupun spiritual. Semoga Allah membalasnya dengan yang
berlipat-lipat.
MasQ Eko Wahono Yang selalu memotivasi, menasehati dan mendo’akanQ.
MbakQ Erna Yulianti yang selalu menyayangi, mengasihi dan selalu memotivasiQ. Juga Mas
Hadi Royani, terimakasih atas segala bantuannya.
PonakanQ yang paling imut dan menggemaskan Najwa Rifatul Azizah, semoga menjadi
cerdas dan salehah
Guru-guruQ dari SD Gelanglor 3, SLTP N I Sukorejo, MA N I Ponorogo, serta dosen-dosen
Fisika UIN Maliki Malang .
Mbah-mbahQ Mbah Joyo Sudarmo dan Mbah Supangatun, Mbah Suratun dan Mbah
Kariman atas kasih sayang, dukungan dan motivasinya.
Pak Poh, Bu Dhe, Pak Lik dan Bu LikQ semua atas kasih sayang, dukungan dan
motivasinya. Terutama Pak Guru Kardi, terima kasih udah nganterin ke Malang
Sepupu-sepupuku yang g bisa Q sebutin satu persatu, makasih atas dukungan, do’a dan
motivasinya.
KeluargaQ di Hirzia Apartment, segala canda tawa ini tak kan pernah terlupakan: Dewi,
Anty, Eno, Arofah, Ulif, Tuhfah, Usfi, Ilmi, Elis. Juga alumni Hirzia: Mbak Aminah,
Aishah, Ustadzah Sriti, Lia
Temen-temen seangkatanQ: Fida, Nora, M Yu2n, M Wacil, Nuril, M Nurul Aminah yang
udah lulus duluan.
Guru ngajiQ pertama (Mbak Leli). Guru-guru ngajiku yg lain (yang g bisa Qsebutkan
namanya), juga temen-temen ngajiQ (g bisa Q sebutin juga). Makasih udah memberikan
banyak ilmu.
Saudari2Q di Riefa dan Mazidah, semoga ukhuwah ini tetap terjalin.
Keluarga besar Mahasiswa Fisika UIN Maliki Malang, terutama angkatan 2004, jangan
pernah lupa.
Temen-temen yang udah banyak bantuin: Fajar, Eka’05, Leli, Reza, Evi, Aning, M. Uun,
Dany, Erlina, Wondo (makasih laptopnya). Makasih banyak atas segala bantuannya.
Saudara-saudaraQ di KAMMI Komsat UIN Maliki Malang, Azzam Islamic Research
(AIR) UIN Maliki Malang, PIS_C Malang, KAMMI Daerah Malang, yang banyak
mengajarkanQ tentang amanah dan tanggung jawab.
Temen-temen masa laluQ: M. Umi, Sulis, Ratna, Nurul, Indah, M. Endang, M. Narten,
Sofi. Maaf temen-temen, belum bisa nyambung silaturrahim lagi.
Dan semua pihak yang belum bisa Q sebutin satu persatu, terima kasih atas semuanya.
KATA PENGANTAR
Assalamu’alaikum Wr. Wb.
Segala puji bagi Allah SWT karena atas rahmat, taufiq dan hidayah-Nya,
penulis dapat menyelesaikan penulisan skripsi ini sebagai salah satu syarat untuk
memperoleh gelar Sarjana Sains (S.Si). Penulis menyadari bahwa banyak pihak
yang telah membantu dalam menyelesaikan penulisan skripsi ini. Untuk itu
iringan do’a dan ucapan terima kasih yang sebesar-besarnya penulis sampaikan
kepada:
1. Prof. Dr. H. Imam Suprayogo, selaku Rektor Universitas Islam Negeri
(UIN) Maulana Malik Ibrahim Malang.
2. Prof. Sutiman Bambang Sumitro, SU. DSc selaku Dekan Fakultas Sains
dan Teknologi Universitas Islam Negeri (UIN) Maulana Malik Ibrahim
Malang.
3. Bapak Drs. Muhammad Tirono, M.Si selaku ketua jurusan Fisika
Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang yang juga
sebagai Dosen Pembimbing I atas bimbingan, pengarahan, dan
kesabarannya hingga penulisan skripsi ini dapat terselesaikan.
4. Bapak Novi Avisena, M.Si selaku Dosen Pembimbing II atas bimbingan,
pengarahan, dan kesabarannya dalam membimbing penulisan skripsi ini
yang terkait dengan agama hingga penulisan skripsi ini dapat
terselesaikan.
5. Seluruh Dosen Fisika dan segenap perangkat Universitas Islam Negeri
9
(UIN) Maulana Malik Ibrahim Malang.
6. Bapak dan Ibuku tercinta yang dengan sepenuh hati memberikan
dukungan moril dan spirituil sehingga penulisan skripsi ini dapat
terselesaikan
7. Temen-temen Fisika khususnya angkatan 2004 atas segala
kebersamaannya dari awal masuk hingga lulus kuliah
8. Serta semua pihak yang belum bisa saya sebutkan satu persatu
Semoga tugas akhir ini dapat bermanfaat dan menambah khasanah ilmu
pengetahuan.
Wassalamu’alaikum Wr. Wb.
Malang, 16 Juni 2010
Penulis
DAFTAR ISI
KATA PENGANTAR ..................................................................................... iDAFTAR ISI ................................................................................................... iiiDAFTAR TABEL ........................................................................................... ivDAFTAR GAMBAR ....................................................................................... vDAFTAR LAMPIRAN ................................................................................... viABSTRAK ....................................................................................................... vii
BAB I PENDAHULUAN ................................................................................ 11.1 Latar Belakang ........................................................................................... 11.2 Rumusan masalah ...................................................................................... 51.3 Tujuan ........................................................................................................ 51.4 Manfaat ...................................................................................................... 51.5 Batasan masalah ......................................................................................... 6
BAB II TINJAUAN PUSTAKA ..................................................................... 72.1 Mata angin ................................................................................................. 72.2 Kompas digital HM55B ............................................................................. 9 2.3 Gelombang bunyi ....................................................................................... 132.4 Sensor D-Sonar .......................................................................................... 232.5 Mikrokontroler AT89S51 .......................................................................... 272.6 Keypad 4x4 ................................................................................................ 302.7 LCD M1632 ............................................................................................... 312.8 ISD 2590 .................................................................................................... 332.9 Amplifier..................................................................................................... 37 BAB III METODE PENELITIAN .................................................................. 383.1 Waktu dan Tempat Penelitian .................................................................... 383.2 Alat dan Bahan .......................................................................................... 383.3 Perancangan dan Pembuatan Alat ............................................................. 393.4 Pengujian.................................................................................................... 453.5 Tahap Pengukuran ..................................................................................... 463.6 Tahap Analisis ........................................................................................... 48
BAB IV HASIL DAN PEMBAHASAN ......................................................... 504.1 Hasil Penelitian........................................................................................... 504.2 Pembahasan................................................................................................ 57 BAB V PENUTUP .......................................................................................... 615.1 Kesimpulan ................................................................................................ 615.2 Saran ........................................................................................................ 62
DAFTAR PUSTAKALAMPIRAN-LAMPIRAN
11
DAFTAR TABEL
Tabel 2.1 Perintah-perintah yang dikirim ke kompas modul........................... 12
Tabel 2.2 Jawaban perintah dari kompas modul ............................................. 12
Tabel 2.3 Pin-pin pada sensor D-Sonar dan fungsinya .................................... 25
Tabel 2.4 Pin-pin pada ISD 2590 dan fungsinya ............................................. 34
Tabel 4.4 Data arah mata angin ....................................................................... 55
Tabel 4.5 Data jarak benda............................................................................... 56
DAFTAR GAMBAR
Gambar 2.1 Pin-pin pada HM55B ................................................................. 10
Gambar 2.2 Cara mengukur sudut yang dibentuk arah utara dan sumbu
kompas x 11
Gambar 2.3 Pergeseran dan perubahan dimensi dari elemen volume udara
dalam tabung fiktif yang diambil searah gaya gangguan .....................................................................................................
15
Gambar 2.4 Ilustrasi gelombang masuk, gelombang pantul dan gelombang
transmisi pada batas antara dua media tali di x = 0 ................... 20
Gambar 2.5 Pantulan gelombang ultrasonik .................................................. 24
Gambar 2.6 Tata letak komponen pada sensor D-Sonar ............................... 24
Gambar 2.7 Timing diagram D-Sonar ........................................................... 26
Gambar 2.8 Pin-pin pada mikrokontroler AT89s51....................................... 28
Gambar 2.9 Penampang keypad 4x4 ............................................................. 31
Gambar 2.10 Pin-pin pada LCD M1632 .......................................................... 32
Gambar 2.11 Pin-pin pada ISD 2590 ............................................................... 34
Gambar 3.1 Diagram blok perancangan sistem keseluruhan ......................... 39
Gambar 3.2 Rangkaian kompas modul HM55B ............................................ 40
Gambar 3.3 Rangkaian sensor D-Sonar ......................................................... 40
Gambar 3.4 Rangkaian LCD M1632 ............................................................. 41
Gambar 3.5 Rangkaian keypad ...................................................................... 42
Gambar 3.6 Rangkaian ISD 2590 .................................................................. 42
Gambar 3.7 Flowchart perancangan software ............................................... 44
Gambar 4.1 Diagram pembagian sudut arah mata angin ............................... 51
Gambar 4.2 Grafik linear hubungan antara jarak benda (cm) dan timer (µs). 53
13
DAFTAR LAMPIRAN
Lampiran 1 Gambar rangkaian skematik alat
Lampiran 2 Tabel hasil pengujian arah dan jarak benda
Lampiran 3 Gambar alat penunjuk arah dan deteksi keberadaan benda
Lampiran 4 Listing program Assembler
Lampiran 5 Analisis data hasil pengukuran
ABSTRAK
Rahayu, Titik Muji. 2010. Perancangan Dan Pembuatan Penunjuk Arah Serta Deteksi Jarak Benda Untuk Tunanetra Dengan Output Suara Berbasis Mikrokontroler. Pembimbing I: Drs. Mokhamad Tirono, M.Si., Pembimbing II: Novi Avisena, M.Si
Kata Kunci: Mata Angin, Gelombang Bunyi, Kompas Modul HM55B, Sensor Ultrasonik D-Sonar, Mikrokontroler, ISD 2590
Mata adalah salah satu organ tubuh manusia yang sangat penting. Mata berfungsi mengenali pertama kali berbagai benda yang kita temui dengan melihatnya. Namun tidak semua orang bisa menggnakan fungsi mata secara sempurna. Beberapa orang tidak bisa menggunakan mata sebagaimana fungsinya. Hal ini salah satunya disebabkan oleh kebutaan. Berdasarkan latar belakang tersebut penelitian dilakukan dengan tujuan untuk: (1) Untuk menghasilkan alat yang dapat mendeteksi keberadaan benda di depan penderita tunanetra dengan output suara berbasis mikrokontroler, dan (2) Untuk menghasilkan alat penunjuk arah mata angin bagi penderita tunanetra dengan output suara berbasis mikrokontroler.
Perancangan alat ini memanfaatkan teori tentang mata angin dan kecepatan gelombang bunyi di udara. Perancangan dan penelitian ini dilakukan di Laboratorium Elektronika Riset UIN Maliki Malang pada tanggal 1 November 2009 sampai 30 Maret 2010. Perancangan ini melalui dua tahap, yaitu tahap perancangan hardware dan software. Hardware yang digunakan dalam perancangan alat ini adalah kompas digital HM55B untuk menentukan arah mata angin, sensor Ultrasonik D-Sonar untuk mengukur jarak pengguna dengan benda di depannya, mikrokontroler AT89S51 sebagai memori program, dan ISD 2590 sebagai perekam suara untuk output. Software pada alat ini menggunakan bahasa pemrograman Assembler.
Data yang diperoleh dari penelitian ini dianalisis dan dicari simpangannya. Pada perangkat penunjuk arah HM55B diperoleh simpangan rata-rata sebesar 3,65% dengan taraf ketelitian 96,35% dan pada perangkat pendeteksi jarak benda kesalahan relatifnya sebesar 1,92% dengan taraf ketelitan 98,08%. Hasil penelitian ini menunjukkan bahwa alat tersebut dapat bekerja dengan baik.
15
ABSTRACT
Rahayu, Titik Muji. 2010. Designing and Constructing the Direction Guide and Things Detector for Visually Impaired Patients with Voice Output Based on Microcontroller. Advisor I: Drs. Muhammad Tirono, M.Si, Advisor II: Novi Avisena, M.Si
Keywords: Cardinal, Sound Waves, The Compass Module HM55B, D-Sonar Ultrasonic Sensors, Microcontrollers, ISD 2590
The eyes are one of the important organ of human being. The eyes are the first human organ that recognize the various objects we meet with to see it. But not everyone can make eyes function perfectly. Some people can not use the eyes as its function. One of the caus is blindness. Based on this research background the aims of this research are in order: (1) To produce a tool that can detect the distance of objects in front of visually impaired patients with microcontroller-based on voice output, and (2) To produce a cardinal direction pointing device for visually impaired patients with microcontroller-based on voice output .
The design of this tool uses the cardinal of theories and wave speed of sound in air. The process of designing and researching was conducted in the Electronics Research Laboratory Maliki of UIN Malang on November 1, 2009 until March 30, 2010. This design through two stages of hardware and software design. The hardware was used in design this tool is a HM55B digital compass to determine direction cardinal, D-Sonar Ultrasonic sensor to measure the distance the user with the objects in front of him, as the AT89S51 microcontroller program memory, and the ISD in 2590 as a voice recorder for output. The software on this device using Assembler programming language.
The data obtained from this study were analyzed and searched its deviation. At the direction of a pointing device HM55B obtained an average deviation of 3,65% with 96,35 of accurate rank and the detection distance for an object relative error of 1,92% with 98,08 of accurate rank. This study has shown that these tools can work well in accordance with the design.
BAB I
PENDAHULUAN
1.1 Latar Belakang
Mata merupakan bagian tubuh manusia yang memegang peranan sangat
penting, karena manusia mengenali apapun pertama kali melalui penglihatan.
Maka tidaklah salah ketika ada yang berpendapat bahwa mata merupakan
jendela dunia.
Mata adalah salah satu panca indera yang diberikan Allah SWT kepada
kita. Allah memberikan kita mata agar kita bisa melihat segala ciptaan-Nya di
alam raya ini, sehingga kita bisa mensyukuri nikmat yang begitu besar ini.
Allah berfirman dalam surat al Balad ayat 8,
óÇÑÈû ÷ü uZø tã¼ ã&©!@ yè øgwUOs9 r
”Bukankah Kami telah memberikan kepadanya dua buah mata” (Al Balad:8)
Dia telah menjadikan untuk manusia dua buah mata yang sangat rumit
susunannya agar mampu untuk melihat. Diberi-Nya keistimewaan untuk dapat
berbicara, dan diberi-Nya alat bicara yang bagus, kemudian diberi-Nya
potensi-potensi khusus untuk mengetahui kebaikan dan keburukan, petunjuk
dan kesesatan, kebenaran dan kebatilan supaya dia memilih mana yang
17
dikehendakinya. Maka, pada tabiatnya terdapat dua macam potensi pada
dirinya untuk menempuh jalan yang mana saja dari kedua jalan itu.
Tidak semua orang memiliki mata yang sempurna yang bisa menikmati
semua penciptaan di alam ini. Ada beberapa orang di dunia ini yang tidak
mampu melihat karena mata tidak bisa berfungsi sebagaimana mestinya. Salah
satu permasalahan mata adalah kebutaan. Ada yang mengalami kebutaan sejak
kecil dan ada juga yang terjadi setelah dewasa.
Berdasarkan data organisasi kesehatan dunia atau WHO, setiap lima
detik ada satu orang dewasa menjadi buta. Sementara setiap satu menit ada
satu anak menjadi buta. Diperkirakan belasan tahun ke depan penderita
kebutaan mencapai 100 juta kasus. Pada tahun 2000 saja jumlahnya sudah
mencapai 45 juta orang buta dan 135 juta orang mengalami gangguan
penglihatan. (http://kompas.com: 2007)
Di Indonesia, terdapat sekitar 3,5 juta penderita kebutaan. Sebanyak
0,76% disebabkan katarak, 0,20% karena glaukoma dan kelainan refraksi
0,14%. (http://kompas.com: 2007)
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.
Orang normal bisa menggunakan petunjuk kompas untuk mengetahui
arah yang akan ditempuhnya. Kompas adalah alat bantu yang menggunakan
fungsi kutub-kutub magnet yang memudahkan manusia karena bisa langsung
digunakan. Sebelumnya hingga saat ini pun manusia menggunakan fungsi
bintang untuk mengetahui arah mata angin.
Bintang sebagai benda-benda angkasa beredar mengelilingi matahari. Di
antara manfaat adanya bintang di angkasa raya itu bagi kehidupan manusia
adalah dapat dijadikan sebagai petunjuk kompas arah di malam hari. Sebab
yang demikian itu telah dijelaskan dalam al Qur’an, (Ichwan, 2004:210)
”Dan Dialah yang menjadikan bintang-bintang bagimu, agar kamu
menjadikannya petunjuk dalam kegelapan di darat dan di laut. Sesungguhnya
Kami telah menjelaskan tanda-tanda kebesaran (Kami) kepada orang-orang
yang mengetahui.” (Q.S. Al An’am:97)
Hamparan daratan dan lautan adalah kegelapan yang dalam
mengarunginya manusia berpedoman pada bintang. Mereka sejak dahulu
seperti itu hingga saat ini. Metode mereka dalam menggunakan bintang
berbeda-beda. Lingkupnya meluas dengan adanya penemuan-penemuan
ilmiah dan eksperimen-eksperimen yang bermacam-macam. Namun, dasarnya
tetaplah sama, yaitu menggunakan benda-benda langit itu sebagai petunjuk
dalam mengarungi hamparan daratan dan lautan. Baik itu dalam kegelapan
indrawi maupun kegelapan tashawwur dan pemikiran. (Quthb, 2003:170)
Bagi seorang tunanetra, tentu akan kesulitan untuk berjalan jika dia
tidak tahu arah mata angin. Perlu suatu alat bantu yang bisa membantu mereka
melakukan aktivitasnya sehari-hari.
Sebuah rancangan yang telah dibuat oleh mahasiswa Teknik
Informatika Universitas 17 Agustus (Untag) Surabaya adalah alat sensor
19
pendeteksi keberadaan benda bagi tuna netra. Alat yang telah dibuat tersebut
memiliki kelemahan, yaitu hanya bisa mendeteksi keberadaan benda, tetapi
tidak dapat menunjukkan arah yang akan dituju oleh pemakai.
(www.surya.co.id, 2008)
Penulis di sini akan melengkapi alat tersebut dengan menggunakan
fungsi pendengaran. Alat ini akan berfungsi ganda, yaitu sebagai pendeteksi
keberadaan benda dan juga penunjuk arah mata angin. Alat ini diharapkan bisa
membantu penderita untuk berjalan ke manapun tanpa khawatir menabrak
benda di depannya. Selain itu rancangan penunjuk arah mata angin bisa
membantu penderita untuk menuju suatu tempat dengan mengetahui arah-arah
yang harus dilaluinya untuk bisa mencapai tempat tersebut.
Penulis akan membuat suatu alat sebagai skripsi dengan judul
“Perancangan dan Pembuatan Penunjuk Arah serta Deteksi Keberadaan Benda
untuk Tunanetra Dengan Output Suara Berbasis Mikrokontroler”
Alat yang dibuat ini akan dibuat portable, sehingga penderita tidak
merasa keberatan dan tidak merasa terganggu saat membawa alat tersebut ke
mana-mana.
1.2 Rumusan Masalah
Dari latar belakang di atas dapat dirumuskan beberapa permasalahan,
yaitu:
1. Bagaimana mengolah sensor ultrasonik agar bisa mengirimkan data
tentang ada atau tidaknya benda di depan pemakai?
2. Bagaimana mengubah data penunjuk arah pada kompas digital menjadi
data berupa suara?
3. Seberapa besar akurasi alat tersebut untuk mengetahui jarak benda?
4. Seberapa besar akurasi alat tersebut untuk menentukan arah mata angin?
1.3 Tujuan
Tujuan perancangan dan pembuatan alat pendeteksi benda serta
penunjuk arah mata angin ini adalah:
1. Untuk menghasilkan alat yang dapat mendeteksi jarak benda di depan
penderita tunanetra dengan output suara berbasis mikrokontroler.
2. Untuk menghasilkan alat penunjuk arah mata angin bagi penderita
tunanetra dengan output suara berbasis mikrokontroler.
1.4 Manfaat
Manfaat pembuatan alat pendeteksi keberadaan benda serta penunjuk
arah mata angin dengan output suara ini adalah:
1. Membantu penderita tunanetra agar dapat mengetahui jarak benda di
depannya saat berjalan sehingga bisa menghindarinya.
2. Membantu penderita tunanetra menentukan arah mata angin saat berjalan
agar bisa berjalan ke mana-mana dengan lebih dulu mengenali arah tempat
yang akan ditujunya.
3. Meningkatkan kemandirian bagi tunanetra dalam melakukan aktivitasnya
sehari-hari.
21
1.5 Batasan Masalah
Dalam pembuatan alat ini, penulis membataskan permasalahan pada:
1. Pendeteksian jarak benda hanya yang berada di depan pengguna dan
mampu memantulkan suara.
2. Arah mata angin yang ditunjukkan ada delapan yaitu utara, timur laut,
timur, tenggara, selatan, barat daya, barat dan barat laut.
3. Alat ini menggunakan kompas modul HM55B, sensor ultrasonik D-Sonar
dan mikrokontroler AT89S51.
4. Output berupa suara, sehingga hanya dapat digunakan untuk penderita
tunanetra (tidak dapat digunakan untuk tunarungu).
BAB II
KAJIAN PUSTAKA
2.1 Mata Angin
Mata angin merupakan panduan yang digunakan untuk menentukan
arah. Umumnya digunakan dalam navigasi, kompas dan peta. Berpandukan
pada pusat mata angin, maka kita akan melihat 8 arah yaitu dengan urutan
sebagai berikut (mengikuti arah jarum jam):
1. Utara (0°)
2. Timur laut (45°): Terletak di antara utara dan timur
3. Timur (90°)
4. Tenggara (135°): Terletak di antara timur dan selatan
5. Selatan (180°)
6. Barat daya (225°): Terletak di antara selatan dan barat
7. Barat (270°)
8. Barat laut (315°): Terletak di antara barat dan utara
Utara, timur, selatan dan barat merupakan empat mata angin utama.
Utara dan selatan menggambarkan kutub Bumi, manakala timur dan barat
menentukan arah putaran Bumi. (www.wikipedia.org)
Orang biasanya menggunakan petunjuk bintang untuk menentukan arah
mata angin. Yang demikian itu telah disebutkan dalam al Qur’an surat Al
An’am ayat 97 sebagaimana telah dijelaskan pada BAB I.
Firman Allah ”Dan Dialah yang menjadikan bintang-bintang bagimu
23
agar kamu menjadikannya petunjuk dalam kegelapan di darat dan di laut.”
Sebagian ulama salafi menyatakan ”Barangsiapa yang meyakini bahwa
bintang-bintang itu mempunyai fungsi selain dari 3 hal tersebut, maka ia telah
melakukan kesalahan dan berbuat dusta kepada Allah SWT, karena Allah telah
menjadikannya sebagai hiasan langit, sebagai alat untuk melempari syaitan,
dan sebagai petunjuk arah bagi manusia dalam kegelapan daratan dan lautan.”
Firman-Nya ”Sesungguhnya Kami telah menjelaskan tanda-tanda kebesaran
(Kami).” Maksudnya kami telah menjelaskan dan menerangkannya ”kepada
orang-orang yang mengetahui.” Maksudnya orang-orang yang berakal yang
mengetahui kebenaran dan menghindari semua kebathilan. (Abdullah dan
Abdurrahman, 2007:98)
”Dan (Dia ciptakan) tanda-tanda (penunjuk jalan). dan dengan bintang-bintang itulah mereka mendapat petunjuk.” (Q.S. An-Nahl:16)
Firman Allah SWT M»yJ»n= tæ ur “Dan (Dia ciptakan) tanda-tanda
(petunjuk)” maksudnya petunjuk-petunjuk, berupa gunung-gunung yang besar,
bukit-bukit yang kecil dan sejenisnya, yang orang-orang musafir dapat
mengetahui adanya daratan dan lautan jika mereka tersesat di jalan. Dan firman
Allah (brßtGöku öNèd ÄNôfZ9 $Ä) ”Dan dengan bintang-bintang itulah mereka
mendapat petunjuk,” maksudnya dalam kegelapan malam, seperti yang
diucapkan Ibnu Abbas. Kemudian Allah Ta’ala mengingatkan atas kebesaran-
Nya. Ibadah itu tidak layak kecuali kepada-Nya, bukan untuk yang lain-Nya.
(Abdullah dan Abdurrahman, 2007:48)
Manusia mengenal dua gugus bintang yang dapat dijadikan sebagai
petunjuk arah atau waktu di malam hari, apabila mereka berada di tengah-tengah
samudera atau padang sahara yang luas (Ichwan, 2004:210), yaitu:
Pertama, bintang biduk (bintang tujuh). Bintang jenis ini biasanya
digunakan untuk mengetahui arah pada malam hari, yaitu dengan cara membuat
garis lurus sebagai penghubung di antara bintang-bintang itu, maka akan
diketahui arah utara. Bintang ini menampakkan diri pada bulan Maret sampai
bulan Juli, yang letaknya di belahan bumi sebelah utara.
Kedua, bintang pari (bintang gubug penceng atau bintang salib selatan).
Sebagaimana mengetahui arah utara, cara yang digunakan untuk mengetahui
arah yang ditunjukkan bintang ini kita harus membuat garis-garis penghubung
antara bintang-bintang tersebut. Sedangkan gugus bintang ini menampakkan diri
pada bulan maret sampai agustus pada belahan bumi sebelah selatan.
2 Kompas Digital HM55B
Kompas Modul Hitachi HM55B adalah sensor medan magnet sumbu-
rangkap yang dapat menunjukkan arah pada alat elektronik atau pembuatan
robot. Perangkat yang menunjukkan arah pada Kompas Modul adalah chip
Hitachi HM55B. (Parallax. Inc,2005:1)
25
2 Fitur-Fitur
1. Sensitif terhadap variasi mikrotesla (μT) dalam kekuatan medan
magnet
2. Menyederhanakan arah dengan medan magnet melalui pengukuran
dua kutub.
3. Resolusi yang bagus untuk 6-bit (64-arah) setelah kalibrasi
software.
4. Hanya 30 hingga 40 ms antara mulai pengukuran dan data siap.
5. Merangkai resistor pengaman untuk mengurangi risiko konflik pin
data bus
6. Rapi dengan papan berukuran 0,3 inci, 6-pin DIP paket (Parallax.
Inc,2005:1)
2 Pin-pin pada HM55B
Gambar 2.1 Pin-pin pada HM55B
1. Din - Input serial data
2. Dout - Output serial data
3. GND - Ground -> 0 V
4. CLK - Input clock
5. /EN - Aktif-perangkat lunak
6. Vcc - +5 V input daya (Parallax. Inc,2005:7)
2.2.3 Cara Mengoperasikan
Gambar 2.2 Cara mengukur sudut yang dibentuk arah utara dan sumbu kompas x
Kompas HM55B Hitachi Modul ini memiliki dua sumbu, x dan y.
Setiap sumbu memiliki kuat medan magnet sejajar dengan itu. Sumbu x (kuat
medan) × cos (θ), dan sumbu y (kuat medan) × sin (θ). Untuk mencari besar θ
yang searah jarum jam menggunakan rumus:
θ = arctan
−x
y
(2.1)
Di mana:
θ : sudut yang dibentuk antara arah utara dan sumbu x
x : sumbu x kompas modul
27
y : sumbu y kompas modul
Perintah ATN mengembalikan sudut dalam bentuk radian biner. (Parallax.
Inc,2005:6)
2.2.4 Kumpulan Perintah
Perintah-perintah ini dialihkan ke Kompas Modul. (Parallax,
Inc.2005:25)
Tabel 2.1 Perintah-perintah yang dikirim ke kompas modul
Nilai Biner Kuantitas
0000 Perangkat Reset
0001 Mulai pengukuran
0011 Laporan status pengukuran (dan mengirimkan pengukuran jika sudah siap)
2.2.5 Perintah Status
Kompas Modul yang akan menjawab laporan perintah status pengukuran
dengan salah satu nilai berikut. (Parallax. Inc,2005:1)
Tabel 2.2 Jawaban perintah dari kompas modul
Nilai biner Kuantitas
Bit - 3.210 3 dan 2 menunjukkan pengukuran selesai, 1 dan 0 menunjukkan kesalahan pengukuran
1100 11 -> Pengukuran selesai; 00 -> tidak ada kesalahan
00xx Pengukuran masih dalam proses, atau perangkat telah
direset
XX11 / EN tidak menerima rendah-tinggi-rendah dan sinyal antara laporan perintah mulai
2.3 Gelombang Bunyi
Gelombang bunyi merupakan gelombang longitudinal yang terjadi
karena perapatan dan perenggangan dalam medium gas, cair, atau padat.
Kita dapat mendengar bunyi di sekitar kita karena kita telah diberi indera
pendengar yaitu telinga.
u
”Dan Dialah yang telah menciptakan bagi kamu sekalian, pendengaran, penglihatan dan hati. Amat sedikitlah kamu bersyukur.” (QS. Al Mu’minun:78)
Allah Ta’ala menyebutkan beberapa nikmatnya yang telah dilimpahkan
kepada hamba-hamba-Nya, di mana dia telah memberikan pendengaran,
penglihatan, dan hati yaitu pemahaman yang dengannya mereka mengingat
berbagai hal serta mengambil pelajaran dari alam berupa tanda-tanda yang
menunjukkan Keesaan Allah, dan bahwasannya Dia Mahaberbuat dan Memilih
apa saja yang Dia kehendaki. Firman-Nya ”Amat sedikit kamu bersyukur”
maksudnya, sangat sedikit sekali rasa syukur kalian kepada Allah Ta’ala atas
segala nikmat yang telah dilimpahkan kepada kalian. (Abdullah dan
Abdurrahman, 2007:23)
Di dalam gas, kerapatan dan tekanan terkait erat. Oleh karena itu,
29
gelombang bunyi dalam gas seperti udara, dapat dipandang sebagai gelombang
kerapatan atau gelombang tekanan. Di dalam gelombang pada tali, simpangan
transversal tali dinyatakan fungsi gelombang y(x ± vt). Fungsi gelombang untuk
gelombang bunyi yang analog dengan simpangan transversal tali adalah
simpangan longitudinal molekul-molekul gas dari posisi kesetimbangannya s(x
± vt) atau fungsi yang berkaitan (perubahan tekanan gas p(x ± vt)).
2.3.1 Gelombang Bunyi Di Dalam Medium Gas/Udara
2.3.2 Hubungan Tegangan dan Regangan
Sebagaimana telah kita ketahui, udara atau zat gas pada umumnya tidak
dapat melawan perubahan bentuk. Karena itu di dalam medium ini tidak
mungkin terjadi gelombang geser (shear waves) atau gelombang transversal.
Namun medium ini memiliki respon terhadap kompresi volume. Untuk tekanan
p tertentu, besarnya respon ini ditentukan oleh modulus elastis ”bulk” K, yang
didefinisikan menurut rumus di sekitar keadaan setimbang (Tjia, 1993: 11.13
-11.14):
00
=ρ
ρddpK
, (2.2)
Mengingat bahwa Vm=ρ
, maka
dvvmd 2−=ρ
(2.3)
Sehingga
0
2
0
−
=
mVx
dVdpK ρ
00
−=
dVdpV
(2.4)
Modulus K jelas berharga positif karena dp/dV selalu negatif. Perlu dicatat
bahwa dalam uraian gelombang tali tidak ditinjau adanya regangan sebenarnya
(panjang tali dianggap tetap), tetapi gaya penggerak osilasi lokal dikaitkan
dengan perubahan bentuk (slope) tali. (Tjia, 1993: 11.14)
Gambar 2.3 Pergeseran dan perubahan dimensi dari elemen volume udaradalam tabung fiktif yang diambil searah gaya gangguan.
Untuk menurunkan hubungan tegangan-tegangan tersebut kita
bayangkan sebuah tabung udara yang diperlihatkan dalam gambar 2.3.
Andaikan dalam keadaan setimbang, tekanan yang bekerja pada kedua sisi
elemen volume udara sama besarnya (= 0p ), dan kerapatan massanya sama
31
dxdϕ
ρρρ −=
−
0
0
dengan 0ρ . Sebagai akibat sisi kiri berubah menjadi p seperti diperlihatkan
dalam gambar 2.3. Perbedaan tekanan ini akan menimbulkan dua macam
perubahan, yaitu (andaikan p > 0p ) (Tjia, 1993: 11.15)
a. Pergeseran kedudukan elemen udara (sisi kiri dari x ke x + ψ dan sisi
kanan dari x + dx ke x + dx + ψ ’ = x + ψ + dx + dψ ).
b. Perubahan tebal elemen volume dari dx menjadi dx + dψ ; rapat massa
0ρ berubah menjadi ρ .
Berdasarkan hukum kekekalan massa, besaran-besaran tersebut harus memenuhi
persamaan (Tjia, 1993: 11.15):
dxAddxA .)(. 0ρψρ =+ (2.5)
Atau
dxdψρ
ρ+
=1
0
; (2.5a)
Dalam aproksimasi 1< <∂∂ xψ , persamaan ini menjadi
−= dxdϕρρ 10
, (2.5b)
Atau
(2.5c)
Pada umumnya proses gerak gelombang dalam udara bersifat adiabatik.
Maka untuk medium ini berlaku hubungan (Tjia, 1993: 11.15-11.16):
( ) γγγγ −== VVppVppV 0000 ; (2.6)
Dengan V
PC
C=γ. Karena m berharga tetap dan
1−
= mV ρmaka p dapat
dipandang sebagai fungsi ρ. Sesuai dengan aproksimasi untuk persamaan 2,
dapat pula kita abaikan harga selisih ( ) 20ρρ − dalam jabaran deret Taylor
untuk p di sekitar 0ρ . Sebagai hasilnya dapat ditulis persamaan :
( )0
00
−+=ρ
ρρddppp
(2.7)
Dengan bantuan persamaan (2.2), persamaan ini menjadi (Tjia, 1993: 11.16):
−+=
0
00 ρ
ρρKpp
(2.7a)
Selanjutnya dengan hubungan (2.5c) yang diperoleh di atas sampailah kita pada
persamaan tegangan-regangan:
xKpp
∂∂−= ψ
0 (2.7b)
Dalam persamaan ini, notasi dxdψ
telah diubah menjadi x∂∂ ψ
mengingat
bahwa ψ juga bergantung pada t. Dari persamaan ini jelas bahwa nilai p
bergantung pada x, dan ( ) ( )xppdxxpp =+= ,0 sehingga ppdp −= 0 , dan
hubungan (11-38b) dapat diturunkan menjadi (Tjia, 1993: 11.16):
2
2
dxK
xp ψ∂+=
∂∂
(2.7c)
33
2 Persamaan gerak gelombang
Persamaan gerak lokal bagi elemen medium bermassa dm dalam gambar
2.3 akan diturunkan dari Hukum Newton sebagai berikut:
dF = (dm).a (2.8)
dengan Adxdm 0ρ= dan a sebagai percepatan pusat elemen tersebut. Andaikan
dalam jangka waktu t, pergeseran pusat massa seperti diperlihatkan gambar 2.3
sama dengan ( ) ψψψ ≈+
2'
, maka percepatannya adalah
2
2
ta
∂∂≈ ψ
Selanjutnya jelas pula dari gambar tersebut bahwa resultan gaya pada
elemen udara dalam arah +X adalah
dF = - Adp (2.9)
dengan
( ) ( ) dxxpxpdxxpdp
∂∂
=−+= (2.9a)
Berdasarkan pers (2.7c), ungkapan dF menjadi
dxdx
AKdF2
2ψ∂= (2.9b)
Substitusikan ungkapan-ungkapan dF, dm dan a ke dalam persamaan (2.3)
menghasilkan persamaan gelombang bebas satu dimensi:
02
20
2
2
=∂−∂∂
dtKxψρψ
; 01
2
2
22
2
=∂
∂−∂∂
tvxψψ
(2.10)
Dengan laju rambat:
0ρKv =
(2.10a)
Karena gerak osilasi lokal dalam kasus ini berlangsung sejajar arah rambatnya,
maka gelombang yang terjad disebut gelombang pergeseran (displecement)
longitudinal. (Tjia, 1993: 11.16-11.17)
2.3.3 Ungkapan-ungkapan lain bagi v
Pertama-tama akan diturunkan ungkapan v sebagai fungsi tekanan p.
Untuk ini kita tinjau kembali pers (2.6) dengan substitusi v = m/ρ. Maka bentuk
persamaan itu menjadi:
γγ ρρ −= 00pp (2.11)
Setelah didiferensiasi terhadap ρ, persamaan ini menghasilkan hubungan:
100
−−=
γγ ρργρ
pddp
(2.11a)
Dan
100
0
−=
ργρ
pddp
(2.11b)
Substitusikan ungkapan ini ke dalam persamaan (2.2) segera memberikan hasil:
0.pK γ= (2.12)
Dengan demikian, (Tjia, 1993: 11.16)
0
0ργ pv =
(2.13)
Pada keadaan standart (STP) parameter udara diketahui berharga sebagai
35
berikut:
4.1
1029.14.22
29
1001.11
23
0
26
0
=
==
==
−
γ
cmgx
molelit
molegm
p
cmdynexatmp
Berdasarkan harga-harga ini diperoleh kecepatan rambat gelombang bunyi sama
dengan (Tjia, 1993: 11.17):
( ) det3321029.101.14.1 9 mxxv == −
2.3.3 Pemantulan Gelombang Bunyi
Bila suatu gelombang datang pada suatu permukaan batas yang
memisahkan dua daerah dengan laju gelombang berbeda, maka sebagian
gelombang akan dipantulkan dan sebagian yang lain akan ditransmisikan. Ini
terjadi, misalnya, ketika suatu gelombang bunyi di udara menumbuk suatu
permukaan padat atau cair. Berkas yang terpantul membentuk sudut dengan
garis normal permukaan yang besarnya sama dengan sudut berkas datang.
(Tipler, 1991: 531-532)
Gambar 2.4 Ilustrasi gelombang masuk, gelombang pantul dan gelombang transmisi pada batas antara dua media tali di x = 0
Pada gambar 2.4 medium tali bagian kiri (I) yang berawal dari x = - ∞ ,
bersambung dengan tali kedua pada x = 0. Tali kedua (II) memanjang ke
sebelah kanan tanpa batas. Untuk sistem ini perumusan soalnya terdiri dari
persamaan diferensial masing-masing daerah sebagai berikut (Tjia, 1993: 11.22-
11.23):
0,012
12
21
21
2
≤=∂
∂−
∂∂
xtvxψψ
; (2.14)
0,012
22
22
22
2
>=∂
∂−
∂∂
xtvxψψ
; (2.14a)
Dengan syarat-syarat batas berupa syarat-syarat kontinuitas (Tjia, 1993: 11.23):
1. 21 ψψ = (2.15)
2. tdt ∂∂
=∂ 21 ψψ
(2.15a)
3. xx ∂∂
=∂
∂ 21 ψψ
(2.15b)
pada x = 0 dan pada setiap saat t. Syarat kedua menyatakan sinkronisasi gerak
pada titik temu kedua media. Syarat batas ketiga menyatakan kontinuitas slope
gelombang sesaat.
Membatasi diri pada gelombang harmonis, solusi untuk masing-masing
medium berbentuk umum (Tjia, 1993: 11.23-11.24):
rm ψψψ +=1 = gel. Masuk + gel pantul (refleksi)
37
mo
ro
mo
ro
t
r
ψψψψ
=
=
( ) ( )txktxk romo ''coscos 111 ωψωψ ++−= (2.16)
dengan 1
11
11
'', vkvk ωω ==, dan
tψψ =2 = gelombang yang diteruskan (transmisi)
= ( )txkto 22cos ωψ − (2.16a)
dengan 22 vk ω=. Berlakunya syarat-syarat batas tersebut untuk setiap t
langsung menghasilkan pembatasan ωωωω === 211 ' , dan persamaan 11 ' kk = .
Penerapan syarat batas (I) menghasilkan persamaan:
toromo ψψψ =+ (2.17)
Atau
1 + r = t (2.17a)
dengan definisi:
: koefisien pantul/refleksi (2.18)
: koefisien transmisi (2.18a)
Penerapan syarat batas (2) ternyata memberikan hasil yang sama. Selanjutnya
penerapan syarat batas (3) menghasilkan persamaan:
( ) 21 kk toromo ψψψ =− (2.19)
=−
1
21kk
tr(2.19a)
Dari persamaan (2.27a) dan (2.19a) di atas diperoleh rumus-rumus:
21
12kk
kt
+=
(2.20)
21
21
kkkk
r+−
= (2.21)
Dari rumus t dan r di atas serta harganya untuk kasus ekstrim ∞→
1
2k
k dan
01
2 →kk
jelas berlaku batas kisaran harga:
-1 ≤ r ≤ +1 dan 0 ≤ t ≤ 2
Perhatikan bahwa pemantulan dapat menimbulkan pembalikan fase gelombang.
Selanjutnya dengan mengambil contoh gelombang tali yang memenuhi
hubungan:
101
1 .ZTv
k
== ωω
i = 1,2 (2.22)
Persamaan (2.20) dan (2.21) dapat dituangkan dalam bentuk:
21
12ZZ
Zt
+=
21
21
ZZZZ
r+−
= (2.23)
2 Sensor D-Sonar
Ultrasonik adalah sebutan untuk jenis suara di atas batas suara yang bisa
didengar manusia. Seperti diketahui, telinga manusia hanya bisa mendengar
suara dengan frekuensi 20 Hz sampai 20 KHz. Lebih dari itu hanya beberapa
jenis binatang yang mampu mendengarnya, seperti kelelawar dan lumba-lumba.
Lumba-lumba bahkan memanfaatkan ultrasonik untuk mengindera benda-benda
39
di laut. Prinsip ini kemudian ditiru oleh sistem pengindera kapal selam.
(www.delta-electronic.com)
Delta Sonar Interface merupakan antarmuka yang menggunakan sistem
sonar dengan frekuensi tinggi (ultrasonik) dalam mengukur jarak terhadap suatu
obyek. D-Sonar akan memancarkan gelombang ultrasonik yang diterima oleh
obyek dan dipantulkan kembali seperti pada gambar 2.5. (www.delta-
electronic.com)
Gambar 2.5 Pantulan gelombang ultrasonik (www.delta-electronic.com)
Jarak antara obyek dengan sensor dapat diketahui dari interval antara
dipancarkannya gelombang tersebut hingga diterima kembali.
2 Deskripsi Modul dan Pin
a. UART, bagian antarmuka UART level TTL yang dapat
dihubungkan dengan mikrokontroler UART atau Serial/COM
PC.
Gambar 2.6 Tata letak komponen (www.deltasonic.com)
b I/O PORT, bagian port di mana pengguna dapat mengakses modul
ini secara manual (tanpa menggunakan mikrokontroler atau PC)
yaitu hanya dengan memberikan trigger dan memeriksa lebar pulsa
yang dibangkitkan pada bagian echo
c. LED, indikasi bahwa D-Sonar mendeteksi obyek dalam range 3
meter
d. TRANSMITTER, Pemancar ultrasonik yang membangkitkan
frekwensi 40 KHz
e RECEIVER, Penerima ultrasonik yang mendeteksi adanya
frekwensi 40 KHz
Tabel 2.3 Pin-pin pada sensor D-Sonar dan fungsinya
Nama FungsiVCC Input sumber tegangan 5V
Echo Pulsa hasil pengukuran jarak obyek dengan lebar antara 100uS hingga 18mS
Trigger Input trigger (min 10uS) yang mengaktifkan D-Sonar
41
untuk mengukur jarak
Hubungkan ke Ground bila tidak digunakan / Mode UART
Echo Invers Invers dari pin Echo di mana lebar pulsa adalah level negatif
GND Input sumber tegangan 0V
RXD SONAR Bagian RX UART dari modul D-Sonar
TXD SONAR Bagian TX UART dari modul D-Sonar
2 Antarmuka I/O Port
Gambar 2.7 Timing Diagram D-Sonar
Pada bagian ini, proses pengukuran jarak dapat dilakukan hanya dengan
memberikan trigger dan mendeteksi lebar pulsa Echo saja seperti pada modul
ultrasonik pada umumnya.
Hasil pengukuran dalam bentuk pulsa dapat ditentukan dengan
menghitung lebar pulsa yang keluar pada bagian Echo. Lebar pulsa tersebut
mewakili waktu merambatnya sinyal ultrasonik dari D-Sonar ke obyek dan
kembali lagi, oleh karena itu jarak dapat diperoleh dengan persamaan.
(2.24)
Sedangkan jarak antara D-Sonar dengan obyek adalah ½ x s atau
setengah dari jarak rambat sinyal ultrasonik.
2 Mikrokontroler AT89S51
Mikrokontroler tipe AT89S51 sesuai dengan produk MCS-51, yang
diproduksi oleh ATMEL dengan teknologi memori yang tidak dapat hilang dan
densitas tinggi, di mana penggunaannya cukup luas. AT89S51 memerlukan
daya yang rendah dengan penampilan yang baik dengan menggunakan pengisi
sistem yang dapat diprogram dengan mudah melalui ISP Memory Flash.
Komputer dengan mikrokontroler dapat berhubungan secara langsung
hanya dengan menggunakan kabel antar muka (konektor paralel). Dengan ISP
Memory Flash memungkinkan program yang telah dibuat dapat diganti dengan
program yang baru dengan cara menghapus data yang ada pada mikrokontroler
lalu mengisi dengan program baru. Fitur yang dimiliki oleh mikrokontroler ini
adalah 4 Kbytes ISP (In- System Programmable) Memory Flash, 8 bit Unit
Pengolah Pusat (UPP), 32 jalur Input/Output (I/O) yang dapat diprogram, dua
buah pewaktu/penghitung 16 bit, Full DuplexSerial Port UART (Universal
Asynchronous Receiver Transmitter), 128 x 8 bit RAM internal, 4 Kbyte
43
EPROM ( Erasable and Programmable ROM), Chip Oscillator, eEnam sumber
sistem interupsi, watchdog timer, daerah operasi 4-5 Volt, daerah frekuensi 0-33
MHz, Waktu pengisian program singkat, dan program ISP sangat fleksible.
2.5.1 Pin-pin pada Mikrokontroler AT89S51
Gambar 2.8 Pin-pin pada mikrokontroler AT89S51
Fungsi dari masing-masing pin AT89S51 adalah (www.Ittelkom.ac.id):
1. Pin 1 sampai 8 (Port 1) merupakan port pararel 8 bit dua arah
(bidirectional) yang dapat digunakan untuk berbagai keperluan (general
purpose).
2. Pin 9 merupakan pin reset, reset aktif jika mendapat catuan tinggi.
3. Pin 10 sampai 17 (Port 3) adalah port pararel 8 bit dua arah yang memiliki
fungsi pengganti sebagai berikut :
• P3.0 (10) : RXD (port serial penerima data)
• P3.1 (11) : TXD (port serial pengirim data)
• P3.2 (12) : INT0 (input interupsi eksternal 0, aktif low)
• P3.3 (13) : INT1 (input interupsi ekstrernal 1, aktif low)
• P3.4 (14) : T0 (eksternal input timer / counter 0)
• P3.5 (15) : T1 (eksternal input timer / counter 1)
• P3.6 (16) : WR (Write, aktif low) Sinyal kontrol penulisan
data dari port 0 ke memori data dan input-output eksternal.
• P3.7 (17) : RD (Read, aktif low) Sinyal kontrol pembacaan
memori data input-output eksternal ke port 0.
4. Pin 18 sebagai XTAL 2, keluaran osilator yang terhubung pada kristal.
5. Pin 19 sebagai XTAL 1, masukan ke osilator berpenguatan tinggi,
terhubung pada kristal.
6. Pin 20 sebagai Vss, terhubung ke 0 atau ground pada rangkaian.
7. Pin 21 sampai 28 (Port 2) adalah port pararel 8 bit dua arah. Port ini
mengirim byte alamat bila pengaksesan dilakukan pada memori eksternal.
8. Pin 29 sebagai PSEN (Program Store Enable) adalah sinyal yang
digunakan untuk membaca, memindahkan program memori eksternal
(ROM / EPROM) ke mikrokontroler (aktif low).
9. Pin 30 sebagai ALE (Address Latch Enable) untuk menahan alamat bawah
selama mengakses memori eksternal. Pin ini juga berfungsi sebagai PROG
(aktif low) yang diaktifkan saat memprogram internal flash memori pada
mikrokontroler (on chip).
45
10. Pin 31 sebagai EA (External Accesss) untuk memilih memori yang akan
digunakan, memori program internal (EA = Vcc) atau memori program
eksternal (EA = Vss), juga berfungsi sebagai Vpp (programming supply
voltage) pada saat memprogram internal flash memori pada
mikrokontroler.
11. Pin 32 sampai 39 (Port 0) merupakan port pararel 8 bit dua arah. Berfungsi
sebagai alamat bawah yang dimultipleks dengan data untuk mengakses
program dan data memori eksternal.
12. Pin 40 sebagai Vcc, terhubung ke +5 V sebagai catuan untuk
mikrokontroler.
2 Keypad 4x4
DT-I/O 4 x 4 Keypad Module merupakan modul keypad berukuran 4
kolom x 4 baris. Modul ini dapat difungsikan sebagai device input dalam
aplikasi-aplikasi seperti pengaman digital, datalogger, absensi, pengendali
kecepatan motor, robotik, dan sebagainya.
Spesifikasi DT-I/O 4x4 Keypad Modul:
- 16 tombol (dengan fungsi tergantung pada aplikasi)
- konfigurasi 4 baris (input scanning) dan 4 kolom (output scanning)
- konfigurasi 4 baris (input scanning) dan 4 kolom (output scanning)
- Kompatibel penuh dengan DT-51 Low Cost Series dan DT-AVR Low
Cost Series. Mendukung DT-51 Minimum System ver 3.0, DT-51
PetraFuz, DT-BASIC Series, dan sistem lain.
Gambar 2.9 Penampang keypad 4x4
2 LCD M1632
Banyak sekali kegunaan LCD dalam perancangan suatu system yang
menggunakan mikrokontroler.
LCD berfungsi menampilkan suatu nilai hasil sensor, menampilkan teks,
atau menampilkan menu pada aplikasi mikrokontroler. LCD yang digunakan
adalah jenis LCD M1632. LCD M1632 merupakan modul LCD dengan
tampilan 16 x 2 baris dengan konsumsi daya rendah. Modul tersebut dilengkapi
dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD.
Fungsi pin-pin pada LCD M1632
1. Pin 1 dihubungkan ke Ground
2. Pin 2 dihubungkan ke Vcc +5V
3. Pin 3 dihubungkan ke bagian tengah daerah potensiometer 10 kOhm
sebagai pengatur kontras
47
Gambar 2.10 Pin-pin pada LCD M1632
4. Pin 4 memberitahu LCD bahwa sinyal yang dikirim adalah data, jika pin
4 ini diset ke logika 1 (high, +5) atau memberitahu bahwa sinyal yang
dikirim adalah perintah jika pin ini diset dengan logika 0 (low, 0V)
5. Pin 5 berfungsi mengatur fungsi LCD. Jika diset ke logika 1, (high, +5)
maka LCD berfungsi untuk menerima data (membaca data) dan
berfungsi untuk mengeluarkan data. Jika pin ini diset ke logika 0 (low,
0V). Namun kebanyakan aplikasi hanya digunakan untuk menerima
data sehingga pin 5 ini selalu dihubungkan ke Gnd
6. Pin 6 dihubungkan ke enable. Berlogika 1 setiap kali penerimaan/
pembacaan data.
7. Pin 7-14 dihubungkan ke data 8 bit data bus (aplikasi ini menggunaka
aplikasi 4 bit MSB saja, sehingga pin data yang digunakan hanya pin 11
sampai pin 14)
8. Pin 15-16 adalah tegangan untuk menyalakan lampu LCD.
2 ISD 2590
Untuk menghasilkan output suara pada perancangan alat ini
menggunakan ISD 2590 yang mempunyai kemampuan penyimpanan suara
dengan durasi 90 detik. ISD 2590 dioperasikan dalam mode address bit, artinya
setiap kata yang direkam mempunyai address sendiri. Address bit ini akan
menggunakan logika bilangan biner.
2 Fitur-Fitur
1. Mudah menggunakan chip tunggal, rekaman suara/pemutaran solusi
2. Berkualitas tinggi, reproduksi suara alami/ audio
3. Chip tunggal dengan durasi 90 detik.
4. Tombol manual atau mikrokontroler yang kompatibel
5. Pemutaran tingkat ulang diaktifkan
6. Cascadable langsung dengan durasi lebih lama.
7. Power-down otomatis (mode push-button), siaga saat ini 1 μA (ciri khas)
8. Nol-maksimal kuat penyimpanan, mengurangi baterai cadangan sirkuit
9. Pengalamatan penuh untuk menangani beberapa pesan
10. 100-tahun pesan tersimpan (ciri khas)
11. 100.000 siklus rekaman (ciri khas)
12. Sumber on-chip clock
13. Programmer dukungan dari menjalankan hingga aplikasi
14. Power supply tunggal 5 volt
15. Tersedia dalam bentuk mati, PDIP, SOIC dan TSOP kemasan
49
16. Suhu = mati (0 ° C to +50 ° C) dan paket (0 ° C to +70 ° C)
2 Deskripsi Pin
Gambar 2.11 Pin-pin pada ISD 2590 (www.winbond.com, 2005)
Tabel 2.4 Pin-pin pada ISD 2590 dan fungsinya (www.winbond.com, 2005)
Nama Pin
Nomor Pin Fungsi
SOIC/ PDIP
TSOP
Ax/M
x
1-10/
1-7
8-17/
8-14
Alamat/Mode Input: Alamat / Mode Input
memiliki dua fungsi tergantung pada tingkatan
kedua Most Significant Bit (MSB) alamat pin
(A8 dan A9).
AUX
IN
11 18 Auxiliary Input: Alat Bantu Input adalah
multiplekser melalui pin output amplifier dan
output speaker.
VSSA, 13, 12 20, 19 Ground: ISD2500 serangkaian perangkat
VSSD terpisah menggunakan analog dan digital bus
ground.
SP + /
SP -
14/15 21/22 Output Speaker: Semua perangkat dalam seri
ISD2500 yang masuk dalam chip perbedaan
kendali speaker, kemampuan mengendalikan
50mW pada 16 Ω dari AUX IN (12,2 mW dari
memori).
VCCA-
VCCD
16-28 23-7 Supply Voltage: Untuk meminimalkan noise,
rangkaian analog dan digital dalam perangkat
seri ISD2500 menggunakan daya yang terpisah
MIC 17 24 Mikrofon: Pin mikrofon mentransfer sinyal
masukan sinyal ke on-chip Preamplifier.
MIC
REF
18 25 Mikrofon Referensi: Input MIC REF adalah
masukan pembalik ke mikrofon Preamplifier.
AGC 19
26 Automatic Gain Control: AGC secara
dinamis mengatur penambahan Preamplifier
untuk mengimbangi berbagai tingkat input
mikrofon.
ANA
IN
20 27 Analog Input: Analog Input mentransfer
sinyal analog ke chip untuk merekam.
ANA
OUT
21 28 Analog Output: pin ini memberikan output
kepada Preamplifier pengguna.
OVF 22 1 Overflow: sinyal pulsa ini RENDAH dan
berakhir pada memori array, menunjukkan
perangkat telah diisi dan pesan telah over.
CE 23 2 Chip Enable: masukan pin CE diambil
RENDAH untuk mengaktifkan semua
pemutaran dan merekam operasi.
PD 24 3 Power Down: Ketika merekam atau pemutaran
51
tidak beroperasi, pin PD harus ditarik TINGGI
menempatkan bagian dalam modus siaga.
EOM 24 5 End-of-Message: Baterai penanda secara
otomatis dimasukkan pada akhir setiap pesan
rekaman.
XCL
K
26 5 External Clock: masukan clock eksternal
memiliki perangkat internal pull-down
P/R 27 6 Playback / Record: input pin P/R terkunci
oleh pin CE.
2 Kualitas Suara/ Bunyi
Winbond's ISD2500 menyediakan serangkaian perangkat yang
ditawarkan pada 4.0, 5.3, 6.4, dan 8,0 kHz sampling frekuensi, yang
memungkinkan pengguna memilih kualitas suara. Meningkatkan durasi dengan
menurunkan seri produk sampling frekuensi dan lebar suara, yang
mempengaruhi kualitas suara. (www.winbond.com, 2005)
Contoh suara langsung disimpan ke dalam on-chip memori. Baterai
tanpa digitalisasi dan kompresi yang terkait seperti solusi lainnya. Menyediakan
penyimpanan analog langsung yang cukup baik, terdengar alami reproduksi
suara, musik, nada, dan efek suara yang tidak tersedia dalam kebanyakan solusi
digital. (www.winbond.com, 2005)
2.8 Amplifier
Penguat audio (amplifier) secara harfiah diartikan dengan memperbesar
dan menguatkan sinyal input. Tetapi yang sebenarnya terjadi adalah, sinyal
input di-replika (copied) dan kemudian di reka kembali (re-produced) menjadi
sinyal yang lebih besar dan lebih kuat. (Zaki, 2007:91)
Dari sinilah muncul istilah fidelitas (fidelity) yang berarti seberapa mirip
bentuk sinyal keluaran hasil replika terhadap sinyal masukan. Ada kalanya
sinyal input dalam prosesnya kemudian terdistorsi karena berbagai sebab,
sehingga bentuk sinyal keluarannya menjadi cacat. (Zaki, 2007:91)
Sistem penguat dikatakan memiliki fidelitas yang tinggi (high fidelity),
jika sistem tersebut mampu menghasilkan sinyal keluaran yang bentuknya persis
sama dengan sinyal input. Hanya level tegangan atau amplitudo saja yang telah
diperbesar dan dikuatkan. (Zaki, 2007:91-92)
Di sisi lain, efisiensi juga mesti diperhatikan. Efisiensi yang dimaksud
adalah efisiensi dari penguat itu yang dinyatakan dengan besaran persentasi dari
power output dibandingkan dengan power input. Sistem penguat dikatakan
memiliki tingkat efisiensi tinggi (100 %) jika tidak ada rugi-rugi pada proses
penguatannya yang terbuang menjadi panas. (Zaki, 2007:92)
BAB III
53
METODE PENELITIAN
31 Waktu dan Tempat Penelitian
Penelitian ini akan dilaksanakan pada bulan November 2009 dan
bertempat di Laboratorium Elektronika Universitas Islam Negeri Maulana
Malik Ibrahim Malang.
32 Alat dan Bahan
Alat yang digunakan pada penelitian ini adalah:
1. Seperangkat komputer personal tipe pentium 4 CPU 2,66 GHz, harddisk
80 Gbyte, memori 240 Mbyte RAM dan sistem operasi microsoft windows
XP profesional untuk membuat program dan penulisan laporan
2. Perangkat lunak software Bahasa Assembler untuk penulisan program.
Sedangkan bahan-bahan yang diperlukan dalam penelitian ini adalah:
1. Mikrokontroler AT89S51
2. ISD 2590
3. Speaker
4. Sensor ultrasonik D-Sonar
5. Kompas modul HM55B
6. LCD M1632
7. Amplifier
33 Perancangan dan Pembuatan Alat
Perancangan dan pembuatan alat dibagi menjadi dua tahap, yaitu tahap
pembuatan perangkat keras (hardware) dan tahap perancangan perangkat lunak
(software).
3.3.1 Tahap Perancangan dan Pembuatan Perangkat keras
3 Perancangan Sistem Keseluruhan
Perancangan sistem keseluruhan ini berfungsi untuk mengontrol
keseluruhan kerja dari kompas modul HM55B dan sensor D-Sonar.
Perancangan sistem keseluruhan ini ditunjukkan oleh diagram blok pada
gambar 3.1 berikut:
Gambar 3.1 Diagram blok perancangan sistem keseluruhan
55
3 Perancangan Rangkaian Kompas Modul HM55B
Gambar 3.2 Rangkaian kompas modul HM55B
1. Pin Data dihubungkan dengan port P3.0 dari MK untuk mengirimkan data
dari kompas modul.
2. Pin CLK dihubungkan dengan port P3.1 dari MK untuk menerima data dari
kompas modul.
3. Pin /Enable dihubungkan dengan port P3.2 dari MK untuk mengaktifkan
perangkat kompas modul tersebut.
3 Perancangan Rangkaian Sensor D-Sonar
Gambar 3.3 Rangkaian sensor D-Sonar
1. Pin TRIGGER dihubungkan dengan port P2.1 MK untuk mengaktifkan D-Sonar sehingga bisa mengukur jarak
2. Pin ECHO dihubungkan dengan port P2.2 MK untuk mengirimkan pulsa hasil pengukuran jarak obyek
3 Perancangan Rangkaian LCD M1632
Gambar 3.4 Rangkaian LCD M1632
1. Pin RS dihubungkan dengan port P2.7 dari MK untuk membedakan sinyal
antara instruksi program (instruksi penulisan data)
57
2. Pin E dihubungkan dengan port P2.6 dari MK untuk memberikan instruksi
bahwa LCD dapat dikirimi data.
3. Pin DB0-DB7 dihubungkan dengan port P0.0-P0.7 dari MK untuk
menampilkan data ke mikrokontroler.
4. Pin R/W dihubungkan dengan ground untuk sinyal tulis data.
3 Perancangan Rangkaian Keypad
Keypad 4x4 merupakan susunan 16 tombol sebagai sarana input ke
mikrokontroler, meskipun jumlah tombol ada 16 tapi hanya memerlukan 8 jalur
port paralel. Pada pembuatan alat ini, port pararel pada keypad terhubung pada
port pararel MK AT89S51 yaitu P.1.0 hingga P1.7. Rangkaian dari keypad
ditunjukkan pada gambar 3.6. berikut
Gambar 3.5 Rangkaian keypad
3 Perancangan Rangkaian Sensor ISD 2590
Gambar 3.6 Rangkaian ISD 2590
1. Pin A1/M1 sampai A7 dihubungkan secara paralel dengan port
DB0 sampai DB7 dari LCD untuk pengalamatan data dari ISD ke
LCD.
2. Pin A8 dan A9 dihubungkan dengan port P25 dan P24 dari MK
untuk pengalamatan awal.
3. Pin PD diubungkan dengan port P22 dari MK untuk
menempatkan modus siaga.
4. Pin PR dihubungkan dengan port P23 dari MK untuk
menampilkan kembali suara yang telah direkam.
3.3.2 Tahap Perancangan Perangkat Lunak (Software)
Pembuatan perangkat lunak berfungsi untuk memberikan perintah pada
perangkat keras yang telah dirangkai agar bisa beroperasi sesuai dengan
rancangan. Perangkat lunak yang digunakan dalam pembuatan alat ini adalah
59
start
Isi suara Dengar suara
Isi suara sesuai
address
Dengar suara sesuai addres
Baca jarak
Bicara jarak
Baca arah
Bicara arah
Pesan off
End
Y
N
Y
Y
Tekan 1
Kalibrasi timer menjadi jarak
Tulis jarak pada LCD
Tekan 2
Kalibrasi timer menjadi arah mata
angin
Tulis arah pada LCD
Tekan 3
Baca jarak
Bicara jarak
Kalibrasi timer menjadi jarak
Tulis jarak pada LCD
Baca arah
Bicara arah
Kalibrasi timer menjadi arah mata
angin
Tulis arah pada LCD
N N N
Y
N
Jarak<1
Y
Y
Jarak<1
N
Y
Y
N
N
bahasa pemrograman Assembler MCS-51.
Algoritma pemrograman pada pembuatan alat ini ditunjukkan sesuai
flowchart pada gambar 3.7
Gambar 3.7 Flowchart perancangan software
34 Pengujian
3.4.1 Pengujian Rangkaian Kompas Modul HM55B
Tujuan pengujian kompas modul HM55B adalah untuk mengetahui
apakah kompas ini bisa membaca arah dengan tepat.
1. Peralatan pengujian:
• Mikrokontroler
• HM55B
2. Prosedur pegujian:
• Mikrokontroler diprogram agar bisa mengirim data 1100001100010000
dan menerima
data dalam bentuk respon 0001 dan nilali arah (sumbu x dan sumbu y) dr
HM55B
• Jika HM55B merespon dan memberikan data ke mikrokontroler, maka
HM55B bekerja dengan baik
3.4.2 Pengujian Rangkaian Sensor D-Sonar
Tujuan pengujian rangkaian sensor D-Sonar adalah untuk mengetaui
apakah sensor bisa bekerja membaca jarak benda di depannya.
1. Peralatan pengujian:
• Mikrokontroler
• Sensor D-Sonar
61
2. Prosedur pegujian:
• Mikrokontroler diprogram agar bisa mengirim trigger dan menerima signal
dari D-Sonar yang merupakan informasi jarak
• Jika D-Sonar merespon dan memberikan signal ke mikrokontroler, maka
D-Sonar bekerja dengan baik
3.4.3 Pengujian Rangkaian Sensor ISD 2590
Tujuan pengujian ISD 2590 adalah untuk mengetahui apakah ISD dapat
merekam suara dengan baik dan menghasilkan suara sesuai dengan rancangan.
1. Peralatan pengujian:
• ISD
• Mikrokontroler
• LCD
2. Prosedur pengujian:
• Diberikan program pengisian dan program untuk menjalankan suara pada
ISD
• Jika ISD dapat merekam dan menjalankan suara maka ISD berfungsi
dengan baik
3 Tahap Pengukuran
Tahap pengukuran ini dibedakan menjadi dua, yaitu tahap pengukuran
jarak benda dan tahap pengukuran arah mata angin.
3 Pengukuran Jarak Benda
Langkah-langkah pengambilan data untuk jarak benda adalah:
1. Meletakkan bidang datar di depan alat.
2. Meletakkan penggaris sepanjang 100 centi meter
antara bidang datar dan alat tersebut.
3. Mengukur dan mencatat jarak antara bidang dan
alat.
4. Menekan tombol 1 pada keypad dan mencatat
suara jarak yang terdengar dari headset.
5. Menjalankan secara perlahan-lahan alat tersebut
dari jarak 100 centi meter dan berhenti pada jarak
tertentu, kemudian dilakukan langkah 3 dan 4.
6. Melakukan pengukuran sebagaimana langkah 3
hingga 5 dengan jarak acak sebanyak sepuluh
kali.
3 Pengukuran Arah Mata Angin
Langkah-langkah pengambilan data untuk arah mata angin adalah:
1. Mencatat besar sudut delapan arah mata angin, yaitu utara, timur
laut, timur, tenggara, selatan, barat daya, barat, dan barat laut.
2. Menghadapkan kompas mekanik bebas di lantai, didiamkan hingga
posisinya stabil.
3. Meletakkan kertas penunjuk sudut di lantai dengan arah mengikuti
63
kompas tersebut, dan merekatnya agar tidak bergeser.
4. Meletakkan alat di atas kertas tersebut dan menghadapkannya ke
arah utara (0o).
5. Menekan tombol 2 pada keypad dan memutar arah alat ke kanan atau
ke kiri sedikit hingga terdengar suara “arah utara” dari headset.
Mendiamkannya sejenak hingga stabil.
6. Mencatat besar sudut yang dibentuk saat terdengar suara ”arah
utara”.
7. Memutar alat hingga suara berubah menjadi ”arah timur laut”.
Kemudian dilakukan langkah 6.
8. Melakukan langkah 7 hingga diperoleh data hasil pengukuran
delapan arah mata angin.
3 Tahap Analisis
Tujuan dari tahap analisis ini adalah untuk mengetahui tingkat keakuratan
perangkat elektronik yang telah disusun, apakah bekerja dengan baik. Data
yang telah diambil kemudian dianalisis.
Data arah mata angin dicari nilai sensitivitasnya menggunakan
persamaan (3.1) berikut (Pikatan,1992:2):
( ) %100_
__%_ xsebenarnyasudut
pengukuransudutsebenarnyasudutsudutasSensitivit −=...(3.1)
Simpangan tersebut dijumlahkan untuk mencari simpangan totalnya.
Kemudian simpangan total ini dicari simpangan rata-ratanya untuk mewakili
secara umum ketelitian alat ini dalam membaca arah mata angin. Untuk
mencari simpangan rata-ratanya menggunakan persamaan (3.2) berikut
(Sudjana, 2001:66-67):
dataJumlahasSensitivitrataasSensitivit
_(%)(%)2_ ∑=
.................................................(3.2)
Data jarak benda yang telah diperoleh kemudian dicari selisihnya. Selisih masing-masing data tersebut dicari simpangannya menggunakan persamaan (3.3) berikut (Pikatan,1992:2):
( ) %100_
__%_ xmaksimaljarak
pengukuranjaraksebenarnyajarakjarakSimpangan −=..(3.3)
Untuk mengetahui kevalidan alat dalam membaca jarak benda di
depannya maka dicari nilai kesalahan relatif dari nilai simpangan yang telah
diperoleh menggunakan persamaan (3.4) berikut (Sudjana, 2001:66-67):
dataJumlahSimpanganrataSimpangan
_(%)(%)2_ ∑=
.................................................(3.4)
65
BAB IV
HASIL DAN PEMBAHASAN
4.1 Hasil Penelitian
Pengujian ini dilakukan pada gabungan antara perangkat keras
(hardware) dan perangkat lunak (software). Software yang digunakan adalah
bahasa pemrograman Assembler.
4.1.1 Hasil Pengujian Kompas Modul HM55B
Kompas modul HM55B pada alat ini berfungsi untuk menentukan arah
mata angin. Cara kerja kompas ini dengan membaca kuat medan magnet.
Pengujian pada kompas modul HM55B ini dilakukan dengan membagi
lingkaran 360° menjadi empat kuadran, yaitu kuadran I, kuadran II, kuadran III
dan kuadran IV. Tiap kuadran memiliki dua sumbu, yaitu sumbu x dan sumbu y.
Pembagian kuadran tersebut ditunjukkan pada gambar 4.1. Masing-masing
sumbu pada kuadran tersebut memiliki dua bagian. Satu bagian memiliki
bilangan bernilai tetap dalam satu kuadran, sedangkan satu bagian lagi nilainya
berubah-ubah sesuai perputaran kompas. Bagian sumbu yang memiliki bilangan
tetap digunakan sebagai patokan. Salah satu sumbu bilangan yang bernilai tetap
akan berubah bila mencapai batas akhir satu kuadran. Bilangan yang berubah-
ubah menunjukkan interval dalam suatu kuadran. Besar sudut sebenarnya dari
tiap bilangan yang ditampilkan ditentukan dengan memilih salah satu sumbu
masing-masing kuadran.
255-205=50
Pengukuran untuk mencari sudut sebenarnya pada kuadran I dan IV
menggunakan sumbu y sedangkan pada kuadran II dan III menggunakan sumbu
x. Besar sudutnya dihitung dengan persamaan (3.1).
bilangankuadran
nn Σ<+= − 1θθ
.......................................................................(3.1)
Keterangan:
θn = besar sudut data ke n
θn-1 = besar sudut data n-1
Gambar 4.1 Diagram pembagian sudut arah mata angin
Tabel hasil perhitungan sudut berdasarkan sistem linear tersebut
67
ditunjukkan pada lampiran 2 tabel 2.1. Data pada lampiran tersebut
menunjukkan bahwa skala sudut yang digunakan berbeda-beda baik skala sudut
dalam satu kuadran maupun skala sudut antarkuadran. Skala sudut yang
ditunjukkan tersebut antara satu hingga tiga derajat. Sudut utama yang
digunakan sebagai input pada program ini adalah 0o/360o, 90o, 180o, 270o. Selain
empat sudut tersebut, sudut pertengahan dari masing-masing kuadran juga
penting. Empat sudut tersebut adalah 45o, 135o, 225o, dan 315o. Tabel pada
lampiran 2 tabel 2.1 tersebut menunjukkan bahwa kuadran I, II, dan III sudut
pertengahannya dapat ditampilkan dengan tepat, yaitu 45o, 135o, dan 225o
sedangkan pada kuadran IV sudut pertengahan yang seharusnya 315o tidak tepat
terbaca, yang terbaca pada kuadran ini adalah sudut 341o dan 316o. Besar sudut
ini selisihnya hanya sebesar 1o, sehingga masih mendekati nilai sebenarnya.
Pengujian dan analisis di atas menunjukkan bahwa data ini dapat digunakan
untuk menentukan arah mata angin.
4.1.2 Hasil Pengujian Sensor D-Sonar
Sensor D-Sonar pada alat ini berfungsi untuk menentukan jarak benda di
depan penderita tunanetra. Keluaran dari sensor ini berupa timer dengan satuan
µm yang menunjukkan waktu berjalannya pulsa gelombang ultrasonik.
Pemberian masukan pada sensor ini dilakukan dengan mengambil data awal
dengan meletakkan benda di depan sensor dengan jarak 100 cm. Keluaran timer
dicatat pada tabel. Sensor digeser mendekati benda dengan kelipatan tiap kali 5
cm berhenti. Sensor terus digeser hingga jaraknya 5 cm di depan benda sambil
Grafik Hubungan Timer dan Jarak
y = 0.5438x + 1.5159
0
20
40
60
80
100
120
0 25 50 75 100 125 150 175 200
Tim er (m ikro sekon)
Jara
k (c
m)
Jarak
Linear (Jarak)
terus dicatat timernya. Data timer dan jarak yang telah diukur ditunjukkan pada
lampiran 2 tabel 2.2.
Data hasil pengukuran ini kemudian dibuat sistem linear berupa grafik
yang ditunjukkan pada gambar 4.2. Pembuatan grafik ini bertujuan agar
keluaran yang ditampilkan berupa jarak dengan satuan cm. Grafik tersebut
menunjukkan hubungan antara timer dalam (µm) dengan jarak (cm). Data secara
detail dihitung menggunakan persamaan (3.2). Persamaan ini diperoleh dari
rumus pembentukan grafik linear.
y = 0.5438x + 1.5159 (3.2)
Gambar 4.2 Grafik linear hubungan antara timer (μs) dan jarak benda (cm)
Grafik pada gambar di atas menunjukkan bahwa garis penghubung titik-
titik tersebut berbentuk linear. Hubungan ini menunjukkan bahwa makin besar
timer (waktu) yang diperlukan, makin besar pula jarak yang ditampilkan
sehingga memenuhi persamaan (2.24). Hasil pengukuran dan analisis ini
69
menunjukkan bahwa data ini dapat digunakan sebagai input pemrograman pada
sensor D-Sonar.
4.1.3 Hasil Pengujian ISD 2590
ISD 2590 memiliki durasi 90 detik dan pengalamatan 600 address.
Address ini dibagi dalam skala 10. Durasi tiap pengalamatan dapat dihitung
menggunakan persamaan (4.1). Hasil perhitungan menunjukkan bahwa durasi
tiap pengalamatan adalah 1,5 sekon. Maksudnya bahwa waktu yang diperlukan
dalam satu kali merekam suara adalah 1,5 sekon.
durasitotalpengalamadurasi
addresstotalpengalama
_tan_@_
_tan =
...............................................(4.1)
Data suara yang diperlukan pada alat ini ada 30 kata sebagaimana
ditunjukkan pada lampiran 2 tabel 2.3. Data tersebut menampilkan data angka
biner, rekaman suara masukan dan keluaran. Pada tabel tersebut menunjukkan
bahwa data suara masukan telah sesuai dengan data suara keluaran, sehingga
dapat disimpulkan bahwa data ini dapat digunakan untuk pemrograman sebagai
output suara.
4.1.4 Pengukuran Arah Mata Angin
Alat yang sudah dirangkai dan diberikan program kemudian digunakan
untuk pengukuran arah mata angin untuk mengetahui apakah rancangan yang
telah disusun bisa membaca arah mata angin dengan baik. Pengukuran arah
mata angin sebagaimana langkah-langkah yang telah disebutkan pada Subbab
3.5.2 yang lalu menghasilkan data yang ditunjukkan pada tabel 4.4 berikut:
Tabel 4.4 Data arah mata angin
Data di atas menunjukkan selisih antara besar sudut yang sebenarnya
dengan besar sudut hasil perhitungan. Suara arah mata angin akan mengikuti
sudut yang dibentuk. Sensitivitas masing-masing sudut dicari menggunakan
persamaan (3.1). Perhitungan untuk mencari sensitivitas ini ditunjukkan pada
lampiran 5. Hasil perhitungan sensitivitas masing-masing arah mata angin
ditunjukkan pada tabel 4.4. Pada arah timur laut, sudut yang seharusnya 45o
pada alat terbaca 50o, sehingga sensitivitas yang ditunjukkan cukup besar yaitu
11,1%. Pada arah timur juga demikian, sedangkan pada arah-arah yang lain
sensitivitasnya kecil. Sensitivitas itu kemudian dijumlahkan untuk mendapatkan
71
Sudut (o)LCD Suara
Sensitivitas (%)
Sebenarnya
Pengukuran
0 0 Utara Arah Utara 0
45 50 Timur Laut Arah Timur Laut 11,1
90 98 Timur Arah Timur 8,89
135 134 Tenggara Arah Tenggara 0,74
180 187 Selatan Arah Selatan 3,89
225 229 Barat Daya Arah Barat Daya 1,78
270 271 Barat Arah Barat 0,37
315 323 Barat Laut Arah Barat Laut 2,54
Jumlah sensitivitas (%) 29,31
sensitivitas total. Sensitiitas total tersebut selanjutnya dicari simpangan rata-
ratanya menggunakan persamaan (3.2) sebagaimana ditunjukkan juga pada
lampiran 5.
Hasil perhitungan menunjukkan bahwa sensitivitas rata-rata yang
diperoleh sebesar 3,66%, sehingga akurasi data tersebut adalah 96,34%.
4.1.5 Pengukuran Jarak Benda
Alat yang telah dirangkai seperti rancangan dan telah diprogram
digunakan mengukur jarak benda untuk mengetahui apakah alat tersebut bisa
membaca jarak benda dengan baik. Pengukuran jarak benda sebagaimana
langkah-langkah yang telah disebutkan pada Subbab 3.5.1 yang lalu
menghasilkan data yang ditunjukkan pada tabel 4.5 berikut:
Tabel 4.5 Data jarak benda
No.
Jarak Sebenarnya
(cm)Jarak Pada Alat (Suara)
Simpangan (%)
1 100 Jarak benda seratus centi meter 0
2 98 Jarak benda sembilan puluh sembilan centi meter
1,02
3 87 Jarak benda delapan puluh delapan centi meter 1,15
4 76 Jarak benda tujuh puluh enam centi meter 0
5 65 Jarak benda enam puluh enam centi meter 1,54
6 54 Jarak benda lima puluh empat centi meter 0
7 43 Jarak benda empat puluh empat centi meter 2,32
8 32 Jarak benda tiga puluh tiga centi meter 3,12
9 21 Jarak benda dua puluh satu centi meter 0
10 10 Jarak benda sebelas centi meter 10
Simpangan total 19,15
Data di atas menunjukkan bahwa jarak sebenarnya dengan suara yang
dikeluarkan ada yang bernilai sama, ada juga yang berbeda. Selisih setiap
jarak bernilai antara nol (0) hingga (satu) 1. Data yang diperoleh ini dicari
simpangannya menggunakan persamaan (3.3). Pada data 1 hingga 9
penyimpangan yang terjadi masih kecil yaitu di bawah 5%, sedangkan pada
data yang ke-10 penyimpangannya cukup besar, yaitu 10%. Simpangan
masing-masing data ini kemudian dicari simpangan rata-ratanya menggunakan
persamaan (3.4). Perhitungan untuk mencari simpangan ini ditunjukkan pada
lampiran 5. Hasil perhitungan menunjukkan bahwa besar simpangan rata-rata
(KR) adalah 1,92% sehingga akurasi alat ini sebesar 98,08%.
4.2 Pembahasan
4.2.1 Pembahasan Pengukuran Arah Mata Angin
Pengambilan data untuk mengetahui kevalidan alat ini dalam membaca
arah mata angin dilakukan sebanyak delapan kali berdasarkan delapan arah mata
angin. Data ini menampilkan besar sudut sebenarnya dari delapan arah mata
angin. Data ini kemudian dibandingkan dengan data hasil pengukuran. Hasilnya
73
sebagaimana ditunjukkan pada tabel 4.5.
Terdapat penyimpangan antara besar sudut sebenarnya dengan sudut
hasil pengukuran. Sensitivitas sudut rata-rata yang diperoleh sebesar 3,65%
sehingga akurasinya sebesar 96,35%. Secara teori data dikatakan valid apabila
simpangannya maksimal 5%. Hasil analisis menunjukkan bahwa hasil
pengukuran arah mata angin ini termasuk data yang valid. Keberhasilan
pengukuran ini di antaranya disebabkan karena pengambilan data dilakukan di
tempat yang terbuka, sehingga tidak terpengaruh oleh bahan-bahan logam di
sekitarnya. Selain itu sebagaimana hasil pengujian pada Subbab 4.1.2 yang
menunjukkan bahwa sudut-sudut utama dapat terbaca dengan baik, sehingga
bisa diaplikasikan pada alat ini.
Ada beberapa kelemahan pada saat pengukuran arah mata angin ini.
Kelemahan tersebut di antaranya besar sudut mata angin dalam derajat yang
berdekatan satu sama lain sehingga sudut yang dibentuk tidak bisa stabil
menyebabkan kebingungan saat membaca hasilnya. Kelemahan lain adalah
kompas yang berbahan magnet sangat sensitif dengan bahan-bahan logam di
sekitarnya sehingga berpengaruh terhadap hasil perhitungan. Kelemahan pada
alat ini bisa diminimalisir jika digunakan pada tempat terbuka dan dijauhkan
dari bahan-bahan logam. Selain bahan-bahan logam, kondisi kutub-kutub
magnet bumi juga sangat berpengaruh terhadap fungsi kompas. Ini adalah
kendala yang cukup sulit diatasi karena di manapun alat ini berada akan selalu
dipengaruhi oleh kutub-kutub magnet bumi.
Kutub utara magnet Bumi pertama kali ditemukan pada 1831 dan ketika
diukur kembali pada 1904, para peneliti menemukan bahwa letaknya telah
bergerak sejauh 50 kilometer. Menurut para peneliti Oregon, tingkat pergerakan
kutub magnet itu meningkat seabad terakhir dibandingkan abad-abad
sebelumnya. (http://www.kompas.com/teknologi/news/0512/09/)
Selama berabad-abad pemandu arah yang menggunakan kompas harus
belajar untuk menyesuaikan perbedaan antara arah utara magnet dengan arah
utara geografis bumi. Sebuah kompas akan menunjuk arah utara magnetik
bukannya arah Kutub Utara.
(http://www.kompas.com/teknologi/news/0512/09/)
Alat ini dapat dipakai dalam jangka waktu yang cukup lama karena
pergeseran kutub-kutub magnet berjalan lambat. Kelemahan pada alat ini
sebagaimana sifat kompas pada umumnya, yaitu tidak bisa stabil secara
sempurna.
Penggunaan bintang sebagai penunjuk arah mata angin merupakan salah
satu di antara alat penunjuk arah yang lain. Seiring perkembangan ilmu
pengetahuan dan teknologi, solusi untuk menentukan arah mata angin semakin
bervariasi. Misalnya dengan melihat pohon, bagian pohon yang berlumut tebal
menunjukan arah timur, karena pada pagi hari sinar matahari belum terik. Ada
juga yang memanfaatkan gaya magnetik bumi, yaitu dengan menggunakan
kompas.
4.2.2 Pembahasan Pengukuran Jarak Benda
Data pada tabel 4.5 adalah hasil pengukuran jarak benda. Data tersebut
menunjukan bahwa antara jarak sebenarnya dan jarak hasil pengukuran sama
75
persis.
Data hasil pengukuran setelah dihitung memiliki simpangan 1,95%
sehingga akurasinya sebesar 98,08%. Hasil ini juga memenuhi teori kevalidan
data, yaitu error di bawah 5%. Hal ini menunjukkan bahwa alat ini cukup teliti
dalam membaca ketepatan jarak benda di depannya, hal ini sebagaimana
rumusan pada datasheet dan juga sesuai dengan teori Fisika tentang pemantulan
bunyi. Pada datasheet sensor D-Sonar telah dijelaskan bahwa transmitter akan
memancarkan gelombang ultrasonik. Apabila mengenai suatu benda maka
gelombang tersebut akan dipantulkan kembali tetapi lewat receiver. Pulsa
tersebut kemudian akan diukur oleh trigger dan akan tercatat sebagai waktu (t).
Waktu (t) ini kemudian digunakan untuk menghitung jarak benda menggunakan
persamaan 2.24.
Ketelitian alat ini juga dipengaruhi input data hasil pengujian sensor
sebelumnya. Pada saat pengujian data, grafik perbandingan antara timer dan
jarak berbentuk linear. Bentuk linear hubungan ini menunjukkan bahwa semakin
besar timer yang dikeluarkan, jarak yang ditempuh akan semakin jauh juga.
Tingkat ketelitian pada alat ini cukup bagus. Akan tetapi alat ini juga
memiliki kekurangan, yaitu hanya bisa membaca jarak maksimal 100 cm (1 m).
Secara teori hal-hal yang mempengaruhi kecepatan bunyi selain jarak dan waktu
adalah frekuensi dan panjang gelombang. Frekuensi sensor ini telah diketahui
pada datasheet, yaitu sebesar 40 KHz sebagaimana sensor ultrasonik pada
umumnya. Jadi yang mempengaruhi pembacaan jarak yang hanya 100 cm (1 m)
adalah panjang gelombang yang dikeluarkan oleh sensor tersebut. Pada sensor
ini, panjang gelombang yang dikeluarkan lebih pendek, sehingga kecepatannya
makin kecil. Jika kecepatan yang dihasilkan kecil jarak yang ditempuh semakin
pendek, sehingga alat ini tidak bisa mendeteksi keberadaan benda di depannya
yang berjarak di atas 100 cm (1 m).
77
BAB V
PENUTUP
5.1 Kesimpulan
Dari hasil perancangan alat dan pembahasan penunjuk arah serta
deteksi keberadaan benda bagi tunanetra di atas dapat diambil beberapa
kesimpulan, di antaranya:
a. Sensor ultrasonik D-Sonar memancarkan gelombang melalui
transmitter. Jika mengenai benda, gelombang dipantulkan kembali ke
sensor melalui receiver. Sensor menghitung timer antara mulai
memancarnya gelombang hingga selesai dipantulkan, yang dikirimkan
ke Mikrokontroler. Timer diubah menjadi jarak menggunakan
persamaan tvs .= , di mana s = jarak, v = kecepatan, dan t = timer.
Jarak yang diperoleh disesuaikan dengan data rekaman suara dari ISD.
Data ini akan dikeluarkan dalam bentuk suara jarak benda.
b. Kompas digital HM55B bekerja dengan membaca letak kutub-kutub
magnet bumi. Data derajat kutub-kutub magnet bumi dikirim ke
Mikrokontroler untuk disesuaikan dengan data rekaman suara dari
ISD. Data ini akan dikeluarkan dalam bentuk arah mata angin.
c. Alat deteksi keberadaan benda ini memiliki simpangan jarak 1,92%
sehingga tingkat ketelitiannya 98,08%. Alat ini cukup teliti dalam
membaca jarak benda di depannya, tetapi hanya bisa membaca jarak
maksimal 100 cm (1 m).
d. Alat penunjuk arah mata angin ini memiliki simpangan sudut 3,65%
sehingga tingkat ketelitiannya 96,35%. Alat ini cukup teliti dalam
membaca arah mata angin, tetapi sangat sensitif dengan benda-benda
berbahan logam.
5.2 Saran
a. Kompas modul HM55B sangat sensitif dengan benda berbahan logam.
Untuk hasil yang lebih baik hendaknya menggunakan alat ini di tempat
yang terbuka.
b. Hendaknya menggunakan sensor ultrasonik kualitas yang lebih baik
sehingga jarak deteksi lebih jauh.
c. Alat ini dapat dikembangkan untuk mendeteksi bukan hanya delapan arah
mata angin, akan tetapi menunjukkan setiap derajat sehingga arah yang
dituju benar-benar valid.
79
DAFTAR PUSTAKA
Abdullah dan Bin ’Abdurrahman bin Ishaq Alu Syaikh. 2007. Tafsir Ibnu Katsir Terjemahan M. Abdul Ghaffar E.M. Bogor: Pustaka Imam Syafi’i
Atmel Corporation. 2001. AT89s51. www.atmel.com. Diakses tanggal 27 Mei 2009
A WikiMedia Project. Mata Angin. MediaWiki. http://wikipedia.org. Diakses tanggal 6 Januari 2009
Delta Elektronik. Delta Sonar Interface. Surabaya: www.delta-electronic.com. Diakses tanggal 22 November 2009
Gagah Wirahadi Santosa dan Mario Krisno. 2008. Sensor Penunjuk Arah untuk Tuna Netra Karya Mahasiswa Untag Surabaya. Surabaya. www.surya.co.id. Diakses tanggal 11 Desember 2008
Ichwan, Mohammad Nor. 2004. Tafsir ’Ilmiy Memahami Al Qur’an Melalui Pendekatan Sains. Jogjakarta: Menara Kudus Jogja
Insan Sains Projects. 2007. LCD M1632. www.insansainsprojects.blogspot.com. Diakses tanggal 10 Januari 2010
Parallax. Inc. 2005. Hitachi HM55B Compass Module (#29123). www.parallax.com. Diakses tanggal 27 Januari 2010
Pikatan, Sugata. 1992. Pengukuran, Pengolahan dan Analisa Data Eksperimen. Surabaya: Lokakarya Metodologi Penelitian Universitas Surabaya
Quthb, Sayyid. 2003. Tafsir Fi Zhilalil Qur’an di Bawah Naungan Al Qur’an terjemahan As’ad Yasin dkk. Jakarta: Gema Insani Perss
Rohmattulloh. 2008. Rancang Ulang Dan Realisasi Kunci Elektronik Berbasis Data. Bandung: IT Telkom. www.ittelkom.ac.id. Diakses tanggal 23 Januari 2009
Sudjana, Prof. Dr. 2001. Metode Statistik Edisi ke-6. Bandung: Tarsito
Syamsi Dhuha Foundation. 2004. Minimnya Perhatian Pemerintah Terhadap Tunanetra. Bandung: http://syamsidhuhafoundation.org. Diakses tanggal 10 Juni 2009
Tipler, Paul A. 1991. FISIKA Untuk Sains dan Teknik Edisi Ketiga Jilid I terjemahan Dra. Lea Prasetio, M.Sc. dan Rahmad W. Adi, Ph.D. Jakarta: Erlangga
Tjia, M.O. 1993. Diktat Kuliah F-214 Gelombang. Bandung: Jurusan Fisika FMIPA ITB
Winbond Electronic Corporation. 2003. ISD 2560/75/90/120. www.winbond.com. Diakses tanggal 28 Oktober 2009
Yawan, Handi. 2009. Kutub Utara Magnet Bumi Bergeser. http://www.kompas.com/teknologi/news/0512/09. Diakses tanggal 28 Mei 2010
Zaki. 2007. Cara Mudah Belajar Merangkai Elektronika Dasar Lanjutan. Yogyakarta: Absolut
81
Lampiran 1:
Gambar Rangkaian Skematik Alat
Lampiran 2:
Tabel pengujian menggunakan kompas digital HM55B
Sb. Y Kuadran I Linear
255 00
2542
2535
2527
2519
25011
24914
24816
24718
24620
24523
24425
24327
24229
24132
24034
23936
23838
23741
23643
23545
23447
23350
23252
23154
23056
83
22959
22861
22763
22665
22568
22470
22372
22274
22177
22079
21981
21883
21786
21688
215 9090
Sb. Y Kuadran ILinear
255 00
2542
2535
2527
2519
25011
24914
24816
24718
24620
24523
24425
24327
24229
24132
24034
23936
23838
23741
23643
23545
23447
23350
23252
23154
23056
22959
22861
22763
22665
22568
22470
22372
22274
22177
22079
21981
21883
21786
21688
215 9090
85
Sb. Y Kuadran ILinear
255 00
2542
2535
2527
2519
25011
24914
24816
24718
24620
24523
24425
24327
24229
24132
24034
23936
23838
23741
23643
23545
23447
23350
23252
23154
23056
22959
22861
227 63
22665
22568
22470
22372
22274
22177
22079
21981
21883
21786
21688
215 9090
Sb. X Kuadran IILinear
255 9090
25492
25394
25295
25197
25099
249101
248103
247104
246106
245108
244 110
87
243112
242113
241115
240117
239119
238121
237122
236124
235126
234128
233130
232131
231133
230135
229137
228139
227140
226142
225144
224146
223148
222149
221151
220153
219155
218157
217158
216160
215162
214164
213166
212 167
211169
210171
209173
208175
207176
206178
205 180180
Sb.X Kuadran IIILinear
205 180180
206182
207184
208185
209187
210189
211191
212193
213194
214196
215198
216200
217202
218203
219205
220207
221209
89
222211
223212
224214
225216
226218
227220
228221
229223
230225
231227
232229
233230
234232
235234
236236
237238
238239
239241
240243
241245
242247
243248
244250
245252
246254
247256
248 257
249259
250261
251263
252265
253266
254268
255 270270
Sb.Y
Kuadran
IVLinear
45 270270
44272
43274
42276
41278
40280
39282
38284
37286
36288
35290
34292
33294
32296
31298
30300
29302
28304
27306
26308
91
25310
24312
23314
22316
21318
20320
19322
18324
17326
16328
15330
14332
13334
12336
11338
10340
9342
8344
7346
6348
5350
4352
3354
2356
1358
0 360360
Tabel Pengujian Jarak Terhadap Timer
JarakTimer
57
1016
1525
2034
2543
3052
3561
4070
4579
5089
5599
60108
65117
70126
75135
80145
85154
90163
95171
100181
93
Tabel 2.3 Data Masukan dan Keluaran Suara pada ISD 2590
Data Biner Rekaman suara Output suara
000 Nol Nol
010 Satu Satu
020 Dua Dua
030 Tiga Tiga
040 Empat Empat
050 Lima Lima
060 Enam Enam
070 Tujuh Tujuh
080 Delapan Delapan
090 Sembilan Sembilan
100 Sepuluh Sepuluh
110 Puluh Puluh
120 Sebelas Sebelas
130 Belas Belas
140 Seratus Seratus
150 Ratus Ratus
160 Utara Utara
170 Timur laut Timur laut
180 Timur Timur
190 Tenggara Tenggara
200 Selatan Selatan
210 Barat daya Barat daya
220 Barat Barat
230 Barat laut Barat laut
240 Arah Arah
250 Jarak benda Jarak benda
260 Meter Meter
270 Koma Koma
280 Centi meter Centi meter
290 Derajat Derajat
95
Lampiran 3:
Gambar Alat Penunjuk Arah dan Deteksi Keberadaan Benda
Gambar 1. Alat tampak atas
Gambar 2. Alat tampak depan
Lampiran 4:
Listing Program Assembler org 00h; Ukrc Bit P2.0 ; ultrasonic transmit Uktr Bit P2.1 ; ultrasonic receive Hibt Bit P2.2 ; ISD address High ISTR Bit P2.3 ; ISD start Lobt Bit P2.4 ; ISD address Low ISPR Bit P2.5 ; ISD play/record Rest Bit P2.6 ; RS LCD Enbl Bit P2.7 ; E LCD Cmdt Bit P3.0 ; compass data Cmcl Bit P3.1 ; compass clock Cmen Bit P3.2 ; compass enable
Stt0 Bit 20h.0 ; status 0 Stt1 Bit 20h.1 ; status 1
Dkp0 Equ 30h ; register data input keypad 0 Dkp1 Equ 31h ; register data input keypad 1 Dkp2 Equ 32h ; register data input keypad 2 Buf0 Equ 33h ; register data buffer 0 Buf1 Equ 34h ; register data buffer 1 Dtlo Equ 35h ; register data address lo Dthi Equ 36h ; register data address hi Bicr Equ 37h ; register lama bicara
Djrk Equ 40h Djr0 Equ 41h Djr1 Equ 42h Djr2 Equ 43h Djr3 Equ 44h Dcm0 Equ 45h ; data compas 0 Dcm1 Equ 46h ; data compas 0 Dcm2 Equ 47h ; data compas 0 Dcm3 Equ 48h ; data compas 0 Dsdt Equ 49h ; data sudut
Char Equ 50h Cntr Equ 51h Bufr Equ 52h Hex0 Equ 53h Hex1 Equ 54h Dly0 Equ 55h Dly1 Equ 56h Dly2 Equ 57h Dly3 Equ 58h;init: lcall lcd_in
97
clr Stt0 clr Stt1;mulai: mov DPTR,#nama lcall line1 mov Char,#16 lcall tulis mov DPTR,#nim lcall line2 mov Char,#16 lcall tulis lcall delay2 mov DPTR,#jur lcall line1 mov Char,#16 lcall tulis mov DPTR,#univ lcall line2 mov Char,#16 lcall tulis lcall delay2; mov DPTR,#tpjrnm lcall line1 mov Char,#16 lcall tulismeasrm: lcall bc_jrk mov DPTR,#lokup0 mov A,TH0 movc A,@A+DPTR mov Djrk,A mov DPTR,#angka mov P0,#089h lcall w_ins mov A,Djrk lcall nilai mov P0,#'c' lcall w_chr mov P0,#'m' lcall w_chr mov P0,#0D0h lcall w_ins; lcall bccmps;arah00: mov R7,#10 cjne R3,#0,arah01 cjne R2,#0,arah01 cjne R1,#0,arah01 mov DPTR,#tparut mov R7,#0 ljmp arah09arah01: cjne R3,#0,arah02 cjne R2,#4,arah02 cjne R1,#5,arah02 mov DPTR,#tpartl
mov R7,#1 ljmp arah09arah02: cjne R3,#0,arah03 cjne R2,#9,arah03 cjne R1,#0,arah03 mov DPTR,#tpartm mov R7,#2 ljmp arah09arah03: cjne R3,#1,arah04 cjne R2,#3,arah04 cjne R1,#5,arah04 mov DPTR,#tpartg mov R7,#3 ljmp arah09arah04: cjne R3,#1,arah05 cjne R2,#8,arah05 cjne R1,#0,arah05 mov DPTR,#tparsl mov R7,#4 ljmp arah09arah05: cjne R3,#2,arah06 cjne R2,#2,arah06 cjne R1,#6,arah06 mov DPTR,#tparbd mov R7,#5 ljmp arah09arah06: cjne R3,#2,arah07 cjne R2,#7,arah07 cjne R1,#0,arah07 mov DPTR,#tparbr mov R7,#6 ljmp arah09arah07: cjne R3,#3,arah08 cjne R2,#1,arah08 cjne R1,#6,arah08 mov DPTR,#tparbl mov R7,#7 ljmp arah09arah08: mov DPTR,#tparah lcall line2 mov Char,#16 lcall tulis mov DPTR,#angka mov P0,#0C6h lcall w_ins mov A,R3 lcall wr_chr mov A,R2 lcall wr_chr mov A,R1 lcall wr_chr mov P0,#0DFh lcall w_chr mov P0,#0D0h lcall w_ins ljmp arah10
99
arah09: lcall line2 mov Char,#16 lcall tulis mov Dly3,#2 lcall delay3arah10: ;tmpbcr: jb Stt0,tpbcr0 ; if status 0 low jb Stt1,tpbcr0 ; if status 1 low ljmp tpbcr3tpbcr0: jnb Stt0,tpbcr1 ; if status 0 high jb Stt1,tpbcr1 ; if status 1 low lcall bcrjrk ; bicara jarak ljmp tpbcr3tpbcr1: jb Stt0,tpbcr2 ; if status 0 low jnb Stt1,tpbcr2 ; if status 1 high lcall bcrarh ; bicara arah ljmp tpbcr3tpbcr2: jnb Stt0,tpbcr3 ; if status 0 high jnb Stt1,tpbcr3 ; if status 1 high lcall bcrjrk ; bicara jarak lcall bcrarh ; bicara arahtpbcr3: mov Dly3,#1 lcall delay3 ljmp measrm;bcrjrk: lcall jrkbnd mov A,Djrk mov B,#100 div AB mov Djr0,A mov A,B mov B,#10 div AB mov Djr1,A mov Djr2,B;bcrjr0: mov A,Djr0 jz bcrjr2 ; 0 = lompat cjne A,#1,bcrjr1 lcall sratus ; seratus if 100 ljmp bcrjr2bcrjr1: lcall cckn0 ; angka + lcall ratus ; ratus if not 1bcrjr2: mov A,Djr1 jz bcrjr6 cjne A,#1,bcrjr5 mov A,Djr2 jnz bcrjr3 lcall spuluh ; sepuluh if 10 ljmp bcrjr7bcrjr3: cjne A,#1,bcrjr4 lcall sbelas ; sebelas if 11 ljmp bcrjr7bcrjr4: lcall cckn0 lcall belas ; angka + belas if not 1
ljmp bcrjr7bcrjr5: lcall cckn0 lcall puluh ; angka + puluh if not 1bcrjr6: mov A,Djr2 jz bcrjr7 lcall cckn0bcrjr7: lcall cntmtr ret;bcrarh: lcall arah cjne R7,#0,bcrar0 lcall utara ljmp bcrarFbcrar0: cjne R7,#1,bcrar1 lcall timla ljmp bcrarFbcrar1: cjne R7,#2,bcrar2 lcall timur ljmp bcrarFbcrar2: cjne R7,#3,bcrar3 lcall tnggra ljmp bcrarFbcrar3: cjne R7,#4,bcrar4 lcall slatan ljmp bcrarFbcrar4: cjne R7,#5,bcrar5 lcall barda ljmp bcrarFbcrar5: cjne R7,#6,bcrar6 lcall barat ljmp bcrarFbcrar6: cjne R7,#7,bcrar7 lcall barla ljmp bcrarFbcrar7: bcra00: mov A,R3 jz bcra02 ; 0 = lompat cjne A,#1,bcra01 lcall sratus ; seratus if 100 ljmp bcra02bcra01: lcall cckn0 ; angka + lcall ratus ; ratus if not 1bcra02: mov A,R2 jz bcra06 cjne A,#1,bcra05 mov A,R1 jnz bcra03 lcall spuluh ; sepuluh if 10 ljmp bcra07bcra03: cjne A,#1,bcra04 lcall sbelas ; sebelas if 11 ljmp bcra07bcra04: lcall cckn0 lcall belas ; angka + belas if not 1 ljmp bcra07bcra05: lcall cckn0
101
lcall puluh ; angka + puluh if not 1bcra06: mov A,R1 jz bcra07 lcall cckn0bcra07: lcall derajt;bcrarF: ret;bccmps: lcall delay0 ; ( reset compass ) clr Cmen ; compass enable lcall delay0 clr Cmdt ; data = 0 lcall delay0 lcall cmpclk ; clock lcall cmpclk ; clock lcall cmpclk ; clock lcall cmpclk ; clock setb Cmen ; compass disable lcall delay0 ; ( start measurement ) clr Cmen ; compass enable lcall delay0 setb Cmdt ; data = 1 lcall delay0 lcall cmpclk ; clock clr Cmdt ; data = 0 lcall delay0 lcall cmpclk ; clock lcall cmpclk ; clock lcall cmpclk ; clock mov Dly1,#40 lcall delay1 ; ( kirim status ) setb Cmen ; compass disable lcall delay0 clr Cmen ; compass enable lcall delay0 lcall delay0 setb Cmdt ; data = 1 lcall delay0 lcall cmpclk ; clock lcall cmpclk ; clock clr Cmdt ; data = 0 lcall delay0 lcall cmpclk ; clock lcall cmpclk ; clock setb Cmdt ; data = 1 clr A ; ( cek status ) mov Cntr,#4bccmp0: lcall cmpclk ; clock mov C,Cmdt RLC A djnz Cntr,bccmp0 jz bccmp5 lcall delay0 ; ( baca data compass ) clr A mov Cntr,#3bccmp1: lcall cmpclk ; clock
mov C,Cmdt RLC A djnz Cntr,bccmp1 mov Dcm0,A clr A mov Cntr,#8bccmp2: lcall cmpclk ; clock mov C,Cmdt RLC A djnz Cntr,bccmp2 mov Dcm1,A clr A mov Cntr,#3bccmp3: lcall cmpclk ; clock mov C,Cmdt RLC A djnz Cntr,bccmp3 mov Dcm2,A clr A mov Cntr,#8bccmp4: lcall cmpclk ; clock mov C,Cmdt RLC A djnz Cntr,bccmp4 mov Dcm3,A lcall delay0bccmp5: setb Cmen ; compass disable;drajat: mov A,Dcm0 ;\ cjne A,#00,drjat0 ; | if kuadran I mov A,Dcm2 ; | cjne A,#07,drjat0 ;/ mov DPTR,#lokup1 ;\ mov A,Dcm3 ; | movc A,@A+DPTR ; | mov R0,A ; | mov R1,#0 ; | mov R2,#1 ; | mov R3,#0 ; | lcall mul16 ; | mov Hex0,R0 ; | mov Hex1,R1 ; | lcall hexdec ; | ljmp drjat3 ;/;drjat0: mov A,Dcm0 ;\ cjne A,#07,drjat1 ; | if kuadran II mov A,Dcm2 ; | cjne A,#07,drjat1 ;/ mov DPTR,#lokup2 ;\ mov A,Dcm1 ; | movc A,@A+DPTR ; | mov R0,A ; | mov R1,#0 ; | mov R2,#1 ; | mov R3,#0 ; |
103
lcall mul16 ; | mov Hex0,R0 ; | mov Hex1,R1 ; | lcall hexdec ; | ljmp drjat3 ;/;drjat1: mov A,Dcm0 ;\ cjne A,#07,drjat2 ; | if kuadran III mov A,Dcm2 ; | cjne A,#00,drjat2 ;/ mov DPTR,#lokup3 ;\ mov A,Dcm1 ; | movc A,@A+DPTR ; | mov R0,A ; | mov R1,#0 ; | mov R2,#2 ; | mov R3,#0 ; | lcall mul16 ; | mov Hex0,R0 ; | mov Hex1,R1 ; | lcall hexdec ; | ljmp drjat3 ;/;drjat2: mov A,Dcm0 ;\ cjne A,#00,drjat4 ; | if kuadran IV mov A,Dcm2 ; | cjne A,#00,drjat4 ;/ mov DPTR,#lokup4 ;\ mov A,Dcm3 ; | movc A,@A+DPTR ; | mov R0,A ; | mov R1,#0 ; | mov R2,#2 ; | mov R3,#0 ; | lcall mul16 ; | mov Hex0,R0 ; | mov Hex1,R1 ; | lcall hexdec ; | ljmp drjat3 ;/;drjat3: mov Dsdt,Adrjat4: ret;cmpclk: setb Cmcl lcall delay0 clr Cmcl lcall delay0 ret;bc_jrk: clr Uktr ; nyalakan trigger ultrasonic mov Dly0,#2 ;\ tunda waktu lcall delay0 ;/ 4us setb Uktr ; matikan trigger ultrasonic mov Dly0,#50 ;\ tunda waktu lcall delay0 ;/ 100us mov TL0,#00h ;\
mov TH0,#00h ; | reset timer & flag clr TF0 ;/ jb Ukrc,$ ; tunggu signal low setb TR0 ; start timer jnb Ukrc,$ ; tunggu signal high clr TR0 ; stop timer ret ;;isiisd: lcall lcdclr mov R5,#1isisd0: cjne R5,#1,isisd1 mov DPTR,#tpdgsrisisd1: cjne R5,#2,isisd2 mov DPTR,#tprcsrisisd2: isisd3: lcall line1 mov Char,#16 lcall tulisisisd4: lcall tg_lpsisisd5: lcall scnkpd cjne R0,#15,isisd7 dec R5 cjne R5,#0,isisd6 mov R5,#1isisd6: ljmp isisd0isisd7: cjne R0,#16,isisd9 inc R5 cjne R5,#3,isisd8 mov R5,#2isisd8: ljmp isisd0isisd9: cjne R0,#11,isisdA mov SP,#07h ; reset RAM ljmp mulaiisisdA: cjne R0,#12,isisd5isisdB: cjne R5,#1,isisdC ljmp plyisdisisdC: cjne R5,#2,isisdB ljmp recisd;plyisd: mov DPTR,#tpaddr lcall line2 mov Char,#11 lcall tulis mov DPTR,#angka lcall tg_tkn mov Dkp0,R0 mov A,R0 lcall wr_chr lcall tg_lps lcall tg_tkn mov Dkp1,R0 mov A,R0 lcall wr_chr lcall tg_lps lcall tg_tkn mov Dkp2,R0
105
mov A,R0 lcall wr_chr lcall tg_lpsplisd0: mov DPTR,#tpdgsr lcall line1 mov Char,#16 lcall tulis mov DPTR,#tpaddr lcall line2 mov Char,#11 lcall tulis mov DPTR,#angka mov A,Dkp0 lcall wr_chr mov A,Dkp1 lcall wr_chr mov A,Dkp2 lcall wr_chr mov A,#10 lcall wr_chr mov A,#10 lcall wr_chrplisd1: lcall scnkpd cjne R0,#11,plisd2 mov SP,#07h ; reset RAM ljmp mulaiplisd2: cjne R0,#12,plisd1 lcall lcdclr mov DPTR,#tpplyg lcall line1 mov Char,#16 lcall tulis lcall datadd ; switch data to address (dec to hex) mov A,Dthiplisd3: cjne A,#0,plisd4 clr Lobt clr Hibtplisd4: cjne A,#1,plisd5 setb Lobt clr Hibtplisd5: cjne A,#2,plisd6 clr Lobt setb Hibtplisd6: mov P0,Dtlo lcall delay0 lcall delay0 clr IStr lcall tg_lps setb IStr lcall tg_lps ljmp plisd0;recisd: mov DPTR,#tprcsr lcall line1 mov Char,#16
lcall tulis mov DPTR,#tpaddr lcall line2 mov Char,#11 lcall tulis mov DPTR,#angka lcall tg_tkn mov Dkp0,R0 mov A,R0 lcall wr_chr lcall tg_lps lcall tg_tkn mov Dkp1,R0 mov A,R0 lcall wr_chr lcall tg_lps lcall tg_tkn mov Dkp2,R0 mov A,R0 lcall wr_chr lcall tg_lpsrcisd0: mov DPTR,#tprcsr lcall line1 mov Char,#16 lcall tulis mov DPTR,#tpaddr lcall line2 mov Char,#11 lcall tulis mov DPTR,#angka mov A,Dkp0 lcall wr_chr mov A,Dkp1 lcall wr_chr mov A,Dkp2 lcall wr_chr mov A,#10 lcall wr_chr mov A,#10 lcall wr_chr;rcisd1: lcall scnkpd cjne R0,#11,rcisd2 mov SP,#07h ; reset RAM ljmp mulaircisd2: cjne R0,#12,rcisd1 lcall lcdclr mov DPTR,#tprcdg lcall line1 mov Char,#16 lcall tulis lcall datadd ; switch data to address (dec to hex) mov A,Dthircisd3: cjne A,#0,rcisd4 clr Lobt
107
clr Hibtrcisd4: cjne A,#1,rcisd5 setb Lobt clr Hibtrcisd5: cjne A,#2,rcisd6 clr Lobt setb Hibtrcisd6: mov P0,Dtlo lcall delay0 lcall delay0 clr ISPR clr IStr lcall tg_lps setb IStr setb ISPR lcall tg_lps ljmp rcisd0;datadd: mov Buf0,Dkp0 ; simpan data input keypad 0 -> Buf0 mov A,Dkp1 ;\ mov B,#10 ; | data input keypad 1 dikali 10 mul AB ; | ditambah dengan mov B,Dkp2 ; | data input keypad 2 add A,B ; | hasil simpan -> Buf1 mov Buf1,A ;/ mov Dtlo,#0 ; reset counter lo addr mov Dthi,#0 ; reset counter hi addr mov A,Buf0 ;\ cjne A,#0,datad1 ; | cek Buf0 = 0 ? ljmp datad3 ; | tidak -> panggil subroutine cntadrdatad1: mov R7,#100 ; | sebanyak 100 kalidatad2: lcall cntadr ; | ulang sebanyak Buf0 djnz R7,datad2 ;/ djnz Buf0,datad1datad3: mov A,Buf1 ;\ cjne A,#0,datad4 ; | cek Buf1 = 0 ? ljmp datad5 ; | tidak -> panggil subroutine cntadrdatad4: lcall cntadr ; | sebanyak Buf1 djnz Buf1,datad4 ; | returndatad5: ret ;/;cntadr: inc Dtlo ;\ mov A,Dtlo ; | tambah Dtlo cjne A,#0,cntadd ; | cek Dtlo = 0 ? inc Dthi ; | tambah Dthicntadd: ret ;/;cckn0: cjne A,#0,cckn1 lcall angka0cckn1: cjne A,#1,cckn2 lcall angka1cckn2: cjne A,#2,cckn3
lcall angka2cckn3: cjne A,#3,cckn4 lcall angka3cckn4: cjne A,#4,cckn5 lcall angka4cckn5: cjne A,#5,cckn6 lcall angka5cckn6: cjne A,#6,cckn7 lcall angka6cckn7: cjne A,#7,cckn8 lcall angka7cckn8: cjne A,#8,cckn9 lcall angka8cckn9: cjne A,#9,ccknA lcall angka9ccknA: ret;angka0: clr Hibt ; nol clr Lobt ; address 00 mov P0,#00 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;angka1: clr Hibt ; satu clr Lobt ; address 10 mov P0,#10 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;angka2: clr Hibt ; dua clr Lobt ; address 20 mov P0,#20 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;angka3: clr Hibt ; tiga clr Lobt ; address 30 mov P0,#30 clr ISTR mov Bicr,#13 lcall bicara
109
setb ISTR mov Dly3,#1 lcall delay3 ret;angka4: clr Hibt ; empat clr Lobt ; address 40 mov P0,#40 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;angka5: clr Hibt ; lima clr Lobt ; address 50 mov P0,#50 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;angka6: clr Hibt ; enam clr Lobt ; address 60 mov P0,#60 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;angka7: clr Hibt ; tujuh clr Lobt ; address 70 mov P0,#70 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;angka8: clr Hibt ; delapan clr Lobt ; address 80 mov P0,#80 clr ISTR mov Bicr,#13 lcall bicara setb ISTR
mov Dly3,#1 lcall delay3 ret;angka9: clr Hibt ; sembilan clr Lobt ; address 90 mov P0,#90 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;spuluh: clr Hibt ; sepuluh clr Lobt ; address 100 mov P0,#100 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;puluh: clr Hibt ; puluh clr Lobt ; address 110 mov P0,#110 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;sbelas: clr Hibt ; sebelas clr Lobt ; address 120 mov P0,#120 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;belas: clr Hibt ; belas clr Lobt ; address 130 mov P0,#130 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1
111
lcall delay3 ret;sratus: clr Hibt ; utara clr Lobt ; address 140 mov P0,#140 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;ratus: clr Hibt ; utara clr Lobt ; address 150 mov P0,#150 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;utara: clr Hibt ; utara clr Lobt ; address 160 mov P0,#160 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;timla: clr Hibt ; timur laut clr Lobt ; address 170 mov P0,#170 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;timur: clr Hibt ; timur clr Lobt ; address 180 mov P0,#180 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3
ret;tnggra: clr Hibt ; tenggra clr Lobt ; address 190 mov P0,#190 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;slatan: clr Hibt ; selatan clr Lobt ; address 200 mov P0,#200 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;barda: clr Hibt ; barat daya clr Lobt ; address 210 mov P0,#210 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;barat: clr Hibt ; barat clr Lobt ; address 220 mov P0,#220 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;barla: clr Hibt ; barat laut clr Lobt ; address 230 mov P0,#230 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret
113
;arah: clr Hibt ; arah clr Lobt ; address 240 mov P0,#240 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;jrkbnd: clr Hibt ; jarak benda clr Lobt ; address 250 mov P0,#250 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;meter: clr Hibt ; meter setb Lobt ; address 260 mov P0,#004 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;koma: clr Hibt ; koma setb Lobt ; address 270 mov P0,#14 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;cntmtr: clr Hibt ; centi meter setb Lobt ; address 280 mov P0,#24 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;
derajt: clr Hibt ; derajat setb Lobt ; address 290 mov P0,#34 clr ISTR mov Bicr,#13 lcall bicara setb ISTR mov Dly3,#1 lcall delay3 ret;hexdec: mov R1,#0 ; hexa -> decimal mov R2,#0 mov R3,#0 mov A,Hex1 jz hexdc1 mov Bufr,#0hexdc0: lcall incdec djnz Bufr,hexdc0 djnz Hex1,hexdc0hexdc1: mov A,Hex0 jz hexdc3hexdc2: lcall incdec djnz Hex0,hexdc2hexdc3: ret;incdec: inc R1 ; increment decimal cjne R1,#10,indec mov R1,#0 inc R2 cjne R2,#10,indec mov R2,#0 inc R3 cjne R3,#10,indec mov R3,#0indec: ret ;nilai: mov B,#100 div AB lcall wr_chr mov A,B mov B,#10 div AB lcall wr_chr mov A,B lcall wr_chr ret;line1: mov P0,#80h lcall w_ins ret;line2: mov P0,#0C0h lcall w_ins ret;
115
tulis: clr A movc A,@A+DPTR mov P0,A lcall w_chr inc DPTR djnz Char,tulis ret;wr_chr: movc A,@A+DPTR mov P0,A lcall w_chr ret;w_ins: clr Enbl clr Rest setb Enbl clr Enbl lcall delay0 ret;w_chr: clr Enbl setb Rest setb Enbl clr Enbl lcall delay0 ret;lcd_in: mov Dly3,#1 lcall delay3 mov P0,#01h ; Display Clear lcall w_ins mov P0,#38h ; Function Set lcall w_ins mov P0,#0Dh ; Display On, Cursor, Blink lcall w_ins mov P0,#06h ; Entry Mode lcall w_ins mov P0,#02h ; Cursor Home lcall w_ins ret;lcdclr: mov P0,#01h ; Display Clear lcall w_ins lcall delay0 lcall delay0 ret;scnkpd: mov R0,#10 lcall delay0col1: mov P1,#11111110b mov A,P1c1b1: cjne A,#11101110b,c1b2 mov R0,#1c1b2: cjne A,#11011110b,c1b3 mov R0,#2c1b3: cjne A,#10111110b,c1b4
mov R0,#3c1b4: cjne A,#01111110b,col2 mov R0,#13;col2: mov P1,#11111101b mov A,P1c2b1: cjne A,#11101101b,c2b2 mov R0,#4c2b2: cjne A,#11011101b,c2b3 mov R0,#5c2b3: cjne A,#10111101b,c2b4 mov R0,#6c2b4: cjne A,#01111101b,col3 mov R0,#14;col3: mov P1,#11111011b mov A,P1c3b1: cjne A,#11101011b,c3b2 mov R0,#7c3b2: cjne A,#11011011b,c3b3 mov R0,#8c3b3: cjne A,#10111011b,c3b4 mov R0,#9c3b4: cjne A,#01111011b,col4 mov R0,#15;col4: mov P1,#11110111b mov A,P1c4b1: cjne A,#11100111b,c4b2 mov R0,#11c4b2: cjne A,#11010111b,c4b3 mov R0,#0c4b3: cjne A,#10110111b,c4b4 mov R0,#12c4b4: cjne A,#01110111b,back mov R0,#16back: ret;tg_tkn: lcall scnkpd lcall delay0tg_tk0: cjne R0,#16,tg_tk1 ljmp tg_tkntg_tk1: cjne R0,#15,tg_tk2 ljmp tg_tkntg_tk2: cjne R0,#14,tg_tk3 ljmp tg_tkntg_tk3: cjne R0,#13,tg_tk4 ljmp tg_tkntg_tk4: cjne R0,#12,tg_tk5 ljmp tg_tkntg_tk5: cjne R0,#11,tg_tk6 ljmp tg_tkntg_tk6: cjne R0,#10,tg_tk7 ljmp tg_tkntg_tk7: ret;
117
tg_lps: lcall scnkpd lcall delay0 cjne R0,#10,tg_lps ret;delay0: djnz Dly0,delay0 ret;delay1: lcall scnkpd djnz Dly1,delay1 ret;delay2: mov Dly2,#15dely20: lcall delay1 cjne R0,#13,dely21 ljmp isiisddely21: djnz Dly2,dely20 ret;delay3: lcall scnkpd cjne R0,#0,dely30 clr Stt0 clr Stt1dely30: cjne R0,#1,dely31 setb Stt0 clr Stt1dely31: cjne R0,#2,dely32 clr Stt0 setb Stt1dely32: cjne R0,#3,dely33 setb Stt0 setb Stt1dely33: djnz Dly1,delay3 djnz Dly3,delay3 ret;bicara: djnz Dly0,$ djnz Dly1,bicara djnz Bicr,bicara ret;nama: DB ' Titik Muji R 'nim: DB ' NIM : 04540005 'jur: DB ' Fisika 'univ: DB ' UIN Malang 'tpdgsr: DB ' Dengar Suara ? 'tpplyg: DB ' Playing.... 'tprcsr: DB ' Rekam Suara ? 'tprcdg: DB ' Recording.... 'tpaddr: DB ' Address: 'tpjrnm: DB ' Jarak: . m 'tparut: DB 'Arah: Utara 'tpartl: DB 'Arah: Timur Laut'tpartm: DB 'Arah: Timur 'tpartg: DB 'Arah: Tenggara 'tparsl: DB 'Arah: Selatan '
tparbd: DB 'Arah: Barat Daya'tparbr: DB 'Arah: Barat 'tparbl: DB 'Arah: Barat Laut'tparah: DB 'Arah: 'angka: DB '0123456789 ';; 0 1 2 3 4 5 6 7 8 9lokup0: DB 000,003,003,004,004,005,006,006,007,000 ; 000-009 DB 008,008,009,009,010,010,011,012,012,013 ; 010-019 DB 013,014,014,025,025,016,016,017,018,018 ; 020-029 DB 019,019,020,020,021,021,022,022,023,023 ; 030-039 DB 024,025,025,026,026,027,027,028,028,029 ; 040-049 DB 029,030,031,031,032,032,033,033,034,034 ; 050-059 DB 035,035,036,037,037,038,038,039,039,040 ; 060-069 DB 040,041,041,042,043,043,044,044,045,045 ; 070-079 DB 046,046,047,047,048,049,049,050,050,051 ; 080-089 DB 051,052,052,053,053,054,054,055,056,056 ; 090-099 DB 057,057,058,058,059,059,060,060,061,062 ; 100-109 DB 062,063,063,064,064,065,065,066,066,067 ; 110-119 DB 068,068,069,069,070,070,071,071,072,072 ; 120-129 DB 073,074,074,075,075,076,076,077,077,078 ; 130-139 DB 078,079,080,080,081,081,082,082,083,083 ; 140-149 DB 084,084,085,085,086,087,087,088,088,089 ; 150-159 DB 089,090,090,091,091,092,093,093,094,094 ; 160-169 DB 095,095,096,096,097,097,098,099,099,100 ; 170-179 DB 100,100,100,100,100,100,100,100,100,100 ; 180-189 DB 100,100,100,100,100,100,100,100,100,100 ; 190-199 DB 100,000,000,000,000,000,000,000,000,000 ; 200-209 DB 000,000,000,000,000,000,000,000,000,000 ; 210-219 DB 000,000,000,000,000,000,000,000,000,000 ; 220-229 DB 000,000,000,000,000,000,000,000,000,000 ; 230-239 DB 000,000,000,000,000,000,000,000,000,000 ; 240-249 DB 000,000,000,000,000,000 ; 250-255;;kuadran I; 0 1 2 3 4 5 6 7 8 9lokup1: DB 000,000,000,000,000,000,000,000,000,000 ; 000-009 DB 000,000,000,000,000,000,000,000,000,000 ; 010-019 DB 000,000,000,000,000,000,000,000,000,000 ; 020-029 DB 000,000,000,000,000,000,000,000,000,000 ; 030-039 DB 000,000,000,000,000,000,000,000,000,000 ; 040-049 DB 000,000,000,000,000,000,000,000,000,000 ; 050-059 DB 000,000,000,000,000,000,000,000,000,000 ; 060-069 DB 000,000,000,000,000,000,000,000,000,000 ; 070-079 DB 000,000,000,000,000,000,000,000,000,000 ; 080-089 DB 000,000,000,000,000,000,000,000,000,000 ; 090-099 DB 000,000,000,000,000,000,000,000,000,000 ; 100-109 DB 000,000,000,000,000,000,000,000,000,000 ; 110-119 DB 000,000,000,000,000,000,000,000,000,000 ; 120-129 DB 000,000,000,000,000,000,000,000,000,000 ; 130-139 DB 000,000,000,000,000,000,000,000,000,000 ; 140-149 DB 000,000,000,000,000,000,000,000,000,000 ; 150-159 DB 000,000,000,000,000,000,000,000,000,000 ; 160-169 DB 000,000,000,000,000,000,000,000,000,000 ; 170-179 DB 000,000,000,000,000,000,000,000,000,000 ; 180-189 DB 000,000,000,000,000,000,000,000,000,000 ; 190-199
119
DB 000,000,000,000,000,000,000,000,000,000 ; 200-209 DB 100,098,096,094,092,090,088,086,083,081 ; 210-219 DB 079,077,074,072,070,068,065,063,061,059 ; 220-229 DB 056,054,052,050,047,045,043,041,038,036 ; 230-239 DB 034,032,029,027,025,023,020,018,016,014 ; 240-249 DB 011,009,007,005,002,000 ; 250-255;;kuadran II; 0 1 2 3 4 5 6 7 8 9lokup2: DB 000,000,000,000,000,000,000,000,000,000 ; 000-009 DB 000,000,000,000,000,000,000,000,000,000 ; 010-019 DB 000,000,000,000,000,000,000,000,000,000 ; 020-029 DB 000,000,000,000,000,000,000,000,000,000 ; 030-039 DB 000,000,000,000,000,000,000,000,000,000 ; 040-049 DB 000,000,000,000,000,000,000,000,000,000 ; 050-059 DB 000,000,000,000,000,000,000,000,000,000 ; 060-069 DB 000,000,000,000,000,000,000,000,000,000 ; 070-079 DB 000,000,000,000,000,000,000,000,000,000 ; 080-089 DB 000,000,000,000,000,000,000,000,000,000 ; 090-099 DB 000,000,000,000,000,000,000,000,000,000 ; 100-109 DB 000,000,000,000,000,000,000,000,000,000 ; 110-119 DB 000,000,000,000,000,000,000,000,000,000 ; 120-129 DB 000,000,000,000,000,000,000,000,000,000 ; 130-139 DB 000,000,000,000,000,000,000,000,000,000 ; 140-149 DB 000,000,000,000,000,000,000,000,000,000 ; 150-159 DB 000,000,000,000,000,000,000,000,000,000 ; 160-169 DB 000,000,000,000,000,000,000,000,000,000 ; 170-179 DB 000,000,000,000,000,000,000,000,000,000 ; 180-189 DB 000,000,000,000,000,000,000,000,000,000 ; 190-199 DB 190,188,186,184,182,180,178,176,175,173 ; 200-209 DB 171,169,167,166,164,162,160,158,157,155 ; 210-219 DB 153,151,149,148,146,144,142,140,139,137 ; 220-229 DB 135,133,131,130,128,126,124,122,121,119 ; 230-239 DB 117,115,113,112,110,108,106,104,103,101 ; 240-249 DB 099,097,095,094,092,090 ; 250-255;;kuadran III; 0 1 2 3 4 5 6 7 8 9lokup3: DB 000,000,000,000,000,000,000,000,000,000 ; 000-009 DB 000,000,000,000,000,000,000,000,000,000 ; 010-019 DB 000,000,000,000,000,000,000,000,000,000 ; 020-029 DB 000,000,000,000,000,000,000,000,000,000 ; 030-039 DB 000,000,000,000,000,000,000,000,000,000 ; 040-049 DB 000,000,000,000,000,000,000,000,000,000 ; 050-059 DB 000,000,000,000,000,000,000,000,000,000 ; 060-069 DB 000,000,000,000,000,000,000,000,000,000 ; 070-079 DB 000,000,000,000,000,000,000,000,000,000 ; 080-089 DB 000,000,000,000,000,000,000,000,000,000 ; 090-099 DB 000,000,000,000,000,000,000,000,000,000 ; 100-109 DB 000,000,000,000,000,000,000,000,000,000 ; 110-119 DB 000,000,000,000,000,000,000,000,000,000 ; 120-129 DB 000,000,000,000,000,000,000,000,000,000 ; 130-139 DB 000,000,000,000,000,000,000,000,000,000 ; 140-149 DB 000,000,000,000,000,000,000,000,000,000 ; 150-159 DB 000,000,000,000,000,000,000,000,000,000 ; 160-169 DB 000,000,000,000,000,000,000,000,000,000 ; 170-179
DB 000,000,000,000,000,000,000,000,000,000 ; 180-189 DB 000,000,000,000,000,000,000,000,000,000 ; 190-199 DB 086,086,087,088,089,090,091,092,093,094 ; 200-209 DB 095,095,096,097,098,099,100,101,102,103 ; 210-219 DB 104,104,105,106,107,108,109,110,111,112 ; 220-229 DB 113,113,114,115,116,117,118,119,120,121 ; 230-239 DB 122,122,123,124,125,126,127,128,129,130 ; 240-249 DB 131,131,132,133,134,135 ; 250-255;;kuadran IV; 0 1 2 3 4 5 6 7 8 9lokup4: DB 180,179,178,177,176,175,174,173,172,171 ; 000-009 DB 170,169,168,167,166,165,164,163,162,161 ; 010-019 DB 160,159,158,157,156,155,154,153,152,151 ; 020-029 DB 150,149,148,147,146,145,144,143,142,141 ; 030-039 DB 140,139,138,137,136,135,000,000,000,000 ; 040-049 DB 000,000,000,000,000,000,000,000,000,000 ; 050-059 DB 000,000,000,000,000,000,000,000,000,000 ; 060-069 DB 000,000,000,000,000,000,000,000,000,000 ; 070-079 DB 000,000,000,000,000,000,000,000,000,000 ; 080-089 DB 000,000,000,000,000,000,000,000,000,000 ; 090-099;add16: anl PSW,#0E7h mov A,R0 add A,R2 mov R0,A mov A,R1 addc A,R3 mov R1,A mov C,OV ret;sub16: anl PSW,#0E7h mov A,R0 clr C subb A,R2 mov R0,A mov A,R1 subb A,R3 mov R1,A mov C,OV ret;mul16: anl PSW,#0E7h lcall cr0r1 lcall cr2r3 lcall umul16 lcall mr0r3 ret;umul16: push B push DPL mov A,R0 mov B,R2 mul AB push Acc
121
push B mov A,R0 mov B,R3 mul AB pop 00h add A,R0 mov R0,A clr A addc A,B mov DPL,A mov A,R2 mov B,R1 mul AB add A,R0 mov R0,A mov A,DPL addc A,B mov DPL,A clr A addc A,#0 push Acc mov A,R3 mov B,R1 mul AB add A,DPL mov R2,A pop Acc addc A,B mov R3,A mov R1,00h pop 00h pop DPL pop B ret;div16: anl PSW,#0E7h mov A,R3 orl A,R2 jnz divok setb C ret;divok: push DPL push DPH push B lcall cr0r1 lcall cr2r3 lcall udiv16 lcall mr0r1 clr C pop B pop DPH pop DPL ret;udiv16: mov R7,#0
mov R6,#0 mov B,#16;divlop: clr C mov A,R0 rlc A mov R0,A mov A,R1 rlc A mov R1,A mov A,R6 rlc A mov R6,A mov A,R7 rlc A mov R7,A mov A,R6 clr C subb A,R2 mov DPL,A mov A,R7 subb A,R3 mov DPH,A cpl C jnc div_1 mov R7,DPH mov R6,DPL;div_1: mov A,R4 rlc A mov R4,A mov A,R5 rlc A mov R5,A djnz B,divlop mov A,R5 mov R1,A mov A,R4 mov R0,A mov A,R7 mov R3,A mov A,R6 mov R2,A ret;cr0r1: mov A,R1 jb Acc.7,c0a clr 21h ret;c0a: setb 21h mov A,R0 cpl A add A,#1 mov R0,A mov A,R1
123
cpl A addc A,#0 mov R1,A ret;cr2r3: mov A,R3 jb Acc.7,c1a clr 22h ret;c1a: setb 22h mov A,R2 cpl A add A,#1 mov R2,A mov A,R3 cpl A addc A,#0 mov R3,A ret;mr0r1: jb 21h,mr0r1b jb 22h,mr0r1a ret;mr0r1b: jnb 22h,mr0r1a ret;mr0r1a: mov A,R0 cpl A add A,#1 mov R0,A mov A,R1 cpl A addc A,#0 mov R1,A ret;mr0r3: jb 21h,mr0r3b jb 22h,mr0r3a ret;mr0r3b: jnb 22h,mr0r3a ret;mr0r3a: mov A,R0 cpl A add A,#1 mov R0,A mov A,R1 cpl A addc A,#0 mov R1,A mov A,R2 cpl A addc A,#0
mov R2,A mov A,R3 cpl A addc A,#0 mov R3,A ret; end
125
Lampiran 5:
Hasil Pengukuran
1. Analisis Data Arah Mata Angin
1.000 =−
2.
( ) %10045
5045%_ xsudutsimpangan −=
%1,11
%10045
5
=
−= x
3.
( ) %10090
9890%_ xsudutsimpangan −=
%89,8
%10090
8
=
−= x
4.
( ) %100135
134135%_ xsudutsimpangan −=
%74,0
%100135
1
=
= x
5.
( ) %100180
187180%_ xsudutsimpangan −=
%89,3
%100180
7
=
−= x
6.
( ) %100225
229225%_ xsudutsimpangan −=
%78,1
%100225
4
=
−= x
7.
( ) %100270
271270%_ xsudutsimpangan −=
%37,0
%100270
1
=
−= x
8.
( ) %100315
323315%_ xsudutsimpangan −=
%54,2
%100360
8
=
−= x
( )8
54,237,078,189,374,089,81,110%2_ ++++++++=ratasimpangan
%66,3831,29
=
=
2. Analisis Data Jarak Benda
1. %100
100100100_ xjaraksimpangan −=
127
%0=
%0=
2. %100
989998_ xjaraksimpangan −=
%02,1
%10098
1
=
−= x
3. %100
878887_ xjaraksimpangan −=
%15,1
%10087
1
=
−= x
4. %100
767676_ xjaraksimpangan −=
5. %100
656665_ xjaraksimpangan −=
%54,1
%100651
=
= x
6. %100
545454_ xjaraksimpangan −=
%0=
7. %100
434443_ xjaraksimpangan −=
%32,2
%10043
1
=
−= x
8. %100
323332_ xjaraksimpangan −=
%12,3
%10032
1
=
−= x
9. %100
1002121_ xjaraksimpangan −=
%0=
10. %100
101110_ xjaraksimpangan −=
%10
%100101
=
= x
1010012,332,2054,1015,102,10_(%)_ +++++++++=− rataratasimpangan
92,110
15,19
=
=
129