Keterbatasan ketelitian dan kejelian seorang wasit
dalam perlombaan dapat menyebabkan terjadinya kesalahan penilaian.
Umumnya perlombaan menggunakan stopwatch
sebagai pengukur waktu. Penelitian ini dilatar belakangi oleh ketidak efisienan
dan ketidak efektifan penggunaan sistem pewaktuan dalam perlombaan. Dalam
penelitian ini dimanfaatkan beberapa saklar tekan pada ujung-ujung lintasan
renang, pemanfaatan IC penyimpan suara ISD1420, mikrokontroler terprogram
sebagai pengendali waktu utama, dan LCD sebagai tampilan. Prototipe kolam
renang yang dibuat terdiri atas empat lintasan. Perancangan perangkat lunak
ditekankan pada pemanfaatan timer
mikrokontroler. Meskipun hanya digunakan sebuah timer namun pemanfaatannya dilakukan pada empat lintasan sekaligus dengan
menggunakan teknik buffering nilai timer pada suatu data array. Hasil
penelitian menunjukkan bahwa fasilitas
timer dalam mikrokontroler dapat dimanfaatkan untuk pewaktuan paralel empat
lintasan, semua perenang dalam keempat lintasan dapat dicatat waktunya.
Demikian juga suara peringatan yang terekam pada ISD dapat diputar tepat waktu.
selanjutnya IC ISD, Chip ini digunakan untuk menyimpan data suara. ISD
kependekan dari Information Storage
Devices. Konfigurasi pin IC ISD1420 ditunjukkan dalam gambar 1.
Gambar 1. Konfigurasi pin IC ISD1420
ISD1420 berdurasi minimum 20 detik. Di dalamnya
terdapat memori sebesar 128 KB untuk menyimpan data suara. Sebelum merekam
suara perlu dilakukan pemilihan alamat. Lama perekaman akan menentukan
banyaknya alamat yang dipakai oleh IC ISD1420. Semakin lama merekam, alamat
yang dipakai akan makin banyak (konsep memory).
Jika IC ISD1420 digunakan untuk merekam beberapa kata dalam durasi beberapa detik, lamanya perekaman
tidak boleh melebihi durasi waktu yang telah dirancang atau masuk pada alamat
perekam berikutnya, karena suara yang telah direkam dapat tertumpuk dan
terpotong dengan data suara berikutnya.
Pemrograman terdiri atas beberapa sub
rutin yang disediakan, yakni: sub rutin delay; sub rutin pemutar suara: “siap-siap”,
“mulai”, “terjadi kecurangan”, dan “ finish”;
sub rutin LCD; sub rutin timer; dan
sub rutin konversi.
Sub rutin pemutar suara isinya bertujuan
untuk mengendalikan A4 dan A9 IC ISD1420. Contoh program untuk mengeluarkan
suara “siap-siap”
void siap_siap ( )
{
D9 = 0;D4 = 0;
play=0; tunda (10) ; play=1;
}
Sedangkan sub rutin timer digunakan untuk inisialisasi timer dan interrupt timer
overflow. Timer yang digunakan adalah timer
0, mode 1, hitungan 10000 detak maju.
void init_timer()
{
TMOD=0b00000001;
TCON=0; TH0=0xEC;TL0=0x78; //(-5000) ET0=1;
EA=1;
}
Setiap dua kali overflow,
timer 0 interrupt akan diaktifkan melalui interrupt service routine berikut:
void tim0_int(void) interrupt 1 using 3
{
TR0=0;
hitungan++;
if (hitungan ==2)
{
hitung++;
hitungan=0;
}
TF0=0;
TH0=0xEC;TL0=0x78; //(-5000) TR0=1;
}
Dari kedua sub rutin tersebut dihasilkan 10000
detak yang setara dengan 10000µ detik atau sama dengan 1/100 detik. Penelitian
ini menggunakan crystal 12MHz.
Sehingga waktu terkecil yang bisa terdeteksi adalah
1/100 detik, sama seperti nilai timer
stopwatch pada umumnya.
Sub rutin berikutnya adalah konversi, yang akan
merubah nilai di atas menjadi satuan detik, menit, dan jam. Adapun isi sub
rutin konversi adalah
void konversi ( )
{
seperdetik=hitung; //dalam 1/100 detik
detiknya=(seperdetik)-;
if(seperdetik>=100)
if (detiknya >=60) detiknya=detiknya%60;
if (menitnya >=60) menitnya=menitnya%60;
}
Metode buffering
digunakan untuk menyimpan nilai timer ke
data array setiap kali switch finish
tertekan. Berikut proses buffering nilai timer ke data array untuk perenang di lintasan 1 saat mencapai finish:
if (j1b==1 && selesai1==0) { konversi();
seperdetik_j1=seperdetik; data_seperdetik[0]=seperdetik_j1;
detik_j1=detiknya; data_detik[0]=detik_j1;
menit_j1=menitnya; data_menit[0]=menit_j1;
}
Pengujian dilakukan per bagian dan
pengujian secara keseluruhan. Adapun pengujian yang dilakukan per bagian
meliputi pengujian minimum sistem AT89S51, pengujian LCD, pengujian IC ISD1420,
dan pengujian respon kontroler terhadap masukan switch.
Secara keseluruhan hasil pengujian sistem
dibandingkan dengan stopwatch Seiko
ditampilkan pada tabel 3.
Detak yang diberikan timer pada mikrokontroler dapat dimanfaatkan untuk pewaktuan (real time) dengan pendeteksian timer overflow dan besarnya crystal yang
terpasang pada minimum sistem. Pada alat ini, perekaman dan pemutaran ulang
suara pada ISD1420 memerlukan pengalamatan yang tepat untuk menentukan waktu
rekam. Penelitian dapat dikembangkan untuk perlombaan renang umum, dengan
menyediakan pilihan kategori lebih lengkap pada alat yang dibuat. Demikian juga
peletakan switch disesuaikan dengan
gaya renang yang dipakai.



Tidak ada komentar:
Posting Komentar