PENGUKUR TINGGI BADAN DIGITAL DENGAN SENSOR ULTRASONIK BERBASIS MIKROKONTROLER AT89S51 ABSTRAKSI Rangkaian Pengukur Tinggi Badan Digital Dengan Sensor Ultrasonik Berbasis Mikrokontroler AT8951 ini, merupakan sebuah rangkaian yang dapat mengukur tinggi badan secara digital. Adapun rangkaian ini terdiari dari beberapa blok rangkaian. Diantaranya adalah, power supply dengan keluaran sebasar 5 V, blok sensor dengan menggunakan modul sensor Ultrasonik PING, bagian control yang menggunakan mikrokontroler AT89S51, serta output yang berupa Liquid Crystal Display (LCD). Sebuah sensor PING Ultrasonik akan mendeteksi benda di sekitar sensor. Pemancar Sensor akan mengirimkan gelombang ultrasonik. Jika gelombang ultrasonik memantul kembali ke penerima, berarti ada objek di sekitar sensor. Mikrokontroler akan menghitung waktu yang dibutuhkan untuk menerima gelombang ultrasonik dan menentukan jarak antara sensor dengan lantai. Jarak dapat dibaca dari Liquid Crystal Display (LCD). Setelah dirakit dan diuji, perangkat ini bekerja dengan baik. Perangkat ini dapat mendeteksi objek sampai dengan jarak 255 Cm dari sensor. Kata Kunci : Ultrasonik, Sensor, Mikrokontroler AT89S51, Jarak., LCD, Sensor PING. PENDAHULUAN Alat ukur merupakan suatu alat yang dapat digunakan oleh manusia untuk membantu dalam proses pengukuran. Salah satu alat ukur adalah alat untuk mengukur tinggi badan. Kebanyakan alat ukur yang digunakan untuk mengukur tinggi badan menggunakan alat ukur analog yang berupa meteran. Seseorang yang akan diukur tinggi badannya memerlukan bantuan orang lain dalam melakukan pengukuran tinggi badan. Adanya kendala tersebut maka dikembangkanlah sebuah alat pengukur tinggi badan menggunakan sistem digital. TINJAUAN PUSTAKA juga mempunyai kapasitas RAM sebesar 128 bytes, 32 saluran I/O, Watchdog timer, dua pointer data, tiga buah timer/counter 16-bit, Programmable UART (Serial Port). Memori Flash digunakan untuk menyimpan perintah (instruksi) berstandar MCS-51, sehingga memungkinkan mikrokontroler ini bekerja sendiri tanpa diperlukan tambahan chip lainnya (single chip operation), mode operasi keping tunggal yang tidak memerlukan external memory dan memori flashnya mampu diprogram hingga seribu kali. Hal lain yang menguntungkan adalah sistem pemogramanan menjadi lebih sederhana dan tidak memerlukan rangkaian yang rumit. Mikrokontroler AT89S51 memiliki Mikrokontroler AT89S51 Mikrokontroler AT89S51 merupakan pengembangan dari mikrokontroler MCS-51. Mikrokontroler ini biasa disebut juga dengan mikrokomputer CMOS 8 bit dengan 8 Kbyte yang dapat dIprogram sampai 1000 kali pemograman. Selain itu AT89S51 fitur : 1. Sebuah CPU ( Central Processing Unit ) 8 Bit. 2. 128 byte RAM ( Random Acces Memory ) internal. 3. Empat buah port I/O, yang masing masing terdiri dari 8 bit 4. Osilator internal dan rangkaian pewaktu. 5. Dua buah timer/counter 16 bit 6. Lima buah jalur interupsi ( 2 buah interupsi eksternal dan 3 interupsi internal). 7. Sebuah port serial dengan full duplex UART (Universal Asynchronous Receiver Transmitter). 8. Mampu melaksanakan proses perkalian, pembagian, dan Boolean. 9. EPROM yang besarnya 8 KByte untuk memori program. 10. Kecepatan maksimum pelaksanaan instruksi per siklus adalah 0,5 µs pada frekuensi clock 24 MHz. Apabila frekuensi clock mikrokontroler yang digunakan adalah 12 MHz, maka kecepatan pelaksanaan instruksi adalah 1 µs. Gambar 1. Konfigurasi PIN Mikrokontroler AT89S51 Berikut adalah penjelasan mengenai fungsi dari tiap-tiap pin (kaki) yang ada pada mikrokontroller AT89S51. Port 0 Merupakan dual-purpose port (port yang memiliki dua kegunaan). Pada disain yang minimum (sederhana), port 0 digunakan sebagai port Input/Output (I/O).. Port 0 terdapat pada pin 32-39. Port 1 Merupakan port yang hanya berfungsi sebagai port I/O (Input/Output). Port 1 terdapat pada pin 1-8. Port 2 Merupakan dual-purpose port. Pada desain minimum digunakan sebagai port I/O (Input/Output). Sedangkan pada desain lebih lanjut digunakan sebagai high byte dari address (alamat). Port 2 terdapat pada pin 21-28. Port 3 Port 3 merupakan salah satu port yang berfungsi sebagai general purpose I/O dengan lebar 8 bit. Port 3 terdiri dari P3.0, P3.1, hingga P3.7. Selain sebagai jalur I/O, port 0 juga berfungsi sebagai jalur penerimaan/pengiriman data pada komunikasi serial, external interrupt, timer/counter, dan external data memory write/read strobe. PSEN (Program Store Enable) PSEN adalah sinyal kontrol yang mengizinkan untuk mengakses program (code) memori eksternal. Pin ini dihubungkan ke pin OE (Output Enable) dari EPROM. Sinyal PSEN akan “0” (LOW) pada tahap fetch (penjemputan) instruksi. PSEN akan selalu bernilai “1” (HIGH) pada pembacaan program memori internal. PSEN terdapat pada pin 29. ALE (Address Latch Enable) ALE digunakan untuk mendemultiplex address (alamat) dan data bus. ketika menggunakan program memori eksternal, port 0 akan berfungsi sebagai address (alamat) dan data bus. Pada setengah paruh pertama memori cycle ALE akan bernilai “1” (HIGH) sehingga mengizinkan penulisan address (alamat) pada register eksternal. Dan pada setengah paruh berikutnya akan bernilai “1” (HIGH) sehingga port 0 dapat digunakan sebagai data bus. ALE terdapat pada pin 30. EA (External Access) Jika EA diberi input “1” (HIGH), maka mikrokontroller menjalankan program memori internal saja. Jika EA diberi input “0” (LOW), maka AT89S52 menjalankan program memori eksternal (PSEN akan bernilai “0”). EA terdapat pada pin 31. RST (Reset) RST terdapat pada pin 9. Jika pada pin ini diberi input “1” (HIGH) selama minimal 2 machine cycle, maka sistem akan di-reset dan register internal AT89S51 akan berisi nilai default tertentu. Proses reset merupakan proses untuk mengembalikan sistem kekondisi semula. Reset tidak mempengaruhi internal program memory. Reset terjadi jika pin RST bernilai high selama minimal dua siklus lalu kembali bernilai low. Power on reset merupakan proses reset yang berlangsung secara otomatis pada saat sistem pertama kali diberi suplai. Proses ini mempengaruhi semua register dan internal data memory. Untuk mendapatkan proses ini, maka pin RST harus diberi tambahan rangkaian seperti pada gambar berikut. Gambar 2. Rangkaian Reset AT89S51 XTAL1 Dan XTAL2 Mikrokontroller AT89S51 dilengkapi dengan sumber detak / osilator internal (on chip oscilator) yang dapat digunakan sebagai sumber clock bagi AT89S51. Untuk menggunakan osilator internal diperlukan tambahan kristal atau resonator keramik antara pena XTAL1 dan XTAL2 dan sebuah kapasitor ke ground. Untuk kristalnya dapat digunakan frekuensi dari 3 sampai 24 MHz. Sedangkan untuk kapasitornya dapat bernilai 33 pF+10 pF. Bila menggunakan sumber clock eksternal maka XTAL 2 NC (No Connection) dan sumber dihubungkan dengan XTAL1. 33 pF 19 X-TAL 1 12 MHz 18 X-TAL 2 33 pF Gambar 3. Rangkaian on chip oscilator AT89S51 VCC VCC merupakan masukan sumber tegangan positif bagi mikrokontroler yang terdapat pada pin 40. SENSOR ULTRASONIK Sensor ultrasonik adalah sebuah piranti yang berfungsi untuk mengubah suatau sinyal listrik ke dalam energi suara ultrasonik yang dapat dipancarkan ke dalam jaringan, mengubah energi ultrasonik yang dipantulkan kembali dari jaringan/materi ke dalam sinyal listrik. Pada sistem elektronik, gelombang ultrasonik dapat dibangkitkan melalui kristal tipis yang bersifat piezoelectric yang terbuat dari bahan alami kuarsa, garam Rochelle, tourmaline atau bahan piezoelectric terbuat dari bahan buatan seperti : Barium Titanate, Lead Circonatetitanate, Lead Metaniobate. Bahan-bahan tersebut bersifat seperti kapasitor dengan konstanta dielektrik tertentu yang memeiliki perbedaan muatan listrik dalam lapisannya. Penggunaan gaya perubahan bentuk atau tegangan pada kristal asimetris akan menghasilkan suatu tegangan listrik, fenomena ini disebut dengan efek piezoelectric. Ketika transducer piezoelectric berfungsi sebagai pemancar (transmitter) akan mengubah energi listrik menjadi energi mekanis (efek piezoelectric terbalik), dan bila sebagai penerima (receiver) maka akan mengubah energi mekanis menjadi energi listrik (efek piezoelectric). Untuk membangkitkan gelombang ultrasonik, bahan tersebut digetarkan oleh rangkaian osilator. Pola radiasi yang dipancarkan melalui transducer yang berada di depannya tergantung pada diameter transducer dan panjang gelombangnya. Sehingga transducer yang sama dapat memiliki pola radiasi yang berlainan, jika medium yang dilalui berlainan. Pola radiasi suatu transducer ultrasonik merupakan gabungan antara gelombang bidang datar (bergerak hanya ke satu arah) dan gelombang bola. Gambar 4. Pola Radiasi Gelombang Ultrasonik Satu hal yang perlu diperhatikan adalah bahwa sensor PING tidak dapat mengukur objek yang permukaannya dapat menyerap suara, seperti busa atau sound damper lainnya. Pengukuran jarak juga akan kacau jika permukaan objek bergerigi dengan sudut tajam, seperti kertas yang dilipat-lipat tempat kita meletakkan obat nyamuk bakar. Pada dasanya, sensor PING terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik berfungsi untuk mendeteksi pantulan suaranya. Pada modul sensor PING terdapat 3 pin yang digunakan untuk jalur power supply (+5V), ground dan signal. Pin signal dapat langsung dihubungkan dengan mikrokontroler tanpa tambahan komponen apapun. Sensor PING mendeteksi objek dengan cara mengirimkan suara ultrasonik dan kemudian “mendengarkan” pantulan suara tersebut. sensor PING hanya akan mengirimkan suara ultrasonik ketika ada pulsa trigger dari mikrokontroler (Pulsa high selama 5uS). Suara ultrasonik dengan frekuensi sebesar 40KHz akan dipancarkan selama 200uS. Suara ini akan merambat di udara dengan kecepatan 344.424m/detik (atau 1cm setiap 29.034uS), mengenai objek untuk kemudian terpantul kembali ke sensor PING. Selama menunggu pantulan, sensor PING akan menghasilkan sebuah pulsa. Pulsa ini akan berhenti (low) ketika suara pantulan terdeteksi oleh sensor PING. Oleh karena itulah lebar pulsa tersebut dapat merepresentasikan jarak antara sensor PING dengan objek. Selanjutnya mikrokontroler cukup mengukur lebar pulsa tersebut dan mengkonversinya dalam bentuk jarak dengan perhitungan sebagai berikut : Jadi jarak yang terhitung adalah : S= ( . t in ) 2 Dimana : S = Jarak antara sensor ultrasonik dengan objek yang dideteksi v = Cepat rambat gelombang ultrasonic di udara (344 m/s) t = Selisih waktu pemancaran dan penerimaan pantulan gelombang. Gelombang ini melalui udara dengan kecepatan 344 m/s[5], lalu mengenai obyek dan memantul kembali ke sensor. sensor PING mengeluarkan pulsa output high pada pin SIG setelah memancarkan gelombang ultrasonik dan setelah gelombang pantulan terdeteksi Ping akan membuat output low pada pin SIG. Lebar pulsa High (tIN) akan sesuai dengan lama waktu tempuh gelombang ultrasonik untuk 2x jarak ukur dengan obyek. Maka jarak yang diukur ialah [(tIN s x 344 m/s) : 2] meter. LCD ini mempunyai 14 pin data yang dikirim melalui jalur data, LCD diatur dengan pulsa kendali yang sesuai .Adapun pin kendali yang terdapat pada rangkaian LCD adalah sebagai berikut: Gambar 5. Cara Kerja Ping Paralax Ultrasonic Range Finder LCD (Liquid Cristal Display) Liquid Crystal Display (LCD) adalah salah satu jenis tampilan yang dapat digunakan untuka menampilkan karakter angka, huruf, dan simbol-simbol lainnya hal ini karena LCD (Liquid Crystal Display) menggunakan titik yang berbentuk matriks untuk menampilkan suatu karakter sehingga dengan LCD (Liquid Crystal Display) dapat dapat ditampilkan lebih banyak bentuk karakter. LCD (Liquid Crystal Display) ini dapat menampilkan karakter 16 x 2,yaitu dalam satu baris dapat menampilkan 16 karakter. Gambar 6. LCD Character 16x2 Untuk menghubungkan dengan mikrokontroller telah di persiapkan kakikaki pada modul LCD yang secara kompatibel dapat langsung dihubungkan dengan port-port Mikrokontroller. Modul LCD dapat dihubungkan langsung ke pin Mikrokontroller tanpa membutuhkan IC (Integrated circuit) perantara lainya sehingga antar muka komponen menjadi sederhana. Proses transfer data tampilan diatur oleh Mikrokontroler AT89C51. Kaki 1 (GND) Kaki ini dihubungkan dengan tegangan 0 volt (ground). Kaki 2 (VCC) Kaki ini dihubungkan dengan tegangan 5 volt yang merupakan tegangan sumber. Kaki 3 (VEE/VLCD) Tegangan pengantur kontras LCD (Liquid Crystal Display). Kontras mencapai nilai maksimum pada saat kondisi kaki ini pada tegangan 0 volt. Kaki 4 (RS) Register select, kaki pemilih register yang akan diakses. Untuk akses ke register data, logika dari kaki ini adalah 1 dan untuk akses ke register perintah, logika dari kaki ini adalah 0. Kaki 5 (R/W) Logika 1 pada kaki ini menunjukan bahwa module LCD (Liquid Crystal Display) sedang pada mode pembacaan dan logika 0 pada kaki ini menunjukan bahwa module LCD (Liquid Crystal Display) sedang pada mode penulisan. Untuk aplikasi yang tidak memerlukan pembacaan data pada modul LCD (Liquid Crystal Display), kaki ini dapat dihubungkan langsung ke ground. Kaki 6 (E) Enable clock LCD (Liquid Crystal Display), kaki ini mengaktifkan clock LCD (Liquid Crystal Display). Logika 1 pada kaki ini diberikan pada saat penulisan atau pembacaan data. Kaki 7-14 (D0-D7) Data bus, kedelapan kaki pada module LCD (Liquid Crystal Display) ini adalah bagian dimana aliran data sebanyak 4 bit atau 8 bit mengalir saat proses penulisan atau pembacaan data. Kaki 15 (anoda) Berfungsi untuk tegangan positif dari backlight module LCD (Liquid Crystal Display) sekitar 4,5 volt. Kai 16 (katoda) Berfungsi untuk tegangan negatif dari backlight module LCD (Liquid Crystal Display) sekitar 0 volt. METODE PENELITIAN Menggunakan beberapa sumber tertulis berupa buku-buku pustaka, situssitus internet, buku-buku referensi, dan datasheet yang digunakan sebagai bahan referensi dan perbandingan. Melakukan perancangan alat Pengukur Tinggi Badan Digital Dengan Sensor Ultrasonik Berbasis Mikrokontroler AT8951. Melakukan kegiatan-kegiatan atau percobaan di rumah dan di laboratorium yang dapat menunjang perencanaan alat. START INISIALISI LCD INPUT NILAI PORT DAN REGISTRASI BERI SENSOR LOGIKA LOW DELAY PICU SENSOR DENGAN PULSA HIGH SELAMA 3uS DELAY SIAPKAN SENSOR SEBAGAI INPUT HITUNG LEBAR PULSA HIGH DARI SENSOR DENGAN TIMER 0 TAMPILKAN JARAK PADA LCD YA UKUR LAGI TIDAK B1 END Gambar 8. Flowchart Program HASIL DAN PEMBAHASAN Gambar 7. Blok Diagram Rangkaian Uji coba pengukuran tinggi badan digital dengan sensor ultrasonik berbasis mikrokontroler ini bertujuan untuk mengetahui apakah alat ini berfungsi atau tidak. Adapun uji coba alat ini dibagi menjadi beberapa bagian untuk memudahkan pengambilan data yaitu uji bagian power supply dan uji rangkaian sensor ultrasonik sebagai pengukur jarak. Pengujian Rangkaian Power Supply A B D1 T1 0V 9V X CT Y AC IN4002 D2 Z 220V 1A 9V C 1 7805 3 2 100 µF 50V 10 µF 50V IN4002 GND Gambar 9. Titik Pengambilan Data Tegangan (V) Pada Power supply Sistem kerja keseluruhan dari alat ini menggunakan power supply dengan tegangan outputan dari power supply sebesar 5V. Tegangan 5V dibutuhkan untuk tegangan masukkan sensor, mikrokontroller AT89S51, mengaktifkan LCD (Liquid Crystal Display). Adapun pengujian yang dilakukan dengan menggunakan multimeter digital dan dengan menggunakan osciloskop. Tabel 1. Hasil Uji Pengambilan Data Power Supply Pengambilan data ke1 Titik A (V) 2 9.55 3 9.55 4 9.56 5 9.56 Rata-rata 9.55 9.54 Titik B (V) 12.52 12.53 12.55 12.55 12.56 12.54 Titik C (V) 4.99 5.01 5.01 5.03 5.03 5.01 Gambar 10. Bentuk Gelombang Pada Titik A Pada titik A bentuk gelombang masih berupa gelombang sinus dengan volt/div = 5V, time/div = 10ms, dengan menggunakan kopling AC pada saat pengukuran. Jadi dengan tinggi gelombang dari garis tengah sebesar 2 kotak 4 garis besar tegangan yang terukur sebesar 14 v, karena bentuk gelombang masig berupa gelombang sinus jadi tegangan rataratanya adalah Vrms = Vp/ 2 = 14 / 1,41 = 9,9 V Selain menggunakan multimeter digital untuk mengukur tegangan pada titik-titik pengambilan data tegangan power suplly digunakan pula osiloskop untuk mengetahui bentuk gelombang dari masing-masing titik pengukuran. Gambar 11. Bentuk Gelombang Pada Titik B Pada titik B bentuk gelombang memiliki sedikit ripple karena telah melewati kapasitor sehingga masih terdapat sedikit ripple dengan volt/div = 5V, time/div = 10ms. dengan menggunakan kopling DC pada saat pengukuran. Jadi dengan tinggi gelombang dari garis tengah sebesar 2 kotak 3 garis besar tegangan yang terukur sebesar 13 V. Gambar 12. Bentuk Gelombang Pada Titik C Pada titik C bentuk gelombang tidak memiliki ripple dengan volt/div = 5V, time/div = 10ms. dengan menggunakan kopling DC pada saat pengukuran. Jadi dengan tinggi gelombang dari garis tengah sebesar 1 kotak besar tegangan yang terukur sebesar 5 V. Pengujian pada bagian ini berhubungan dengan keakuratan sensor ultrasonik PING dalam mengukur jarak. Pengujian ini dilakukan dengan cara membandingkan jarak sebenarnya dengan pembacaan jarak pada tampilan LCD. Tabel 2. Hasil Pengukuran Dengan Sensor Ultrasonik Sebenarnya (cm) Pembacaan Tinggi Pada Error Tampilan Jarak LCD (cm) 131 +1 0.76 140 141 +1 0.71 150 151 +1 0.66 160 161 +1 0.62 170 172 +2 1.17 180 182 +2 1.11 190 192 +2 1.05 200 202 +2 1 210 214 +4 1,9 220 224 +4 1.82 230 235 +5 1.74 240 245 +5 2.1 Rata-rata Rata-rata Rata-rata 1.93 KESIMPULAN Dari hasil uji coba dapat disimpulkan bahwa perancangan dan pembuatan Pengukur Tinggi Badan Digital Dengan Sensor Ultrasonik Berbasis Mikrokontroler AT89S51 berfungsi dengan baik dan sesuai dengan yang diinginkan. Dari hasil percobaan, didapatkan kesimpulan sebagai berikut : Pengujian Sensor Ultrasonik PING Tinggi 130 Persentase Kesalahan (%) 10 11 +1 20 21 +1 10 5 30 31 +1 3.33 40 41 +1 2.5 50 51 +1 2 60 61 +1 1.67 70 71 +1 1.42 80 81 +1 1.25 90 91 +1 1.11 100 101 +1 1 110 111 +1 0.91 120 121 +1 1.67 1. Dari hasil pengukuran, sensor ultrasonik ini dapat mengukur tinggi badan dengan baik mulai dari 50 cm sampai 200 cm. Pada pengukuran tinggi pada 210 cm sampai dengan 240 cm, error jarak antara tinggi badan sebenarnya dengan pembacaan tinggi pada tampilan LCD berkisar antara 4 cm sampai 5 cm. 2. Dari hasil pengujian terlihat bahwa hasil pembacaan tinggi pada tampilan LCD pada alat tidak tepat sama dengan tinggi sebenarnya ,dengan persentase kesalahan antara 0.62% hingga 10% dengan rata-rata persentase kesalahan sebesar 1.93%. Persentase kesalahan pada pengukuran tinggi 10 cm dan 20 cm sangat tinggi yaitu 10 % dan 5% hal ini disebabkan karena rentang jarak yang sangat kecil sedangkan alat pengukur ini hanya bisa mengukur dalam ukuran cm saja bukan dalam satuan mm sehingga persentase kesalahannya besar. DAFTAR PUSTAKA [1] [2] [3] [4] [5] [6] [7] Agfianto, Eko Putra. Belajar Mikrokontroler AT89C51/52/55, Gava Media, Yogyakarta, 2006. Christanto, Danny, Panduan Dasar Mikrokontroler Keluarga MCS-51, Innovative Electronics, Surabaya, 2004. Christanto, Danny, PANDUAN PRAKTIKUM DASAR MIKROKONTROLER KELUARGA MCS-51 MENGGUNAKAN DT-51 MINIMUM SYSTEM VER 3.0 DAN DT-51 TRAINER BOARD , Innovative Electronics, Surabaya, 2004. Tooley, Mike, Rangkaian Elektronika Prinsip dan Aplikasi, Erlangga, Jakarta, 2002. http://en.wikipedia.org/wiki/Speed_o f_sound, 25 Agustus 2011. http://www.innovativeelectronics.co m/innovative_electronics/download_ files/artikel/AN73.pdf, 25 Agustus 2010. http://www.tokoelektronika.com/tutorial/robotkrci.ht ml, 25 Agustus 2011