BAB I
PENDAHULUAN
1.1
Latar
Belakang
Beberapa
tahun belakangan ini, lapangan futsal di Indonesia papan skornya masih
sederhana bahkan masih manual penggunaan papan skornya. Papan skor yang ada
rata – rata masih menggunakan kabel untuk mengontrolnya dan jika ada yang
menggunakan remot untuk mengontrol papan skor tersebut, remot yang digunakan
jarang terdapat di pasaran dan bahkan tidak dijual sama sekali dari pasaran,
sehingga jika terjadi kerusakan di remotnya, konsumen sulit untuk membelinya
lagi. Dan pada penyewaan futsal, untuk setiap pengaturan skor, operator
biasanya memencet tombol untuk mengubah skor, sehingga hal ini kurang efisien
karena operator harus tetap diruangannya untuk mengatur skor dan tentunya boros
kabel. Dan apabila operator ingin ke kamar mandi atau lupa, hal ini dapat
merugikan pihak konsumen karena pemain terkadang lupa dengan skor groupnya.
Yang
kedua para pemain tidak bisa melihat skor. Hal ini sangat penting karena jika
pemain bertandingan antara satu sama lain dapat membuat strategi-strategi untuk
mengalahkan lawan dan pemain tidak menimbulkan sifat curiga kepada pihak rental
berdasarkan skor yang ditampilkan. Sehinnga timbullah ide untuk membuat papan
skor futsal dengan kendali remot multifungsi. Yang dimaksud multifungsi disini
adalah remot dapat mengatur skor kedua group, babak, dan timer atau waktu pertandingan. Kami menggunkan remot tv sony karena
remot tv sony banyak terdapat dipasaran dan pengalamatannya dari setiap tombol
sudah diketahui. Papan skor kami juga dapat mengeluarkan suara seperti suara
berupa kata – kata atau beberapa kalimat
pada bagian skor dan sebagai pengingat waktu pertandingan akan segera
habis dan berakhirnya waktu pertandingan.
1.2
Rumusan
Masalah
Dari permasalahan yang telah diuraikan diatas, dapat diambil
beberapa rumusan masalah, yaitu:
1. Bagaimana cara membuat papan skor yang efisien.
2. Bagaimana cara membuat papan skor dengan remot tv sony
sebagai sistem kendalinya.
3. Bagaimana cara menampilkan skor, babak, dan timer pada seven
segmen pada papan skor.
4. Bagaimana cara membuat papan skor bersuara dengan bersuara.
5. Bagaimana
cara kerja dari modul mp3.
6. Bagaimana
cara koneksi mikrokontroler dengan modul mp3.
1.3
Batasan Masalah
Batasan
masalah dari alat kami adalah :
1. Alat
kami tidak menggunakan running text untuk menampilkan nama tim yang bermain
untuk masing-masing tim.
2. Alat
kami hanya mengendalikan skor, timer, dan babak dengan menggunakan remot tv
sony saja.
3. Skornya
hanya bersuara dari 0 sampai dengan 10.
1.4
Tujuan
dan Manfaat
1.4.1
Tujuan
Tujuan pembuatan proyek ini adalah :
1. Untuk memenuhi salah satu persyaratan guna menyelesaikan
program Dipoloma III Jurusan Elektro Program Studi Elektronika Industri pada
Politeknik Negeri Jakarta.
2. Untuk menerapkan ilmu yang didapat penulis selama dalam
bangku perkuliahan.
3. Untuk membuat suatu alat "Papan
Skor Futsal Berbasis Mikrokontroler dengan kendali Remot Multifungsi".
1.4.2
Manfaat
Adapun manfaat yang diberikan alat ini adalah :
1. Dapat dikendalikan dengan remot tv sony sehingga kalau
terjadi kerusakan dapat membelinya di pasaran.
2. Dapat mengingatkan detik – detik waktu pertandingan akan
segera habis
3. Sebagai display
skor, babak dan waktu pada pertandingan futsal.
1.5
Metodologi
Metode yang digunakan
dalam pembuatan Tugas Akhir ini, yaitu :
1. Studi
Literatur
Mencari dan mengumpulkan referensi serta dasar teori yang
diambil dari berbagai buku penunjang untuk mendukung pembuatan program.
2. Perancangan
Software
Metode ini dimaksudkan untuk menentukan desain program
yang akan dibuat.
3. Pembuatan
Software
Merupakan
inti pekerjaan dimana disini dilakukan penulisan source code agar software yang dibuat bisa berjalan seperti yang
dikehendaki.
4. Pembuatan
Hardware
Merupakan
pembuatan alat yang akan digunakan sebagai simulator program yang telah dibuat.
BAB II
TINJAUAN
PUSTAKA
2.1
Mikrokontroller Atmega 16
AVR merupakan seri mikrokontroler CMOS 8-bit buatan
Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer).
Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai
32 register general-purpose, timer/counter fleksibel dengan mode compare,
interrupt internal dan eksternal, serial UART, programmable
Watchdog Timer, dan mode power saving, ADC dan PWM internal. AVR
juga mempunyai In-System Programmable Flash on-chip yang mengijinkan
memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial
SPI. ATMega16.
ATMega16 mempunyai throughput mendekati
1 MIPS per MHz membuat disainer sistem untuk mengoptimasi konsumsi daya versus
kecepatan proses.
Beberapa keistimewaan dari AVR
ATMega16 antara lain:
1.
Advanced
RISC Architecture
·
130
Powerful Instructions – Most Single Clock Cycle Execution
·
32 x 8
General Purpose Fully Static Operation
·
Up to 16
MIPS Throughput at 16 MHz
·
On-chip
2-cycle Multiplier
2.
Nonvolatile
Program and Data Memories
·
8K Bytes of
In-System Self-Programmable Flash
·
Optional
Boot Code Section with Independent Lock Bits
·
512 Bytes
EEPROM
·
512 Bytes
Internal SRAM
·
Programming
Lock for Software Security
3.
Peripheral
Features
·
Two 8-bit
Timer/Counters with Separate Prescalers and Compare Mode
·
Two 8-bit
Timer/Counters with Separate Prescalers and Compare Modes
·
One 16-bit
Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode
·
Real Time
Counter with Separate Oscillator
·
Four PWM
Channels
·
8-channel,
10-bit ADC
·
Byte-oriented
Two-wire Serial Interface
·
Programmable
Serial USART
4.
Special
Microcontroller Features
·
Power-on
Reset and Programmable Brown-out Detection
·
Internal
Calibrated RC Oscillator
·
External
and Internal Interrupt Sources
·
Six Sleep
Modes: Idle, ADC Noise Reduction, Power-save, Powerdown,
·
Standby and
Extended Standby
5.
I/O and
Package
·
32
Programmable I/O Lines
·
40-pin
PDIP, 44-lead TQFP, 44-lead PLCC, and 44-pad MLF
6.
Operating
Voltages
·
2.7 - 5.5V
for Atmega16L
·
4.5 - 5.5V
for Atmega16
Gambar 2.1 Pin-pin ATMega16 kemasan
40-pin
Pin-pin pada
ATMega16 dengan kemasan 40-pin DIP (dual inline package) ditunjukkan
oleh gambar 1. Guna memaksimalkan performa, AVR menggunakan arsitektur Harvard
(dengan memori dan bus terpisah untuk program dan data).
2.1.1 Port
sebagai input/output digital
ATMega16 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan
PortD. Keempat port tersebut merupakan jalur bidirectional dengan
pilihan internal pull-up. Tiap port mempunyai tiga buah register bit,
yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’mewakili nama huruf dari port sedangkan
huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit
PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address
PINx.
Bit DDxn dalam register DDRx (Data Direction Register) menentukan
arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn
diset 0 maka Px berfungsi sebagai pin input.Bila PORTxn diset 1 pada saat pin
terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan.
Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin
dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah
kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin
output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin
terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah
kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output
high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi
pull-up enabled (DDxn=0, PORTxn=1) atau kondisi output low (DDxn=1,
PORTxn=0).
Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama
lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong
high driver dengan sebuah pull-up. Jika ini bukan suatu masalah,
maka bit PUD pada register SFIOR dapat diset 1 untuk mematikan semua pull-up
dalam semua port. Peralihan dari kondisi input dengan pull-up ke
kondisi output low juga menimbulkan masalah yang sama. Kita harus
menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi output
high (DDxn=1, PORTxn=0) sebagai kondisi transisi.
Tabel 2.1. Konfigurasi pin port
Bit 2 – PUD : Pull-up Disable
Bila bit diset
bernilai 1 maka pull-up pada port I/O akan dimatikan walaupun register
DDxn dan PORTxn dikonfigurasikan untuk menyalakan pull-up (DDxn=0,
PORTxn=1).
2.2
LED
(Light Emitting Diode) Sinar Infra Merah
Infra merah (infra red) ialah sinar elektromagnet yang panjang
gelombangnya lebih
daripada cahaya nampak yaitu di antara 700 nm dan 1 mm. Sinar infra merah
merupakan cahaya yang tidak tampak. Jika dilihat dengan dengan spektroskop
cahaya maka radiasi cahaya infra merah akan nampak pada spectrum elektromagnet
dengan panjang gelombang di atas panjang gelombang cahaya merah. Dengan panjang
gelombang ini maka cahaya infra merah ini akan tidak tampak oleh mata namun
radiasi panas yang ditimbulkannya masih terasa/dideteksi. Infra merah dapat
dibedakan menjadi tiga daerah yakni:
Near Infra Merah……………… 0.75 - 1.5 µm
Mid Infra Merah..……………... 1.50 - 10 µm
Far Infra Merah……………….. 10 - 100 µm
Contoh aplikasi sederhana untuk far infra red adalah terdapat pada
alat – alat kesehatan. Sedangkan untuk mid infra red ada pada alat ini
untuk sensor alarm biasa, sedangkan near infra red digunakan
untuk pencitraan pandangan malam seperti pada nightscoop. Penggunaan
infra merah sebagai media transmisi data mulai diaplikasikan pada berbagai
perlatan seperti televisi, handphone sampai pada transfer data pada PC. Media
infra merah ini dapat digunakan baik untuk kontrol aplikasi lain maupun
transmisi data. Sifat-sifat cahaya infra merah :
1. tidak tampak manusia
2. tidak dapat menembus materi yang tidak tembus pandang
3. dapat ditimbulkan oleh komponen yang menghasilkan panas
Komunikasi Infra Merah dilakukan dengan menggunakan dioda infra merah
sebagai pemancar dan modul penerima infra merah sebagai penerimanya. Untuk
jarak yang cukup jauh, kurang lebih tiga sampai lima meter, pancaran data infra
merah harus dimodulasikan terlebih dahulu untuk menghindari kerusakkan data
akibat noise.
Gambar 2.2 Komunikasi infra
merah
Untuk transmisi data yang menggunakan media udara sebagai media perantara
biasanya menggunakan frekuensi carrier sekitar 30KHz sampai dengan
40KHz. Infra merah yang dipancarkan melalui udara ini paling efektif jika
menggunakan sinyal carrier yang mempunyai frekuensi di atas. Sinyal yang
dipancarkan oleh pengirim diterima oleh penerima infra merah dan kemudian
didecodekan sebagai sebuah paket data biner. Proses modulasi dilakukan dengan
mengubah kondisi logika 0 dan 1 menjadi kondisi ada dan tidak ada sinyal
carrier infra merah yang berkisar antara 30KHz sampai 40 KHz. Pada komunikasi
data serial, kondisi idle (tidak ada transmisi data) adalah merupakan
logika ‘0’, sedangkan pada komunikasi infra merah kondisi idle adalah
kondisi tidak adanya sinyal carrier. Hal ini ditujukan agar tidak
terjadi pemborosan daya pada saat tidak terjadi transmisi data.
2.2.1
Sistem
Transmisi Infra Merah
Semua remote kontrol menggunakan transmisi sinyal infra merah yang
dimodulasi dengan sinyal carrier dengan frekuensi tertentu yaitu pada
frekuensi 30KHz sampai 40KHz. Sinyal yang dipancarkan oleh pengirim diterima
oleh penerima infra merah dan kemudian didecodekan sebagai sebuah paket
data biner. Pada transmisi infra merah terdapat dua terminologi yang sangat
penting yaitu : ‘space’ yang menyatakan tidak ada sinyal carrier dan
‘pulse’ yang menyatakan ada sinyal carrier seperti pada gambar di
bawah ini
Gambar 2.3 Space dan pulse
Untuk transmisi data biasanya sinyal ditransmisikan dalam bentuk pulsa-pulsa. Ketika sebuah tombol ditekan pada remote kontrol maka IR akan
mentransmitkan sebuah sinyal yang akan dideteksi sebagai urutan data biner. Led
infra merah adalah jenis dioda yang memencarkan cahaya infra merah, aplikasi
sederhana penggunaan led infra merah ini adalah pada remote TV. Led
infra merah pada dasarnya adalah dioda PN silicon biasa yang dikemas
dalam kotak transparan. Sinar infra merah dihasilkan dari pertemuan Arsenida
Galium pada led infra merah yang diberikan tegangan listrik. Led infra
merah merupakan salah satu komponen elektronika yang akan mengantar arus jika
dialiri bias maju. Led infra merah terbuat dari bahan Arsenida gelium atau
Fosfida Galium (GaAS atau Gap), dan ditempatkan dalam suatu wadah yang
tembus pandang. Untuk membedakan antara katoda dan anodanya dapat dilihat dari
bentuk elektrodanya yang besar adalah katoda. Material yang digunakan dalam
konstruksi led akan menentukan jenis cahaya yang diradiasikan. Apakah cahaya
tampak atau cahaya tidak tampak. Sebagai contoh material GaAlAs menghasilkan cahaya
infra merah (cahaya tidak tampak), sedangkan GaAsP menghasilkan cahaya tampak
merah. Pada sistem ada dua jenis led yang digunakan yaitu sebagai indikator dan
juga sebagai komponen pengirim cahaya infra merah. Berikut rangkaian pengirim
infra merah:
Gambar 2.4 Rangkaian pengirim infra merah
2.2.2
Sistem
Penerima Infra Merah
Sinar infra merah yang dipancarkan oleh pemancar infra merah tentunya
mempunyai aturan tertentu agar data yang dipancarkan dapat diterima dengan baik
di penerima. Oleh karena itu baik di pengirim infra merah maupun penerima infra
merah harus mempunyai aturan yang sama dalam mentransmisikan (bagian pengirim)
dan menerima sinyal tersebut kemudian mendekodekannya kembali menjadi data
biner (bagian penerima). Komponen yang dapat menerima infra merah ini merupakan
komponen yang peka cahaya yang dapat berupa dioda (photodioda) atau transistor
(phototransistor). Komponen ini akan merubah energi cahaya, dalam hal ini
energi cahaya infra merah, menjadi pulsa-pulsa sinyal listrik. Komponen ini
harus mampu mengumpulkan sinyal infra merah sebanyak mungkin sehingga
pulsapulsa sinyal listrik yang dihasilkan kualitasnya cukup baik. Pada
perangkat ini detektor cahaya yang digunakan adalah komponen TSOP4838, dimana
pada komponen ini sudah terdapat filter. Jadi detektor ini akan bekerja dengan
baik jika terdapat frekuensi 38KHz.
Gambar 2.5 Detector cahaya TSOP4838
Pada prakteknya sinyal infra merah yang diterima intensitasnya sangat kecil
sehingga perlu dikuatkan. Kekuatan sinar dan sudut datang merupakan faktor
penting dalam keberhasilan transmisi data melalui infra merah selain filter dan
penguatan pada bagian penerimanya. Selain itu agar tidak terganggu oleh sinyal
cahaya lain maka sinyal listrik yang dihasilkan oleh sensor infra merah harus difilter
pada frekuensi sinyal carrier yaitu pada 30KHz sampai 40KHz. Selanjutnya
baik photodioda maupun phototransistor disebut sebagai photodetector. Dalam
penerimaan infra merah, sinyal ini merupakan sinyal infra merah yang
termodulasi. Pemodulasian sinyal data dengan sinyal carrier dengan frekuensi
tertentu akan dapat memperjauh transmisi data sinyal infra merah. Semakin besar
area penerimaan maka sudut penerimaannya juga semakin besar. Kelemahan area
penerimaan yang semakin besar ini adalah noise yang dihasilkan juga
semakin besar pula. Suatu penerima pada sistem komunikasi cahaya harus memenuhi
syarat antara lain:
1)
Sensitivitas
yang tinggi. Karena detektor cahaya digunakan pada suatu panjang gelombang
tertentu, maka sensitivitas tertinggi terdapat pada daerah panjang gelombang
yang dimaksud.
2)
Respon waktu
yang cepat, hal ini dimaksudkan agar sistem dapat dioperasikan pada kecepatan
tinggi yang akan meningkatkan efisiensi sistem komunikasi.
3)
Noise internal yang dibangkitkan detektor harus sekecil mungkin.
4)
Harga yang
murah dan juga mempunyai keandalan yang tinggi
2.3
Format data
Sony
Format data yang dipakai untuk setiap pembuat peralatan remote kontrol berbeda-beda,
misalkan remote
kontrol buatan SONY, Philips,
Panasonic,
dan lain-lain.
Dalam
baba
ini format
data yang akan dibahas
adalah
format data menurut SONY dan
NEC,
karena remote kontrol yang menggunakan format ini mudah didapatkan di toko-toko
di Indonesia. Format NEC sering dipakai pada
peralatan VCD produk Cina, Singapura, dan sekitarnya.
Format data remote kontrol menurut NEC digambarkan sebagai berikut :
Gambar 2.6 Format Data Remote Kontrol NEC
Data dikrim dalam bentuk paket data, dimana dalam data
tersebut terdapat starting bit atau disebut juga header,
urutan data pulsa ‘0’ dan pulsa ‘1’ serta spasi antar paket / antar frame. Berikut adalah gambar format data menurut SONY:
·
Pengiriman Data
Pertama – tama, remote
memberikan data inisialisasi untuk menyamakan data agar data dapat dikirim dari
remote universal Sony. Model pengiriman datanya digambarkan dalam 1 frame, yang
didalamnya terdapat 1 header dan 12 bit data.
Gambar
2.8 Protokol inframerah remote Sony
·
Penerimaan Data
Pada penerima data,
dipisahkan data pembawa dan paket data 12 bit yang diterima. Setelah paket data
diterima, paket data serial tersebut diubah menjadi data paralel. Kemudian,
data paralel tersebut diolah oleh mikrokontroler agar dapat mengeluarkan
output.
Gambar 2.9 Format Data Remote Kontrol SONY
Data yang
dikirim tidak langsung dimodulasikan dengan gelombang infra merah akan tetapi dicampur
dulu dengan
sinyal pembawa (carrier frequency) dengan frekuensi sebesar 40 kHz (38 kHz untuk typa tertentu).Starting bit / header diwakili dengan adanya pulsa selebar 2.4 ms. Logika ‘0’ diwakili dengan 0.6 ms tidak ada pulsa dan 0.6 ms ada pulsa Logika ‘1’ diwakili dengan 0.6 ms tidak ada pulsa dan 1.2 ms ada pulsa.
Gabungan
dari urutan
logika
‘0’ dan logika ‘1’ dalam satu frame akan membentuk data yang dikirimkan. Dalam hal ini format SONY mengirimkan 12 bit data, sedangkan NEC 32 bit data.
Kode SONY
dapat
mengalamati 64
jenis peralatan
yang
diwakili oleh kode alamat (address bits) dan masing-masing peralatan dapat menggunakan maksimal 64 perintah yang diwakili oleh kode perintah (command bits).
Beberapa perbedaan antara format SONY dengan format NEC yaitu: definisi pulsa leader/header/startbit, logika ‘0’ dan logika ‘1’. panjang data dalam satu frame SONY = 12 bit, NEC = 32 bit .bila tombol remote ditekan terus
menerus, untuk
format SONY akan selalu
mengulang frame-frame
baru secara lengkap,
namun untuk
format NEC,
frame
pertama dikirim lengkap
dan selanjutnya
hanya dikirimkan frame tanda pengulangan saja (repeat code).
2.3.1
Prinsip – prinsip Dasar Remote TV
Sony
Prinsip
Dasar dari Remote TV Sony adalah menggunakan frekuensi carrier sekitar
36-40kHz. Untuk membangkitkan sinyal dengan frekuensi 40kHz tidak sulit tetapi
untuk menerima sinyal dengan frekuensi 40 kHz itu membutuhkan filters dengan
menggunakan sensor IR, sehingga penguatan sinyal, dan menghilangkan sinyal
carrier data yang diterima benar-benar valid. Remote yang digunakan dalam hal
ini adalah remote TV Sony. Format data dari remote Sony terdiri dari 12 bits
data. Data yang dikirimkan pertama kali adalah header selanjutnya baru data.
Format data:
Gambar
2.10 Pengiriman data 12 bit dimulai dari
LSB - MSB
Remote
Sony ini memiliki karakteristik yaitu memiliki periode (1T)=550μs. Untuk remote
Sony memiliki header high 4T dan low 1T, untuk logic 1 memiliki pulsa high
sepanjang 2T dan low 1T, dan untuk logic 0 memiliki pulsa high 1T dan low 1T.
Ini merupakan format aslinya sedangkan jika mengamati sinyal yang dikirimkan
remote melalui IR modul kebalikannya karena pada IR modul ada inverternya.
Berikut contoh bentuk gambar pulsa dari header, logic 1 dan logic 0 dari remote
TV Sony yang sebenarnya ( belum melalui gerbang inverter ).
Gambar
2.11
Pulsa remote control Sony
2.3.2
Cara kerja remote TV Sony
Cara
kerja Remote TV erat kaitannya dengan saluran TV. Apakah televisi tersebut
dalam keadaan ON atau OFF, maupun dalam perpindaan saluran televisi pada
penekanan tombol, dan adapun fungsi – fungsi tombol beserta data yang
dikirimkan dari Remote TV Sony ke Rangkaian Penerima ( Receiver ), data yang
dikirimkan dapat dilihat dari tabel fungsi– fungsi dan data yang dikirimkan
oleh remote TV Sony, dan ternyata data yang dikirimkan berbeda -beda, hal ini
di rancang untuk membedakan tombol yang satu dengan tombol yang lainnya.
Tabel
2.2 Fungsi – fungsi tombol dan Data
Dari
tabel ini dapat di baca bahwa setiap penekanan tombol dari RemoteTV Sony akan
mengirimkan data sesuai tombol yang ditekan. Data tersebut dikirimkan ke
penerima dengan melalui Sinyal IR maka penerima dapat mendeteksi tombol apa
yang ditekan, dan data yang ada pada tabel tombol ini sudah dibuktikan dan di
simulasikan pada led peraga, dan ternyata terbukti.
2.4
Seven Segment
Seven
Segment adalah suatu segmen- segmen yang digunakan menampilkan angka. Seven
segment Seven segment merupakan display visual yang umum digunakan dalam dunia
digital. Seven segment sering dijumpai pada jam digital, penujuk antrian,
diplay angka digital dan termometer digital. Penggunaan secara umum adalah
untuk menampilkan informasi secara visual mengenai data-data yang sedang diolah
oleh suatu rangkaian digital.
Seven segment ini
tersusun atas 7 batang LED yang disusun
membentuk angka 8 yang penyusunnya menggunakan diberikan lebel dari ‘a’ sampai
‘g’ dan satu lagi untuk dot point (DP).
Setiap segmen ini terdiri dari 1 atau 2 Light Emitting Diode ( LED ). salah
satu terminal LED dihubungkan menjadi satu sebagai kaki common.
Gambar
2.11. Seven Segment Display
Jenis-jenis
Seven Segment :
1. Common
Anoda
Semua
anoda dari LED dalam seven segmen disatukan secara parallel dan semua itu
dihubungkan ke VCC, dan kemudian LED dihubungkan melalui tahanan pembatas arus
keluar dari penggerak LED. Karena dihubungkan ke VCC, maka COMMON ANODA ini
berada pada kondisi AKTIF LOW (led akan menyala/aktif bila diberi logika 0).
2. Common
Katoda
Merupakan
kebalikan dari Common Anoda. Disini
semua katoda disatukan secara parallel dan dihubungkan ke GROUND. Karena
seluruh katoda dihubungkan ke GROUND, maka COMMON KATODA ini berada pada
kondisi AKTIF HIGH (led akan menyala/aktif bila diberi logika 1).
(a) (b)
Gambar 2.12. Susunan LED Sevent Segment Common Cathode (a) dan Common Anode (b)
2.5
Dekoder 7447
Untuk memudahkan penggunaan seven segment, umumnya digunakan sebuah decoder ( mengubah/
mengkoversi input bilangan biner menjadi desimal) atau seven segment driver yang akan mengatur aktif tidaknya led-led
dalam seven segment sesuai dengan
nilai biner yang diberikan.
Dekoder BCD ke seven
segment digunakan untuk menerima masukan BCD 4-bit dan memberikan keluaran
yang melewatkan arus melalui segmen untuk menampilkan angka desimal. Jenis
dekoder BCD ke seven segment ada dua
macam yaitu dekoder yang berfungsi untuk menyalakan sevent segment mode common
anoda dan dekoder yang berfungsi untuk menyalakan seven segment mode common katoda.
Gambar 2.13 Konfigurasi
pin decoder 7447
BAB III
PERANCANGAN DAN REALISASI
Dalam bab 3 ini,
penulis hanya akan membahas Perancangan dan Realisasi “ Pemograman dan Hardware
Skor dan Babak dengan Kendali Remot TV Sony “.
3.1
Perancangan dan Realisasi
|
3.1.1
Nama Subsistem :
3.1.2
Fungsi Subsistem :
|
Pemograman dan
Hardware Skor dan Babak dengan Kendali Remot TV Sony
Membuat
rangkaian skematik, layout PCB, dan peletakkan komponen PCB serta
memprogramkan skor dan babak
|
|
|
|
3.1.3
Perancangan Skor dan Babak
Berdasarkan pengamatan
kami, lapangan futsal sekarang khususnya lapangan futsal untuk penyewaan
tampilan skornya masih manual yaitu menggunakan gabus untuk menggantikan
skornya. Dan untuk mengontrol skornya, banyak lapangan futsal menggunakan
tombol manual yang masih menggunakan kabel sehingga penggunaannya tidak efisien
dan boros biaya, bahkan jika ada menggunakan remot, remotnya susah dicari
dipasaran sehingga jika terjadi kerusakan konsumen harus membeli ke tempat
khusus yang menjual remot tersebut. Tampilan yang kami inginkan adalah
menggunakan seven segmen berukuran besar yaitu ukurannya 4 inci supaya penonton
dapat melihat dari kejauhan skor yang dihasilkan dalam pertandingan. Seven
segmen yang digunakan adalah common anoda sehingga membutuhkan dekoder untuk
seven segmen common anoda yang dapat mengubah bilangan biner menjadi bilangan
desimal.
3.1.3.1 Diagram Blok Skor dan Babak
Untuk merancang skor dan babak, terlebih
dahulu kita membuat diagram bloknya, Dibawah ini adalah diagram blok skor dan
babak :
Gambar 3.4 Diagram Blok Skor dan
Babak
Berikut
ini adalah penjelasan dari diagram blok diatas :
1.
Remot TV Sony :
Sebagai input dan pemancar infra red untuk mengirim
data (program) berdasarkan tombol yang ditekan ke rangkaian receiver.
2.
Receiver Infra Merah :
Untuk menerima data yang dipancarkan oleh remot yang
kemudian akan diinisialisasi oleh mikrokontroler.
3.
Mikrokontroler :
Sebagai pengolah data dari transmitter remot ke
receiver yang kemudian hasil penekanan tombol remot akan ditampilkan pada
display yang berupa seven segmen.
4.
Dekoder :
Mengubah bilangan biner ke bilangan decimal.
5.
Output ( Seven Segmen) :
Outputnya berupa seven segmen yang dapat
menampilkan angka pada
skor dan babak secara up
and down counter.
3.1.3.2 Pembuatan Rangkaian
Skematik Skor dan Babak
Setelah kita membuat
blok diagram skor dan babak, maka kita membuat rangkaian skematik skor dan
babak pada software elektronika seperti proteus, eagle, dan lain-lain. Dibawah
ini adalah rangkaiaian skematik skor dan babak yang telah dihubungkan dengan
mikrokontroler dan modul receiver:
Gambar 3.5 Rangkaian Skematik Skor
dan Babak
Setelah
kita membuat rangkaian skematiknya maka kita membuat layout jalur dan komponen
PCB.
Gambar 3.6 Layout Jalur PCB
Gambar 3.7
Layout Komponen PCB
Gambar 3.8 Layout Jalur PCB
Gambar 3.9 Layou komponen PCB
3.1.3.3 Pembuatan Disain PCB
Berikut ini
adalah tahapan – tahapan membuat disain PCB :
A.
Menempelkan Layout pada PCB
1.
Potong PCB sesuai dengan ukuran layout PCB yang dibuat,
kemudian haluskan sisi tepi PCB dan bersihkan PCB.
2.
Cetaklah layout pada plastic transparan atau kertas
foto.
3.
Sebelum layout tersebut ditempelkan pada PCB, bersihkan
dahulu PCB dengan amplas halus agar kotoran – kotoran seperti lemak – lemak
pada PCB hilang sambil dibilas dengan air.
4.
Cuci dengan air bersih PCB yang telah dibersihkan
tersebut dan keringkanlah PCB tersebut.
5.
Tempelkan layout tersebut pada PCB sesuai dengan ukuran
layout tersebut.
6.
Sebelum dipanaskan atau disetrika, layout yang menempel
pada PCB tersebut lapisi atau tutupkan dengan kertas yang tidak terlalu tipis
dan tidak terlalu tebal agar layout plastic transparan tersebut tidak meleleh
pada saat disetrika.
7.
Setrikalah atau panaskanlah layout yang sudah dilapisi
atau ditutupkan dengan kertas sampai kurang lebih 10 menit atau sampai semua
layout tersebut menempel pada PCB.
8.
Apabila layout tersebut belum menempel setrikalah lebih
lama lagi sambil menekan dengan kuat. Jika tidak semua yang menempel pada PCB,
tebalkanlah jalur – jalur atau pad – pad tersebut dengan spidol permanen.
9.
Borlah pad – pad tersebut sesuai dengan ukuran mata bor
untuk masing – masing pad.
B.
Menyiapkan larutan Etching
1.
Siapkanlah bubuk Ferry Chlorida.
2.
Campurkanlah air dengan bubuk Ferry Chlorida tersebut
dalam suatu wadah dengan perbandingan
air dan bubuk etching adalah 7:3. Gunakanlah air hangat agar hasil lebih
maksimal.
C.
Mengetching PCB
1.
Taruhlah PCB yang sudah ditempelkan layout pada larutan
etching.
2.
Goyangkanlah perlahan – lahan wadah yang berisi larutan etching
dan PCB sampai bagian yang tidak dihitamkan tembaganya akan hilang.
3.
Jangan terlalu lama mengetching sehingga menyebabkan
jalur-jalur dan pad-padnya putus.
D.
Membersihkan PCB dari larutan Etching
1.
Setelah PCB di etching, bersihkanlah PCB dengan amplas halus
sambil dibilas dengan air.
2.
Setelah bersih atau kelihatan warna tembaganya, amplas
bagian pinggir PCB dengan amplas kasar sampai pinggir PCB tersebut halus dan
rata.
3.
Keringkanlah PCB tersebut sampai benar – benar kering.
4.
Ceklah dengan multimeter apakah terjadi short circuit
atau open circuit pada track dan padnya.
E.
Melapisi dengan Timah
1.
Pastikan PCB dalam Keadaan kering dan bersih pada
jalurnya.
2.
Lapisi jalur PCB dengan timah yaitu dengan cara terlebih
dahulu oleskan Lotfet pada jalur PCB, setelah itu lapisi dengan timah dengan
cara timah dilelehkan dengan solder sambil melekatkannya pada jalur PCB
tersebut, usahakan dilapisi dengan rapi dan tidak terlalu tipis dan tebal.
3.
Setelah dilapisi dengan timah, cuci bersih PCB dan
keringkan PCB sampai bekas Lotfet hilang.
F.
Proses menyolder
1.
Bersihkan bagian – bagian yang akan di solder baik itu
PCB dan kaki komponen elektronika dengan amplas halus.
2.
Masukkan kaki komponen pada lubang PCB dan bengkokkan
jika perlu sehingga terdapat pengait mekanis untuk menjaga posisi komponen.
3.
Letakanlah bagian dari ujung solder ke sisi yang lebar
pada PCB sehingga penyaluran panas terjadi melalui permukaan yang paling luas.
4.
Berikanlah timah pada titik solderan dan jumlah timah
yang dilebur pada titik solderan tidak harus sama pada pad PCB.
5.
Setelah jumlah timah yang meleleh di rasa cukup,
singkirkan timah dari titik solderan. Tahan pada titik solderan sampai timah
meresap pada semua bagian solderan. Setelah itu tarik ujung solder dari titik
solderan dan biarkan beberapa saat untuk proses pendinginan.
G.
Memasang komponen
Setelah di solder pasanglah IC dan
seven segment pada socket masing-masing. Kemudian ujilah alat tersebut.
3.1.4 Realisasi
3.1.4.1 Flow Chart Program
Setelah penulis membuat
hardwarenya maka kita membuat programnya, untuk membuat program terlebih dahulu
penulis membuat flow chart programnya, Berikut adalah flow chart programnya :
Gambar 3.10 Flowchart Program
Pertama – tama, remot
mengirimkan data dalam satu frame ( header + 12 bit data ) bersama sinyal
carrier. Receiver akan menghilangkan sinyal carrier sehingga data remot yang
masuk yang dikodekan dalam bentuk biner 12 bit. Mikrokontroler akan mengubah 12
bit data menjadi 8 bit data karena mikon hanya dapat menerima 8 bit data. 8 bit
data tersebut adalah data remot sony, 8 bit data tersebut dikodekan menjadi
hexa dan diubah menjadi desimal untuk menampilkan angka desimal pada seven
segmen. Tombol remot diprogram untuk membuat counter up and down pada skor dan
babak yang berupa angka pada seven segmen.
3.1.4.2 Listing Program
#include
<mega16.h> // memanggil ic
atmega 16
#include
<stdio.h> // memanggil library
standar I/O
#include
<delay.h> // memanggil library
delay
#define
ir PIND.2 // ir sama saja PIND.2
#define
skor1 PORTA // skor1 sama saja PORTA
#define
skor2 PORTB // skor2 sama saja PORTB
#define
babak1 PORTC // babak1 sama saja PORTC
//===================SUARA==================================
unsigned
int st=0x7E,lng=0x07,ply=0xA0,stp=0xA3;
unsigned
char mp3[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
//=========================================================
//==========================================================
//=====================
INISIALISASI============================
//==========================================================
unsigned
int x,i,a,wkt;
int
ir_data;
char
dat[12]; //array string =
menampung data remot 12 bit
int
data[12];
unsigned
int skor_2,skor_1,babak,waktu_m,waktu_p;
unsigned
char puluhan_1,satuan_1,puluhan_2,satuan_2;
unsigned
int puluhan,satuan;
unsigned
char skor1_p,skor1_s,skor2_p,skor2_s,menit_pp,menit_sp,menit_pm,menit_sm;
unsigned
char angka_satuan[10]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
unsigned
char angka_puluhan[10]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90};
unsigned
int angka[10]={0,1,2,3,4,5,6,7,8,9};
//==========================================================
//==========================================================
//==========================================================
//====================
DAFTAR SUB PROGRAM=======================
//==========================================================
void
read_ir();
void
score();
void
set_waktu();
//==========================================================
//==========================================================
//==========================================================
//=====================
BACA DATA REMOTE =======================
//==========================================================
void
read_ir()
{
while(1)
{
x=0;
while(ir); // tahan selama ir=1
while(!ir){x++;} // KLO ir == 0 x nambah teruh
if(x>3200 &&
x<3500)break; // x diantara 3200
sampe 3500 seselai dari while
}
for(i=0;i<=11;i++)
{
x=0;
while(ir);//tahan selama 0
while(!ir){x++;}
data[i] = x;
if(data[i]>=700&&data[i]<=900)dat[i]
= 0;// klo data x diantara 700 - 900 logic 0 dimasukin di nilai arrray data
else if(data[i]>=1600&&data[i]<=1800)dat[i]
= 1;// klo data x diantara 1600 - 1800 logic 1 dimasukin di nilai arrray dat
}
//===============data combine==========
ir_data=0;
for(i=0;i<=11;i++)
{
ir_data<<=1; // memasukan data array dari
data[i] jadi bentuk biner contoh dari 0,1,1,1,0,0,0,0 jadi 01110000
ir_data|=dat[11-i]; // ir_data = ir data | dat[i]
}
}
//==========================================================
//==========================================================
//==========================================================
//=====================
MENAMPILKAN SKOR =======================
//==========================================================
void
score()
{
if((ir_data==0x90)&&(skor_1<100)){skor_1++;delay_ms(300);} //prog++ buat nambah skor 1
if((ir_data==0x91)&&(skor_1>0)){skor_1--;delay_ms(300);} //prog-- buat kurang skor 1
if((ir_data==0x92)&&(skor_2<100)){skor_2++; delay_ms(300);}
//vol++ buat nambah skor 2
if((ir_data==0x93)&&(skor_2>0)){skor_2--;
delay_ms(300);} //vol-- buat kurang skor 2
if((ir_data==0xF4)&&(babak<10)){babak++;
delay_ms(300);}
// ++ buat nambah babak
if((ir_data==0xF5)&&(babak>0)){babak--; delay_ms(300);}
// -- buat nambah babak
if(ir_data==0xFC){set_waktu();delay_ms(300); goto trs;}
// select
buat masuk ke menu set waktu
if(skor_1>=100){skor_1=0;}
// klo udah 99 balik lagi ke 0
if(skor_2>=100){skor_2=0;} //
klo udah 99 balik lagi ke 0
if(babak>=10){babak=0;}
// klo udah 99 balik lagi ke 0
//==============
tampil ke sevent segment============================
//
cara kejanya
// 1.
angka masuk pertama misal 1
// 2.
di tambah terus sampe puluhan
// 3.
angka puluhan di bagi 10 hasilnya buat data di puluhan(1,2)
//
4 angka satuannya si bagi 10 tapi di
ambil sisanya misal 22/10 hasilnya 2 dan sisanya 2.
// 5.
trus data dri puluhan si masukin ke array
// 6.
misal puluhan angka_puluhan[puluhan], data di puluhan di dalam kurung 2 jadi
datanya 0x20 liat di atas urutan datanya
// 7.
misal satuan angka_satuan[satuan], data di puluhan di dalam kurung 2 jadi
datanya 0x02 liat di atas urutan datanya
// 8.
data puluhan sama satuan di tambah hasilnya di masukin ke sko1,sko2,sama
babak
puluhan_1=skor_1/10;
satuan_1=skor_1%10;
skor1_p=angka_puluhan[puluhan_1];
skor1_s=angka_satuan[satuan_1];
puluhan_2=skor_2/10;
satuan_2=skor_2%10;
skor2_p=angka_puluhan[puluhan_2];
skor2_s=angka_satuan[satuan_2];
skor1=skor1_p+skor1_s;
skor2=skor2_p+skor2_s;
babak1=angka_satuan[babak];
delay_ms(300);
if(puluhan_1>0){wkt=2500;} else {wkt=1600;}
if(skor_1>=1){printf("%c%c%c%d%d%d%d%d%c",st,lng,ply,mp3[0],mp3[0],mp3[0],mp3[puluhan_1],mp3[satuan_1],st);}
else
{printf("%c%c%c%d%d%d%d%d%c",st,lng,ply,mp3[0],mp3[0],mp3[0],mp3[1],mp3[3],st);}
delay_ms(wkt);
if(skor_2>=1){printf("%c%c%c%d%d%d%d%d%c",st,lng,ply,mp3[0],mp3[0],mp3[0],mp3[puluhan_2],mp3[satuan_2],st);}
else
{printf("%c%c%c%d%d%d%d%d%c",st,lng,ply,mp3[0],mp3[0],mp3[0],mp3[1],mp3[3],st);}
delay_ms(wkt);
trs:
//==========================================================
}
//==========================================================
//==========================================================
//==========================================================
//=====================
SET WAKTU JAM DAN MENIT ==================
//==========================================================
void
set_waktu()
{
PORTA=PORTB=0xFF;
delay_ms(200);
PORTA=PORTB=0x00;
delay_ms(200);
PORTA=PORTB=0xFF;
delay_ms(200);
PORTA=PORTB=0x00;
delay_ms(200);
skor1=menit_pm+menit_sm; // buat nampilin jam awal aps di menu awal
skor2=menit_pp+menit_sp; // buat nampilin menit awal aps di menu
awal
while(1)
{
read_ir();
if(ir_data==0x97)// A/B buat set jam
{
PORTA=0xFF;
delay_ms(200);
PORTA=0x00;
delay_ms(200);
PORTA=0xFF;
delay_ms(200);
PORTA=0x00;
delay_ms(200);
while(1)
{
read_ir();
if(a<2)
{
if(ir_data==0x80){waktu_m=(waktu_m*10)+angka[1]; delay_ms(300);a++;}
if(ir_data==0x81){waktu_m=(waktu_m*10)+angka[2];
delay_ms(300);a++;}
if(ir_data==0x82){waktu_m=(waktu_m*10)+angka[3]; delay_ms(300);a++;}
if(ir_data==0x83){waktu_m=(waktu_m*10)+angka[4]; delay_ms(300);a++;}
if(ir_data==0x84){waktu_m=(waktu_m*10)+angka[5];
delay_ms(300);a++;}
if(ir_data==0x85){waktu_m=(waktu_m*10)+angka[6]; delay_ms(300);a++;}
if(ir_data==0x86){waktu_m=(waktu_m*10)+angka[7]; delay_ms(300);a++;}
if(ir_data==0x87){waktu_m=(waktu_m*10)+angka[8]; delay_ms(300);a++;}
if(ir_data==0x88){waktu_m=(waktu_m*10)+angka[9]; delay_ms(300);a++;}
if(ir_data==0x89){waktu_m=(waktu_m*10)+angka[0]; delay_ms(300);a++;}
}
if(ir_data==0xA5){waktu_m=00;a=0;} //TV
if(ir_data==0x95){ // SLEEP
a=0;
PORTA=0xFF;
delay_ms(200);
PORTA=0x00;
delay_ms(200);
PORTA=0xFF;
delay_ms(200);
PORTA=0x00;
delay_ms(200);
skor1=menit_pm+menit_sm;
skor2=menit_pp+menit_sp;
break;
}
puluhan=(waktu_m/10)%10;
satuan=waktu_m%10;
menit_pm=angka_puluhan[puluhan];
menit_sm=angka_satuan[satuan];
skor1=menit_pm+menit_sm;
}
}
else
if(ir_data==0xB6)// SLEEP buat set menit
{
PORTB=0xFF;
delay_ms(200);
PORTB=0x00;
delay_ms(200);
PORTB=0xFF;
delay_ms(200);
PORTB=0x00;
delay_ms(200);
while(1)
{
read_ir();
if(a<2)
{
if(ir_data==0x80){waktu_p=(waktu_p*10)+angka[1]; delay_ms(300);a++;}
if(ir_data==0x81){waktu_p=(waktu_p*10)+angka[2]; delay_ms(300);a++;}
if(ir_data==0x82){waktu_p=(waktu_p*10)+angka[3];
delay_ms(300);a++;}
if(ir_data==0x83){waktu_p=(waktu_p*10)+angka[4]; delay_ms(300);a++;}
if(ir_data==0x84){waktu_p=(waktu_p*10)+angka[5]; delay_ms(300);a++;}
if(ir_data==0x85){waktu_p=(waktu_p*10)+angka[6];
delay_ms(300);a++;}
if(ir_data==0x86){waktu_p=(waktu_p*10)+angka[7]; delay_ms(300);a++;}
if(ir_data==0x87){waktu_p=(waktu_p*10)+angka[8]; delay_ms(300);a++;}
if(ir_data==0x88){waktu_p=(waktu_p*10)+angka[9];
delay_ms(300);a++;}
if(ir_data==0x89){waktu_p=(waktu_p*10)+angka[0]; delay_ms(300);a++;}
}
if(ir_data==0xA5){a=0;waktu_p=00;} // TV
if(ir_data==0x95){ // power
a=0;
PORTB=0xFF;
delay_ms(200);
PORTB=0x00;
delay_ms(200);
PORTB=0xFF;
delay_ms(200);
PORTB=0x00;
delay_ms(200);
skor1=menit_pm+menit_sm;
skor2=menit_pp+menit_sp;
break;
}
puluhan=(waktu_p/10)%10;
satuan=waktu_p%10;
menit_pp=angka_puluhan[puluhan];
menit_sp=angka_satuan[satuan];
skor2=menit_pp+menit_sp;
}
}
else
if(ir_data==0xFC)//select// kirim data
{
PORTD.3=0;delay_ms(100);PORTD.3=1;delay_ms(100);
printf("%c%c",waktu_m,waktu_p);delay_ms(500);
}
else
if(ir_data==0x95) // keluar ke menu dan
kembali ke menu skor biara
{
PORTA=PORTB=0xFF;
delay_ms(200);
PORTA=PORTB=0x00;
delay_ms(200);
PORTA=PORTB=0xFF;
delay_ms(200);
PORTA=PORTB=0x00;
delay_ms(200);
ir_data=0;break;}
}
PORTA=PORTB=0xFF;
delay_ms(200);
PORTA=PORTB=0x00;
delay_ms(200);
PORTA=PORTB=0xFF;
delay_ms(200);
PORTA=PORTB=0x00;
delay_ms(200);
}
//==========================================================
//==========================================================
void
main(void)
{
PORTA=0x00;
// NILAI AWAL KELUARANNYA 00
DDRA=0xFF; // MENANDAKAN KLO PORTA ITU OUT KLO 0X00
BERARTI INPUT
PORTB=0x00;
// NILAI AWAL KELUARANNYA 00
DDRB=0xFF; // MENANDAKAN KLO PORTB ITU OUT KLO 0X00
BERARTI INPUT
PORTC=0x00;
// NILAI AWAL KELUARANNYA 00
DDRC=0xFF; // MENANDAKAN KLO PORTC ITU OUT KLO 0X00
BERARTI INPUT
PORTD=0x0C;
// NILAI AWAL KELUARANNYA PORTD.3 =1
DDRD=0x08; // MENANDAKAN KLO PORTD ITU OUT DI PORTD.3
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
MCUCSR=0x00;
TIMSK=0x00;
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x47;
ACSR=0x80;
SFIOR=0x00;
ADCSRA=0x00;
SPCR=0x00;
TWCR=0x00;
PORTD.3=0;
delay_ms(100);
while
(1)
{
PORTA=PORTB=PORTC=0xFF;
read_ir();// Place your code here
if(ir_data==0x95) // KLO TEKAN POWER YG BAWAH BARU NYALA
{
PORTA=PORTB=PORTC=0x00;
delay_ms(200);
PORTD.3=0;
printf("%c%c%c%d%d%d%d%d%c",st,lng,ply,mp3[0],mp3[0],mp3[0],mp3[1],mp3[1],st);
PORTD.3=0;
delay_ms(6500);
PORTD.3=1;
set_waktu();
delay_ms(12200);
printf("%c%c%c%d%d%d%d%d%c",st,lng,ply,mp3[0],mp3[0],mp3[0],mp3[1],mp3[2],st);
delay_ms(3000);
while(1)
{
score();
read_ir();
if(ir_data==0x95) // KLO TEKAN POWER YG
BAWAH BARU MATI
{
PORTD.3=0;
delay_ms(100);
PORTD.3=1;
skor_1=skor_2=waktu_m=waktu_p=babak=0; // HAPUS DATA SEMUA INISIALISASI
printf("%c%c",waktu_m,waktu_p); // KIRIM DATA KE MIKON SEBELAH DATANYA 0 BIAR
RESET KE AWAL
printf("%c%c%c%d%d%d%d%d%c",st,lng,stp,mp3[0],mp3[0],mp3[0],mp3[0],mp3[0],st);
PORTA=PORTB=PORTC=0xFF;
delay_ms(300);
break;
}
}
}
}
}
3.2 Perancangan Alat dan Realisasi
|
3.2.1
Nama alat :
3.2.2
Fungsi alat :
3.2.3
Cara Kerja :
|
Rancang Bangun Papan
Skor Futsal Berbasis Mikrokontroler dengan Kendali Remot Multifungsi
Alat ini berfungsi
sebgai media display ( tampilan) skor, babak, dan waktu pada pertandingan
futsal. Papan skor ini juga berfungsi sebagai pengingat waktu pertandingan
futsal akan berakhir.
Remot tv sony akan
mengirimkan data ke infrared receiver. Data yang diirimkan tidak langsung
dimodulasikan dengan gelombang infra merah akan tetapi dicampur dahulu dengan
sinyal pembawa dengan frekuensi sebesar 38kHz. Kemudian infrared receiver
akan menghilangkan sinyal pembawa sehingga hanya sisa pulsa data saja dan
bisa langsung dihubungkan ke mikrokontroler. Mikrokontroler atmega 16 akan
mengolah data remot yag masuk agar fungsi tombol – tombol remot sesuai dengan
data remot sony. Setelah inisialisasi berhasil oleh mikrokontroler, tombol
remot akan berjalan sesuai dengan program yang diinginkan, seperti ketika
tombol power ditekan maka seven segmen pada mikrokontroler master akan
menyala dan mengeluarkan suara. Skor dapat bersuara sesuai dengan tombol –
tombol remot tertentu yang terlebih dahulu diprogram. Kemudian mikrokontroler
master akan mengirim data ke mikrokontroler slave 1 melalui komunikasi serial
untuk menjalankan timer berdasarkan tombol remot tertentu yang telah di
program. Timer dapat bersuara sebagai tanda pertandingan akan dimulai dan
pengingat detik – detik waktu pertandingan akan habis.
|
3.2.4 Spesifikasi Alat
Spesifikasi
Fisik
· Perangkat
Input : Remot tv sony
· Perangkat
Output : Seven segment, led, dan speaker.
· Tombol
operasi
-
Remote :
0~9, -, power, sleep, A/B, prog + dan -, Vol + dan -
· Tampilan
: 9 buah sevent
segment 4 inci dan 2 led 5 mm
· Sensor
: Infrared dengan jarak pancar 12 meter
· Berat : 6,4 Kg
· Ukuran : 65 cm x 11, 5 cm x
54,5 cm
· Jarak
Pandang : 20m
Spesifikasi Kelistrikan
·
Tegangan input : 220 ± ( 0,05% + 1) VAC
·
Arus input : 0,939 ± ( 0,2% + 2) A
·
Range suhu kerja : Suhu Ruang (25°C)
·
Daya :
11,45 ± 24,42%
3.2.5
Desain alat
Tampak
Depan :
Gambar 3.1 Disain Alat
Tampak Depan
Tampak
Samping :
Gambar 3.2 Disain Alat Tampak Samping
3.2.6
Diagram Blok Alat
Gambar
3.3 Diagram Blok Alat
Sebagaimana terlihat pada blok diagram
diatas, data diterima oleh IR receiver
pada minimum sistem ATMEGA 16 melalui media cahaya dari transmitter remote control. Data yang diterima dari transmitter pada remote ini akan
ditangkap oleh receiver infrared, lalu
masuk ke mikrokontroller ATMEGA 16 melalui port D.2. Jika data sinyal yang
dikirimkan dari remote (Transmitter) dapat diterima dengan baik, maka sinyal
akan ditangkap oleh receiver yang kemudian sinyal data diinisialisasikan di
mikrokontroller ATMEGA 16. Mikrokontroller Atmega 16 akan mengolah data serial
tersebut dan memberikan hasil serupa pada tampilan di seven segment dan menghasilkan suara sesuai dengan setting program di mikrokontroller
Atmega 16.
3.2.7
Cara
Kerja Alat
Transmitter / Remot Control
Setelah program di download ke
dalam mikrokontroller ATMEGA 16, maka remote control memancarkan cahaya
infrared yang dimodulasi dengan frekuensi 38-42KHz. Hasil modulasi dikodekan
dengan menggunakan sistem pulse coded dimana logika 0 ataupun 1 ditentukan
dengan lebar pulsa yang diterima setelah proses demodulasi cahaya infrared oleh
bagian receiver. Hasil dari pengkodean akan diperoleh kode-kode hexa yang
mewakili hasil penekanan tombol-tombol dari remote control. Beberapa option
yang dapat dipilih melalui remote control ini, yaitu seperti misalnya dengan
memilih option skor group a yaitu dengan menekan tombol program + dan -, dan
untuk mengatur skor group b yaitu dengan menekan tombol Ch + dan -.
Gambar 3.2 Pulses Coded
Modul Receiver
Jika
transmitter mengirimkan sinyal on dan off maka pada receiver juga menerima
sinyal on dan off. Tetapi receiver
hanya mendeteksi ada sinyal carrier
atau tidak. Jika ada data carrier maka pulsa yang dikirimkan adalah high
sebaliknya jika tidak ada carrier maka pulsa yang dikirimkan adalah low. Sinyal
carrier sebesar 38 kHz yang diterima oleh receiver akan hilang. Salah satu
contoh aplikasi dari penggunaan infra red adalah pada TV/VCR remote control.
Selanjutnya Mikrokontroller ATMEGA16 akan menginisialisasi data dari remote,
dimana receiver dihubungkan ke PIND.2.
Modul
Display
Modul display yang berupa rangkaian
seven segment ini menggunakan decoder 74LS47 common anoda yang mengkodekan
bilangan 4 bit dari sebuah inputan menjadi output 7 bit yang diumpankan pada
7’segment common anoda.
Modul
WT9501M03
Modul
WT9501M03 menggunakan mode serial untuk mengontrol suara yang
akan diproses oleh sebuah Mikrokontroler atau PC Serial. Dan dengan mode serial kita bisa menjalankan
track lagu2/suara nya baik secara berurutan maupun secara random/acak. Modul
suara WT9501 meminta syarat dalam komunikasi serial nya yaitu berupa protokol
data yang harus dipenuhi supaya modul ini bekerja dengan baik, seperti apa itu
protokol data yang disyaratkan oleh modul ini, perhatikan gambar di bawah ini:
Tabel 3.1 Protokol Data Modul Suara
|
SC
|
DT
|
OC
|
FNTT
|
FNT
|
FNH
|
FTS
|
FNO
|
EC
|
|
7E
|
07
|
XX
|
XX
|
XX
|
XX
|
XX
|
XX
|
7E
|
Ket :
SC :
Start Code
DT :
Data Length
OC :
Operation Code
FNTT :
Folder Name Ten Thousands
FNT :
Folder Name Thousands
FNH :
Folder Name Hundreds
FTS :
Folder Name Teens
FNO :
Folder Name One
EC :
End Code
Gambar tabel
di atas merupakan model protokol data yang diminta oleh modul suara ini. Kita harus
penuhi syarat tersebut dalam membangun komunikasi antara mikrokontroler dan
modul suara WT9501. Dalam pengiriman perintah-perintah serial nya harus
mengikuti tabel di atas. Data kita kirim diawali dengan : "Start
Code",Lalu diikuti "Data
Lenght "-"OpCode" "Nomor Track Puluhan Ribu" -
"Nomor Track Ribuan" - "Nomor Track Ratusan" - "Nomor Track
Puluhan" - "Nomor Track Satuan". Dan ditutup dengan : "End
Code".
Modul
Mikrokontroler
Pada alat ini menggunakan inputan
yang berasal dari tombol pada remote control.
Pada remote control terdapat sebuah
sensor inframerah transmitter yang
berfungsi untuk mengirimkan data sinyal ke sensor inframerah receiver yang terhubung ke pin D2 pada
mikrokontroller atmega 16. Selanjutnya data sinyal diolah di dalam mikrokontroller
yang telah terprogram sehingga dapat menampilkan data sesuai dengan tombol yang
dipilih melalui seven segment.
Tanda detik pada timer ini
ditunjukan oleh nyala Led indikator (port c) yang akan berkedip setiap
detiknya. Proses kerjanya adalah ketika tombol power remot ditekan, seven
segment akan menyala dan mengeluarkan angka 0 sambil mengeluarkan suara.
Suaranya yaitu :” Waktu pertandingan futsal akan segera dimulai . Skor awal 0
0”. Skor akan bersuara berdasarkan tombol yang ditekan dari kiri ke kanan
sampai hitungan ke 10, misalnya : “ nol satu, satu nol, dan seterusnya”.
Sedangkan pada timernya diatur dengan menekan tombol A/B untuk mengeset jam dan
tombol sleep untuk mengeset menit kemudian tekan tombol power dan select untuk
mengirim datanya ke mikrokontroler slave dengan komunikasi serial. Dan Suara
yang telah diprogram akan dipanggil oleh mikrokontroler berdasarkan waku yang
telah diprogram. Timernya akan bersuara seperti : “ waktu sisa pertandingan
tinggal 30 menit lagi, “ waktu sisa pertandingan tinggal 10 menit lagi, “ waktu
sisa pertandingan tinggal 5 menit lagi, “ waktu sisa pertandingan sudah habis,
terimakasih”
BAB IV
PEMBAHASAN
4.1 Pengujian
4.1.1 Deskripsi Pengujian Sistem
- Tujuan Pengujian : Mengetahui apakah minimum sistem dan seluruh perangkat komponen berfungsi dan bekerja sesuai dengan yang diinginkan
- Target pengujian : Program bekerja sesuai dengan yang diinginkan.
Memperoleh data hasil pengujian Arus pada display sevent segment.
Tabel
4.1. Daftar Peralatan Pengujian Alat
|
Nama Alat
|
Merk/Type
|
Jumlah
|
|
Sevent
segment
|
-
|
9
buah
|
|
Remote
|
Sony
RM870
|
1
buah
|
|
Minsys
|
Mikrokontroller
Atmega 16 dan AT89S51
|
@1
buah
|
|
Multimeter
|
-
|
1
buah
|
|
Kabel
penghubung
|
-
|
secukupnya
|
4.1.2 Pengujian Sensor
4.1.2.1 Deskripsi Pengujian Sensor
Sensitifitas sensor infrared ditentukan oleh nilai optimum
deteksi sensor. Semakin jauh jarak deteksi sensor,sensitifitas sensor semakin
kecil. Nilai optimum deteksi sensor sangat ditentukan oleh jarak antara sensor
infrared dengan LED infared yang
digunakan. Sebelum dilakukan pengujian untuk mengetahui jarak deteksi maksimum,
perlu dilakukan opmtimalisasi terhadap rancangan sensor yang sudah dibuat.
Optimalisasi ini bertujuan untuk mengetahui jarak optimum antara sensor infared dengan LED Infrared agar
sensitifitas sensor semakin tinggi. Selain itu sekaligus pengujian alat ini
dilandasi keinginan mencoba untuk melihat seperti apa keluaran yang dihasilkan
rangkaian yang telah dibuat.
·
Tujuan Pengujian
a. Untuk
mengetahui apakah sensor bekerja dengan baik.
b. Untuk
mengetahui apakah program yang diberikan telah sesuai dengan yang diinginkan.
c. Untuk
mengetahui apakah komunikasi data via infrared dapat bekerja dengan baik
d. Untuk
mendapatkan data-data yang akurat dari rangkaian.
4.1.2.2 Pengujian rangkaian pengendali (remote
control)
Pengujian pada remote control ditujukan agar perangkat lunak dan perangkat
keras dapat bekerja dengan benar untuk mengirimkan data sesuai dengan
tombol yang ditekan dan dapat diterima oleh rangkaian penerima. Remote
control yang digunakan adalah remote control jenis Sony RM
870.
Gambar 4.1 Remote control Sony RM 870
4.1.2.3
Pengujian LED Infra merah
Dalam mendapatkan LED infra merah digunakan untuk
menghasilkan gelombang infra merah sebagai media transmisi data. Infra merah
adalah frekuensi radiasi yang bekerja di bawah tingkat sensitivitas mata
manusia. Pengujian terhadap LED ini tidak sama dengan LED biasa karena nyala
LED tidak dapat dilihat oleh mata manusia.
Untuk melakukan pengujian nyala atau tidaknya LED
infra merah digunakan kamera digital. Pada layar kamera dapat dilihat nyala LED
infra merah yaitu berupa sinar merah ketika tombol pada remote control ditekan.
Gambar 4.2 Sinar infra merah ketika tombol
ditekan
4.1.2
Prosedur Pengujian
·
Mempersiapan minimum system
mikrokontroller Atmega 16, modul Sevent segment, transmitter, modul receiver
dan baterai
·
Mendownload program ke dalam
mikrokontroller dengan program khusus untuk transmisi serial
·
Menghubungkan suplai dengan
mikrokontroller
·
Menekan tombol pada modul transmitter
sesuai dengan instruksi program
·
Melihat display pada sevent segment.
·
Mengukur kelistrikan pada alat dan
komponen.
4.1.3
Data Hasil Pengujian Alat
Tabel 4.2 Data hasil pengujian remote
|
Tombol Transmitter
(remote)
|
Tampilan/ Fungsi Pada Sevent Segment
|
|
1
|
Tampilkan angka 1
|
|
2
|
Tampilkan angka 2
|
|
3
|
Tampilkan angka 3
|
|
4
|
Tampilkan angka 4
|
|
5
|
Tampilkan angka 5
|
|
6
|
Tampilkan angka 6
|
|
7
|
Tampilkan angka 7
|
|
8
|
Tampilkan angka 8
|
|
9
|
Tampilkan angka 9
|
|
0
|
Tampilkan angka 0
|
|
Power
|
Menghidupkan dan Mematikan
Seven Segment
|
|
Prog + dan Prog -
|
Up & Down counter Skor
Group A
|
|
CH + dan CH -
|
Up & Down Counter Skor
Group B
|
|
+ dan -
|
Up & Down Counter
Babak
|
|
A/B
|
Set Jam
|
|
Sleep
|
Set Menit
|
Tabel 4.3 Data
hasil pengujian jarak yang
dapat ditempuh remot
|
Jarak Deteksi Sensor
(m)
|
Output Sensor
|
|
1
|
0
|
|
2
|
0
|
|
3
|
0
|
|
4
|
0
|
|
5
|
0
|
|
6
|
0
|
|
7
|
0
|
|
8
|
0
|
|
9
|
0
|
|
10
|
0
|
|
11
|
0
|
|
12
|
0
|
Tabel 4.4 Data
hasil pengukuran Kelistrikan
|
Alat atau Komponen yang diukur
|
Kelistrikan
|
|
Tegangan input alat
|
12,19
V
|
|
Arus input alat
|
0,939
A
|
|
Daya alat
|
11,45
W
|
|
Arus input seven segmen
|
63
mA
|
|
Tegangan input mikrokontroler
|
5
V
|
|
Tegangan input IR Receiver
|
5
V
|
|
Tegangan input speaker mini
|
5
V
|
|
Tegangan input seven segmen
|
12,19
V
|
|
Arus input per segmen pada seven segmen
|
9 mA
|
|
Tegangan input remot tv sony
|
3 V
|
4.2 Analisa Data
4.2.1
Sensor Infrared
Sensiifitas sensor infrared sangat
bergantung pada jarak antara sensor infrared dengan LED infrared. Sensor
infrared bekerja bedasarkan panas yang dihasilkan oleh LED infra merah. Sensor
inframerah tidak akan mendeteksi sinyal yang dikirimkan jika terhalang oleh
benda yang tidak tembus pandang, dalam hal ini adalah dinding atau tembok. Pada rangkaian ini ditemukan bahwa data akan terkirim
bila keadaan infra merah pengirim (transmitter) dengan infra merah penerima
(receiver) saling berhadapan dan data akan tampil pada seven segment bila ada
penekanan tombol pada remote sebagai input
Tegangan yang dihasilkan oleh output
modul penerima infra merah merupakan tegangan logik karena yang diterima adalah
pulsa yang merupakan logik 1 dan logik 0. Jika logik 1 adalah 5 Volt, sedangkan
untuk logik 0 adalah 0.5 Volt. Penerimaan ini tergantung dari program yang
dibuat.
4.2.3
Kelistrikan
Pada
tabel 4.4, ketidakpastian hasil pengukuran belum dicantumkan di dalam tabel
tersebut. Setiap pengukuran harus dijamin kehandalan hasilnya dan hal ini dapat
dilihat dari ketidakpastiannya. Dari multimeter yang digunakan memiliki
kepresisian tegangannya sebesar 0,05% + 1 dan arusnya sebesar 0,2% + 2.
Sehingga pada tegangan tinggal ditambah ± 0,05% + 1 dan arusnya ditambah ± 0,2%
+ 2.
BAB
V
PENUTUP
5.1
Kesimpulan
Berdasarkan uraian diatas, dapat
disimpulkan bahwa:
·
Modul mikrokontroller AT89S51 dapat
diaplikasikan sebagai pengontrol kinerja scoring board dan sebagai pengolah
data hasil inputan dari remot tv universal seperti Sony
·
Adanya kesinkronan antara modul seven
segment dan receiver pada remot dimana angka yang ditampilkan sesuai
berdasarkan push button yang ditekan pada remot.
·
Bisa mengatur Skor up dan down count.
5.2
Saran
- Sebelum alat dijalankan maka sebaiknya cek terlebih dahulu komponen yang ada, apakah telah siap secara baik atau belum sehingga apabila terjadi yang tak diinginkan tidak merusak komponen tersebut.
- Peletakan (layout) modul receiver infra merah dengan posisi lurus dan ditonjolkan pada tampilan hardware (box) agar penggunaan remote dapat berkomunikasi dengan baik dari jarak jauh sekalipun.
DAFTAR
PUSTAKA
Najakhi, Fajar. 2010. “Teori Remote Control Infra Merah / Infrared LED Controller” <http://beritafajar.blogspot.com/2010/12/teori-remote-control-infra-merah.html>.
[12 Mei 2014]
Supriyanto, Joko. 2009. “Infra
merah di Remote TV” <http://www.mansaba.sch.id/web_saba/science-/180-infra-merah-di-remote-tv.html>.
[12 Mei 2014]
Tutorial Mikrokontroller. 2012. “Komunikasi
Serial Mikrokontroler AT89S51”
<http://www.tutorial-mikrokontroler.com/2012/04/komunikasi-serial
mikrokontroler.html>. [24 Mei 2014]
Sutanto, Budhy. 2011. “Timer dan Counter dalam MCS51” <http://guru.technosains.com/timer_mcs51.html>.
[24 Mei 2014]
Sam Pambudi, Wahyu. 2008. “Penerima Remote SONY dengan Atmega 32” <http://wahyusp.files.wordpress.com/2008/08/penerima-remote-sony-dengan-atmega32.pdf>. [1 Juni 2014]
CARA
PENGOPERASIAN ALAT
Dalam pengoperasian alat papan skor yaitu :
- Pastikan supply/adaptor sudah dipasang dengan benar.
- Tekan tombol power untuk menyalakan seven segment pada papan skor.
- Tekan tombol power – kemudian tekan tombol A/B maka seven segment yang disebelah kiri akan berkedap-kedip – Masukkan angka dengan menekan tombol angka untuk mengetset jam pertandingan futsal yang diinginkan – tekan tombol power kembali – dan terakhir tekan tombol select maka secara otomatis jam yang disetting tadi akan muncul di bagian seven segment timer.
- Tekan tombol power – kemudian tekan tombol Sleep maka seven segment yang disebelah kanan akan berkedap-kedip – Masukkan angka dengan menekan tombol angka untuk mengetset menit pertandingan futsal yang diinginkan – tekan tombol power kembali – dan terakhir tekan tombol select maka secara otomatis menit yang disetting tadi akan muncul di bagian seven segment timer.
- Tekan tombol prog + atau prog – untuk mengatur skor group A secara up and down counter.
- Tekan tombol CH + atau CH - untuk mengatur skor group B secara up and down counter.
- Tekan tombol + atau – untuk mengatur jumlah babak.
- Tekan tombol power lagi untuk mematikan sistem.




























