i
yang mampu melakukan pekerjaan manusia. Pekerjaan manusia yang dapat dilakukan oleh alat pengukur tinggi badan digital tersebut adalah mengukur tinggi badan seseorang tanpa bantuan petugas. Tetapi apabila melakukan pengukuran tinggi badan dilakukan dengan cara manual maka sangat merepotkan bagi petugas penjaganya, maka dibuatlah alat pengukur tinggi badan digital ini yang dibuat secara minimalis hingga menyerupai bentuk aslinya.
Berangkat dari sinilah penulis ingin sekali memecahkan permasalan yang ada di atas dengan membuat sebuah program yaitu PERANCANGAN ALAT PENGUKUR TINGGI BADAN DIGITAL MENGGUNAKAN SENSOR ULTRASONIK BERBASIS MIKROKONTROLER. Jika dilihat dari segi penampilan alatnya mungkin tidak jauh berubah,hanya fungsinya lebih baik untuk digunakan sebagai alat ukur dan tingkat akurasinya lebih terjamin. Soalnya kita menggunakan sensor ultrasonik yang sudah diprogram untuk parameter angkanya,dan penunjuk angkanya kita menggunakan layar LCD display tepat di depan kita dengan penunjuk digital sebagai penunjuk angka meternya. Dari permasalahan diatas dapat diatasi dengan merancang dan membuat alat pengukur tinggi badan digital yang dilengkapi dengan sensor jarak ping parallax, layar LCD Display, dan mikrokontroler AT89C51.
Hasil pengujian menunjukkan bahwa tingkat keberhasilan dalam pengukuran tinggi badan seseorang terletak pada obyek yang akan diukur yang tidak mengandung unsur menyerap sinyal.
ii
yang telah memberikan rahmat-Nya sehingga penulis bisa menyelesaikan Tugas Akhir yakni dengan judul “Perancangan Alat Pengukur Tinggi Badan Digital Menggunakan Sensor Ultrasonik Berbasis Mikrokontroler”.
Tujuan disusun Tugas Akhir ini adalah sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN “VETERAN” Jawa Timur.
Dalam menyelesaikan Tugas Akhir ini penulis menyadari telah banyak mendapatkan bantuan dari berbagai pihak, baik dari segi moril maupun materiil. Oleh karena itu pada kesempatan kali ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada :
1. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya.
2. Bapak Ir. Mu’tasim Billah, MS selaku Wakil Dekan 1 Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya. 3. Bapak Basuki Rahmat, S.Si, MT selaku Ketua Jurusan Teknik Informatika
Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya. Beliau sekaligus menjadi dosen pembimbing I dan penguji, yang sangat penulis banggakan. Karena arahan dan motifasi beliau saat membimbing, akhirnya penulis dapat menyelesaikan Tugas Akhir ini dengan baik.
iii
6. Spesial buat Mbah Thok, do’akan “uut” supaya sukses dalam mencari kerja dan jodoh, Amin.
7. Buat “PERMATA HATI” yang sedang mencari uang, saya mohon maaf belum bisa membuat sampean “BISA”.
8. Buat ”ANDHALISTRA”, terima kasih atas dorongan motifasi, mental dan kisahnya. Tanpa kamu semua ini tak kan mampu ku jalani seorang diri.
9. Buat “ADIK” Dwi Yunanti, saya mohon maaf belum bisa mewujudkan apa yang kita rencanakan selama ± 5 tahun ini. Sekali lagi Mas Uut minta maaf. 10.Teman terbaikku Adi Pria sekeluarga dengan bantuannya pada program dan
rangkaian elektronika alat pengukur tinggi badan digital, saya berhutang banyak, terima kasih banyak “Di”.
11.Mas Gondrong “Mostofa” terima kasih atas bantuan bikin laporannya dan rangkaian minimum sistemnya maaf selalu ganggu dan ngrepotin.
12.Buat rekan-rekan Teknik Informatika terima kasih atas motifasinya, sehingga tugas akhir ini dapat selesai lebih cepat.
13.Buat seluruh anggota SWCC “Sidotopo Wetan Cycling Community” terima kasih atas dorongan, motifasi dan sharingnya untuk mempercepat pengerjaan tugas akhir ini. Kapan touring lagi nich ???
iv
yudha” kangen pengen bercanda tawa sama adek-adek semua.
17.Buat “pak nardi dan bu mamik”, yudha minta maaf belum bisa jadi yang terbaik di keluarga tambak segaran dan mungkin yudha pernah melakukan ke khilafan selama main disana, sekali lagi yudha minta maaf.
18.Buat “lek war”, yudha terima kasih banyak atas semua pengorbanan yang “lek war” lakukan buat yudha, perhatian dan kasih sayang yang takkan terlupakan. “lek kulo kangen” suasana tambak segaran 78 yang ceria.
19. Buat “bapak dan ibu kedinding tengah baru I / 41, bapak Supojo dan ibu Trisnawati”, yudha minta maaf belum bisa menjadi “anak” yang baik di keluarga. Semoga bapak dan ibu diberikan kesehatan selalu.
20.Buat keisha dan thalita, ’om yudha’ kangen sama tingkah laku kalian yang gak bisa diem dan bikin “tante anty, om yudha, mbah kakung dan mbah uti” jengkel.
Surabaya, 10 Desember 2010
v
ABSTRAK ...i
KATA PENGANTAR... ii
DAFTAR ISI...v
DAFTAR GAMBAR... viii
DAFTAR TABEL ...x
BAB I PENDAHULUAN 1.1. Latar Belakang ...1
1.2. Rumusan Masalah ...3
1.3. Batasan Masalah ...4
1.4. Tujuan Penulisan...4
1.5. Manfaat Penulisan...4
1.6. Metodologi Perancangan ...5
1.7. Sistematika Penulisan ...5
BAB II TINJAUAN PUSTAKA 2.1. Mikrokontroler AT89C51 ...7
2.1.1. Pin-Pin Mikrokontroler AT89C51 ...8
2.1.2. Struktur Perangkat Keras AT89C51 ...11
2.1.3. Struktur Memori...12
2.1.4. Register Mikrokontroler AT89C51...15
2.1.5. Pewaktu/Pencacah ( Timer/Counter ) ...19
2.1.6. Sistem Interupsi ...21
2.2. Sensor Ultrasonik...22
2.3. LCD Display ...25
BAB III PERANCANGAN ALAT PENGUKUR TINGGI BADAN 3.1. Perancangan Perangkat Keras...27
vi
3.1.4. Perancangan Mikrokontroler dengan LCD Display...33
3.1.5. Perancangan Seluruh Rangkaian...34
3.2. Perancangan Perangkat Lunak ...36
3.2.1. Perancangan Sensor Ultrasonik ...36
BAB IV IMPLEMENTASI PERANCANGAN 4.1. Implementasi Perangkat keras ...39
4.1.1. Kerangka Pengukur Tinggi Badan...39
4.1.2. Mikrokontroler AT89C51 ...44
4.1.3. Rangkaian Sensor Ultrasonik Dengan Mikrokontroler...47
4.1.4. Rangkaian LCD Dengan Mikrokontroler ...48
4.2. Implementasi Perangkat Lunak...51
4.2.1. Mikrokontroler AT89C51 ...52
4.2.1.1. Keil C51 ...52
4.2.1.2. EDT Programmer...53
4.2.2. Perangkat Lunak Sensor Ultrasonik...55
4.2.3. Perangkat Lunak LCD ...56
BAB V PENGUJIAN DAN ANALISA ROBOT 5.1. Pengujian...59
5.1.1. Pengujian Sensor Ultrasonik...59
5.1.1.1. Pengujian Sensor Ultrasonik Manual...59
5.1.1.2. Pengujian Sensor Ultrasonik Pada Alat Pengukur Tinggi Badan ...61
5.1.2. Pengujian LCD...63
5.1.2.1. Pengujian LCD Manual ...63
vii
5.2. Analisa ...72 5.2.1. Analisa Alat Pengukur Tinggi Badan ...72 5.2.2. Analisa Pengujian ...74
BAB VI KESIMPULAN DAN SARAN
6.1. Kesimpulan ...78 6.2. Saran ...78
viii
Gambar 2.3. Struktur AT89C51...12
Gambar 2.4. Blok struktur memori ...13
Gambar 2.5. Sensor Ultrasonik Ping Parallax ...23
Gambar 2.6. Pulsa Ping))) Paralax Ultrasonic Range Finder ...24
Gambar 2.7. LCD Display ...25
Gambar 3.1. Aluminium ...27
Gambar 3.2. perancangan kerangka Pengukur Tinggi Badan...28
Gambar 3.3. Rangkaian Reset...29
Gambar 3.4. Rangkaian Clock ...30
Gambar 3.5. Kristal...31
Gambar 3.6. Mikrokontroler Avr Dengan Sensor Ultrasonik Ping ...31
Gambar 3.7. Mikrokontroler MCS-51 Dengan Sensor Ultrasonik Ping...32
Gambar 3.8. Rangkaian Sensor Ultrasonik Dan Mikrokontroler...33
Gambar 3.9. Pemasangan Layar LCD Display Ke Mikrokontroler...34
Gambar 3.10. Diagram Blok Rankaian Pengukur Tinggi Badan Digital...35
Gambar 3.11. Skema Rangkaian Alat Pengukur Tinggi Badan Digital...35
Gambar 3.12. Diagram Alir Pembacaan Sensor Ultrasonik ...37
Gambar 3.13. Diagram Alir Pengukuran Tinggi Badan ...38
Gambar 4.1. Kerangka Pengukur Tinggi Badan Tampak Atas...40
Gambar 4.2. Kerangka Pengukur Tinggi Badan Tampak Bawah...40
Gambar 4.3. Kerangka Pengukur Tinggi Badan Tampak Depan ...41
Gambar 4.4. Pemasangan Rangkaian Mikrokontroler Pada Kerangka...42
Gambar 4.5. Pemasangan Sensor Ultrasonik Pada Kerangka...42
Gambar 4.6. Pemasangan LCD Pada Kerangka ...43
Gambar 4.7. Pemasangan Baterai Pada Kerangka...43
Gambar 4.8. Rangkaian Mikrokontroler ...44
Gambar 4.9. Rangkaian Reset Dan Rangkaian Oscillator ...45
ix
Gambar 4.15. Rangkaian R Array...51
Gambar 4.16. Tampilan Keil C51...53
Gambar 4.17. Sofware Dan Hardware EDT Programmer ...54
Gambar 5.1. Pengujian Sensor Ultrasonik Manual...60
Gambar 5.2. Pengujian Sensor Ultrasonik Pada Alat ...62
Gambar 5.3. Pengujian LCD Manual ...63
Gambar 5.4. Pengujian LCD Dengan Sensor Ultrasonik ...64
Gambar 5.5 Pengujian LCD Dengan Alat Pengukur Tinggi Badan ...65
Gambar 5.6 Pengujian Alat Pengukur Tinggi Badan...66
Gambar 5.7 Hasil Pengukuran Dengan Alat Pengukur Tinggi Badan Digital...68
x
Tabel 2.3. Keterangan Register Timer Control...19
Tabel 2.4. Mode Operasi Timer ...20
Tabel 2.5. Mode Operasi Timer/Counter ...20
Tabel 2.6. Register IE Interrupt Enable Pada AT89C51...22
Tabel 5.1. Pengujian Sensor Ultrasonik...60
Tabel 5.2. Pengujian Alat Dengan 10 X Pada Satu Orang ...70
1 1.1 Latar Belakang
percaya diri yang kurang. Sebaliknya jika wanita yang memiliki berat badan dan tinggi badan yang ideal malah merasa sangat senang untuk sebuah pertanyaan diatas,dengan tinggi dan berat badan yang proporsional sepertinya seorang wanita memiliki rasa kepercayaan diri yang tinggi bila ingin melakukan segala aktifitas bahkan untuk sebuah pekerjaan pun sepertinya tanpa ada masalah yang mengahambatnya.
Dari alat pengukur tinggi badan dan berat badan yang sudah ada hanya menggunakan alat yang manual dan tingkat ke-akurasiannya sangat kecil sekali untuk mendekati angka sesungguhnya dan suatu saat bisa berubah tingkat akurasinya dengan sendirinya seiring berjalannya waktu dan alat tersebut sudah tidak layak lagi untuk digunakan oleh banyak orang sebagaimana mestinya. Seiring dengan perkembangan komputer yang sangat pesat, semakin banyak pekerjaan yang dulunya dilakukan oleh manusia atau dikerjakan oleh mesin yang sederhana kini digantikan oleh mesin-mesin yang bisa mempermudah aktifitas kerja manusia. Banyak peralatan yang tadinya digunakan secara manual kini digantikan dengan peralatan yang otomatis.
angkanya,dan penunjuk angkanya kita menggunakan layar LCD display tepat di depan kita dengan penunjuk digital sebagai penunjuk angka meternya.
Alat ini terdiri dari perangkat keras (Hardware) yaitu rangkaian mikrokontroler AT89C51, rangkaian serial dan sensor ultrasonik. Cara kerja dari alat ini adalah sensor ultrasonik (transmitter) memancarkan gelombang ultrasonik dan mendeteksi objek (orang) yang akan diukur kemudian gelombang tersebut dipantulkan kembali ke penerima (receiver) sensor ultrasonik. Data yang dihasilkan dari penerima (receiver) sensor ultrasonik kemudian dikirimkan ke mikrokontroler yang diprogram dengan perangkat lunak (Software) menggunakan bahasa pemrograman C++ untuk diolah atau diproses. Agar data tersebut bisa dilihat secara visual maka data tersebut dikirimkan ke PC (Personal Computer) dengan menggunakan komunikasi serial. Data yang dikirimkan ke PC merupakan data yang berupa angka dan angka tersebut adalah nilai dari tinggi badan dalam satuan sentimeter atau cm. Setelah dilakukan pengukuran maka diperoleh kesimpulan bahwa pengukuran tinggi badan tidak hanya dilakukan secara manual, tetapi bisa dilakukan secara otomatis.
1.2 Rumusan Masalah
Bentuk permasalahan yang dihadapi dalam tugas akhir ini adalah sebagai berikut :
1. Bagaimana pengiriman data ke mikrokontroler?
2. Bagaimana perhitungan untuk mengukur tinggi badan?
4. Bagaimana peletakan posisi sensor ultrasonik ke kerangka? 5. Bagaimana menampilkan hasil pengukur dari sensor ultrasonik?
1.3 Batasan Masalah
Asumsi berikut ini sebagai batasan masalah yang dipakai dalam tugas akhir untuk mengoptimalkan kinerja dari alat:
1. Program ini dibuat untuk alat pengukur tinggi badan saja. 2. Tingkat keakurasiannya sampai dengan mm.
3. Sensor maksimal dapat mengukur 300 cm.
4. Program hanya dapat memberikan informasi kepada user melalui tampilan layar LCD Display yang ada didepannya.
5. Software yang digunakan untuk processing adalah C++.
1.4 Tujuan Penulisan
Tujuan dari penulisan ini adalah :
1. Dapat mengetahui keakuratan data yang didapat oleh alat ukur.
2. Merubah alat ukur manual menjadi otomatis yang lebih baik dan efisien. 3. Mempermudah kinerja petugas.
1.5 Manfaat Penulisan
1.6 Metodologi Perancangan
Metode perancangan yang digunakan sebagai berikut : 1. Studi literatur dan diskusi
Pada tahap ini penulis akan mempelajari literatur yang berhubungan dengan pengukur tinggi badan dengan sensor ultrasonik, mikrokontroler AT89C51, LCD Display dan juga komponen pendukung lainnya.
2. Perancangan perangkat keras
Pada perancangan perangkat keras penulis membuat kerangka pengukur tinggi badan, rangkaian minimum system mikrokontroler AT89C51, rangkaian mikrokontroler dengan sensor ultrasonik, rangkaian mikrokontroler dengan LCD Display.
3. Perancangan perangkat lunak
Setelah semua perangkat keras telah selesai dikerjakan maka akan dilakukan perancangan perangkat lunak berupa diagram alir dan penanamam program dari diagram alir tersebut kedalam mikrokontroler.
4. Pengujian alat pengukur tinggi badan
Setelah perangkat keras dan perangkat lunak selesai dikerjakan maka tahap selanjutnya adalah pengujian alat pengukur tinggi badan, jika hasil pengujian tidak sesuai dengan yang diharapkan maka akan dilakukan perbaikan hingga tujuan tercapai.
1.7 Sistematika Penulisan
BAB I : PENDAHULUAN
Pada bab ini mengurai tentang latar belakang, perumusan masalah, batasan masalah, tujuan, manfaat , dan sistematika penulisan. BAB II : TINJAUAN PUSTAKA
Pada bab ini akan membahas dasar-dasar teori dari mikrokontroler AT89C51 dan komponen-komponen pendukung lainnya.
BAB III : PERANCANGAN ALAT PENGUKUR TINGGI BADAN
Pada bab ini membahas tentang perancangan perangkat keras dan perancangan perangkat lunak dari alat pengukur tinggi badan digital.
BAB IV : IMPLEMENTASI PERANCANGAN
Pada bab ini membahas mengenai implementasi perancangan perangkat keras maupun perancangan perangkat lunak yang telah dirancang.
BAB V : PENGUJIAN DAN ANALISA
Bab ini membahas tentang pengujian sensor ultrasonik, output dari LCD Display dan pengujian alat pengukur tinggi badan digital secara keseluruhan dan analisa alat pengukur tinggi badan digital. BAB VI : KESIMPULAN DAN SARAN
7
digunakan mikrokontroler AT89C51 dan rangkaian pendukung seperti, sensor ultrasonik buatan Ping Parallax.
2.1 Mikrokontroler AT89C51
Mikrokontroler AT89C51 merupakan salah satu keluarga dari MCS51 keluaran Atmel dengan 4 Kbyte Flash PEROM ( Programable and Erasable Read Only Memory ), AT89C51 merupakan memori dengan teknologi nonvolatile memory, isi memori tersebut dapat diisi ulang ataupun dihapus berkali-kali [1]. Mikrokontroler disebut juga dengan single chip mikrokomputer, karena dapat digunakan langsung sebagai pengontrol tanpa memerlukan bantuan komponen digital yang lain. Jenis mikrokontroler ini pada prinsipnya dapat digunakan untuk mengolah data per bit atau pun data 8 bit secara bersamaan. Alasan menggunakan mikrokontroler AT89C51 adalah :
1. Mempunyai 32 pin I/O
2.1.1. Pin-Pin Mikrokontroler AT89C51
Gambar 2.1 Susunan pin mikrokontroler AT89C51
Pada gambar 2.1 terdapat susunan pin dari mikrokontroler mulai dari port0, port1, port2,port3,vcc dan gnd.
Susunan pin-pin mikrokontroler AT89C51 seperti yang terlihat pada tabel 2.1 ,dimana terdapat nomor pin dan nama pin serta keterangan dari nama pin.
2.1.2. Struktur Perangkat Keras AT89C51
Struktur mikrokontroler AT89C51 diotaki oleh CPU 8 bit yang terhubung melalui satu jalur bus dengan memori penyimpanan berupa RAM dan ROM serta jalur I/O berupa port bit I/O dan port serial [1]. Selain itu terdapat fasilitas timer/counter internal dan jalur interface address dan data ke memori eksternal.
Blok diagram dan struktur mikrokontroler AT89C51 dapat dilihat pada gambar 2.2 dan Gambar 2.3 :
Gambar 2.3 Struktur AT89C51
Pada gambar 2.3 disini menggambarkan secara detail tentang struktur dari mikrokontroler AT89C51.
2.1.3. Struktur Memori
Gambar 2.4 Blok struktur memori
Pada gambar 2.4 menggambarkan tentang struktur memori pada
mikrokontroler AT89C51. Mikrokontroler AT89C51 mempunyai struktur memori yang terdiri atas :
1. RAM internal, memori sebesar 128 byte yang biasanya digunakan untuk menyimpan variabel atau data yang bersifat sementara.
2. Special Function Register (Register Fungsi Khusus), memori yang berisi register-register yang mempunyai fungsi-fungsi khusus yang disediakan oleh mikrokontroler tersebut, seperti timer, serial dan lain-lain.
3. Flash PEROM, memori yang digunakan untuk menyimpan instruksi-instruksi MCS51. Mikrokontroler AT89C51 memiliki pembagian ruang alamat (address space) untuk memori program dan memori data. Walaupun demikian, alamat data memori 16 bit dapat dihasilkan melalui register DPTR (Data Pointer Register). Struktur memori mikrokontroler AT89C51 dibagi menjadi dua bagian, yaitu memori program dan memori data.
program internal ini dijalankan pada saat mikrokontroler mendapat sumber catu daya, dan sumber detak. Memori program ini hanya dapat dibaca tidak bisa ditulisi (karena disimpan dalam EPROM). Selain menggunakan memori program internal, mikrokontroler juga dapat dioperasikan dengan memori program eksternal. Sinyal yang membolehkan pembacaan dari memori program eksternal adalah dari pena program store enable (PSEN). Setelah reset, CPU akan mengeksekusi mulai pada alamat 0000H. Setiap interupsi mempunyai lokasi tetap dalam memori program. Interupsi akan menyebabkan CPU melompat ke lokasi tersebut, pada lokasi tersebut terdapat sub rutin yang harus dilaksanakan.
Memori data terletak pada ruang alamat terpisah dari memori program RAM eksternal 64 Kbyte dapat dialamati dalam ruang memori data eksternal CPU menghasilkan sinyal read dan write selama menghubungi memori data eksternal. Untuk melaksanakan pembacaan atau penulisan, mikrokontroler akan mengirimkan sinyal RD dan WR. RAM yang digunakan mempunyai kapasitas 8 Kbyte. Ruang memorinya dibagi menjadi tiga blok, yaitu sebagai lower 128, upper 128 dan 128 byte SFR (Special Function Register).
2.1.4. Register Mikrokontroler AT89C51
Register-register pada mikrokontroler AT89C51 dapat digolongkan menjadi dua register, yaitu register serbaguna (General Purpose Register) dan register dengan fungsi khusus (Special Function Register) [1]. Register serbaguna adalah register yang berfungsi untuk menyimpan data sementara untuk diolah oleh CPU baik operasi logika maupun aritmatika. Register serbaguna hanya dapat berfungsi sebagai nilai operan kedua pada perhitungan aritmatika ataupun operasi logika dengan operan utama register akumulator. Register serbaguna tidak memiliki fungsi-fungsi khusus. Mikrokontroler AT89C51 memiliki register serbaguna 8 bit yang terdiri dari R0-R7 yang mempunyai 4 bank alamat lokasi RAM internal. Register - register khusus / SFR yang dimiliki oleh mikrokontroler.
AT89C51 menempati alamat pada RAM internal 128. Mikrokontroler AT89C51 mempunyai 21 special function register yang terletak pada antara alamat 80H hingga FFH. Beberapa dari register-register ini juga mampu dialamati dengan pengalamatan bit sehingga dapat dioperasikan seperti yang ada pada RAM yang lokasinya dapat dialamati dengan pengalamatan bit. Adapun register-register tersebut adalah sebagai berikut:
1. Akumulator
2. Port
Mikrokontroler AT89C51 mempunyai empat buah port, yaitu Port 0, Port 1, Port 2 dan Port 3 yang terletak pada alamat 80H, 90H, A0H dan B0H. Namun, jika digunakan eksternal memori ataupun fungsi-fungsi spesial, seperti external interrupt. Serial ataupun external timer, port 0, port 2 dan port 3 tidak dapat digunakan sebagai port dengan fungsi umum. Untuk itu disediakan port 1 yang dikhususkan untuk port dengan fungsi umum. Semua port ini dapat diakses dengan pengalamatan secara bit sehingga dapat dilakukan perubahan output pada tiap-tiap pin dari port ini tanpa mempengaruhi pin - pin yang lainnya. 3. Register B
Register B digunakan bersama akumulator untuk proses aritmatik selain dapat juga difungsikan sebagai register biasa. Register ini juga bersifat bit addressable.
4. Register penyimpan status ( Program Status Word: PSW )
5. Stack Pointer
Stack pointer merupakan sebuah register 8 bit yang terletak di alamat 81 H. Isi dari stack pointer ini merupakan alamat dari data yang disimpan di stack. Stack pointer dapat diedit atau dibiarkan saja mengikuti standart sesudah terjadi reset. Jika stack pointer diisi data 5FH, area untuk proses penyimpan dan pengambilan data dari dan ke stack adalah sebesar 32 byte, yaitu antara 60H hingga 7FH karena 89C51 mempunyai internal RAM sebesar 128 byte.
6. Data Pointer
Data pointer atau DPTR merupakan register 16 bit dan terletak pada alamat 82H untuk DPL dan 83H untuk DPH. DPTR biasa digunakan untuk mengakses source code ataupun data yang terletak di memori eksternal.
7. Register Timer
AT89C51 mempunyai dua buah 16 bit timer/counter, yaitu timer 0 dan timer 1. Timer 0 terletak di alamat 8AH untuk TL0 dan 8CH untuk TH0 dan timer 1 terletak di alamat 8BH untuk TL1 dan 8DH untuk TH1.
8. Register Port Serial
9. Register Interrupt
AT89C51 mempunyai lima buah interrupsi dengan dua buah prioritas interrupsi. Interrupsi akan selalu non aktif setiap kali sistem direset. Register-register yang berhubungan dengan interrupt adalah Interrupt Enable Register (IE) atau register pengaktif interupsi pada alamat A8H untuk mengatur keaktifan tiap-tiap interrupt dan Interrupt Priority Register (IP) atau register prioritas interupsi pada alamat B8H.
10. Register Kontrol Power
Register ini terdiri atas SMOD yang digunakan untuk melipat dua buah rate dari port serial, dua buah bit untuk flag fungsi umum pada bit ketiga dan bit kedua, Power Daya (PD) bit dan Idle (IDL) bit.
Tabel 2.2 Alamat register pada SRF
2.1.5. Pewaktu/Pencacah ( Timer/Counter )
Mikrokontroler AT89C51 memiliki dua buah timer/counter 16 bit, yaitu timer/counter 0, dan timer/counter 1. Pada fungsi timer, register ini ditambah tiap satu siklus mesin atau dapat diartikan sebagai penghitung siklus mesin. Bila pewaktu/pencacah diaktifkan pada frekuensi 12 Mhz, maka pewaktu/pencacah akan melakukan penghitungan sekali tiap satu ms tidak tergantung pada pelaksanaan suatu instruksi. Apabila periode waktu tertentu telah dilampaui, maka pewaktu/pencacah akan memberi interupsi ke mikrokontroler bahwa instruksi perhitungan waktu telah selesai dilaksanakan. Pengontrol kerja pewaktu/pencacah adalah register timer control (TCON) pada spesial kontrol register adalah sebagai berikut:
Tabel 2.3 Keterangan register timer control
Sedangkan untuk pemilihan fungsi pewaktu atau pencacah dan mode operasi pewaktu/pencacah adalah pada Special Function Register TMOD seperti pada tabel 2.4:
Tabel 2.4 Mode operasi timer
Keterangan:
GATE Saat TRx (pada TCON) diset 1 dan GATE=1, timer/counter x hanya akan berjalan ketika pin INT-x logika (hardware control). Apabila GATE=0, timer/counter hanya akan berjalan ketika TRx=1 (software control). C/T Selektor timer atau counter. Clear (0) untuk operasi timer dengan masukan dari pena T-x.
[image:30.595.117.512.469.561.2]M1 Bit pemilih mode 1. M0 Bit pemilih mode 0.
Tabel 2.5 Mode operasi timer/counter
Pada tabel 2.5 menjelaskan tentang mode operasi timer/counter pada mikrokontroler AT89C51.
GATE (control eksternal), 2 timer 1 dijalankan dalam mode 2 counter, maka nilai yang harus diisikan ke TMOD adalah 69H.
2.1.6. Sistem Interupsi
AT89C51 menyediakan 5 sumber interupsi, yaitu: 2 interupsi eksternal, 2 interupsi pewaktu dan sebuah interupsi serial.
Mikrokontroler AT89C51 memiliki dua jenis interupsi, yaitu:
1. Saluran interupsi internal, yaitu terdiri dari pewaktu/pencacah 0 (T0), pewaktu/pencacah 1 (T1), dan terminal serial.
2. Saluran interupsi eksternal, yaitu terdiri dari interupsi eksternal 0 (INT0), interupsi eksternal 1 (INT1). Sistem interupsi pada mikrokontroler AT89C51 akan menghasilkan suatu program yang berjalan, serta melayani interupsi yang diminta. Bila permintaan interupsi telah dilaksanakan, maka CPU akan kembali ke pelaksanaan program utama yang ditinggalkan. Sistem kerja interupsi dapat dijelaskan sebagai berikut:
Pada saat terjadi, informasi alamat terakhir pada pencacah program (PC) disimpan dalam Stack Pointer (SP), kemudiaan pencacah program diisi dengan alamat interupsi yang akan dituju. Kemudian CPU melaksanakan interupsi yang ditunjukkan pencacah program, sehingga interupsi dilaksanakan. Selanjutnya informasi pada Stack Pointer akan dikembalikan kepada pencacah program bila interupsi telah dilaksanakan.
Register IE ini juga mengandung sebuah bit untuk aktivasi interupsi secara global, yang dapat digunakan untuk mengaktifkan dan mematikan interupsi secara keseluruhan.
Tabel 2.6 Register IE interrupt enable pada AT89C51
Pada tabel 2.6 menjelaskan tentang register IE interrupt enable pada mikrokontroler AT89C51.
2.2 Sensor Ultrasonik
Ping))) Ultrasonic Range Finder, adalah modul pengukur jarak dengan ultrasonic buatan Paralax Inc. yang didesain khusus untuk teknologi robotika. Dengan ukurannya yang cukup kecil (2,1 cm x 4,5 cm), sensor seharga 300 ribu rupiah ini dapat mengukur jarak antara 3 cm sampai 300 cm. Keluaran dari Ping))) berupa pulsa yang lebarnya merepresentasikan jarak. Lebar pulsanya bervariasi dari 115 uS sampai 18,5 mS.
Gambar 2.5 Sensor Ultrasonik Ping Parallax
terdeteksi oleh Ping))). Oleh karena itulah lebar pulsa tersebut dapat merepresentasikan jarak antara Ping))) dengan objek. Selanjutnya mikrokontroler cukup mengukur lebar pulsa tersebut dan mengkonversinya dalam bentuk jarak dengan perhitungan sebagai berikut :
[image:34.595.137.532.279.631.2]Jarak = (Lebar Pulsa/29.034 uS)/2 (dalam cm) atau Jarak = (Lebar Pulsa x 0.034442)/2 (dalam cm) Karena 1/29.034 = 0.34442
Gambar 2.6 Pulsa Ping))) Paralax Ultrasonic Range Finder
sound damper lainnya. Pengukuran jarak juga akan kacau jika permukaan objek bergerigi dengan sudut tajam.
2.3 LCD Display
Tampilan LCD dalam dunia elektronika digital termasuk barang mewah, karena harga tampilan ini cukup mahal tapi karena bisa dipakai untuk menampilkan kalimat, tampilan LCD tetap menjadi idaman. Tampilan LCD murah ini bisa dipakai untuk menampilkan 16 huruf/angka sekali gus, cukup memadai untuk menampilkan nomor telpon dan pesan pesan pendek lainnya. Seperti tampilan LCD pada umumnya, terdiri dari dua bagian, yakni bagian panel LCD yang terdiri dari banyak ‘titik-titik’ LCD dan sebuah mikrokontroler yang menempel di panel dan berfungsi mengatur ‘titik-titik’ LCD tadi menjadi huruf/angka yang terbaca, serta berfungsi pula untuk komunikasi antara tampilan LCD dengan mikrokontroler lainnya yang memakai tampilan LCD itu.
Gambar 2.7 LCD Display
Pada gambar 2.8 menggambarkan tentang tampilan yang ada pada LCD Display pada saat setelah proses pengukuran.
menjadi ‘titik-titik’ LCD yang terbaca sebagai huruf/angka. Dengan demikian tugas mikrokontroler pemakai tampilan LCD hanyalah mengirimkan kode-kode ASCII untuk ditampilkan.
27
PERANCANGAN ALAT PENGUKUR TINGGI BADAN
Dalam bab 3 ini penulis membahas tentang perancangan perangkat keras
dan perancangan perangkat lunak.
3.1 Perancangan Perangkat Keras
perancangan perangkat keras yang berupa perancangan kerangka pengukur
tinggi badan, perancangan rangkaian mikrokontroler AT89C51 (reset, clock),
perancangan rangkaian minimum system, perancangan mikrokontroler dan sensor
ultrasonik dan perancangan seluruh rangkaian.
3.1.1Perancangan Kerangka Alat Pengukur Tinggi Badan
Pada perancangan kerangka pengkur tinggi badan penulis menggunakan
aluminium sebagai kerangka alat pengukurnya, alasan penulis menggunakan
aluminium adalah selain logam ini berbahan ringan akan tetapi logam ini cukup
kuat dan kerangka tidak mudah berkarat seperti hal nya logam besi.
Gambar 3.1 Aluminium
Dalam pembuatan kerangka pengukur tinggi badan ini, penulis
terukur. Pada gambar 3.2 merupakan perancangan dari kerangka pengukur tinggi
[image:38.595.202.422.170.497.2]badan penulis.
Gambar 3.2 perancangan kerangka pengukur tinggi badan
Pada gambar 3.2 merupakan gambar rancangan kerangka pengukur ringgi
badan yang penulis buat dimana rancangan kerangka ini akan dibuat dari
aluminium karena aluminium logam yang ringan untuk dibuat menjadi kerangka.
3.1.2Perancangan Mikrokontroler AT89C51
Mikrokontroler AT89C51 adalah otak dari pengukur tinggi badannya yang
rangkaian mikrokontroler agar dapat bekerja dengan baik dibutuhkan rangkaian
pengatur yaitu berupa rangkaian reset yang berfungsi untuk mengatur kembali
program pengukur tinggi badan setiap kali catu daya dihidupkan, rangkaian clock
yang berfungsi sebagai pengatur waktu sensor ultrasonik.
3.1.2.1Rangkaian Reset
Rangkaian reset ini sangat diperlukan untuk rangkaian mikrokontroler
AT89C51 yang berfungsi untuk me-reset ulang program dari mikrokontroler
sehingga program mikrokontroler dapat di-set ulang pada saat program awal
pengukuran tinggi badan, pada saat catu daya dihidupkan rangkaian reset ini
berfungsi untuk menahan logika tinggi yang dihasilkan oleh arus dari catu daya
melalui pin RST atau pin 9 yang berada pada mikrokontroler AT89C51.
Gambar 3.3 Rangkaian reset
Pada gambar 3.3 pada skema rangkaian terlihat resistor dengan besar 8200
Ω (Ohm) atau 8k2 Ω (Ohm) diseri dengan elco ( electrolit condensator ) 10µf
Kecepatan proses kerja dari mikrokontroler sangat tergantung oleh sumber
clock (pewaktu) pada AT89C51 telah menyediakan osilator internal yang
berfungsi untuk membangkitkan pulsa pewaktu (clock).
Pada rangakaian clock terdapat satu buah kristal 11.0592 mhz yang dihubungkan secara paralel dengan kondensator 33pf sebayak 2 buah, rangkaian
clock ini berfungsi sebagai pemberi waktu / pewaktu pada pengukur tinggi badan
(sensor ultrasonik).
Komponen kristal dihubungkan ke pin XTAL1 dan pin XTAL2 atau pin 18
dan pin 19.
Gambar 3.4 Rangkaian clock
Pada gambar 3.4 rangkaian clock terlihat bahwa kristal 11.0592 mhz di
paralel dengan dua kondensator yang diseri dan masuk pada pin XTAL 1 dan dan
Gambar 3.5 Kristal
3.1.3Perancangan Mikrokontroler dengan Sensor Ultrasonik
Pada perancangan mikrokontroler dengan sensor ultrasonik ini penulis
menggunakan sensor ultrasonik buatan Ping Parallax seperti yang telah dibahas di bab sebelumnya dengan menghubungkannya ke mikrokontroler AT89C51.
untuk yang menggunakan mikrokontroler dari keluarga MCS-51 sedikit berbeda
dengan mikrokontroler dari keluarga AVR meskipun kedua mikrokontroler
tersebut sama-sama produksi dari ATMEL.
Gambar 3.7 Mikrokontroler MCS-51 dengan sensor ultrasonik Ping
Pada gambar 3.6 dan 3.7 terlihat jelas bahwa pada mikrokontroler dari
keluarga AVR tidak memerlukan tambahan komponen untuk masuk ke pin
mikrokontroler sedangkan untuk mikrokontroler MCS-51 harus menggunakan
tambahan komponen untuk masuk ke pin mikrokontroler, sedangkan
mikrokontroler yang digunakan penulis adalah mikrokontroler AT89C51 yang
juga termasuk dalam keluarga MCS-51 maka penulis harus menambahkan satu
buah komponen tambahan untuk satu buah sensor ultrasonik PingParallax, dalam alat pengukur tinggi badan digital ini penulis hanya menggunakan sebuah sensor
ultrasonik Ping Parallax jadi penulis harus menambah sebuah tambahan
komponen agar sensor ultrasonik Ping Parallax dapat masuk ke pin
mikrokontroler dan dapat dikenali, komponen tambahan yang penulis pakai
adalah dioda dengan tipe 1N4148, karena pada dioda 1N4148 mempunyai
karakteristik dengan arus yang rendah. Jika penulis menggunakan dioda yang
bertipe arus tinggi maka resiko terjadi panas atau terbakar pada komponen atau
Gambar 3.8 Rangkaian sensor ultrasonik dan mikrokontroler
Pada gambar 3.8 penulis menggunakan dua port untuk satu sensor
ultrasonik yang berguna untuk pull-up yaitu pada port 0 dan pada port 2 untuk pin SIG ( signyal ).
Untuk pin ground pada semua sensor ultrasonik diseri menuju ke pin
ground pada mikrokontroler AT89C51 yaitu pin 20 sedangkan untuk pin vcc pada semua sensor ultrasonik juga diseri dan menuju pada pin vcc pada mikrokontroler AT89C51 yaitu pin 40.
3.1.4Perancangan Mikrokontroler dengan LCD Display
Pada perancangan mikrokontroler dengan LCD Display penulis
menggunakan LCD Display dengan 16x2 character, alasannya meskipun banyak
kebutuhan, tidak berlebihan dan harganya pun terjangkau.
Gambar 3.9 Cara pemasangan Layar LCD Display ke mikrokontroler
Pada gambar 3.9 ditunjukkan gambar dari LCD Display ke mikrokontroler
melalui 3 pin gnd ( ground ), I/O dan vcc. Gnd dan vcc dapat dihubungkan secara langsung atau seri pada mikrokontroler AT89C51 sedangkan pin I/O adalah pin
dimana untuk masukan dan keluaran dari sensor ultrasonik dan sebagai
penghubung ke mikrokontroler untuk menjalankan perintah mikrokontroler
AT89C51 melalui program yang ditulis atau ditanamkan ke mikrokontroler
AT89C51 dari penulis.
3.1.5Perancangan Seluruh Rangkaian
Pada perancangan seluruh rangkaian ini penulis menggambarkan rangkaian
alat pengukur tinggi badan digital secara keseluruhan dari rangkaian
mikrokontroler, rangkaian sensor ultrasonik dan juga rangkaian LCD Display
Gambar 3.10 Diagram Blok Rankaian Pengukur Tinggi Badan Digital
Pada gambar 3.10 terdapat rangkaian reset, rangkaian LCD display dan
juga rangkaian sensor ultrasonik yang masuk pada mikrokontroler AT89C51.
Pada gambar 3.11 adalah rangkaian elektronika dari alat pengukur tinggi
badan digital yang dibuat oleh penulis.
Gambar 3.11 Skema Rangkaian Alat Pengukur Tinggi Badan Digital
Keterangan pada gambar 3.11 adalah untuk rangkaian reset masuk ke
mikrokontroler pada pin 9. rangkaian clock masuk ke mikrokontroler pada pin 18 dan pin 19, untuk rangkaian sensor ultra sonik menggunakan 2 buah port yaitu
berfungsi untuk memberi perintah kepada masing – masing rangkaian yang telah
terhubung ke pin dari mikrokontroler.
3.2 Perancangan Perangkat Lunak
Pada perancangan perangkat lunak terdiri dari perangkat lunak untuk sensor
ultrasonik dan juga perangkat lunak untuk LCD display.
3.2.1Perancangan Sensor Ultrasonik
Pada bagian perancangan perankat lunak untuk sensor ultrasonik penulis
akan menggunakan timer atau pewaktu dari bahasa assembly yang dimasukkan ke c++ melalui software Keil C51. Timer ini berfungsi untuk memberi nilai waktu pada sinyal gelombang ultrasonik yang dipancarkan oleh sensor ultrasonik
melalui tr (transmitter) sampai gelombang ultrasonik itu kembali ditangkap oleh sensor ultrasonik melalui rx ( reiciever ). Akan tetapi kesemua itu harus didukung oleh perangkat keras yang memadai.
Pada gambar 3.12 penulis akan mencoba membuat diagram alir yang
berfungsi untuk ujicoba sensor ultrasonik pada alat pengukur tinggi badan digital,
diagram alir ini juga akan menguji kepekaan dari mikrokontroler pada sensor
ultrasonik dan keakuratan angka yang muncul pada LCD display, apakah sensor
ultrasonik dapat memberi perintah trigger kepada mikrokontroler pada saat menangkap adanya objek yang ada di bawahnya, sehingga dapat memerintahkan
mikrokontroler untuk memberi inputan kepada mikrokontroler untuk
Gambar 3.12 Diagram Alir Pembacaan Sensor Ultrasonik
Penjelasan dari diagram alir pada gambar 3.12 adalah, pada saat catu daya
pengukur tinggi badan dihidupkan maka mikrokontroler seketika memberi
perintah untuk menghidupkan sensor ultrasonik, dengan cara memancarkan sinyal
ultrasonic jika sensor tidak dapat memancarkan sinyal tanda led pada sensor mati
sehingga kita harus mereset rangkaian agar bekerja seperti awal jika sensor
berhasil memancarkan sinyal dengan cara lampu indicator led pada sensor
Gambar 3.13 Diagram Alir Pengukuran Tinggi Badan
Pada gambar 3.13 adalah diagram alir tata cara untuk membaca
pengukuran tinggi badan pertama saat catu daya di hidupkan maka sensor
ultrasonic akan mengeluarkan sinyal jika sensor ultrasonic tidak dapat
mengeluarkan sinyal maka harus di reset rangkaian jika sensor ultrasonic
mengeluarkan sinyal maka led akan berkedip jika terdapat suatu objek maka
dengan perintah dari mikrokontroler sensor akan membaca objek tersebut dengan
ukuran cm dan akan ditampilkan pada LCD display yang terpasang pada
39
Pada bab ini penulis menjelaskan tentang implementasi dari perancangan perangkat keras dan implementasi dari perancangan perangkat lunak dari bab sebelumnya.
4.1 Implementasi Perangkat Keras
Pada bagian implementasi perangkat keras penulis coba menerapkan perancangan perangkat keras yang telah dibahas di bab sebelumnya, yaitu implementasi dari perancangan kerangka pengukuran tinggai badan, mikrokontroler AT89C51, mikrokontroler AT89C51 dengan sensor ultrasonik, mikrokontroler AT89C51 dengan LCD dan rangkaian lengkap.
4.1.1Kerangka Pengukur Tinggi Badan
Gambar 4.1 kerangka Pengukur tinggi badan Tampak Atas
Pada gambar 4.1 adalah gambar kerangka Pengukur tinggi badan Tampak Atas yang telah dibuat oleh penulis dari bahan aluminium.
Gambar 4.2 kerangka Pengukur tinggi badan Tampak Bawah
[image:50.595.221.403.82.323.2] [image:50.595.222.401.419.637.2]Gambar 4.3 kerangka Pengukur tinggi badan Tampak Depan
Pada gambar 4.3 adalah gambar kerangka Pengukur tinggi badan Tampak depan yang dibuat oleh penulis dari bahan aluminium.
[image:51.595.241.355.81.324.2]Gambar 4.4 Pemasangan Rangkaian Mikrokontroler Pada Kerangka
Pada gambar 4.4 menggambarkan pemasangan rangkaian mikrokontroler AT89C51 pada kerangka alat pengukur tinggi badan digital yang dibuat oleh penulis.
Gambar 4.5 Pemasangan sensor ultrasonik Pada Kerangka
[image:52.595.192.434.406.613.2]Gambar 4.6 Pemasangan LCD Pada Kerangka
Pada gambar 4.6 menggambarkan pemasangan layer LCD Display pada kerangka yang telah dibuat oleh penulis dari bahan aluminium.
Gambar 4.7 Pemasangan Baterai Pada Kerangka
Pada gambar 4.7 menggambarkan pemasangan catu daya atau baterai pada kerangka yang telah dibuat oleh penulis.
Langkah pertama dari penyusunan hardware dari Pengukur Tinggi Badan yang dibuat oleh penulis adalah pembuatan atau implementasi dari perancangan perangkat keras mikrokontroler dimana pada rangkaian mikrokontroler yang dibuat oleh penulis terdapat beberapa rangkaian yaitu rangkaian reset yang berfungsi untuk mereset program dan mereset kerja rangkaian agar kerja rangkaian dan kerja program kembali ke keadaan awal, rangkaian on off dari mikrokontroler itu sendiri yang berfungsi sebagai hidup dan mati rangkaian jika di on kan maka progrgam dapat bekerja dan rangkaian pun juga dapat bekerja dan rangkaian oscillator sebagai pencacah waktu atau timmer pada rangkaian dan program pada mikrokontroler. Gambar 4.8 adalah gambar dari rangkaian mikrokontroler yang penulis buat.
Gambar 4.8 Rangkaian mikrokontroler
bekerja pada sumber tegangan 5Vdc, sumber tegangan ini berfungsi untuk menggerakkan LCD dan juga sensor ultrasonik yang berfungsi untuk alat pengukuran tinggi badan yang penulis buat, rangkaian mikrokontroler ini adalah otak dari alat pengukuran tinggi badan yang penulis buat, karena pada rangkaian mikrokontroler inilah alat pengukuran tinggi badan yang penulis buat dapat bekerja.
Pada gambar rangkaian mikrokontroler AT89C51 juga terdapat beberapa rangkaian yang juga mempunyai peranan penting terhadap rankaian mikrokontroler itu sendiri seperti rangkaian reset dan juga rangkaian oscilator, seperti tampak gambar 4.9.
Gambar 4.9 Rangkaian Reset dan Rangkaian Oscillator
kembali seperti semula atau reset ke awal sebelum program dijalankan.
Sedangkan untuk rangkaian oscilator disini berfungsi sebagai pencacah waktu atau timmer pada rangkaian mikrokontroler, rangkaian ini berfungsi pada pengeluaran singyal dari sensor ultrasonik yang terpasang pada rangkaian mikrokontroler AT89C51 atau pada prototype yang penulis buat yaitu pengukur tinggi badan.
[image:56.595.207.451.331.521.2]Sedangkan pada gambar 4.10 adalah gambar dari rangkaian on off dari rangkaian mikrokontroler yang penulis buat.
Gambar 4.10 Rangkaian On Off
Telah dibahas pada bab 3 untuk perancangan perangkat keras dari sensor ultrasonik dan mikrokontroler dari alat pengukuran tinggi badan yang penulis buat dan penulis menerapkannya pada bab ini yaitu implementasi dari perancangan perangkat keras sensor ultrasonik, pada gambar 4.11 adalah gambar dari implementasi perancangan perangkat keras sensor ultraonik yang penulis gabung dengan rangkaian mikrokontroler dari alat pengukuran tinggi badan yang penulis buat.
Gambar 4.11 Rangkaian mikrokontroler dengan sensor ultrasonic
setiap sensor ultrasonik buatan ping parallax ini perintah trigger yang diperintahkan dari mikrokontroler keluarga MCS-51 atau AT89C51 ini dapat dilaksanakan oleh sensor ultrasonik buatan ping parallax tersebut.
Sensor ultrasonik yang digunakan untuk penulis yaitu pengukur tinggi badan ini adalah 1 buah buatan ping parallax, karena sensor ultrasonik jenis ini sangat digemari oleh kalangan penggemar elektronika remaja dibanding dengan SRF04, IR ( infra red ) atau yang lainnya. Karena sensor ultrasonik ini dapat membaca jarak hingga 3m ( meter ) maka sensor ultrasonik ini sangat peka akan tetapi semua itu tergantung dari program yang ditanamkan pada mikrokontroler.
4.1.4Rangkaian LCD Dengan Mikrokontroler
[image:58.595.116.511.499.655.2]Pada rangkain LCD dengan mikrokontroler ini penulis mencoba memberi keterangan dengan gambar yang ada disini penulis memberikan gambar dari LCD itu sendiri dan juga gambar dari rangkaian mikrokontroler ke LCD.
Gambar 4.12 LCD tampak depan
LCD ini seperti 7segment dengan menampilkan karakter sesuai titik-titik yang terhubung, dari program yang telah dibuat oleh penulis untuk menampilkan karakter yang sesuai dari apa yang diharapkan oleh penulis, LCD penulis ini mempunyai layar yang berwarna biru dan tulisan dari karakter LCD berwarna putih. Pada gambar 4.13 adalah gambar dari LCD tampak belakang.
Gambar 4.13 LCD tampak Belakang
sempurna. Dai LCD ini yang akan menampilkan data dari tinggi orang yang akan di ukur oleh alat pengukur tinggi badan yang penulis buat. Pada gambar 4.14 adalah gambar rangakain dari mikrokontroler AT89C51 dengan LCD dari alat pengukur tinggi badan yang penulis buat.
Gambar 4.14 Rangkaian LCD dengan Mikrokontroler
inginkan.
[image:61.595.222.402.250.347.2]Pada LCD harus dipasangkan dengan rangkaian R array agar dapat menampilkan karakter dengan sempurna, Pada gambar 4.15 adalah gambaran dari rangkain R array yang terpasang pada kaki-kaki dari LCD.
Gambar 4.15 Rangkaian R array
Rangkaian R array yaitu rangkaian yang terbuat dari resistor yang dihubungkan secara pararel atau antara satu resistor dengan resistor yang lain dihubungkan secara sama yaitu dimana pada kaki yang atas dihubungkan dengan kaki yang atas, rangkaian R array ini bertujuan agar suplai dari tegangan yang diteriman oleh LCD stabil dan tidak terlalu besar ini berhubungan dengan karakter yang ditampilkan oleh LCD itu sendiri, agar karekter yang ditampilkan LCD terlihat jelas.
4.2 Implementasi Perangkat Lunak
Untuk implementasi dari perancangan perangkata lunak mikrokontroler AT89C51 penulis menggunakan hardware dan software yaitu KEIL C51 v8.16 software untuk merubah bahasa c++ yang penulis buat ke bentuk biner atau heksa dan EDT programmer hardware yaitu alat untuk tempat mikrokontroler pada saat ditanamkan program untuk pengukur tinggi badan yang penulis buat dan EDT programmer software untuk menanamkan program c++ yang telah dirubah ke
biner atau heksa untuk ditanamkan ke mikrokontroler.
4.2.1.1KEIL C51
Program c++ merupakan program yang ditulis oleh penulis yaitu program yang berupa kumpulan baris-baris perintah dan disimpan dalam file yang berextensi .uf2 ( uVision project ). program ini ditulis menggunakan software Keil c51.
Keil C51 adalah software untuk menulis program c++ dari keluarga MCS-51 sehingga Keil cMCS-51 ini cocok digunakan untuk mikrokontroler AT89CMCS-51.
Gambar 4.16 tampilan Keil C51
Pada gambar 4.16 adalah tampilan dari program keil C51 yang dibuat penulis untuk mengkonvert program yang telah dibuat dalam bentuk .bin atau biner dan juga .hex atau heksa ini bertujuan untuk program yang akan ditanam ke mikrokontroler. Langkah pertama yang harus dilakukan adalah buka Keil C51 jika telah terinstal buka open dan pilih program dan letak program anda yang akan dikonvert menjadi biner atau heksa selanjutnya pilih run atau tekan f5.
4.2.1.2EDT Programmer
Gambar 4.17 Sofware dan Hardware EDT Programmer
Pada gambar 4.17 adalah gambar dari downloader dan tampilan utama pada EDT Programmer yang digunakan penulis untuk mengkonvert program dari c++ ke biner atau .bin.
Pada implementasi sensor ultrasonik ini penulis mencoba menerapkan atau mengimplementasikan diagram alir dari perancangan perangkat lunak sensor ultrasonik dari bab yang telah dibahas sebelumnya. Program yang dibuat disini untuk mengukur jarak yang akan di ukur oleh sensor ultrasonik.
Bahasa yang digunakan c++ dengan menggunakan Keil C51 sebagai softwarenya.
long jarak (char sensor_id) //untuk mengukur jarak
{
unsigned long timing; //pengsian waktu
timing = 0;
delay250(); //waktu jeda sebelum sensor hidup
if (sensor_id = = 0) { //inisialisasi sensor jika blm hidup
P2_5 = 0; //port2 pin5 masih blm aktif
while (P0_5 = = 1) { P0_5 = 0;} //
P2_5 = 1; //aktifkan sensor
//_nop_ (); //waktu delay
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ (); //tunggu 5uS untuk t_out
P2_5 = 0; //port2 dan pin5 menunggu
P0_5 = 0;
while (P0_5 = = 1) { } //port0 pin5 hidup
P0_5 = 1;
}
//calculate timing to generate range value... //perhitungan waktu
untuk sensor
j = timing;
return timing; //menghitung kembali waktu pengukuran
}
Program diatas adalah program untuk sensor ultrasonik mengukur jarak dari benda atau orang yang akan diukur, program diatas memerintahkan sensor ultrasonik untuk mengeluarkan sinyal ultrasonik untuk mengetahui adanya sesuatu benda yang akan di ukur, agar sensor ultrasonik mengetahui jarak yang diukur, cara kerja nya adalah dengan mengeluarkan sinyal untuk mendeteksi adanya benda atau orang yang akan diukur, jika terdapat benda atau orang yang akan d ukur maka lampu indikator LED dari sensor akan berkedip cepat, jika tidak mendeteksi adanya orang atau benda yang akan diukur maka lampu indikator berkedip pelan.
4.2.3Perangkat Lunak LCD
Seperti halnya implementasi perangkat lunak sensor ultrasonik, pada implementasi perangkat lunak LCD ini penulis mencoba menerangkan perankat lunak yang telah dibuat oleh penulis untuk LCD yang telah dibuat.
void LCD_Write_Data (char Data) {
RS = 1; //register select
EN = 1; //enable lcd
P1 = Data; //port1 berisi data
EN = 0; //disable lcd
while(*Pesan) {
LCD_Write_Data(*Pesan); Pesan+ + ;
} }
void LCD_cursor(unsigned char row, unsigned char col) // Row 0 or 1 pengosongan lcd {
if( row = = 0)
// Baris 1
{
RS = 0; // Selects the Register Select
EN = 1; // Enable the LCD
P1 = 0x80 + col; // Writes the Instruction
EN = 0; // Disables the LCD
delay_ms(1); }
else if( row = = 1) // Baris 2
{
RS = 0; // Selects the Register Select
EN = 1; // Enable the LCD
P1 = 0xC0 + col; // menulis perintah
EN = 0; // Disables the LCD
delay_ms(1); }
}
void LCD_init() {
P1 = 0x38;
RS = 0; //register select RW = 0; //register write EN = 1; //lcd aktif EN = 0; //lcd non aktif delay_ms(124);
P1 = 0x0C; RS = 0; RW = 0; EN = 1; EN = 0; delay_ms(124);
P1 = 0x01; // pengisian karakter pada kolom dan baris RS = 0;
RW = 0; EN = 1; EN = 0;
delay_ms(124); // waktu yang dibutuhkan untuk memanggil P1 = 0x06;
RS = 0; RW = 0; EN = 1; EN = 0; delay_ms(124); P1 = 0x06; RS = 0; RW = 0; EN = 1; EN = 0; delay_ms(124); }
59
Pada bab pengujian penulis akan menguji alat Pengukur tinggi badan mulai dari pengujian sensor ultrasonik, pengujian LCD dan terakhir pengujian alat Pengukur tinggi badan. Serta analisa dari perangkat kerat, perangkat lunak dan analisa dari pengujian.
5.1 Pengujian
sensor ultrasonik, pengujian LCD dan terakhir pengujian alat Pengukur tinggi badan.
5.1.1 Pengujian Sensor Ultrasonik
Pada bahasan ini penulis menguji sensor ultrasonik dengan 2 cara yaitu manual dengan menggunakan avo meter, penggaris untuk mengukur jarak dan sebuah bungkus korek sebagai halangan, dan juga menguji sensor ultrasonik pada alat Pengukur tinggi badan.
5.1.1.1Pengujian Sensor Ultrasonik Manual
Gambar 5.1 Pengujian Sensor Ultrasonik Manual
[image:70.595.206.451.83.316.2]Pada gambar 5.1 sensor ultrasonik diuji dengan cara manual dengan menggunakan alat ukur berupa penggaris dan bungkus korek sebagai penghalang. Pada pengujian diatas sensor ultrasonik mendeteksi jarak 10 cm dan pengujian juga dapat dilakukan dengan menggunakan avo meter dengan jarum avo meter sebagai pendeteksi jarak halangan, jika terdapat halangan dengan jarak tertentu maka jarum dari avo meter akan bergerak. Ini dapat dilihat pada tabel 5.1.
Tabel 5.1 Pengujian Sensor Ultrasonik
Halangan ( Cm) Posisi avo meter 5Vdc Perkiraan Getar Jarum / menit
- 0V - 5V -
150 0V - 5V 50
100 0V - 5V 70
50 0V – 5V 100
bagian + dihubungkan ke sig dan – dihubungkan ke gnd, penunjuk avo menggunakan vdc 5v dan sebuah alat ukur untuk mengukur jarak sensor ultrasonik yaitu penggaris dan bungkus korek sebagai penghalang.
Pada saat catu daya dihidupkan maka sensor ultrasonik akan memancarkan sinyal ultrasonik untuk membaca adanya halangan, pada tabel 5.1 terlihat jelas jika tidak terdapat halangan yang diukur oleh sensor ultrasonik maka jarum dari avo meter tidak akan bergerak, ini dikarenakan sensor tidak dapat mengukur jarak dari sensor ultrasonik ke halangan, jika terdapat halangan dari jarak yang ditentukan maka jarum dari avo meter akan bergerak ini menandakan sensor ultrasonik bekerja, jadi pada intinya pada saat sensor ultrasonik mengetahui adanya halangan untuk di ukur jaraknya maka jarum dari avo meter akan bergerak dari angka 0v ke 5v seperti gambar tabel 5.1, jika tidak terdapat halangan untuk di ukur jaraknya maka jrum dari avo meter akan tetap diam di angka 0v. pada pengujian ini penulis hanya menguji sensor ultra sonic pada jarak 50 cm sampai 150 cm. pada pengujian ini penulis mengeset jarak halangan yang dapat diukur oleh sensor ultrasonik mencapai 300 cm atau 3 m karena jarak maksimal yang dapat diukur oleh sensor ultrasonik adalah 300 cm atau 3 m.
5.1.1.2Pengujian Sensor Ultrasonik Pada Alat Pengukur Tinggi Badan
gambar 5.2 .
Gambar 5.2 Pengujian Sensor Ultrasonik Pada alat
Pada pengujian LCD ini penulis juga menguji dengan 3 cara, yaitu dengan cara manual, menguji dengan sensor ultrasonik dan juga menguji pada alat pengukur tinggi badan yang penulis buat, pada pengujian manual penulis hanya mencoba menampilkan karakter sederhana apakah dapat tampil di LCD tanpa menggunakan sensor ultrasonik maupun alat pengukur tinggi badan yang telah dibuat oleh penulis.
5.1.2.1Pengujian LCD manual
[image:73.595.156.471.416.623.2]Pada pengujian LCD manual ini penulis menguji tanpa menggunakan sensor ultrsonik ataupun alat pengukur tinggi badan yang telah dibuat oleh penulis, seperti gambar 5.3.
Gambar 5.3 Pengujian LCD manual
dibuat oleh penulis, pada pengujian ini penulis berhasil menampilkan karakter pada layar LCD dengan baik. Pada pengujian ini kaki-kaki dari LCD masuk ke pin-pin mikrokontroler untuk mendapatkan suplay tegangan dan juga suplay dari karakter yang akan ditampilkan pada layar LCD. Penulis menggunakan LCD 16 karakter dengan 2 baris layar biru dengan karakter tulisan berwarna putih.
5.1.2.2Pengujian LCD Dengan Sensor Ultrasonik
[image:74.595.123.502.358.643.2]Pada pengujian LCD dengan sensor ultrasonik ini penulis menggunakan sebuah penggaris dan alat bantu halangan untuk mengukur jarak.
Gambar 5.4 Pengujian LCD dengan Sensor Ultrasonik
memancarkan sinyal ultrasonik dengan mendeteksi adanya halangan jika terdapat halangan maka sensor ultrasonik akan mengukur jarak yang diterima dari sensor ultrasonik ke halangan dengan cara megirim ke LCD untuk di tampilkan, sedangkan untuk menampilkan karakter dari sensor ke LCD, terdapat program untuk mengirim karakter dari hasil pengukuran sensor ultrasonik dan juga karakter yang selalu ditampilkan seperti karakter tinggi badan, karakter ini telah diset dalam program jadi LCD dapat menampilkan kapanpun, dan untuk angka yang tampil di LCD yaitu dari hasil pengukuran jarak sensor ultrasonik ke halangan.
5.1.2.3Pengujian LCD Dengan Alat Pengukur Tinggi Badan
Pada pengujian LCD dengan alat pengukur tinggi badan ini penulis menguji LCD, sensor ultrasonik dengan alat pengukur tinggi badan, seperti terlihat pada gambar 5.5.
[image:75.595.170.455.497.712.2]dan juga alat ini penulis, menguji tanpa menggunkan orang hanya menggunakan lantai sebagai halangan untuk mengukurnya. Ini difungsikan untuk menguji LCD dan juga sensor ultrasonik apakah kinerja dari sensor ultrasonik dan juga LCD bekerja dengan baik, dan juga menguji apakah dapat mengukur jika jarak yang dihitung lebih dari 200 centi meter atau 2 meter, karena jarak lantai dengan alat pengukur tinggi badan yang penulis buat adalah 225 centi meter atau 2,25 meter. Jika pengujian berhasil maka alat siap diuji kepada orang untuk mengukur tinggi.
5.1.2.4Pengujian Alat pengukur Tinggi Badan
Pada pengujian alat pengukur tinggi badan ini penulis menguji keseluruhan dari rangkaian ke rangka dengan menggunakan orang untuk di ukur tingginya.
[image:76.595.222.402.440.681.2]Gambar 5.7 Hasil Pengukuran dengan Alat Pengukur Tinggi Badan Digital
Pada gambar 5.7 adalah gambar dari hasil pengukuran tinggi badan seseorang dengan menggunakan alat pengukur tinggi badan digital yang dibuat oleh penulis.
5.1.2.5Pengujian Alat dengan 10 x Pada satu Orang
[image:78.595.184.443.84.297.2]Gambar 5.8 Pengujian Alat dengan 10 x Pada satu Orang
[image:79.595.223.402.82.322.2]Uji Coba Dengan Manual Dengan Alat Gambar Prosentase kesalahan
1 183 cm 183.90
cm
0,49 %
2 183 cm 183.00
cm
0 %
3 183 cm 183.00
cm
0 %
4 183 cm 183.90
cm
0,49 %
5 183 cm 183.50
cm
0,27 %
6 183 cm 183.00
cm
0 %
7 183 cm 183.90
cm 0,49 %
8 183 cm 183.00 cm
0 %
9 183 cm 183.00
cm 0 %
10 183 cm 183.50
cm
0,27 %
[image:80.595.133.492.83.682.2]TBDA = Tinggi Badan Dengan Alat TBDM = Tinggi Badan Dengan Manual
Rumus ini diambil oleh penulis pada daftar pustaka nomor [5] dan [6].
Pada tabel 5.2 adalah tabel Pengujian Alat dengan 10 x Pada satu Orang, dimana tingkat keberhasilan yang didapat dalam Pengujian Alat dengan 10 x Pada satu Orang terdapat beberapa pengukuran tinggi dari alat pengukur tinggi badan digital yang penulis buat mendekati tinggi sebenarnya orang yang diukur, tinggi sebenarnya di ukur dengan cara manual adalah 183 cm, dari hasil 10 kali uji coba yang mendekati adalah 5 kali yaitu dengan tinggi pengukuran 183.00 cm prosentase kesalahan 0 % hingga 0,49 % prosentase kesalahan hasil pengukuran yang dilakukan dengan menggunakan alat pengukur tinggi badan.
5.2 Analisa
Pada bagian analisa penulis mencoba menganalisa alat pengukur tinggi badan secara menyeluruh dari alat pengukur tinggi badan dan juga analisa dari pengujian.
5.2.1Analisa Alat Pengukur Tinggi Badan 1. Kerangka alat pengukur tinggi badan
Kerangka alat pengukur tinggi badan dibuat seringan mungkin dan kuat agar alat pengukur tinggi badan dapat dipindah pindah tempat dan juga tahan lama. Karena itu penulis menggunakan aluminium sebagai bahan untuk membuat alat pengukur tinggi badan.
2. Mikrokontroler AT89C51
dan juga tidak perlu menyambungkan EA pada vcc, karena pada mikrokontroler keluarga AVR sudah terdapat beberapa komponen tambahan untuk semua itu sehingga mikrokontoler keluarga AVR lebih baik daripada keluatga MCS-51
3. Sensor Ultrasonik Ping Parallax
memberi perintah kembali pada mikrokontroler sehingga mikrokontroler dapat melakukan tugas berikutnya setelah penerimaan sinyal dari sensor ultrasonik diterima oleh mikrokontroler.
4. LCD
Pada analisa LCD ini penulis menganalisa tampilan dari LCD, LCD yang digunakan oleh penulis mempunyai tampilan yang baik dan juga terang karena layar dari LCD bewarna biru dan tampilan tulisan karakter bewarna putih sehingga tampilan jelas terlihat, LCD yang dipakai penulis mempunyai 16 karakter dan juga 2 baris ini berfungsi untuk menampilkan tulisan tinggi badan untuk baris pertama dan juga angka dari tinggi orang yang di ukur tinggi badannya terletak pada baris ke dua
5.2.2Analisa Pengujian
1. Pengujian Sensor Ultrasonik
Badan: pada pengujian Sensor Ultrasonik Pada Alat Pengukur Tinggi Badan penulis dapat menganalisa bahwa pengujian ini hampir sama dengan pengujian sensor ultrasonik secara manual, akan tetapi halangan untuk mengukur jarak penulis menggunakan lantai yang tinggi antara lantai dengan pemasangan sensor ultrasonik dengan jarak 225 centi meter atau 2,25 meter
2. Pengujian LCD
Pengujian LCD manual
Pada pengujian LCD manual ini penulis dapat menganalisa bahwa tampilan yang di hasilkan oleh LCD dengan program yang telah ditanam pada mikrokontroler berjalan dengan baik dengan tampilan yang terlihat jelas, ini dikarenakan pemilihan dari LCD yaitu berlayar biru dan tampilan untuk karakter tulisan bewarna putih.
Pengujian LCD Dengan Sensor Ultrasonik
Pengujian lcd dengan alat pengukur tinggi badan penulis dapat menarik analisa bahwa analisa dari pengujian LCD dengan alat pengukur tinggi badan hampir sama dengan analisa LCD dengan sensor ultrasonik ataupun pengujian LCD manual tetapi letak perbedaan disini LCD telah dipasang pada alat pengukur tinggi badan yang telah dibuat dan juga tanpa halangan untul mengukur jaraknya hanya lantai sebagai jarak dengan cara mengukur lantai dengan tinggi pemasangan sensor ultrasonik dengan lantai.
3. Pengujian Alat pengukur Tinggi Badan
dibuat oleh penulis.
78
Dari hasil perancangan dan pengujian alat pengukur tinggi badan dapat ditarik beberapa kesimpulan diantaranya :
1. Tingkat keberhasilan dari prototype alat pengukur tinggi badan untuk mengukur tinggi seseorang dengan uji coba 10 kali pada satu orang terletak pada lama pengiriman data dari sensor ultrasonik ke mikrokontroler ke LCD.
2. Prosentase kesalah dari hasil uji coba 10 x tidak mencapai 1 %.
3. Posisi orang yang akan diukur harus sesuai posisi dari sensor ultrasonik. 4. Proses pengiriman data dari sensor ultrasonik ke mikrokontroler berjalan
dengan baik.
5. Pengiriman data LCD dari mikrokontroler berjalan kurang lancar. 6. Pengukuran tinggi mencapai 200 centi meter lebih
7. Pemasangan sensor ultrasonik dengan memberi dioda 1N4148 yang dihubungkan dengan 2 port mikrokontroler bekerja dengan baik.
6.2 Saran
2. Pengemasan rangkaian agar terlihat rapi.
3. Pemberian pijakan alas kaki pada saat melakukan pengukuran tinggi badan.
4. Dikembangkan menjadi prototype pengukur tinggi badan dan pengukur berat badan.
80
1. Atmel, “Datasheet Product”, pada www.atmel.com, Diakses (online) pada tanggal: 25 November 2010
2. Budiharto, Widodo, ”Panduan Lengkap Mikrokontroler dan Aplikasi Mikrokontroler”, PT. Elex Media Komputindo, Jakarta, 2005.
3. Dani, 2010, ”Modul Ping Parallax” pada www.dhuzell.site90.com, diakses (online) pada tanggal: 26 November 2010
4. Eko, Agfianto, ”Belajar Mikrokontroler AT89C51 Teori Dan Aplikasi”, Gava Media, Yogyakarta, 2002.
5. http://caesarudunk.blogspot.com/ diakses (online) pada tanggal: 9 Desember 2010.
6. http://wacanbocah.wordpress.com/2009/03/15/bagaimana-cara-menghitung-diskon/ diakses (online) pada tanggal: 9 Desember 2010.
7. Komponen, Elektornika, pada http://id.wikipedia.org diakses (online) pada tanggal: 27 November 2010
8. LCD Display dan C++, pada http://1.bp.blogspot.com/, diakses (online) pada tanggal: 27 November 2010