Docstoc

SISTEM KENDALI JARAK JAUH MEMANFAATKAN SINYAL DTMF

Document Sample
SISTEM KENDALI JARAK JAUH MEMANFAATKAN SINYAL DTMF Powered By Docstoc
					Majalah Ilmiah Unikom, Vol.6, hlm. 3-15 SISTEM

KENDALI JARAK JAUH

Bidang Teknik
SISTEM KENDALI JARAK JAUH MEMANFAATKAN SINYAL DTMF PADA SALURAN TELEFON BERBASIS MIKROKONTROLER AT89C51
HIDAYAT Jurusan Teknik Komputer Universitas Komputer Indonesia Sistem kendali jarak jauh ini dirancang untuk meng-on/ off-kan peralatan listrik melalui medium saluran telefon untuk mentransmisikan informasi perintahnya. Sistem kendali jarak jauh ini berbasis pada sistem minimum mikrokontroller AT89C51 yang akan mengatur kerja sistem. Sistem kendali jarak jauh ini memanfaatkan prinsip kerja pada pesawat telefon dan sinyal DTMF (Dual Tone Multiple Frequency) yang dihasilkan dari penekanan tombol pesawat telefon yang tehubung pada saluran telefon sebagai kode perintah pada sistem minimum mikrokontroller AT89C51. Sistem kendali jarak jauh ini mampu mengendalikan maksimum 16 peralatan listrik dengan pengaturan dapat dikendalikan semuanya atau satu persatu. Sistem kendali jarak jauh ini dilengkapi dengan sistem keamanan melalui penggunaan password yang berjumlah 4 digit dan password dapat diubahubah setiap saat agar kerahasiaan password lebih terjamin. Sistem kendali jarak jauh, mikrokontroller AT89C51, DTMF, Password. PENDAHULUAN Latar belakang Sistem kendali jarak jauh melalui saluran telefon merupakan sistem yang sudah ada. Sistem kendali jarak jauh tersebut bekerja sebagai pengendali on/ off peralatan listrik dengan memanfaatkan sinyal DTMF (Dual Tone Multiple Frequency). Namun sistem kendali jarak jauh tersebut masih memiliki keterbatasan, di antaranya: password yang digunakan hanya satu password dan bersifat permanen, sehingga kerahasiaan password kurang terjamin, jumlah peralatan listrik yang dapat dikendalikan hanya terbatas sampai 8 peralatan listrik, sehingga tidak dapat memenuhi kebutuhan pengguna yang menginginkan pengendalian lebih dari jumlah tersebut, dan tidak adanya antisipasi ketika telefon pemanggil memutuskan hubungan secara tiba-tiba tanpa memberikan tanda mengakhiri penggunaan sistem ini. Pada pembahasan ini merupakan pengembangan dari sistem kendali jarak jauh yang telah ada dengan tujuan untuk memperoleh suatu sistem kendali jarak jauh yang memiliki tingkat keamanan yang lebih baik pada pembacaan password dengan menggunakan password 4 digit dan memiliki fasilitas untuk mengganti password agar kerahasiaan password terjamin, mampu mengendalikan lebih dari 8 peralatan listrik dan mampu memutuskan hubungan ketika tidak ada penekanan tombol dari telefon pemanggil selama waktu tertentu atau pengguna memutuskan hubungan secara tibatiba. Hal di atas menjadi pembatasan masalah pada pembahasan ini.

Alamat korespondensi pada Hidayat, Jurusan Teknik Komputer Universitas Komputer Indonesia, Jalan Dipati Ukur 114, Bandung 40132.

3

HIDAYAT

Pesawat Telefon Pesawat telefon merupakan perangkat elektronika yang digunakan untuk melakukan komunikasi jarak jauh melalui saluran telefon atau PSTN (Public Switch Telephone Network). Pesawat telefon mempunyai tiga bagian utama, yaitu: Speech Circuit merupakan bagian rangkaian bicara untuk melakukan pengiriman dan penerimaan sinyal suara baik sinyal pembicaraan maupun sinyal-sinyal kode pada telefon. Dialer Circuit merupakan bagian proses penekanan tombol untuk melakukan pemanggilan pesawat telefon yang akan dihubungi melalui jaringan telefon. Bell Circuit merupakan rangkaian yang berfungsi membangkitkan nada dering jika sinyal dari Public Switch Telephone Network (PSTN) terdeteksi. Cara Kerja Telefon Pada saat gagang pesawat telefon diletakkan pada pesawat telefon maka saklar dari pesawat telefon akan tertekan yang mengakibatkan saklar terbuka, keadaan seperti ini disebut kondisi on hook. Pada kondisi on hook antara pesawat telefon dan PSTN dalam keadaan terbuka dan besar tegangan ± 50 Volt DC, tetapi Bell Circuit pada pesawat telefon selalu terhubung dengan PSTN. Pada saat gagang telefon diangkat maka saklar pesawat telefon akan tertutup, keadaan ini disebut kondisi off hook. Pada kondisi off hook bagian Speech Circuit pada pesawat telefon akan terhubung ke PSTN dan besar tegangan menjadi ± 7 Volt DC. Kondisi off hook memberikan isyarat pada PSTN bahwa pesawat telefon akan menggunakan saluran sehingga arus DC akan mengalir ke Speech Circuit. Kemudian PSTN akan mengirimkan nada pilih kepada pesawat telefon pemanggil untuk mengetahui bahwa PSTN siap menerima penekanan nomor tujuan. Pada penekanan nomor terdapat dua metode 4

yaitu metode decadic dan metoda DTMF Sebagian besar pesawat telefon menggunakan metoda DTMF untuk mengirimkan nomor tujuan. Setelah menerima nomor tujuan, PSTN secara otomatis akan menghubungkan telefon pemanggil dengan pesawat telefon yang dituju. Apabila telefon yang dituju dalam keadaan off hook maka nada sibuk akan dikirimkan oleh PSTN pada telefon pemanggil sebaliknya apabila telefon yang dituju dalam keadaan on hook maka nada dering akan dikirimkan pada telefon yang dituju tersebut. Pada saat yang sama nada dering balik (ring back tone) akan dikirimkan oleh PSTN pada telefon pemanggil untuk memberikan tanda bahwa telefon yang dituju sedang berdering. Apabila telefon yang dituju diangkat maka PSTN akan menghentikan sinyal dering dan nada dering balik dari saluran tersebut. Hubungan telefon akan dihentikan apabila salah satu telefon atau kedua telefon tersebut meletakkan gagang telefon. Mikrokontroller AT89C51 AT89C51 merupakan mikrokontroller 8 bit dengan 4 Kbyte Flash PEROM (Programmable and Erasable Read Only Memory) yang konfigurasi dan instruksinya kompatibel dengan standar 80C51 dan 80C52. AT89C51 mampu ditulis dan dihapus sebanyak 1.000 kali. AT89C51 memiliki 128 x 8-bit RAM internal, 32 jalur I/O Programmable, dua buah Timer/ Counter 16 bit, tujuh sumber Interupsi, kanal Programmable serial. Selain itu AT89C51 memiliki mode Low-power Idle dan Powerdown dan tiga tingkat pengunci program memory. AT89C51 dapat beroperasi statis dari 0 – 24 MHz. Mikrokontroller AT89C51 memiliki 4 buah port yang dapat difungsikan sebagai input maupun output, yaitu Port 0, Port 1, Port 2 dan Port 4. masing-masing port memiliki 8 bit. AT89C51 mempunyai struktur memori

SISTEM KENDALI JARAK JAUH

Grup Frekwensi Rendah (Hz)

yang terdiri atas: RAM (Random Access Memory) internal sebesar 128 byte, SFR (Special Function Registers) yang berisi register-register yang mempunyai fungsi khusus, Flash PEROM yang digunakan untuk menyimpan instruksi-instruksi MCS51. DTMF DTMF menggunakan dua buah frekuensi yaitu frekuensi rendah dan frekuensi tinggi yang mewakili tombol 0 sampai 9, * dan # pada keypad pesawat telefon. Pada sistem penekanan ini nilai frekuensi dan tata letak dari setiap tombol telah distandarkan secara internasional. Komponen yang digunakan untuk menerima sinyal DTMF ini salah satunya adalah MT8870D yang memiliki filter bandsplit yang menfilter grup tinggi, grup rendah dan keluaran nada tekan, dan fungsi decoder untuk mendekode 14 nada DTMF ke kode 4 bit.

Grup Frekwensi Tinggi (Hz) 1209 1336 1477 1633

697

1

2

3

A

770

4

5

6

B

852

7

8

9

C

941

*

0

#

D

Gambar 1 Tata letak tombol tekan DTMF yang
Vcc Rc Vbb Vbb - Vcc Rc

LATCH DATA Latch data atau penahan data diperlukan untuk menahan data sebelum diteruskan menjadi data yang akan dipakai. Salah satu komponen IC yang dapat bekerja sebagai latch data adalah IC 74LS373 dimana IC ini memiliki 8 buah latch data dengan 3 kondisi output (high, low, dan impedansi tinggi). Kemungkinan data akan ditahan atau diteruskan sangat tegantung pada input Latch Enable dan input Output Enable. TRANSISTOR Sebuah transistor akan bekerja sebagai saklar elektronik dengan mengoperasikan transistor pada kondisi saturasi (saklar tetutup) dan kondisi cutoff (saklar terbuka). Pada titik sumbat arus basis adalah nol dan arus kolektor sangat kecil sehingga dapat diabaikan (hanya ada arus bocor ICEO). 5
Vcc Rc Saklar terbuka VCE VCC

(a)

(b)

Gambar 2 (a) transistor NPN sebagai saklar, (b) transistor PNP sebagai saklar
Ic Saklar tertutup

Gambar 3 Garis beban dc

HIDAYAT

Sementara tegangan kolektor emitter sama dengan tegangan sumber.

• Analisis hasil ujicoba seluruh rangkaian yang dirancang. PEMBAHASAN Sistem kendali jarak jauh yang dirancang ini menggunakan medium saluran telefon untuk menerima instruksi-instruksi dalam bentuk sinyal DTMF dan menggunakan sistem minimum mikrokontroller AT89C51 sebagai pusat pengendali untuk meng-on/ off-kan peralatan listrik dari jarak jauh dengan menerjemahkan sinyal DTMF ke dalam bentuk kode biner 4 bit dan diproses oleh sistem minimum. Sistem kendali ini dipasang secara paralel dengan pesawat telefon agar saluran telefon tidak terganggu ketika pesawat telefon digunakan seperti biasa. Pada Gambar 4, alat kontrol jarak jauh ini terdiri dari beberapa bagian blok diagram yang akan dijelaskan berikut ini.

V CE ( cutoff ) ≅ V CC

(1)

Pada titik saturasi arus kolektor adalah maksimum dan dapat dihitung dengan rumus:
I
C

( sat

)

=

V R

CC C

(2)

METODE PENELITIAN Adapun metodologi yang dilakukan dalam penelitian sistem kendali jarak jauh ini adalah sebagai berikut: • Penelitian kepustakaan, merupakan teori dasar sehingga rangkaian dapat dianalisa secara teoritis. • Pendekatan secara eksperimen, dengan melakukan perancangan, pembuatan dan pengukuran rangkaian secara langsung.

!
PESAWAT TELEPON LAWAN PSTN ALAT KONTROL
SWITCH LOGIC1

!
PESAWAT TELEPON RUMAH

RING DETECTOR SALURAN TELEPON

PERALATAN LISTRIK

SWITCH DRIVER

CONTROLLER

HOOK SWITCH

SWITCH LOGIC2

DTMF RECEIVER

Gambar 4 Diagram Blok Sistem Kontrol Jarak Jauh 6

SISTEM KENDALI JARAK JAUH

Ring Detector Bagian ini berfungsi untuk mendeteksi dering berupa sinyal AC dalam selang waktu tertentu, yaitu 1 detik on dan 4 detik off dari PSTN. Pada blok ini dipergunakan sebuah IC optocoupler 4N35 untuk mendeteksi sinyal dering tersebut.
VCC R2 10K OUT

5Vdc IN4001 RL

LINE

1K
P3.1 KNG 220 RED

680

220

100 nF LINE

R1 10K

4N35

Gambar 6 Skema Rangkaian Hook Switch Hook Switch akan aktif (off hook) ketika input basis transistor low (0 Volt). DTMF Receiver

Gambar 5 Skema Rangkaian Ring Detector Pada gambar di atas kapasitor berfungsi untuk menahan sinyal DC dan sinyal AC, sedangkan R1 berfungsi untuk menghambat besarnya tegangan AC yang masuk pada LED optocoupler. Sementara itu R2 disambungkan ke Vcc agar kondisi logika output tetap high ketika tidak ada sinyal dering yang dideteksi. Ketika ada sinyal dering maka arus AC akan menyebabkan LED optocoupler menyala dan mengakibatkan arus mengalir dari kaki kolektor dan emiter pada phototransistor sehingga phototransistor saturasi dan kondisi logika output menjadi low. Hook Switch Bagian ini berfungsi untuk menggantikan saklar pada gagang telefon dengan sebuah relay sekaligus mengganti nilai impedansi pesawat telefon dengan sebuah resistor agar PSTN menganggap telefon sedang off hook ketika Hook Switch ini aktif. Pada Gambar 6 transistor PNP berfungsi sebagai saklar elektronika untuk mengaktifkan relay yang akan menghubungkan saluran telefon pada resistor sebagai pengganti impedansi telefon. Sementara itu LED Merah dan Kuning sebagai indikator sistem kendali jarak jauh ini aktif atau tidak. Rangkaian 7

Bagian ini berfungsi untuk menerima sinyal DTMF sebagai hasil penekanan tombol pada pesawat telefon yang sedang off hook. Di bawah ini gambar rangkaian bagian DTMF Receiver menggunakan IC MT8870D.
LINE C1 100nF R1 100K 1 IN+ 2
IN-

5Vdc MT8870D
Vdd St/Gt ESt

18 17

C2 100nF R3 360K

R2 100K

3 GS 4 5 6 7 8 9

VRef PWDN OSC1 OSC2 Vss

StD Q3 Q2 Q1 TOE

INH

16 15 14 Q4 13 12 11 10

X1 3,579545MHz

P1.0 .. P1.4

Gambar 7 Skema Rangkaian DTMF Receiver Seperti terlihat pada gambar di atas sinyal DTMF akan difilter dan dikodekan menjadi kode biner 4 bit melalui pin Q0…Q3 pada IC MT8870 yang kemudian akan dikirimkan pada Controller untuk diproses. Pin Std berfungsi untuk menandakan adanya tombol yang ditekan. Sinyal penekanan tombol akan dikenali apabila lamanya sinyal tersebut minimal 40 ms dan jeda dengan penekanan berikutnya minimal 40 ms.

HIDAYAT

Q1 .. Q4 dari DTMF

AT89C51
1 2 3 4 5 6 7 8 9 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 VDD P0.0 P0.1 P0.2 40 39 38 37

Vcc

ke Switch Logic

dari Ring detector

Pemilih jumlah Ring
ke Hook Switch

Vcc

Xtal 12MHz

RESET 10 RXD 11 TXD 12 INT0 13 INT1 14 T0 15 T1 16 WR 17 RD 18 XTAL1 19 XTAL2 20 VSS

P0.3 36 P0.4 35 34 P0.5 P0.6 33 P0.7 32 EA 31 30 ALE PSEN 29 P2.7 28 P2.6 27 P2.5 26 P2.4 25 P2.3 P2.2 P2.1 P2.0 24 23 22 21

Vcc

ke line

Gambar 7 Skema rangkaian sistem minimum AT89C51 Bagian Controller Bagian ini merupakan sistem minimum menggunakan mikrokontroler AT89C51 yang berfungsi sebagai pemroses pada sistem kendali jarak jauh. Pada perancangannya portport pada mikrokontroler ini di-set sebagai input maupun output. Bit Port 1.0 .. 1.4 sebagai input data biner 4 bit yang dikirim dari DTMF Receiver. Bit Port 1.5 sebagai input pendeteksian sinyal dering dari Ring Detector. Bit Port 3.1 sebagai output untuk mengaktifkan bagian Hook Switch. Port 0 sebagai output untuk menandakan on/ off peralatan listrik yang dikendalikan, tiap peralatan listrik dikendalikan oleh satu bit pada port 0. dan bit port 2.6 dan bit port 2.7 sebagai output untuk mengatur aktif/tidak aktif Switch Logic pertama dan kedua. Bit port 2.4 digunakan untuk memberikan nada beep pada pesawat telefon. Berikut gambar skema 8 rangkaian sistem minimum AT89C51 sebagai pengolah data pada sistem kendali jarak jauh ini. Bagian Switch Logic Bagian ini berfungsi untuk menahan atau meneruskan data dari port 0. Data tersebut dijadikan sebagai input penggerak Switch Driver. Pada bagian ini digunakan 2 buah IC D-Latch 74LS373 sebagai flip-flop data yang dapat menahan/meneruskan data masingmasing sebanyak 1 byte atau 8 bit. Pada Gambar 9 input flip-flop data diperoleh dari Port 0. sementara itu dari bit Port 2.6 dan bit Port 2.7 sebagai input pada pin LE (Latch Enable) untuk flip-flop data pertama dan kedua. Ketika pin LE berlogika high maka data D0 .. D7 akan diteruskan pada output Q0 .. Q7 sebaliknya apabila berlogika low maka

SISTEM KENDALI JARAK JAUH

AC.
3 D0 4 D1 7 D2 8 D3 13 D4 14 D5 17 D6 18 D7 P2.6 1 OE 11 LE 3 2 5 6 9 12 15 16 KE RELAY 9 .. 16 2 Q0 Q1 5 6 Q2 Q3 9 12 Q4 Q5 15 16 Q6 Q7 19 KE RELAY 1 .. 8

Perangkat Lunak Sebelum membuat list program rancangan urutan alur program disusun ke dalam bentuk flowchart. Gambar flowchart dapat dilihat pada lampiran. Pada perancangan perangkat lunak ini menggunakan bahasa assembly MCS-51. Pada awal program dilakukan proses pendeklarasian variabel dan inisialisasi input/output pada Controller. Berikut potongan list pendeklarisian variabel: program untuk

PORT P0

D0 4 D1 7 D2 8 D3 13 D4 14 D5 17 D6 18 D7 1 OE 11 LE

Q0 Q1 Q2 Q3 Q4 Q5

Q6 19 Q7

P2.7

Gambar 9 Skema Rangkaian Switch Logic data akan ditahan dan Q0 .. Q7 merupakan data output terakhir. Proses kerja di atas terjadi ketika pin OE (Output Enable) diberi logika low. Bagian Switch Driver Bagian ini berfungsi untuk menggantikan saklar listrik AC dengan relay untuk menon/ off-kan peralatan listrik. Transistor PNP difungsikan sebagai saklar elektronika untuk mengaktifkan relay pengganti saklar listrik

; DEFINISI VARIABEL DATA_DTMF EQU P1 ; input dari dtmf receiver STD BIT P1.4 ; tanda adanya tombol yang ditekan R_DETECT BIT P1.5 ; deteksi ring HOOK BIT P3.1 ; on/ off hook JUMLAH_R EQU 40H ; tempat menyimpan jumlah dering SIMPAN_P01 EQU 41H ; tempat menyimpan data sw. logic 1 SIMPAN_P02 EQU 42H ; tempat menyimpan data sw. logic 2 TONE_OUT BIT P2.3 ; kirim tone TANDA BIT P2.5 ; tanda */ # AKTIF_1 BIT P2.6 ; untuk enable/ disable sw. logic 1 AKTIF_2 BIT P2.7 ; untuk enable/ disable sw. logic 2

12Vdc IN4002

220 Vac RLY

Berikut potongan list program untuk pendeklarasian variabel dan password awal:
; INISIALISASI INIT: CLR A CLR TONE_OUT ; set tone_out pada kondisi 0 MOV P0, #0FFH ; mengisi po dengan ffh SETB AKTIF_1 ; enable sw. logic 1 SETB AKTIF_2 ; enable sw. logic 2 MOV SIMPAN_P01, ; simpan data p0 ke alamat 41h MOV SIMPAN_P02,

10K
Q0

100

P0 P0

Gambar 9 Skema Rangkaian Switch Driver 9

HIDAYAT

; simpan data p0 ke alamat 42h CLR AKTIF_1 ; nonaktifkan s. logic 1 CLR AKTIF_2 ; nonaktifkan s. logic 2 ; DEFAULT PASSWORD ADA DIALAMAT 50…53H MOV 50H, #01H ; digit 1 MOV 51H, #0AH ; digit 0 MOV 52H, #09H ; digit 9 MOV 53H, #01H ; digit 1

jumlah dering akan di-set ulang dan kembali menunggu tanda dering. Berikut ini potongan pendeteksian dering.
CEK_RING:

list

program

DEC R0 ; kurangkan r0 dengan 1 MOV A, R0 JZ MULAI ; bandingkan a=0?

Proses berikutnya adalah membaca setting jumlah dering yang dikehendaki untuk mengaktifkan sistem. Banyaknya tanda sinyal dering yang diterima untuk mengaktifkan sistem dapat ditentukan dengan men-set pin P1.6 dan P1.7 pada Mikrokontroller (bagian Controller). Banyaknya dering dapat diatur dari mulai 3 hingga 6 kali. Berikut ini potongan list program setting jumlah dering:
MULAI: SETB HOOK ; kondisi on hook MOV R1, #00H ; reg utk menghitung dering MOV R0, #050H ; reg utk perulangan delay SELECT_RING:MOV A, P1 ANL A, #11000000B ; ambil bit ke- 6 dan 7 port 1 JUM_3: CJNE A, #00H, JUM_4 ; cek bit 6 dan 7 = 00 MOV JUMLAH_R, #03H ; set juml ring = 3x SJMP END_SELECT … END_SELECT:

ya loncat ke mulai LCALL DELAY_500MS ; panggil delay 500ms JB R _ D E T E C T , SELECT_RING ; cek ada ring LCALL DELAY_500MS ; panggil delay 500ms WAIT_RING: JNB R _ D E T E C T , WAIT_RING ; check bit p1.5 SETB P2.4 ; indikator ring pertama MOV R0, #050H ; set perulangan delay INC R1 ; naiikan nilai r1 MOV A, R1 CJNE A, 40H, CEK_RING ; bandingkan juml ring CLR P2.4 ; deteksi ring selesai AKTIF: CLR HOOK ; kondisi off hook LCALL SUKSES_DIAL LJMP PASSWORD ; loncat ke subrutin password

untuk jumlah dering 4, 5, dan 6 hanya membandingkan Acc dengan 40H, 80H dan 0CH, selanjutnya jika cocok isikan variabel JUMLAH_R dengan 04H, 05H dan 06H. Selanjutnya menunggu masuknya tanda sinyal dering dari output Ring Detektor. Setiap tanda dering yang diterima akan mengurangi batas jumlah dering hingga habis. Jika tidak, dalam waktu tertentu nilai 10

Setelah tanda dering sesuai, maka Controller akan mengaktifkan Hook Switch dan menunggu penekanan tombol password dari pesawat telefon. Ada tidaknya tombol yang ditekan dibuktikan dengan ada tidaknya data dari DTMF Receiver yang dikirim ke Controller. Jika dalam waktu ± 10 detik tidak ada data, maka program akan memutus h u bu ng a n te le f o n d e n g a n tid a k menonaktifkan Hook Switch dan kembali menunggu tanda dering. Berikut potongan list program untuk menunggu ada/ tidaknya tombol yang ditekan:
CEK_NO_STD: MOV R6, #0FFH ; set r6 dengan ffh ; panggil CEK_NO_STD1: LCALL DELAY_40MS

SISTEM KENDALI JARAK JAUH

subrutin delay 40ms DEC ; kurangkan r6 R6

CEK_NO_STD1

MOV A, R6 JZ MULAI ; loncat ke mulai JNB S T D , ; cek tanda ada tombol ditekan RET CEK_STD

CEK_STD: JB STD, ; cek tombol untuk dilepas RET

Setelah sistem aktif dan sistem menunggu penekanan tombol password, maka segera masukkan password sebanyak 4 digit. Selanjutnya password akan dicek dengan membandingkan password tadi dengan password yang benar. Jika terdapat perbedaan maka program akan memberikan nada beep 4 kali dan meminta pengulangan password satu kali lagi, jika tetap salah maka program akan memutus sambungan telefon dan kembali menunggu tanda dering. Berikut potongan list membaca password: program untuk

PASSWORD: MOV R7, #02H ; set pengulangan = 2 CEK_PASSW: LCALL CEK_NO_STD ; menunggu tombol ditekan PASS_1: LCALL AMBIL_DATA ; baca digit ke-1 MOV R0, A LCALL CEK_STD ; menunggu tombol dilepas … ; MEMERIKSA PASSWORD MOV A, R0 CJNE A , 5 0 H , SALAH_PASS ; bandingkan digit ke-1 … LCALL SUKSES_DIAL LJMP MENU_UTAMA ; loncat ke menu utama SALAH_PASS: DEC R7 ; kurangkan ulang LCALL SALAH_DIAL CJNE R 7 , ; cek pengulangan LJMP MULAI # 0 0 H ,

hanya mengganti register R0 pada list program menjadi R1, R2, dan R3. Dan untuk memeriksa digit password ke 2, 3 dan 4 tinggal membandingkan data R1, R2 dan R3 dengan data di alamat 51H, 52H dan 53H. Jika password sesuai, selanjutnya sistem akan melanjutkan pada menu utama, diantaranya: ‘*’ ‘1’ : untuk men-on/ off-kan peralatan 1 sampai 8 pertama satu persatu. ‘*’ ‘2’ : untuk men-on/ off-kan peralatan 1 sampai 8 kedua satu persatu. ‘*’ ‘3’ : untuk men-on-kan semua peralatan listrik ‘*’ ‘4’ : untuk men-off-kan semua peralatan listrik ‘*’ ‘5’ : untuk mengganti password ‘#’ : untuk memutus sambungan telefon dan kembali mendeteksi tanda dering Jika tombol ’*’ kemudian ‘1’ ditekan, peralatan listrik 1 sampai 8 bagian pertama dapat di-on/ off-kan satu persatu dengan cara menekan tombol ‘1’ .. ‘8’ kemudian ‘*’ untuk men-on-kan atau ‘#’ untuk men-offkan. Untuk keluar dari menu ini tekan tombol ‘#’. Jika tombol ’*’ kemudian ‘2’ ditekan, peralatan listrik 1 sampai 8 bagian kedua dapat di-on/ off-kan satu persatu dengan cara menekan tombol ‘1’ .. ‘8’ kemudian ‘*’ untuk men-on-kan atau ‘#’ untuk men-offkan. Untuk keluar dari menu ini tekan tombol ‘#’. Jika tombol ‘*’ kemudian ‘5’ ditekan, masuk pada proses penggantian password dengan cara memasukkan Password baru kemudian diakhiri dengan menekan ‘*’ untuk menyimpan password baru jika penyimpan berhasil maka akan ditandai dengan bunyi beep 2 kali. Penggantian dapat dibatalkan dengan menekan tombol ‘#’ (hal ini dapat dilakukan jika tombol ‘*’ belum ditekan) dan ditandai dengan beep 4 kali dan kembali ke menu utama. Berikut ini potongan list program menu utama: 11

CEK_PASSW

Untuk membaca password digit ke 2, 3 dan 4

HIDAYAT

MENU_UTAMA: ; SUBRUTIN MENU UTAMA digit ke 1 ;-------------------------------CEK_DATA: LCALL CEK_NO_STD ; menunggu tombol ditekan LCALL AMBIL_DATA BIN_1: CJNE A, #0BH, KRES_1 ; cek digit * LCALL CEK_STD ; menunggu tombol dilepas LJMP DGT_1_5 KRES_1: CJNE A, #0CH, SALAH_1 ; cek digit # LCALL CEK_STD ; menunggu tombol dilepas LJMP MULAI SALAH_1: LCALL SALAH_DIAL LJMP CEK_DATA ; SUBRUTIN MENU UTAMA digit ke 2 ;-------------------------------DGT_1_5: LCALL CEK_NO_STD LCALL AMBIL_DATA DGT_1: CJNE A, #01H, DGT_2 ; cek digit 1 LCALL CEK_STD MOV P0, 41H ; isi po dengan data alamat 41h SETB AKTIF_1 ; enable sw. logic 1 CLR AKTIF_2 ; disable sw. logic 2 LJMP DGT_1_8 ; masuk ke submenu digit 1-8 DGT_2: … DGT_3: 3 CJNE A, #03H, DGT_4 ; cek digit

KRES_2: CJNE #

A, #0CH, SALAH_2 ; cek digit LCALL CEK_STD LJMP MULAI LCALL SALAH_DIAL LJMP CEK_DATA

SALAH_2:

List program label DGT_2 sama dengan DGT_1 hanya saja P0 diisi data dari alamat 42H dan switch logic yang diaktifkan dan yang ditidak aktifkan tinggal dibalikkan. List program pada label DGT_4 sama dengan DGT_3 hanya saja P0 diisi dengan nilai 0FFH (untuk men-off-kan semua lampu). Berikut contoh list program pada submenu untuk men-on/ off-kan Switch Driver:
DGT_1_8: LCALL CEK_NO_STD LCALL AMBIL_DATA ;Digit 1 RLY_1: CJNE A, #01H, RLY_2 ; cek digit 1 LCALL CEK_STD LCALL DTMF_BK ; ke pengecekan * atau # SET_1: JNB TANDA, CLR_1 CLR P0.0 ; Sw. Driver On/ Lampu On LCALL SIMPAN LJMP DGT_1_8 CLR_1: SETB P0.0 ;sw. driver off/ lampu off LCALL SIMPAN LJMP DGT_1_8 … TND_KRES: CJNE A, #0CH, SALAH_3 ; CEK DIGIT # LCALL CEK_STD CLR AKTIF_2 CLR AKTIF_1 LCALL SUKSES_DIAL LJMP CEK_DATA SALAH_3: LCALL CEK_STD CLR AKTIF_2 CLR AKTIF_1 LCALL SALAH_DIAL LJMP CEK_DATA DTMF_BK: LCALL CEK_NO_STD LCALL AMBIL_DATA SET_B: CJNE A, #0BH, CLR_K ; cek digit * LCALL CEK_STD SETB TANDA RET CLR_K: CJNE A, #0CH, DTMF_BK ; cek digit #

DGT_4: 4

LCALL CEK_STD MOV P0, #00H ; semua lampu on SETB AKTIF_1 ; enable sw. logic 1 SETB AKTIF_2 ; enable sw. logic 2 MOV SIMPAN_P01, P0 MOV SIMPAN_P02, P0 CLR AKTIF_1 ; disable sw. logic 1 CLR AKTIF_2 ; disable sw. logic 2 LJMP CEK_DATA CJNE A, #04H, DGT_5 ; cek digit LCALL CEK_STD …

DGT_5: 5

CJNE

A, #05H, KRES_1

; cek digit

LCALL CEK_STD LJMP CHANGE_PASS

12

SISTEM KENDALI JARAK JAUH

LCALL CEK_STD CLR TANDA RET

TONE_ON:

Digit 3 sampai 8 sama dengan digit 1 hanya saja nilai digit yang dicek dan bit port yang diaturnya berbeda. Berikut potongan list program penggantian password:
CHANGE_PASS: CH_1: LCALL CEK_NO_STD LCALL AMBIL_DATA MOV R0, A ; simpan digit ke-1 LCALL CEK_STD …

TONE_DLY:

SETB TONE_OUT ACALL TONE_DLY CLR TONE_OUT DJNZ R0, TONE_ON RET MOV R1, #0AFH DJNZ R1, $ RET

Sementara itu untuk pewaktu diperoleh dengan menggunakan timer 0 sebagai pewaktu 16 bit untuk menghasilkan waktu 40 millisecond. Adapun nilai 40 ms diperoleh dari perhitungan sebagai berikut:
T = (65535 – THx TLx) * 1us T = (65535 – 255 * 100) * 1 us T = 40035 us T = 40,035 ms

untuk membaca digit ke 2, 3 dan 4 hanya mengganti register R0 pada list program menjadi R1, R2, dan R3. Selanjutnya adalah potongan list program untuk membaca password baru disetujui atau digagalkan.
LCALL CEK_NO_STD SETUJU: LCALL AMBIL_DATA CJNE A, #0BH, GAGAL ; cek digit * LCALL CEK_STD ; SIMPAN PASSWORD BARU MOV 50H, R0 ; simpan digit ke-1 dialamat 50H MOV 51H, R1 ; simpan digit ke-2 dialamat 51H MOV 52H, R2 ; simpan digit ke-3 dialamat 52H MOV 53H, R3 ; simpan digit ke-4 dialamat 53H LCALL SUKSES_DIAL LJMP CEK_DATA GAGAL: CJNE A, #0CH, OFFHOOK ; cek digit # LCALL CEK_STD LCALL SALAH_DIAL LJMP CEK_DATA OFFHOOK: LCALL CEK_STD LCALL SALAH_DIAL LJMP MULAI

Dibawah ini potongan list program untuk pewaktu:
DELAY_500MS: MOV R4, #0DH DLY_1S: ACALL DELAY_40MS DJNZ R4, DLY_1S RET DELAY_40MS: ACALL SETTIMER0 DELAY1: JBC TF0, MAX SJMP DELAY1 MAX: CLR TR0 ; matikan timer RET SETTIMER0: MOV TMOD, #01H MOV TH0, #64H ; isi TH0 dengan nilai 100 MOV TL0, #0FFH ; isi TL0 dengan nilai 255 SETB TR0 ; aktifkan timer RET

KESIMPULAN Berdasarkan uraian di atas dan analisis diperoleh kesimpulan sebagai berikut: 1. Adanya password pada sistem kendali jarak jauh ini memberikan keamanan, sehingga tidak sembarang orang dapat mengakses sistem ini. Jumlah digit password (4 digit) menjaga kemungkinan password dapat diacak oleh orang lain karena pemeriksaan password dilakukan setelah 4 digit password diterima. Selain itu, dengan adanya fasilitas penggantian password yang dapat dilakukan setiap 13

Berikutnya dibawah ini adalah list program untuk menghasilkan bip pada pesawat telefon, yaitu dengan cara membuat suatu frekuensi yang dikeluarkan pada bit port 2.3 untuk menghasilkan nada bip pada saluran telefon.
TONE: MOV R0, #0BFH

HIDAYAT

saat menjamin kerahasiaan password. 2. Sistem kendali jarak jauh ini dapat memutuskan hubungan pada saluran telefon jika tidak ada penekanan tombol selama kurang lebih 10 detik. Hal ini dapat menghindari hubungan terusmenerus jika terjadi pemutusan hubungan secara tidak wajar. 3. Sistem kendali jarak jauh ini hanya dapat dilakukan oleh pesawat pemanggil yang dilengkapi fasilitas pemutaran nomor sistem DTMF. 4. Jumlah peralatan listrik yang mampu dikendalikan oleh sistem kendali jarak jauh ini maksimum 16 peralatan listrik yang diindikasikan oleh lampu LED dan diimplementasikan pada 4 buah lampu pijar. 5. Pada sistem kendali jarak jauh ini belum mampu menyimpan password terakhir hasil penggantian password ketika terjadi reset pada mikrokontroler atau di-offkannya sistem kendali jarak jauh ini. Password yang digunakan akan kembali pada password yang diinisialisasi pertama kali.

DAFTAR PUSTAKA Albert, M.P. (1993). Electronic principles (5thEd). Singapore: McGraw-Hill. Albert, M.P. (1994). Digital principles and applications (5thEd). Westerville: Glencoe/ McGraw-Hill. (2005). DT-I/O phone interface. Diakses pada 2 Desember 2005 dari World Wide Web: http://digilib.its.ac.id (2005). MT8870D/MT8870D-1 integrated DTMF receiver. Diakses pada 2 Desember 2005 dari World Wide Web: www.melabs.com/downloads/MT8870D. pdf Paulus, A.N. (2003). Teknik antarmuka dan pemrograman mikrokontroler AT89C51. Jakarta: Elex Media Komputindo. Suhana, & Shoji S. (1984). Buku pegangan teknik telekomunikasi. Jakarta: Pradnya Paramita. Wasito, S. (1995). Vademekum elektronika (2th). Jakarta: Gramedia Pustaka utama.

14

SISTEM KENDALI JARAK JAUH

LAMPIRAN

Mulai

Deklarasi Variabel Inisialisasi Input/ Output Awal Set Password Default

Setting Jum Dering

Cek Tanda Dering

T

Tanda Dering = Jum Dering?
Y

Baca Password

T

Password = Valid ?
Y

Menu Utama ‘*’ dan ‘1’ : Cek 1 .. 8 (pertama) ‘*’ dan ‘2’ : Cek 1 .. 8 (kedua) ‘*’ dan ‘3’ : Nyala Semua ‘*’ dan ‘4’ : Mati Semua ‘*’ dan ‘5’ : Ganti Password ‘#’ : Keluar

Keluar = Ya ?
Y

T

Flowchart perangkat lunak sistem Kendali jarak jauh secara umum 15

HIDAYAT

16


				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:7334
posted:12/30/2009
language:Indonesian
pages:14