Selasa, 05 April 2016

SISTIM PENGHITUNGAN TIMER OTOMATIS MENGGUNAKAN MIKROKONTROLER

      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.

      




gambar diatas merupakan skema rangkaian timer otomatis menggunakan mikrokontroller.


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