Kamis, 04 Juni 2009

Pengendali alat listrik jarak jauh lewat sms

SISTEM PENGENDALI LAMPU
JARAK JAUH LEWAT
SMS HP
Pembukaan
Sekarang telah banyak alat pengendali lampu listrik jarak jauh menggunakan remote dengan media infra merah maupun gelombang, namun masih jarang yang dapat mengendalikan peralatan lampu listrik jika berada di tempat yang jauh dengan memanfaatkan fasilitas provider GSM. Maka dalam perancangan pengendalian lampu listrik jarak jauh ini mencoba menggunakan fasilitas SMS pada telepon seluler, yang diharapkan dapat mengendalikan dan
memantau peralatan lampu listrik dari jarak jauh dari daerah manapun asal masih terjangkau sinyal operator GSM.
Diagram Kotak Perangkat Keras

Sistem kendali lampu dengan media SMS ini, dirancang berdasarkan berbasis mikrokontroler AT89S51.HP Siemens M35 digunakan sebagai Gateway SMS. HP dengan mikrokontroler terhubung dengan menggunakan kabel data yang memanfaatkan komunikasi serial RS232. Jenis komunikasi yang digunakan adalah model UART.Mikrokontroler mempunyai peran sebagai basis sistem. Mikrokontroler akan membaca dan berkomunikasi dengan HP, kemudian mengendalikan lampu dengan bantuan driver relai, serta membaca sensor yang telah dilewatkan sebuah komparator. Driver dipasang bertujuan untuk mengendalikan lampu yang bekerja pada tegangan AC/220V. Hal ini mutlak diperlukan karena mikrokontroler hanya bekerja pada level tegangan TTL dan CMOS, sehingga tidak mampu secara langsung mengendalikan lampu.
Sensor yang berupa fototransistor digunakan untuk mengubah kondisi cahaya ke dalam besaran listrik. Agar sensor yang bersifat analog mampu dibaca oleh mikrokontroler yang bersifat digital sehingga perlu dipasang sebuah komparator. Komparator ini bertugas untuk membandingkan kondisi sensor yang masuk ke pin (+) op-amp dengan tegangan referensi pada pin (-) op-amp ketika gelap atau terang dan mengubahnya menjadi logika digital pada pin output-nya. Sedangkan gerbang not 74LS14 yang mempunyai kemampuan trigger pulsa masukan dan pada data sheet keluaran dari IC ini sudah standar TTL sehingga dapat langsung dihubungkan dengan mikrokontroler. Gerbang not 74LS14 juga digunakan untuk membalik keadaan tegangan input sehingga pada saat input high maka keluarannya akan bernilai low.

Komunikasi mikrokontroler dan HP
Untuk berkomunikasi antara mikrokontroler dan HP diperlukan fasilitas komunikasi serial dengan model UART dengan kecepatan 19200bps untuk jenis HP Siemens M35. Kecepatan ini akan bervariasi tergantung dari jenis HP yang digunakan. Level tegangan yang digunakan adalah RS232. Sementara itu mikrokontroler hanya menyediakan fasilitas komunikasi serial UART dengan pin TX, dan Rx dengan level tegangan RS232. Untuk itu diperlukan sebuah sistem adapter yang mampu mengubah level tegangan TTL ke level RS232. Pada HP Siemens M35 terdapat konektor untuk berkomunikasi dengan piranti luar. Biasanya konektor ini mampu diakses dengan kabel data serial. Umumnya kabel data sudah dilengkapi dengan konverter RS232 untuk itu mikrokontroler memerlukan piranti tambahan yaitu modul konverter dari TTL ke RS232.
Untuk memenuhi standar komunikasi RS232 diperlukan IC konverter MAX232. IC ini diproduksi oleh Maxim dallas semiconductor. Pada IC ini sudah dilengkapi dengan sistem adapter RS232 sehingga tinggal menghubungkan pin T1IN dengan pin TXD dari mikrokontroler pada P3.1, dan menghubungkan pin R1IN dengan pin RXD dari mikrokontroler pada P3.0.
Pada bagian HP sebelum masuk ke terminal harus dikonversi dulu ke level tegangan yang mampu diakses oleh Hand Phone. Umumnya pengkonversian ini sudah otomatis dilakukan oleh kabel data dari Hand Phone tersebut.

Tabel Fungsi terminal HP Siemens M35

RANGKAIAN KESELURUHAN

Perancangan Perangkat Lunak

Perangkat lunak yang dibangun menggunakan bahasa asembler, didasarkan pada flow chart yang telah disusun pada Gambar. Beberapa potongan program yang digunakan untuk menangani sistem adalah sebagai berikut. Untuk memberikan mode stand-by ke HP maka harus dikirim perintah AT+CNMI=1,1. Perintah ini dikirim ke HP dengan transfer data serial, potongan program berikut mengilustrasikan pengiriman data tersebut.
;———————
; AKTIVASI MODE STANBY
;———————
MODE_STANBY:
MOV DPTR,#PESAN ;KIRIM PERINTAH ‘AT+CNMI=1,1′
LAGI2:
CLR A ;RESET ACC
MOVC A,@A+DPTR ;AMBIL KARAKTER DARI TABEL
CLR TI ;AKTIVASI KIRIM SERIAL
MOV SBUF,A ;KELUARKAN DATA DARI ACC KE BUFFER
JNB TI,$ ;KIRIM SERIAL
INC DPTR ;NAIKKAN PENUNJUK TABEL
CJNE A,#00,LAGI2 ;TUNGGU SEMUA KARAKTER SELESAI
RET
;—————————————
PESAN:
DB ‘AT+CNMI=1,1′,13,10
DB 0

Jika ada SMS yang masuk, maka sistem akan membaca isi SMS dengan memberikan perintah AT+CMGR=1. Potongan program berikut digunakan untuk membaca isi SMS pada alamat 1.
;——————–
;SUB RUTIN BACA SMS
;——————–
BACA_SMS:
MOV DPTR,#SMSREAD ;BACA SMS
ACALL KIRIM_DATA ;KIRIM PERINTAH ‘AT+CMGR=1′
RET
Isi sms akan diproses apakah sesuai dengan kata kunci atau tidak, jika sesuai dengan kata kunci maka perintah akan dieksekusi. Jika terjadi error maka sistem akan memberikan SMS balasan ke user. Untuk membandingkan data SMS yang masuk dengan kata kunci maka digunakan potongan program berikut.
BANDING:
MOV DPTR,#L1ON ;AMBIL CODE PDU ‘DTE 1 ON’
MOV R0,#16 ;BANDNGKAN 12X
ACALL BANDING_KATA
JB 20H,DATA_BEDA2 ;JIKA BEDA LOMPAT KE LABEL
MOV 21H,#01 ;FLAG UNTUK ‘DTE 1 ON’
CLR LAMPU1
JMP SSS
DATA_BEDA2:
MOV DPTR,#L2ON ;BANDINGKAN APAKAH DATA
MOV R0,#16 ;’DTE 2 ON’?
ACALL BANDING_KATA
JB 20H,DATA_BEDA3
MOV 21H,#02 ;FLAG UNTUK ‘DTE 2 ON’
CLR LAMPU2
JMP SSS
;——————————–
L1ON: DB ‘08446A1114033D9D’
L2ON: DB ‘08446A1124033D9D’
L1OFF: DB ‘09446A1114033D8D46′
L2OFF: DB ‘09446A1124033D8D46′

Perancangan Kode SMS

Untuk memberikan perintah ke sistem, tidak semua SMS mampu dikenali oleh sistem. Hanya SMS tertentu yang sudah disesuaikan yang mampu dikenali oleh sistem. Berbagai rancangan kode-kode SMS disajikan pada Tabel berikut ini.

Pada Tabel diatas menunjukkan perintah-perintah yang bisa dikenali. Mikrokontroler membaca isi SMS dan mikrokontroler hanya mengenali isi SMS yang menggunakan karakter huruf besar atau yang sesuai dengan kata kunci yang sesuai valid (pada program). Jika menggunakan karakter biasa mikrokontroler menganggap sebagai SMS ilegal. Dalam perintah pertama yang diberikan adalah AT+CMGD =1 yang artinya menghapus lokasi inbox sms no 1 pada handphone. Setelah itu mikrokontroler mengirimkan kode AT+CNMI=1,1 yang artinya mengirimkan mode stand-by ke HP agar dapat menerima SMS.
Setelah ada SMS yang masuk, maka perintah yang kedua adalah ‘AT+CMGR=1’ perintah ini digunakan untuk membaca inbox HP pada lokasi memory no 1. Kemudian perintah yang ketiga adalah ‘AT+CMGS=30’ yang artinya mengirim SMS balasan ke nomor pengirim yang pada Gambar terlihat nomor pengirim adalah 0D91261808624919F8.


Data ini merupakan data PDU yang terdiri dari beberapa header. Header-header tersebut adalah:
· 0D = No pengirim/penerima berjumlah 13 angka.
· 91261808624919F8 = No HP penerima, dan bila diartikan nomornya adalah 6281802694918.
· = Bentuk SMS yang terima dalam format SMS biasa.
· = Skema encoding yang dipakai 7 bit
· 09CC18E8E904096153 = Isi balasan SMS, bila diartikan menjadi ‘L1 ON BOS’
Perintah yang ke-empat setelah tanda panah adalah ‘AT+CMGD=1’ perintah ini digunakan untuk menghapus inbox pada lokasi pertama. Jika perintah ini berhasil, maka respon HP adalah ‘OK’.

Tanggapan Sistem

Pengujian tanggapan sistem alat dilakukan dengan memasang HP M35 dan rangkaian secara keseluruhan. Pengujian dilakukan dengan memberikan perintah yang dikirim dengan SMS melalui nomor XL 081802694918. Adapun perintah-perintahnya sebagai berikut:
DTE 1 ON = Perintah ini digunakan untuk menyalakan lampu 1

Tabel 4.3 Hasil percobaan SMS menghidupkan lampu 1

B. DTE 2 ON = Perintah ini digunakan untuk menyalakan lampu 2

Tabel 4.4 Hasil percobaan SMS menghidupkan lampu 2


C. DTE 1 OFF = Perintah ini digunakan untuk memadamkan lampu 1

Tabel 4.5 Hasil percobaan SMS memadamkan lampu 1





DTE 2 OFF = Perintah ini digunakan untuk memadamkan lampu 2


Tabel 4.6 Hasil percobaan SMS memadamkan lampu 2



E. CEK STATUS = Untuk mengecek keadaan lampu 1 dan lampu 2 yang sangat tergantung pembacaan sensor cahaya yang dipasang di dekat lampu.

Tabel Hasil percobaan SMS Cek Status


Setelah pengujian-pengujian terhadap kata kunci dari setiap keadaan yaitu DTE 1 ON, DTE 2 ON, DTE 1 OFF, DTE 2 OFF, dan CEK STATUS. Dari pengujian pada tiap-tiap kata kunci kode SMS, maka diperoleh hasil respon SMS alat semuanya sesuai setting, berarti persentase keberhasilan alat ini dalam mengeksekusi perintah dan membalas SMS ke pengirim adalah 100 %.