PERMAINAN TEMBAK SASARAN ELEKTRONIS
BERBASIS MIKROKONTROLER AT89S51
Tugas Akhir
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh:
Nama : Pintohatmoko Danurwendo NIM : 015114015
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ELECTRONIC TARGET SHOOTING GAME
BASED ON AT89S51 MICROCONTROLLER
Final Project
Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program
By:
Name : Pintohatmoko Danurwendo Student Number : 015114015
ELECTRICAL ENGINEERING STUDY PROGRAM
FACULTY OF ENGINEERING
SANATA DHARMA UNIVERSITY
YOGYAKARTA
MOTTO DAN PERSEMBAHAN
Be strong... Go forward... Move ahead...
Tsuyoku mae he susume
No worries...
Hakuna Matata
Intisari
Permainan tembak sasaran menjadi media hiburan tersendiri bagi setiap orang yang memainkan dan melihatnya. Namun seringkali permainan ini susah untuk dimainkan (membutuhkan area yang luas, harus menyusun sasaran tembak terlebih dulu, dll) dan seringkali menjadi tidak aman karena menggunakan peluru. Permainan tembak sasaran elektronis dapat menutupi kekurangan tersebut.
Mikrokontroler AT89S51 berperan sebagai pengendali utama. Sistem ini didukung dengan penerapan solenoid sebagai penggerak dan laser pointer sebagai pengganti peluru. Sensor yang digunakan adalah fototransistor. Sensor ini berfungsi menerima rangsangan cahaya dari laser pointer dan kemudian diolah oleh mikrokontroler. Mikrokontroler juga mengatur urutan sasaran tembak yang muncul dan juga berperan sebagai pewaktu permainan. Skor akhir permainan ditampilkan oleh 2 digit seven segment.
Permainan tembak sasaran elektronis dapat dimainkan dengan jarak maksimal sejauh 3 meter. Arus rata-rata solenoid sebesar 0,2925A. Permainan ini aman karena tidak menggunakan peluru.
Abstract
Shooting target game can be a special kind of game for everybody who playing this game and also entertains the others who watch it. However, sometimes, shooting target game is complicated to played (needs large area, has to arrange the target at first, etc) and sometimes it is harmfull because it use bullet. Electronic target shooting game can reduce those dearth.
AT89S51 microcontroller as the brain of the system. The system is supported by solenoid as actuator and laser pointer to replace the bullet. Photo-transistor is used as censor. This censor receives the lights efluence of laser pointer then it will proceed by microcontroller. Microcontroller also controls the target arrangement to hide or seek and this microcontroller has a role as a game timer. The final score is presented by two digits of seven segment.
Electronic target shooting game can be played under 3 meters, the distance between target and gun. Solenoid average current is 0,2925Ampere. Finally, this game is safe to played because it is not using bullet.
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Tuhan Yesus Kristus, karena kasih
karunia-Nya penulis akhirnya dapat menyelesaikan tugas akhir ini dengan baik dan lancar. Tugas
akhir ini merupakan salah satu syarat untuk memperoleh gelar Sarjana pada program
studi Teknik Elektro Universitas Sanata Dharma Yogyakarta.
Dalam proses penulisan tugas akhir ini penulis menyadari bahwa ada begitu
banyak pihak yang telah memberikan perhatian dan bantuan sehingga tugas akhir ini
dapat terselesaikan. Maka dari itu, penulis ingin mengucapkan terima kasih kepada :
1. Romo Ir. Greg Heliarko S.J., S.S., B.S.T., M.A., M.Sc., selaku Dekan Fakultas
Teknik Universitas Sanata Dharma Yogyakarta.
2. Bapak B. Djoko Untoro .S., S.Si., M.T., selaku pembimbing I, terima kasih atas
ide-ide, dukungan spiritual, kritik dan saran dalam penulisan tugas akhir.
3. Ibu Wiwien Widyastuti, S.T., M.T., Bapak A. Bayu Primawan, S.T., M.Eng.,
Ibu B. Wuri Harini, S.T., M.T., selaku panitia penguji, terima kasih atas kritik dan
saran dalam penulisan tugas akhir.
4. Ibu Ir. Prima Ari Setiyani, M.T., yang sering menjadi tempat curahan hati demi
kemajuan Teknik Elektro dan kemajuan tugas akhir ini.
5. Seluruh dosen Teknik Elektro Universitas Sanata Dharma atas ilmu yang telah
diberikan.
6. Bapak dan Ibu tercinta atas semangat dan doa serta dukungan secara moril
maupun materiil. Adikku Pinta yang kangen aku dan selalu bertanya, “Kapan
7. My Deeva A.V.F. Spadic .S. yang selalu memberi semangat dan kasih sayang.
8. Mantan PTX Management : Agus, Cahyo, Uut. “Akhirnya aku lulus… Kita
hidupkan kembali PTX Management…”
9. Teman – teman seperjuangan : Komank, makasih buat semangatnya, Indra Bagus
Klowor, makasih buat persaingannya. Tonny Pujianto, makasih buat jalan keluar
dari permasalahan programku.
10.Teman – teman Teknik Elektro : Rikhard, Ikantongkok, Tomo, Yoga, Elwi,
Jimmy, Eko Jepang, Dody, Nana, Tatang, Ardi, Don, Hugo, Lina, Butet, Dewoo,
Anto, Yuke, Ganyong, Inggit, dan semua teman – teman di Elektro USD.
11.Saudara – saudariku di PMK Apostolos : Wil Iwil, Choro, Obex, Tokol Family,
Jeffry, Welly, dll. “Hakuna Matata!! Karena Yesus selalu besertamu…”
12.Cumi Friska, Tie-tha, Sun Shine, Asih, Antok UPN, Marijo.
13.Laboran Teknik Elektro : mas Broto, mas Mardi, mas Sur, mas Hardi.
14.Dan seluruh pihak yang telah ambil bagian dalam proses penulisan tugas akhir ini
yang terlalu banyak jika disebutkan satu-persatu.
Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari
sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini sangat
diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi semua pihak.
Terima kasih.
Yogyakarta, 5 Februari 2007
DAFTAR ISI
HALAMAN JUDUL DALAM BAHASA INDONESIA………..…………i
HALAMAN JUDUL DALAM BAHASA INGGRIS……….………….. ii
HALAMAN PERSETUJUAN PEMBIMBING……… iii
HALAMAN PENGESAHAN………iv
PERNYATAAN KEASLIAN KARYA………..……….. v
HALAMAN MOTTO DAN PERSEMBAHAN………vi
INTISARI……….. vii
ABSTRACT……….. ………viii
KATA PENGANTAR………..….………… ix
DAFTAR ISI………. xi
DAFTAR TABEL………. xv
DAFTAR GAMBAR………. xvi
BAB I. PENDAHULUAN……….………… 1
1.1 Latar belakang masalah……….……… 1
1.2 Tujuan dan manfaat………..………. 2
1.2.1 Tujuan……….…... 2
1.2.2 Manfaat……….. 3
1.3 Perumusan masalah……….………….. 3
1.4 Batasan masalah……… 4
1.5 Metodologi penulisan………4
BAB II. DASAR TEORI……….……….. 6
2.1 Diagram blok……….…………6
2.2 Mikrokontroler AT89S51………. 7
2.2.1 Fasilitas yang dimiliki AT89S51……… 7
2.2.2 Organisasi memori AT89S51………..…………7
2.2.3 Register AT89S51……….. 9
2.2.3.1 Register dasar……….. 9
2.2.3.2 Register serba guna……….. 10
2.2.3.3 Register khusus (SFR)……….… 10
2.2.4 Pemrograman mikrokontroler AT89S51……… 11
2.3 Register timer/counter……… 14
2.3.1 Mode 0 (pencacah biner 13 bit)……….. 14
2.3.2 Mode 1 (pencacah biner 16 bit)……….. 15
2.3.3 Mode 2 (pencacah biner 8 bit isi ulang)……….. ………16
2.3.4 Mode 3 (gabungan pencacah biner 16 bit dan 8 bit)……….. 17
2.3.5 Register TCON………... ………18
2.3.6 Register TMOD……….. 18
2.4 Register interupsi………19
2.4.1 Register IE……….. ……... 20
2.5 Transistor sebagai saklar……… 20
2.6 Medan magnetik……… ………22
2.6.2 Gaya Lorentz………... ………23
2.6.3 Sifat magnetik bahan………...………24
2.7 Gerak rotasi dan translasi……….. ………26
2.8 Timer 555………... ………27
2.8.1 Monostabil……….. ………28
BAB III. PERANCANGAN……….…………. ………29
3.1 Perancangan perangkat keras………. 29
3.1.1 Perancangan permainan tembak sasaran……… 33
3.1.2 Mikrokontroler AT89S51……….. 35
3.1.2.1 Rangkaian reset………... 37
3.1.2.2 Rangkaian osilator……….. 38
3.1.3 Senapan……….. 38
3.1.4 Sensor………. 42
3.1.5 Penampil skor permainan………... 45
3.1.6 Penggunaan fasilitas timer, mode, dan start……….. 47
3.1.7 Penggerak ………. ………49
3.1.8 Indikator alarm……….. ………60
3.1.9 Indikator LED……… 60
3.1.10 Catu daya………61
3.2 Perancangan perangkat lunak……… 62
3.2.1 Inisialisasi data awal dan port……… 63
3.2.2 Diagram alir program utama……….. 63
3.2.4 Rutin tunda waktu……….. 67
3.2.5 Rutin penampil skor tembakan……….. ………69
BAB IV. PENGAMATAN DAN PEMBAHASAN………..70
4.1 Pengamatan terhadap tegangan keluaran pada catu daya……….. 72
4.2 Pengamatan terhadap kebutuhan arus……… 73
4.3 Pengamatan sensor………. 76
4.4 Pengamatan pewaktu pada mikrokontroler……… 77
4.5 Pengamatan fisik permainan tembak sasaran elektronis……… 79
BAB V. PENUTUP………82
5.1 Kesimpulan……… 82
5.2 Saran ………. 82
DAFTAR PUSTAKA
DAFTAR TABEL
Tabel 2.1 Mode kerja timer/counter………. 19
Tabel 2.2 Alamat vektor interupsi………... 19
Tabel 3.1 Penggunaan port pada mikrokontroler………. 36
Tabel 3.2. Tabel kebenaran dari sebagian logika yang mungkin terjadi pada sensor. ………. 44
Tabel 3.3 Daftar heksa dari tampilan angka seven segment common anode……... 46
Tabel 3.4. Pengamatan awal tentang pergerakan sasaran………. 54
Tabel 3.5. Urutan pemunculan sasaran tembak untuk mode 1………. 55
Tabel 3.6. Urutan pemunculan sasaran tembak untuk mode 2………. 57
Tabel 3.7. Urutan pemunculan sasaran tembak untuk mode 3………. 58
Tabel 3.8. Penggolongan penggunaan catu daya………. 62
Tabel 4.1. Pengamatan tegangan keluaran dari tiap – tiap catu daya... 72
Tabel 4.2. Konsumsi arus pada blok rangkaian mikrokontroler………... 74
Tabel 4.3. Konsumsi arus pada blok rangkaian penggerak... 74
Tabel 4.4. Konsumsi arus pada solenoid……….. 75
Tabel 4.5. Pengamatan level tegangan sensor... 76
Tabel 4.6. Pengamatan kepekaan sensor terhadap jarak... 77
Tabel 4.7. Pengamatan pewaktuan pada mikrokontroler... 78
DAFTAR GAMBAR
Gambar 2.1. Diagram blok permainan tembak sasaran
berbasis mikrokontroler AT89S51………. 6
Gambar 2.2 Alokasi ruang memori program AT89S51……… 8
Gambar 2.3 Pemetaan 128 byte rendah dari RAM internal……….. 9
Gambar 2.4 Mode 0 pencacah biner 13 bit……… 15
Gambar 2.5 Mode 1 pencacah biner 16 bit ……….. 15
Gambar 2.6 Mode 2 pencacah biner 8 bit dengan isi ulang ……….. 16
Gambar 2.7 Mode 3 gabungan pencacah 16 bit dan 8 bit……….. 17
Gambar 2.8 Register TCON……….. 18
Gambar 2.9 Register TMOD………..18
Gambar 2.10 Register IE………. 20
Gambar 2.11 Rangkaian dasar transistor………. 20
Gambar 2.12 Kurva tegangan-arus untuk transistor sebagai saklar dengan garis beban……….. 21
Gambar 2.13 Transistor bekerja sebagai inverter……… 22
Gambar 2.14. Solenoid berinti bahan ferromagnetik……… 23
Gambar 2.15. Arah gaya Lorentz terhadap arah medan magnet B dan arah arus i……… 24
Gambar 2.16. Garis gaya magnet………. 25
Gambar 2.17. Hukum Coulomb untuk magnet………. 25
Gambar 2.19. Susunan kaki serta rangkaian internal dari IC timer 555………... 27
Gambar 2.20. Rangkaian monostabil……… 28
Gambar 3.1. Diagram blok permainan tembak sasaran berbasis mikrokontroler AT89S51………. 29
Gambar 3.2 Perancangan perangkat keras permainan tembak sasaran…………. 35
Gambar 3.3. Diagram blok penggunaan port mikrokontroler AT 89S51 pada rancangan permainan tembak sasaran………36
Gambar 3.4. Rangkaian reset pada AT89S51... 38
Gambar 3.5. Rangkaian osilator ... 38
Gambar 3.6. Rangkaian pewaktu monostabil untuk penyalaan laser selama 0,1 detik dengan sistem one shot………39
Gambar 3.7. (a) Bentuk fisik senapan……….40
(b) Posisi laser pada senapan………. 40
Gambar 3.8. Posisi kontak – kontak dari tuas picu pada senapan……….. 41
Gambar 3.9. (a) Posisi diam………41
(b) Posisi tuas pemicu ditarik penuh ………. 41
Gambar 3.10. Rangkaian dasar foto transistor terhalang OFF………. 42
Gambar 3.11. Rangkaian pembanding………. 43
Gambar 3.12. Rangkaian penggabungan keluaran dari pembanding sensor sasaran dengan menggunakan gerbang AND 4 masukan... 45
Gambar 3.13. Seven segment……… 46
Gambar 3.15. Rangkaian saklar selektor pemilihan waktu……….. 48
Gambar 3.16. Rangkaian saklar selektor pemilihan mode………48
Gambar 3.17. (a) Rangkaian dasar pembalik kutub solenoid, ……… 49
(b) Rangkaian pembalik kutub dengan menggunakan 1 buah relay DPDT……….50
Gambar 3.18. Rangkaian transistor sebagai saklar………51
Gambar 3.19. Perubahan arah gaya Lorentz yang disebabkan perubahan arah arus pada solenoid……… 52
Gambar 3.20. Posisi mekanik penggerak sasaran………. 53
Gambar 3.21. Rangkaian indikator alarm………. 60
Gambar 3.22. Rangkaian indikator LED... 61
Gambar 3.23. Rangkaian catu daya dengan regulator... 62
Gambar 3.24. Diagram alir program utama... 66
Gambar 3.25. Rutin untuk pewaktu permainan... 67
Gambar 3.26. Rutin tunda waktu... 68
Gambar 3.27. Rutin penampil skor tembakan... 70
Gambar 4.1. Bentuk akhir Permainan Tembak Sasaran Elektronis... 71
Gambar 4.2. Bentuk Fisik Permainan Tembak Sasaran Elektronis per bagian... 72
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Permainan menjadi salah satu kegiatan yang dapat membuat perasaan hati
menjadi terhibur dan orang yang memainkannya dapat merasakan kepuasan bila dapat
memenangkan permainan tersebut. Pada intinya, permainan menjadi media hiburan bagi
setiap orang yang memainkan dan melihatnya. Hal yang menjadikan permainan tersebut
layak dan enak untuk dimainkan yaitu karena adanya tantangan yang berbeda di setiap
saat, pola permainan yang tidak monoton, rasa ingin menang, dan lain sebagainya.
Pada kenyataannya, setiap permainan tidak dapat langsung dimainkan karena
masing-masing permainan memerlukan alat bantu permainan yang beraneka ragam.
Misalnya, permainan tembak sasaran. Permainan ini membutuhkan beberapa alat bantu,
seperti senapan beserta pelurunya, area yang luas untuk menghindari efek pantulan peluru
dan serpihan sasaran yang membahayakan pemain, sasaran tembak, dan beberapa alat
pendukung yang lain. Sasaran tembak dapat berupa sasaran diam (botol, kaleng, dan lain
sebagainya), dan sasaran bergerak (hewan, piring terbang, dan lain sebagainya).
Ijin kepemilikan senjata yang sulit didapat menjadi salah satu kendala dalam
permainan ini. Dalam hal ini pemain menggunakan senjata api. Suara bising yang
dihasilkan oleh senjata dan suara yang dihasilkan saat peluru mengenai sasaran juga
memberikan nilai kurang dalam permainan ini. Tidak adanya tampilan skor dan sasaran
tembak yang tidak bisa ditembak berulang kali menyebabkan permainan ini semakin
Pada tugas akhir ini, penulis mencoba untuk mengurangi kendala yang ada pada
permainan tembak sasaran dengan mengaplikasikan perangkat elektronis. Perangkat
tersebut menggunakan mikrokontroller sebagai pengendali dan beberapa perangkat
pendukung yang lain. Dengan demikian, pada permainan tersebut, ada beberapa fitur
yang dapat diaplikasikan, seperti penghitung dan penampil skor permainan, sasaran
tembak yang bisa ditembak berulang kali, dan lama permainan yang dapat diatur. Jenis
senjata yang digunakan tidak lagi menggunakan senjata api namun digantikan dengan
senjata mainan dengan menggunakan laser sebagai pengganti peluru.
Penggantian peralatan pada permainan tembak sasaran dengan menggunakan
perangkat elektronis tidak mengubah inti dari permainan tersebut. Pemain tetap dapat
memainkan seperti permainan sesungguhnya. Bahkan dengan menggunakan perangkat
elektronis, permainan menjadi lebih mudah dimainkan kapan saja dan dimana saja tanpa
mengubah inti dari permainan tersebut. Hal ini menjadi alasan kuat dalam perancangan
dan pembuatan alat ini.
1.2 Tujuan dan Manfaat
1.2.1 Tujuan
Tujuan yang akan dicapai dalam perancangan dan pembuatan alat ini yaitu
menjadikan permainan tembak sasaran lebih mudah untuk dimainkan dan menjadikan
permainan tembak sasaran lebih aman untuk dimainkan karena tidak menggunakan
1.2.2 Manfaat
Manfaat yang akan didapat dalam perancangan dan pembuatan alat ini yaitu :
1. Memberikan sumbangan permainan baru bagi masyarakat luas yang
diadaptasi dari permainan tembak sasaran.
2. Menjadikan mikrokontroler sebagai perangkat elektronis yang mudah
diaplikasikan sebagai pengendali pada berbagai kasus dan bidang kehidupan.
3. Memberikan kesenangan dan kepuasan tersendiri bagi pemain serta hiburan
bagi orang lain yang melihat.
1.3 Perumusan masalah
Sebagai salah satu penerapan dari mikrokontroler, permainan ini dirancang
dengan menggunakan sistem yang sederhana agar dapat dimainkan. Sasaran tembak
dibuat sedemikian rupa agar bisa bergerak muncul dan sembunyi. Sedangkan senapan
yang digunakan tidak menggunakan peluru melainkan laser pointer.
Konstruksi permainan ini dibuat dengan konfigurasi 8 sasaran tembak yang dibagi
dalam 2 grup (tingkat) agar menghemat tempat. Masing – masing sasaran diberi sensor
cahaya berupa fototransistor. Sasaran tembak bergerak bergantian sesuai urutan sasaran.
Pada permasalahan di atas, masalah yang didapat sebagai berikut :
1. Bagaimana membuat sistem supaya sasaran dapat bergerak muncul dan
sembunyi ?
2. Bagaimana membuat rangkaian sensor pendeteksi cahaya ?
1.4 Batasan Masalah
Perancangan dan pembuatan peralatan ini dibatasi pada :
1. Menggunakan Mikrokontroler seri AT89S51.
2. Menerapkan solenoid sebagai penggerak dengan bantuan magnet.
3. Menggunakan senjata mainan dan laser pointer sebagai pengganti peluru.
4. Menggunakan foto transistor sebagai sensor cahaya.
5. Sasaran tembak berjumlah 8 buah.
6. Penampil skor berupa seven segment dua digit dan memberikan kenaikan 1
skor jika tembakan mengenai sasaran.
7. Lama permainan dapat diatur yakni 30 detik atau 60 detik.
8. Mode permainan dapat dipilih sesuai tingkat keterampilan.
1.5 Metodologi penulisan
Pada penelitian ini akan dilakukan beberapa langkah sebagai berikut :
1. Perumusan masalah
2. Pengumpulan dokumen pendukung berupa informasi dari berbagai literature,
buku pedoman, dan data sheet komponen.
3. Perancangan untuk menyelesaikan masalah
4. Pengambilan data melalui pengamatan.
5. Penyajian data dengan gambar dan tabel.
1.6
Sistematika penulisan
Sistematika penulisan terdiri dari 5 bab, yaitu :
BAB I PENDAHULUAN
Bab ini berisi tentang latar belakang masalah, tujuan dan manfaat
penelitian, perumusan masalah, batasan masalah, metodologi penulisan,
dan sistematika penulisan.
BAB II DASAR TEORI
Bab ini berisi tentang dasar teori yang mendukung perancangan dari
sistem, seperti mikrokontroler AT89S51, solenoid, transistor, gerak rotasi
translasi, dan pewaktu 555.
BAB III PERANCANGAN
Bab ini berisi perancangan perangkat keras maupun perangkat lunak,
seperti perancangan solenoid sebagai penggerak, rangkaian sensor,
konstruksi permainan, penampil skor, dan algoritma perangkat lunak.
BAB IV PENGAMATAN DAN PEMBAHASAN
Bab ini berisi tentang pengamatan hasil akhir beserta pembahasannya.
BAB V PENUTUP
BAB II
DASAR TEORI
2.1 Diagram blok
Urutan kerja dari permainan tembak sasaran dimulai dengan memilih waktu
permainan serta mode permainan yang dikehendaki. Kemudian dengan menekan tombol
start maka permainan dapat dimulai diiringi dengan munculnya sasaran tembak secara
bergantian agar dapat ditembak dengan menggunakan laser. Setiap tembakan yang
mengenai sasaran dikenai nilai 1 dan ditampilkan pada penampil skor. Untuk lebih
jelasnya tentang prinsip kerja dan perancangan permainan tembak sasaran ini, dapat
dilihat pada bab selanjutnya. Diagram blok dari permainan tembak sasaran dapat dilihat
pada gambar 2.1.
Pemilih waktu Start dan reset Pemilih mode
Sensor
Laser
Mikrokontroler Penampil skor
Penggerak
2.2 Mikrokontroler AT89S51
Mikrokontroler AT89S51 adalah jenis mikrokontroler 8 bit yang dibuat dengan
teknologi non-volatile memory yang diproduksi oleh ATMEL. Mikrokontroler ini juga
dilengkapi dengan 4 kbyte flash PEROM (Programmable and Erasable Read Only
Memory).
Teknologi flash memory ini memungkinkan untuk menyimpan program dalam
media penyimpanan internal, membaca program yang telah disimpan, menghapusmaupun
memrogram kembali dengan lebih mudah dan cepat. Dengan kemampuan hapus atau tulis
Sebanyak lebih kurang 1000 kali, membuat mikrokontroler ini fleksibel untuk digunakan
dalam berbagai sistem. Mikrokontroler ini merupakan anggota keluarga MCS-51, sebuah
keluarga mikrokontroler yang dipelopori oleh perusahaan Intel dengan memroduksi
mikrokontroler 8051.
2.2.1 Fasilitas yang dimiliki AT89S51
Fasilitas yang dimiliki mikrokontroler ini antara lain 4 kbyte ROM, 128 byte
RAM, 4 buah I/O port masing-masing 8 bit, 2 buah timer 16 bit, serial interface, 64 byte
external data memory spaces, Boolean processor (pada operasi bit), dan 210 lokasi yang
dapat dialamati per bit. Diagram blok bagian bagian mikrokontroler AT89S51 dan
hubungan antar bagian secara terinci dapat dilihat pada lampiran data sheet.
2.2.2 Organisasi memori AT89S51
Memori mikrokontroler AT89S51 dibagi menjadi memori program dan memori
pemrogram. Isi ROM dapat diubah oleh pemrogram dan tidak akan hilang selama
mikrokontroler terhubung ke catu daya. ROM menempati ruang dengan nomor
heksadesimal 0000h-FFFFh dan untuk AT89S51 dengan kapasitas memori on-chip 4
kbyte menempati 0000h-0FFFh. Ruang sisanya digunakan untuk ekspansi sebagai
memori eksternal dengan kapasitas totalnya 64 kbyte. Alokasi ruang memori program
ditunjukkan pada gambar 2.2.
Memori data digunakan untuk menyimpan data yang diolah mikrokontroler
selama proses kerjanya berlangsung. Data ini akan hilang jika mikrokontroler tidak
terhubung ke catu daya. Memori data menempati ruang 00h-FFh dengan distribusi ruang
00h-7Fh (128 byte) untuk RAM dan 80h-FFh untuk Special Function Register (SFR).
RAM itu sendiri didistribusinak menjadi ruang 00h-1Fh (32 byte) untuk 4 buah register
(masing-masing 8 buah register 8 bit), 20h-2Fh (16byte) untuk memori data biasa yang
juga menyimpan data atau dialamati per bit, dan 30h-7Fh (80 byte) sebagai memori data
biasa. Penjelasan dengan gambar dapat dilihat pada gambar 2.3. dan
FFFFh
60 kbyte eksternal
64 kbyte eksternal
1000h
0FFFh
4 kbyte internal 0000h
7Fh
30h
1Fh
18h
17h
10h
0Fh
08h
07h
00h
2Fh
20h
Dapat dialamati per bit (16 byte)
80 byte
Memori data (RAM) biasa
Bank register Bank 3
Bank 2
Bank 1
Bank 0
Gambar 2.3 Pemetaan 128 byte rendah dari RAM internal
2.2.3 Register AT89S51
Dalam keluarga mikrokontroler MCS 51, register ditempatkan secara terpisah.
Register PC ditempatkan dalam inti procesor, register serba guna (R0-R7) di dalam ruang
memori data, dan register yang lain di dalam SFR.
2.2.3.1 Register Dasar
Mikrokontroler AT89S51 juga memiliki register dasar atau register pokok untuk
keperluan penulisan program. Register-register tersebut adalah Program Counter (PC),
Accumulator (A), Stack Pointer (SP), dan Program Status Register. Sedangkan register
dasar yang menjadi ciri khas keluarga mikrokontroler MCS 51 adalah Register B, Data
Register B sebagai register 8 bit, bersama accumulator berfungsi dalam
menjalankan instruksi perkalian dan pembagian. Sedangkan register DPH dan DPL yang
masing-masing berkapasitas 8 bit, dapat digunakan sebagai dua register 8 bit atau sebagai
Data Pointer Register (DPTR) 16 bit.
2.2.3.2 Register Serba Guna
Register serba guna (General Purpose Register) berkapasitas 32 byte dan dibagi
dalam 4 bank register, masing-masing terdiri dari 8 register (R0-R7). Keempat register
tersebut tidak bisa digunakan secara bersamaan, namun bank register 0 aktif setelah reset.
Untuk memilih bank register yang digunakan, diatur dalam register Program Status Word
(PSW). Khusus untuk register R0 dan R1 dapat digunakan untuk menampung alamat
dalam mode indirect memory addressing.
2.2.3.3 Register Khusus (SFR)
Register ini untuk mengatur perilaku mikrokontroler yang berhubungan dengan
port paralel P0-P3 dan sarana I/O lainnya serta tidak untuk menyimpan data. Sebagian
register dasar diletakkan dalam SFR, seperti accumulator dan register B. register-register
dalam SFR antara lain :
a. Register penampung data masukan/keluaran yang berhubungan dengan port
paralel P0, P1, P2, dan P3.
b. TL0/TH0 (Timer 0 Low/High), TL1/TH1 (Timer 1 Low/High) yang
sebagai sumber clock pencacah. Perilaku timer ini diatur melalui register
TMOD dan TCON.
c. TMOD (Timer Mode), merupakan register untuk mengendalikan kerja timer 0
dan tiner 1, dan digunakan sebagai timer 16 bit, 13 bit atau dua buah timer 8
bit yang terpisah pada masing-masing timer. Selain itu TMOD juga mengatur
agar proses pencacahan dapat dikendalikan dari luar dan dapat mendeteksi
sinyal dari luar IC AT89S51.
d. TCON (Timer Control), untuk mengendalikan timer dalam memulai dan
menghentikan proses pencacahan, sekaligus mengawasi proses pencacahan itu
sendiri dan terjadinya overflow. Dalam register ini juga ada bit yang mengatur
permintaan interupsi dari INTO (pin 12) dan INTI (pin 13).
e. IE (Interrupt Enable), untuk mengatur agar interupsi aktif atau tidak aktif.
f. IP (Interrupt Control), digunakan untuk mengatur prioritas dari masing -
masing sumber interupsi.
g. PCON (Power Control), untuk mengatur mode pemakaian daya oleh
mikrokontroler misalnya pada saat sistem dalam keadaan stand by. Daya
listrik yang digunakan sistem dapat direduksi sehingga menjadi hemat,
terutama sistem yang menggunakan baterai sebagai sumber daya listrik.
2.2.4 Pemrograman Mikrokontroler AT89S51
Semua mikrokontroler yang termasuk keluarga MCS 51 menggunakan bahasa
pemrograman yang sama yaitu MCS 51 assembly language, kumpulan instruksi berupa
disesuaikan dengan kemampuan dan fitur yang dimiliki masing-masing jenis atau nomor
seri mikrokontroler.
Instruksi-instruksi MCS 51 dikelompokkan dalam beberapa bagian, yaitu :
a. Operasi Aritmatika
Yang termasuk dalam kelompok ini adalah instruksi penambahan
(add,addc,inc), pengurangan (subb,dec), perkalian (div), dan pengaturan
desimal (da).
b. Operasi Logika
Meliputi instruksi and (anl), or (orl), xor (xrl), clear (clr), rotasi (rl,rlc,rr,rrc),
komplemen (cpl), dan pertukaran nibble dalam akumulator (swap).
c. Transfer Data
Meliputi instruksi penyalinan data (mov, movc, movx), menyimpan dan
mengambil pada stack (push, pop), dan pertukaran data (xch, xchd).
d. Operasi Boolean
Terdiri dari instruksi untuk carry dan bit, antara lain clear (clr), set bit (setb),
komplemen (cpl), anl, orl, mov, dan instruksi jump yang mengacu pada carry
dan bit seperti jc, jnc, jb, jnb, dan jbc.
e. Operasi Percabangan
Terdiri dari instruksi pemanggilan sub rutin (acall, lcall), kembali dari sub
rutin (ret), kembali dari interupsi (reti), lompatan relatif maupun dengan syarat
(ajmp, sjmp, ljmp, jmp, jz, jnz, cjne, djnz). Ada juga instrusi agar dalam satu
Karena data di berbagai lokasi memori, maka dalam pemrograman MCS 51
dikenal jenis-jenis penyebutan atau pengalamatan (addressing mode), antara lain :
a. Pengalamatan secara langsung
Instruksi pengalamatan secara langsung untuk menunjuk data yang berada di
dalam memori dengan cara menyebut nomor alamat tempat data tersebut
berada. Alamat adalah lokasi pada RAM internal atau daerah SFR.
b. Pengalamatan secara tidak langsung
Dalam pengalamatan tak-langsung, instruksi menentukan suatu register yang
digunakan untuk menyimpan alamat operan. Baik Ram internal maupun
eksternal dapat diakses secara tak-langsung. Register alamat untuk
alamat-alamat 8 bit bisa menggunakan Stack Pointer, R0, dan R1 dari bank register
yang dipilih. Sedangkan untuk alamat 16-bit hanya bisa menggunakan register
pointer data 16-bit atau DPTR.
c. Pengalamatan register
Instruksi dengan menyebutkan data yang tersimpan dalam register.
Contohnya : MOV A,R2
(yang berarti menyalin data yang disimpan pada R2 ke akumulator)
d. Pengalamatan dengan segera
Merupakan instruksi yang menyebutkan data dengan segera karena data
tersebut sudah berada dalam instruksi.
Contohnya : MOV A,#26h
e. Pengalamatan dengan penunjukan
Instruksi dengan mode ini hanya digunakan untuk menunjuk alamat memori
program secara tidak langsung dan hanya untuk membaca.
Contohnya : MOVC A,@A+DPTR
(digunakan untuk mengakses memori program dan menyalin data dengan
alamat yang ditunjuk oleh A+DPTR ke akumulator)
2.3 Register Timer/Counter
Mikrokontroler AT89S51 mempunyai dua register timer/counter 16 bit yaitu
timer 0 dan timer 1. Keduanya dapat diatur untuk bekerja sebagai timer atau counter, dan
setiap timer 16 bit dapat diatur untuk bekerja dalam mode timer 16 bit, 13 bit, dan 8 bit
auto-reload. Perilaku timer diatur oleh register TCON dan TMOD melalui pemrograman.
Pada mode 0, 1, dan 2, timer 0 dan timer 1 masing-masing bekerja sendiri, artinya
dapat terjadi pada timer 0 bekerja pada mode 1 dan timer 1 bekerja pada mode 2, atau
kombinasi lainnya sesuai dengan keperluan. Sedangkan pada mode 3, TL0, TH0, TL1,
dan TH1 digunakan secara bersama-sama untuk menyusun sistem timer yang terpadu.
2.3.1 Mode 0 (pencacah biner 13 bit)
Pada gambar 2.4 ditunjukkan diagram fungsional timer x pada mode 0. Pencacah
biner dibentuk dengan TLx (TL0 atau TL1) sebagai pencacah biner 5 bit (meskipun
sesungguhnya 8 bit), limpahan dari pencacah biner 5 bit ini dihubungkan ke THx (TH0
atau TH1) membentuk sebuah untai pencacah biner 13 bit, limpahan dari pencacah 13 bit
limpahan (dari 1FFFH ke 0000H), maka flag interupsi timer (TF1) akan diset (‘1’).
Masukan ke pencacah diaktifkan jika TRx=1 dan GATE=0 atau INTx=1, maka keluaran
dari gerbang OR menjadi selalu ‘1’ dan akibatnya hasil gerbang AND juga ‘1’. Jika
GATE =1, maka timer sepenuhnya dikendalikan oleh masukan eksternal INTx dan bisa
digunakan dalam pengukuran lebar pulsa. TRx merupakan bit kontrol dalam register
TCON. Karena baik THx dan TLx digunakan hanya untuk membentuk pencacah biner 13
bit, maka 3 bit atas TLx dapat diabaikan. Men-set TRx tidak akan secara otomatis
menghapus isi register timer x.
OSC 1/12
2.3.2 Mode 1 (pencacah biner 16 bit)
C/T = 0 kontrol
TLX
(5 bit)
THX
(8 bit)
TFX
interupsi
INTX
C/T = 1 TX
TRX
GATE
Gambar 2.4 Mode 0 pencacah biner 13 bit
TLX
(5 bit)
THX
(8 bit)
TFX
DETAK TIMER
Mode ini sama dengan mode 0, namun register TLx digunakan sepenuhnya
sebagai pencacah biner 8 bit, sehingga kapasitas pencacah biner yang terbentuk adalah 16
bit. Seiring dengan sinyal detak, kondisi pencacah biner 16 bit ini dimulai dari 0000H,
0001H, 0002H...sampai FFFFH kemudian kembali menjadi 0000H (pada saat ini terjadi
limpahan pada TFx).
2.3.3 Mode 2 (pencacah biner 8 bit isi ulang)
Pada gambar 2.6 ditunjukkan diagram fungsional timer pada mode 2. TLx dipakai
sebagai pencacah biner 8 bit, sedangkan THx dipakai untuk menyimpan nilai yang
diisikan ulang ke TLx setiap kali kondisi TLx melimpah atau berubah dari FFH menjadi
00H. Dengan cara ini bisa diperoleh sinyal limpahan yang frekuensinya bisa ditentukan
oleh nilai yang disimpan pada THx.
OSC 1/12
C/T = 0 kontrol
TLX
(8 bit)
TFX
interupsi
THX
(8 bit) INTX
TX
C/T = 1
isi ulang TRX
GATE
2.3.4 Mode 3 (gabungan pencacah biner 16 bit dan 8 bit)
Pada mode 3, TL0, TH0, TL1, dan TH1 digunakan untuk membentuk 3 rangkaian
pencacah, yang pertama adalah untai pencacah biner 16 bit tanpa fasilitas pemantau
sinyal limpahan yang dibentuk dengan TL1 dan TH1. Yang kedua adalah TL0 yang
digunakan sebagai pencacah biner 8 bit dengan TF0 sebagai sarana pemantau limpahan.
Pencacah biner ketiga adalah TH0 yang digunakan sebagai pencacah biner 8 bit dengan
TF1 sebagai sarana pemantau limpahan, dengan demikian TH0 yang mengendalikan
interupsi timer (TF1).
Mode 3 biasanya digunakan pada aplikasi yang membutuhkan sebuah timer atau
pencacah 8 bit tambahan. Dengan timer 0 pada mode 3 seakan-akan mikrokontroler
memiliki 3 buah pencacah biner. Pada mode ini timer dapat diaktifkan melalui M1 dan
M0 pada register TMOD.
OSC 1/12
interupsi TL0
(8 bit)
TH0
(8 bit)
TF0
INT0
kontrol
T0
C/T = 0
C/T = 1
TR0
1/12 fOSC
GATE
Gambar 2.7 Mode 3 gabungan pencacah 16 bit dan 8 bit 1/12 f OSC
kontrol
TF1
1/12 f OSC
2.3.5 Register TCON
Menempati alamat 88h dan dapat dialamati per bit dengan susunan bit-bit
pengontrol seperti ditunjukkan pada gambar 2.8.
Gambar 2.8 Register TCON
TF1/TF0 : sebagai bit flag penampung overflow timer 1/timer 0
TR1/TR0 : sebagai bit pengatur aktif tidaknya timer 1/timer 0
IE1/IE0 : sebagai bit flag adanya interupsi eksternal I/O
IT1/IT0 : sebagai bit untuk mengatur level pemicuan IE1/IE0
2.3.6 Register TMOD
Merupakan register pengatur mode timer/counter, menempati alamat 89h dengan
susunan seperti pada gambar 2.9.
Gambar 2.9 Register TMOD
Gate : Jika TRx (TR1 atau TR0, dalam TCON)=’1’ dan Gate=’1’, maka timer/counter
akan bekerja jika pin INTx (INT1 atau INT0)=’1’. Jika Gate=’0’, maka timer/counter
akan bekerja jika TRx (TR1 atau TR0)=’1’. C/T sebagai bit selektor untuk memilih timer
Tabel 2.1 Mode Kerja timer/counter
M1 M0 Mode kerja
0 0 0 13 bit timer
0 1 1 16 bit timer/counter
1 0 2 8 bit auto reload timer/counter
1 1 3 Sebagai 2 buah timer 8 bit. (timer 0) TLO. Sebagai timer/counter 8 bit dan THO sebagai timer 8 bit 1 1 3 (timer 1) timer/counter 1 tidak bekerja
2.4 Register interupsi
AT89C51 menyediakan 5 sumber interupsi (penyelaan proses) yaitu 2 interupsi
eksternal, 2 interupsi timer, dan 1 interupsi dari port serial. Interupsi diatur oleh dua bank
register yaitu Interrupt Ennable (IE) dan Interrupt Priority (IP). Pada saat terjadi
interupsi, proses menuju alamat vektor interupsi sesuai dengan jenis atau sumber
interupsinya.
Tabel 2.2 Alamat vektor interupsi
Interupsi Sumber Alamat vektor
Eksternal IE0 0003h
Timer 0 TF0 000Bh
Eksternal IE1 0013h
Timer 1 TF1 001Bh
Serial port R1 atau T1 0023h
2.4.1 Register IE
Register ini terdiri dari bit-bit pengontrol seperti ditunjukkan pada gambar 2.10.
Gambar 2.10 Register IE
2.5 Transistor sebagai saklar
Transistor pada penerapannya dapat berfungsi sebagai saklar. Transistor ini
mampu bekerja pada dua keadaan, yakni saturasi sebagai kondisi ON (closed switch) dan
cut-off sebagai kondisi OFF (open switch). Keunggulan transistor sebagai saklar yakni
unggul dalam kecepatan penyaklaran dan banyak kegunaan dalam perangkat elektronika.
Gambar 2.11 Rangkaian dasar transistor Ic
+ Vce _
Pada gambar di atas, arus kolektor menjadi arus saklar dan Vce menjadi tegangan
saklar sedangkan Vin menjadi tegangan yang mengontrol penyaklaran tersebut. Kontrol
tegangan Vin tersebut memberikan dua keadaan, yakni bila tegangan Vin tinggi maka
bila tegangan Vin rendah maka akan memberikan Ib = 0 yang menyebabkan transistor
dalam keadaan cut-off.
Ketika Vin bernilai rendah, Ic ≈ 0 menyebabkan Vc bernilai tinggi. Sedangkan ketika Vin
bernilai tinggi maka,
Ic ≈ Rl Vcc
menyebabkan Vc bernilai rendah. Hal ini dapat lebih diperjelas dengan gambar 2.13
berikut ini.
Closed
Open Ib = 0 Ic
Ib ≠ 0
Vcc RL
Vce
Vce sat Vcc
t
0V
5V Vc
t Transistor
sebagai saklar 5V
0V Vin
Gambar 2.13 Transistor bekerja sebagai inverter
2.6 Medan magnetik
Kekuatan dan arah dari medan magnetik di sekitar arus listrik dinyatakan dengan
bersaran magnetik atau lebih dikenal dengan induksi magnetik (B). Induksi magnetik
tersebut dapat dinyatakan dengan garis-garis induksi (lines of induction). Arah garis gaya
magnetik dapat dinyatakan dengan kaidah tangan kanan pertama yang berbunyi, “Bila
kita menggenggam penghantar berarus dengan tangan kanan, sedemikian sehingga ibu
jari menunjukkan arah arus listrik, maka arah lipatan keempat jari lainnya menyatakan
arah putaran garis-garis gaya magnetik.”
2.6.1 Induksi magnetik pada solenoid
Kumparan solenoidal adalah deretan seri lilitan kawat melingkar yang sewaktu
dialiri arus listrik akan menjadi sumber medan magnet seperti yang dihasilkan oleh
batang magnet. Gambar 2.14 memperlihatkan bentuk dari solenoid 1 lapisan berinti
bahan ferromagnetik yang mampu menambah kuat medan magnet dengan pola lilitan
inti ferromagnetik
i
Gambar 2.14. Solenoid berinti bahan ferromagnetik
Sebuah solenoid dengan panjang L dan banyak lilitan N dialiri arus i akan menghasilkan
induksi magnetik B di ujung solenoid sesuai dengan perumusan sebagai berikut :
B = L
N i 2
0
μ
(pers. 2.1)
dengan :
B = besar induksi magnetik (Wb m-2 = Tesla),
N = banyak lilitan solenoid,
i = kuat arus (A),
L = panjang solenoid (m),
μo = permeabilitas udara ruang hampa (4π . 10-7 Wb A-1 m-1).
2.6.2 Gaya Lorentz
Gaya Lorentz adalah gaya yang timbul pada sebuah kawat penghantar berarus
pada suatu medan magnetik. Arah gaya Lorentz dapat dinyatakan dengan kaidah tangan
kanan kedua yang berbunyi, “Bila tangan kanan dibuka dengan ibu jari menunjukkan
arah arus i dan keempat jari lain yang dirapatkan menunjukkan arah medan magnetik B
makna bahwa arah gaya Lorentz tegak lurus dengan arah medan magnetik dan arah arus
listrik. Gambar 2.15 memperlihatkan arah gaya Lorentz.
F
B θ
i
Gambar 2.15. Arah gaya Lorentz terhadap arah medan magnet B dan arah arus i.
Secara matematis, besarnya gaya Lorentz dapat dirumuskan sebagai berikut :
F = Bli sin θ (pers. 2.2)
dengan,
F = gaya Lorentz (N),
B = induksi magnetik (Wb m-2 = Tesla),
l = panjang penghantar (m),
i = kuat arus listrik (A),
θ = sudut antara arah arus i dan arah medan magnetik B.
2.6.3 Sifat Magnetik Bahan
Telah diketahui bahwa di sekitar kawat yang berarus listrik terdapat medan
magnet. Demikian juga di sekitar magnet batang terdapat medan magnet seperti pada
gambar 2.16. Arah garis gaya magnet di luar magnet bergerak dari U ke S, sedangkan di
kutub berlainan yaitu kutub Utara (U) dan kutub Selatan (S). Hukum pertama
kemagnetan menyatakan bahwa, “Dua magnet yang berdekatkan dengan dua kutub yang
senama akan saling tolak-menolak dan sebaliknya bila dua magnet yang berdekatan
dengan dua kutub yang tidak senama akan tarik-menarik.”
S
U
Gambar 2.16. Garis gaya magnet
Besarnya gaya magnet telah dirumuskan dalam hukum Coulomb sebagai berikut,
”gaya tolak atau gaya tarik dari dua buah kutub magnet besarnya berbanding lurus
dengan kuat kutub masing-masing dan berbanding terbalik dengan kuadrat jaraknya”.
Hukum Coulomb ini dapat dirumuskan sebagai berikut :
F = 12 2
r m m
k
m1 m2
U
S
F F
r
F = gaya antara kedua kutub magnet (Newton)
m1 dan m2 = kuat kutub magnet (Ampere.meter)
r = jarak antara kedua kutub magnet (m)
k = tetapan = 10-7 (weber / ampere.meter)
2.7 Gerak rotasi dan translasi
Apabila sebuah benda tegar yang memiliki bentuk lingkaran berputar pada
porosnya, titik terluar dari benda tersebut memiliki kecepatan linear yang arahnya selalu
menyinggung lintasan lingkaran. Hubungan antara perpindahan linear dengan
perpindahan sudut tersebut dapat dirumuskan sebagai berikut :
s = r.θ (pers. 2.3)
dengan,
s = jarak linear (cm),
r = jari-jari piringan (cm),
θ = besar perpindahan sudut (radian).
Hubungan perpindahan linear dengan perpindahan rotasi dapat diperjelas dengan gambar
2.18.
Gerak translasi Gerak rotasi
2.8 Timer 555
Timer 555 digunakan sebagai komponen penentu waktu. Komponen ini dapat
digunakan sebagai rangkaian monostabil (satu kali detak) maupun sebagai osilator
(multivibrator) dengan besaran waktu mulai dari mikrodetik hingga beberapa jam.
Susunan kaki serta rangkaian internal dari timer 555 dapat dilihat pada gambar 2.19.
kmptr
kmptr
Flip flop memori
Tahap output
1 Output
Pembuangan muatan Gerbang
Reset
Pemicu Tegangan
kontrol Vcc
2
3 4
5 6
7
8
1
2.8.1 Monostabil
Rangkaian monostabil merupakan salah satu jenis rangkaian pada timer 555 yang
berdetak satu kali pada kaki output setelah adanya pemicuan. Cara kerja rangkaian
monostabil adalah sebagai berikut, input pemicu menge-set flip flop sehingga output
menjadi tinggi. Transistor pelepas muatan (lihat gambar 2.19) tidak menghantar dan Ct
mulai mengisi melalui Rt. ketika tegangan pada Ct mencapai harga yang sama dengan
tegangan kontrol yang ditentukan oleh untaian tiga hambatan R, komparator akan mereset
flip flop sehingga output menjadi rendah, kemudian transistor menghantar kembali serta
melepas muatan Ct. Kini, rangkaian siap dipicu kembali oleh pemicu selanjutnya.
Gambar rangkaian monostabil dapat dilihat pada gambar 2.20.
Perioda yang berlangsung adalah sama dengan waktu yang diperlukan untuk
mengisi Ct melalui Rt mulai dari 0V hingga mencapai harga dari tegangan kontrol.
Apabila nilai ketiga hambatan R adalah sama, maka tegangan kontrol adalah 2/3 Vcc.
Besarnya periode timer ditentukan sebagai berikut :
T = 1,1.Rt.Ct
BAB III
PERANCANGAN
Perancangan peralatan ini menjadi hal terpenting dalam pembuatan peralatan baik
perangkat keras maupun perangkat lunak karena perancangan merupakan dasar kerja dari
pembuatan alat. Perancangan peralatan yang dibuat meliputi penyusunan diagram blok,
rancangan perangkat keras, konstruksi peralatan, bagan alir program (flow chart).
3.1 Perancangan perangkat keras
Pemilih waktu Start dan reset Pemilih mode
Penjelasan tentang diagram blok permainan tembak sasaran adalah sebagai berikut :
1. Laser
Laser digunakan sebagai sumber cahaya yang terfokus untuk menggantikan
peluru pada senapan. Jenis laser yang digunakan yaitu laser dioda kelas II yang biasa
dipakai sebagai pointer atau pembidik target pada senapan bidik. Panjang gelombang Sensor
Laser
Mikrokontroler Penampil skor
Penggerak
berkisar antara 630-680 nm dengan output maksimum 1mW. Catu daya yang dipakai
berupa baterai LR44 1,5V sebanyak 3 buah.
2. Sensor
Sensor yang digunakan yaitu berupa foto transistor. Foto transistor ini berjumlah
sama dengan jumlah sasaran tembak yakni 8 buah. Sensor ditempatkan pada tengah
bidang tembak. Foto transistor ini akan mendeteksi adanya tembakan cahaya laser pada
bidang sasaran. Foto transistor aktif pada saat sasaran tembak aktif (muncul). Hal ini
memberi pengertian bahwa, bila sasaran tembak nomor 7 aktif (muncul) maka hanya foto
transistor yang berada pada bidang sasaran nomor 7 yang aktif.
3. Pemilih waktu
Pemilih waktu digunakan untuk membatasi lamanya waktu permainan. Ada 2
batasan waktu yang digunakan, yaitu lama permainan 30 detik dan lama permainan 60
detik. Pemilih waktu hanya dapat mengaktifkan satu mode waktu (30 detik atau 60 detik),
dengan demikian dalam perancangan perangkat keras dapat menggunakan saklar pilih
(selector).
4. Pemilih mode
Pemilih mode digunakan untuk memilih variasi permainan yang telah ditentukan.
A. Pemula. Pada mode ini pemain dapat memainkan permainan dengan mudah
karena tempo pemunculan sasaran lebih lambat jika dibandingkan dengan kedua
mode yang lain.
B. Normal. Pada mode permainan ini pemain dapat menikmati tantangan dari
permainan ini karena tempo pemunculan sasaran lebih cepat dibanding mode
mudah. Dengan demikian apabila pemain kehilangan tempo menembak, maka
pemain akan sulit untuk mengejar nilai tertinggi (high score).
C. Mahir. Pada mode permainan ini, tempo pemunculan sasaran menjadi paling
cepat jika dibandingkan dengan kedua mode yang lain. Pemain akan dibuat
bingung untuk menembak sasaran karena tempo pemunculan sasaran yang cepat.
Pada mode ini juga dapat ditampilkan 2 sasaran yang muncul bersamaan. Kedua
sasaran tersebut dalam keadaan siap tembak (aktif). Pada mode ini konsentrasi
pemain sangat diandalkan karena 2 sasaran yang muncul bersamaan akan
membingungkan pemain.
5. Mikrokontroler
Mikrokontroler yang dipakai yaitu AT89S51 produksi ATMEL. Mikrokontroler
digunakan sebagai penghitung nilai dan mengolah nilai tersebut agar dapat ditampilkan
pada penampil nilai, pengatur lamanya permainan dengan memanfaatkan fasilitas timer
pada mikrokontroler, dan sebagai pemberi variasi pemunculan sasaran sesuai dengan
mode yang dipilih.
Mikrokontroler digunakan sebagai penghitung nilai dan mengolah nilai tersebut
didapatkan dari ada atau tidaknya cahaya laser yang jatuh pada foto transistor yang
kemudian diolah oleh pembanding. Pembanding memberikan sinyal low (logika 0) pada
mikrokontroler (P 3.4 atau P 3.5) apabila ada cahaya laser yang jatuh pada foto transistor.
Setiap kali sasaran terkena tembakan, akan menambah nilai 1 yang kemudian diolah oleh
mikrokontroler dan langsung ditampilkan pada penampil skor.
Fungsi lain dari mikrokontroler yaitu digunakan untuk mengendalikan sasaran
yang muncul sesuai dengan urutan pemunculan yang sudah ada sesuai mode permainan
yang dipilih. Mikrokontroler harus memberikan sinyal low (logika 0) agar sasaran dapat
aktif. Hal ini disebabkan karena karakteristik dari penggerak yang akan dijelaskan lebih
lanjut pada subbab selanjutnya.
Mikrokontroler juga digunakan sebagai pewaktu lamanya permainan. Lama
permainan yang sudah dipilih pada selector (30 detik atau 60 detik) akan memberikan
sinyal low (logika 0) pada mikrokontroler P 3.3 untuk 30 detik atau sinyal high (logika 1)
untuk 60 detik.
6. Penampil skor
Penampil skor yang digunakan adalah 2 digit seven segment. Sehingga skor yang
dapat ditampilkan hanya pada kisaran 00-99. Penampil skor ini menunjukkan skor atau
nilai yang didapat apabila tembakan mengenai sasaran. Tembakan yang mengenai
sasaran akan diberi nilai 1 dan skor akan ditambahkan dengan skor sebelumnya.
Sedangkan tembakan yang tidak mengenai sasaran akan diberi nilai 0, artinya skor tetap
7. Penggerak
Penggerak yang dipakai pada perancangan permainan ini adalah lilitan (solenoid)
yang dirangkai dengan bantuan magnet. Lilitan ini berfungsi untuk menggantikan
peranan motor DC. Prinsipnya adalah lilitan ini dapat menarik atau melepaskan magnet
sesuai dengan kutub-kutub magnet yang terpasang. Penjelasan terperinci tentang
penggerak berada pada sub bab penggerak.
3.1.1 Perancangan permainan tembak sasaran
Perancangan bentuk perangkat keras permainan tembak sasaran tampak pada
gambar 3.2. Permainan tembak sasaran ini memiliki mekanisme atau cara kerja yang
dapat digambarkan pada diagram blok yang tampak pada gambar 3.1.
Urutan kerjanya yaitu :
1. Memilih mode permainan. Mode 1 untuk pemula, mode 2 untuk normal, mode
3 untuk mahir.
2. Memilih waktu permainan, 30 detik atau 60 detik.
3. Laser menembakkan cahaya ke sasaran tembak.
4. Sensor pada sasaran tembak akan aktif (ON) jika terkena cahaya dari laser.
5. Sinyal keluaran sensor diolah komparator agar dapat menghasilkan sinyal
keluaran bertegangan +5v (logika 1) atau 0v (logika 0).
6. Mikrokontroler menerima sinyal dari komparator. Output komparator
menghasilkan sinyal rendah (logika 0) jika sensor terkena cahaya dan sinyal
data dan mengaktifkan atau menon-aktifkan sasaran tembak. Output
mikrokontroler mengeluarkan data skor pada penampil skor.
7. Seven segment menampilkan dua digit data skor yang dikirimkan
mikrokontroler.
8. Penggerak mengaktifkan sasaran yang telah ditentukan oleh mikrokontroler
bila diberikan sinyal rendah (logika 0) dan menon-aktifkan sasaran bila
diberikan sinyal tinggi (logika 1). Sasaran akan aktif secara bergantian dan
berbeda – beda sesuai dengan pemilihan mode.
(a) (b)
(c)
Gambar 3.2 Perancangan perangkat keras permainan tembak sasaran (a) Sasaran tidak muncul.
(b) Sasaran muncul. (c) 8 sasaran tidak muncul. (d) 8 sasaran muncul.
(e) Kotak utama (mainboard) dan panel pengaturan (front panel).
Keterangan untuk mainboard dan front panel : 1. Stop (reset)
2. Start
3. Mode pemula 4. Mode normal 5. Mode mahir
6. Pemilih lama permainan 7. Penampil skor
8. Catu daya senapan
mainboard 7
(e)
1 2
3 4 5 6
8
front panel
3.1.2 Mikrokontroler AT89S51
Perancangan ini menggunakan mikrokontroler AT89S51 produksi ATMEL
karena mikrokontroler ini mudah untuk diterapkan pada berbagai perancangan alat
elektronika. Hal lain yang mendukung ialah banyaknya port yang dapat digunakan yakni
4 buah, mudah men-download data, dan mudah dicari di pasaran elektronika.
Mikrokontroler AT89S51 memiliki 4 port yang dapat dipakai untuk input ataupun
output. Port yang dipakai untuk peralatan ini dapat dilihat pada tabel 3.1. Pada tabel
tersebut dapat dilihat bahwa hampir semua port digunakan dalam perancangan peralatan
ini dan lebih banyak dipakai sebagai output. Penggunaan port mikrokontroler juga dapat
Tabel 3.1 Penggunaan port pada mikrokontroler.
Port Fungsi Keterangan
P0.0 – P0.6 Penampil skor satuan Output
P1.0 – P1.6 Penampil skor puluhan Output
P2.0 – P2.7 Penggerak Output
P3.0 – P3.2 Pemilih mode permainan Input
P3.3 Pemilih waktu permainan Input
P3.4 Sensor sasaran grup A Input
P3.5 Sensor sasaran grup B Input
P3.6 Start Input
P3.7 Indikator alarm Output
Catu daya +5V
AT 89S51 Sensor sasaran grup A
P3.4
Penampil skor puluhan P1.0 – P1.6 Penampil skor satuan
P0.0 – P0.6
Penggerak P2.0 – P2.7
Indikator alarm P3.7 Start
P3.6
Sensor sasaran grup B P3.5
Pemilih mode permainan P3.0 – P3.2
Pemilih waktu permainan P3.3
OSC
3.1.2.1 Rangkaian reset
Reset digunakan untuk mengembalikan keseluruhan sistem (program) ke awal.
Reset terjadi dengan adanya logika 1 selama minimal 2 cycle (2μ detik) pada kaki reset
(pin 9). Setelah pin reset kembali low maka mikrokontroler akan memulai menjalankan
program dari alamat 0000h pada program counter namun kondisi RAM tidak berubah
dari kondisi terakhir. Gambar 3.4 menunjukkan tentang rangkaian reset manual. Saat
push button reset (PB RST) ditekan, reset akan bekerja secara manual. Penekanan tombol
menyebabkan tegangan di pin reset menjadi sama dengan Vcc atau berlogika high (logika
1). Saat tombol dilepas, tegangan pada pin reset akan berubah menjadi 0V atau berlogika
low (logika 0). Jika VRST (HIGH) dianggap bernilai 4,95 V dan R2 bernilai 10kΩ, maka
besarnya R1 dapat dicari dengan persamaan sebagai berikut :
VRST (HIGH) = Vcc
R R R 2 1 2 +
VRST (HIGH) (R1 + R2) = R2.Vcc
VRST (HIGH).R1 = R2.Vcc – VRST (HIGH).R2
R1 = ) ( ) ( ) ( 2 HIGH RST HIGH RST V V Vcc R − R1 = V V V k 95 , 4 ) 95 , 4 5 (
10 Ω −
R1 = V V 95 , 4 500Ω
3.1.2.2 Rangkaian Osilator
Osilator on-chip digunakan sebagai sumber detak ke mikrokontroler. Osilator
yang digunakan ialah resonator kristal 12MHz. Penggunaan kristal dengan frekuensi
12MHz mengakibatkan satu siklus mesin mikrokontroler dikerjakan dalam waktu 1μs.
Gambar rangkaian osilator dapat dilihat pada gambar 3.5.
T1 siklus mesin = osc f 12
=
MHz 12
12
= 1μs
3.1.3 Senapan
Senapan yang digunakan berupa senapan manual. Maksudnya bahwa satu kali
tarikan tuas pemicu hanya akan mengeluarkan satu peluru (dalam hal ini mengaktifkan
XTAL1 (pin 19) C1
C2
XTAL2 (pin 18) XTAL
Gambar 3.5. Rangkaian osilator Gambar 3.4. Rangkaian reset pada AT89S51
pin 9 (reset) C1
1uF
R2 10k VCC
R1 100
laser satu kali). Efek ini sama dengan efek yang terjadi pada senjata berupa pistol
revolver, shotgun, senapan angin, dll. Untuk memberikan efek yang sama dengan
senapan manual, maka laser dirangkai seperti pada gambar 3.6 sehingga laser hanya akan
menyala satu kali meskipun tuas pemicu ditarik terus-menerus. Sistem ini dinamakan
sistem one shot. Rangkaian one shot untuk laser pada senapan dapat dilihat pada gambar
3.6.
Gambar 3.6. Rangkaian pewaktu monostabil untuk penyalaan laser selama 0,1 detik dengan sistem one shot.
A B common
Pewaktu yang digunakan adalah pewaktu monostabil 555 dengan lama pulsa 0,1 detik.
Penghitungan komponen waktunya adalah sebagai berikut :
Nilai Rt diasumsikan 1 kΩ, maka,
T = 1,1 . Rt . Ct
Ct = Rt T
. 1 , 1
Ct =
) 10 1 ( . 1 , 1
det 1 , 0
Ct = 90,909 μF
Ct ≈ 100 μF (disesuaikan dengan nilai di pasaran elektronika)
Resistor R1 berfungsi untuk membatasi arus picuan yang masuk ke pin trigger. Arus
picuan sebesar 2μA. Dengan demikian besarnya R1 dapat dihitung sebagai berikut :
V = ipicuan.R1
R1 = picuan i
V
R1 =
A x
V
6
10 2
12
−
R1 = 6 MegΩ
Bentuk fisik dari senapan dapat dilihat pada gambar 3.7. Pada gambar tersebut
dapat dilihat bahwa laser diletakkan di tengah laras senapan agar dapat menghasilkan
ketepatan tembak yang sama dengan senapan berpeluru.
(a)
Gambar 3.7. (a) bentuk fisik senapan. (b) posisi laser pada senapan
Gambar 3.8. Posisi kontak – kontak dari tuas picu pada senapan.
Keterangan : • kontak A • kontak B • common
• tuas pemicu senapan
Cara kerja dari sistem penembakan tersebut ialah penekanan pada tuas picu
senapan akan menyebabkan kontak B terhubung dengan common yang kemudian memicu
timer 555. Keluaran dari 555 mengaktifkan relay selama 0,1 detik yang kemudian
menyebabkan laser menyala dengan waktu yang sama dengan aktifnya relay. Timer 555
tidak akan terpicu lagi meskipun tuas pemicu senapan ditarik terus menerus. Inilah yang
dinamakan sistem one shot. Ketika tuas pemicu senapan dilepas, maka kontak A akan
terhubung dengan common dan timer 555 tidak terpicu lagi sebelum tuas pemicu ditarik.
Gambar 3.8 menjelaskan tentang posisi kontak-kontak pemicu dan tuas pemicu pada
senapan. Gambar 3.9 menjelaskan tentang pergerakan kontak-kontak pemicu.
Gambar 3.9. (a) Posisi diam
(b) Posisi tuas pemicu ditarik penuh
3.1.4 Sensor
Sensor yang digunakan pada permainan tembak sasaran ini adalah foto transistor.
Foto transistor ini berjumlah 8 buah sesuai dengan jumlah sasaran tembak. Rangkaian
dasar sensor foto transistor dapat dilihat pada gambar 3.10. Pada gambar tersebut, foto
transistor dirancang agar bila ada cahaya jatuh di kaki basis maka transistor ON dan
berlaku sebaliknya, apabila tidak ada cahaya jatuh di kaki basis maka transistor OFF.
Kondisi ini disebut terhalang OFF.
Rangkaian di atas kemudian diteruskan ke rangkaian pembanding yang
menggunakan OP AMP. Rangkaian pembanding akan membandingkan tegangan
keluaran foto transistor dengan tegangan acuan. Bila tegangan output foto transistor lebih
kecil (dianggap OFF) dari tegangan acuan, maka OP AMP akan memberikan output
LOW (logika 0), sedangkan bila tegangan output foto transistor lebih tinggi (dianggap
ON) dari tegangan acuan, maka OP AMP memberikan sinyal HIGH (logika 1).
Rangkaian pembanding dapat dilihat pada gambar 3.11.
Gambar 3.10. Rangkaian dasar foto transistor terhalang OFF f oto transistor
R VCC
Dengan memberikan nilai R pada gambar 3.11 sebesar 10kΩ dan Vcc sebesar 6V,
maka untuk mendapatkan tegangan referensi sebesar 4V, besar hambatan pada potensio
adalah sebagai berikut :
Vref =
Rpot R
Vcc R
+
.
Rpot = R
Vref Vcc
R. −
Rpot = Ω − kΩ
v v k
10 4
6 . 10
Rpot = 5kΩ
Tegangan pada A, yakni VE pada foto transistor, dibandingkan dengan tegangan acuan
(VREF) yang dihubungkan ke kaki inverting dari LM324. Apabila VA lebih kecil daripada
VREF maka output OPAMP akan 0V, demikian pula sebaliknya apabila VA lebih besar
daripada VREF maka output OPAMP akan menjadi VSAT.
Gambar 3.11. Rangkaian pembanding
+
-U1A
LM324
3
2
1
4
11
A
R1 10k pot
Vref
Vcc
Sensor yang digunakan berjumlah 8 buah fototransistor. Hal ini terlihat terlalu
banyak dan jika semua keluaran dari sensor dihubungkan ke mikrokontroler, maka
jumlah pin yang ada tidak cukup untuk menampung keluaran sensor ini. Oleh karena itu
perlu adanya penghematan pin pada mikrokontroler dengan cara penggabungan keluaran.
8 buah sensor sasaran yang ada dibagi menjadi 2, yaitu grup A (sasaran 1-4) dan
grup B (sasaran 5-8). Keluaran dari tiap grup dimasukkan ke dalam 2 gerbang AND 4
masukan. Keluaran dari 2 buah gerbang AND 4 masukan (Y1 dan Y2) itulah yang
dihubungkan ke pin P3.4 dan P3.5 pada mikrokontroler. Tabel 3.2 menjelaskan tentang
tabel kebenaran dari sebagian logika yang mungkin terjadi pada sensor. Gambar
rangkaian dari penggabungan keluaran sensor dapat dilihat pada gambar 3.12.
Tabel 3.2. Tabel kebenaran dari sebagian logika yang mungkin terjadi pada sensor.
Sensor sasaran Sasaran yang
tertembak 1 2 3 4 Y1
1 0 1 1 1 0
2 1 0 1 1 0
3 1 1 0 1 0
4 1 1 1 0 0
1 dan 2 0 0 1 1 0
1 dan 3 0 1 0 1 0
1 dan4 0 1 1 0 0
2 dan 3 1 0 0 1 0
2 dan 4 1 0 1 0 0
3 dan 4 1 1 0 0 0
Tidak ada yang
3.1.5 Penampil skor permainan
Skor permainan ditampilkan dengan menggunakan dua digit seven segment. Skor
permainan memiliki rentang nilai antara 00 hingga 99. Setiap tembakan yang mengenai
sasaran, akan ditambahkan nilai 1 pada memory skor yang kemudian ditampilkan pada
seven segment. Skor pemainan digit satuan ditampilkan melalui port 0 sedangkan skor
permainan digit puluhan ditampilkan melalui port 1. Gambar sevensegment dapat dilihat
pada gambar 3.13 sedangkan gambar rangkaian dari penampil skor dapat dilihat pada
gambar 3.14. Daftar susunan angka heksa penampilan seven segment dapat dilihat pada
tabel 3.3.
B4 B3
Bn = keluaran dari pembanding sensor sasaran n
B7 B2
B6
B8
P3.4 U1A
74LS21 6 1
2
4 5 B1
B5
P3.5 U1B
74LS21 9
10
8 12
13
Gambar 3.12. Rangkaian penggabungan keluaran dari pembanding sensor sasaran dengan menggunakan gerbang AND 4 masukan
Tabel 3.3 Daftar heksa dari tampilan angka pada seven segment common anode.
Desimal h g f e d c b a Heksa
0 1 1 0 0 0 0 0 0 C0
1 1 1 1 1 1 0 0 1 F9
2 1 0 1 0 0 1 0 0 A4
3 1 0 1 1 0 0 0 0 B0
4 1 0 0 1 1 0 0 1 99
5 1 0 0 1 0 0 1 0 92
6 1 0 0 0 0 0 1 0 82
7 1 1 1 1 1 0 0 0 F8
8 1 0 0 0 0 0 0 0 80
9 1 0 0 1 0 0 0 0 90
Gambar 3.14. Rangkaian penampil skor permainan dengan menggunakan 2 digit seven segment
Pada rangkaian di atas, nilai R dapat ditentukan sebagai berikut (Vcc = 5V) :
I = 15mA (LED pada seven segment sudah memenuhi arus minimal yang
diperlukan agar LED menyala)
5V = 15mA.R
R = 333,33Ω dibulatkan menjadi 330Ω
3.1.6 Penggunaan fasilitas timer, mode, dan start
Timer, mode, dan start merupakan 3 fasilitas yang harus diaktifkan terlebih
dahulu sebelum permainan dimulai. 3 fasilitas tersebut berada pada front panel yang
nantinya terletak di dekat pemain supaya memudahkan pemain dalam mengoperasikan
alat mengingat bahwa jarak antara sasaran dan penembak adalah 2 meter.
A. Timer
Fasilitas timer menentukan lamanya waktu permainan yakni 30 detik dan 60
detik. Untuk menghindari adanya kesalahan penekanan lama waktu permainan, maka
lebih baik menggunakan saklar selektor yang hanya akan mendeteksi salah satu
pemilihan waktu yang kemudian common pada selektor dihubungkan ke pin
mikrokontroler jika dibandingkan dengan menggunakan dua tombol pewaktu dan dua pin
pada mikrokontroler. Rangkaian saklar selektor pemilihan waktu dapat dilihat pada
gambar 3.15. Pewaktu 30 detik akan aktif jika P 3.3 diberi masukan low (logika 0)
sedangkan pewaktu 60 detik akan aktif jika P 3.3 diberi masukan high (logika 1).
Masing-masing kondisi diberi lampu indikator agar mudah mengetahui pewaktu yang
aktif.
P 3.3
B. Mode
Fasilitas mode menentukan variasi permainan dan menentukan tingkat kelincahan
pemain. Mikrokontroler mendeteksi mode yang digunakan dari P 3.0 – P 3.2. Untuk
menghindari kesalahan penekanan tombol pemilihan mode, maka lebih baik
menggunakan saklar selektor. Rangkaian saklar selektor untuk pemilihan mode dapat
dilihat pada gambar 3.16. Mode 1 (pemula) akan aktif bila P 3.0 diberi masukan low
demikian pula mode 2 (normal) dan mode 3 (mahir). Penggunaan saklar selektor akan
mengakibatkan hanya ada 1 pemilihan mode yang aktif.
C. Start
Fasilitas start digunakan untuk memulai permainan setelah pemilihan waktu dan
mode diaktifkan. Mikrokontroler akan mendeteksi fasilitas start pada P 3.6. Jika P 3.6
diberi masukan low (logika 0), maka fasilitas start akan aktif dan permainan dimulai.
3.1.7 Penggerak
Penggerak yang digunakan pada permainan ini ialah jenis solenoid. Lilitan pada
solenoid akan menghasilkan gaya magnet. Gaya magnet tersebut akan menghasilkan
gerakan apabila solenoid didekatkan dengan magnet. Gerakan yang dihasilkan berupa
mode 1 (pin 3.0)(P3.0)
mode 2 (pin 3.1)(P3.1)
mode 3 (pin 3.2)(P3.2)
gerakan maju dan mundur atau tertolak dan tertarik. Prinsip inilah yang diterapkan pada
penggerak pada permainan ini.
Sistem kerja dari gerakan tersebut adalah sebagai berikut, lilitan yang memiliki
sifat kutub utara pada ujungnya akan terjadi gaya tolak menolak apabila didekatkan pada
magnet yang memiliki sifat kutub utara pada ujungnya, demikian pula jika terjadi
sebaliknya. Gaya tolakan atau tarikan inilah yang dapat membuat sasaran bergerak naik
dan turun dengan bantuan mekanik. Pergerakan naik atau turunnya sasaran dapat
dilakukan dengan mengubah sifat kutub pada ujung lilitan.
Untuk mengubah sifat kutub pada ujung solenoid, dapat menggunakan rangkaian
pembalik kutub yang identik dengan rangkaian pembalik putaran motor. Rangkaian dasar
pembalik kutub dapat dilihat pada gambar 3.17a, sedangkan rangkaian pembalik kutub
dengan menggunakan relay DPDT dapat dilihat pada gambar 3.17b
Gambar 3.17. (a) Rangkaian dasar pembalik kutub solenoid, (b) Rangkaian pembalik kutub dengan
m