Pengendalian Jarak Jauh Menggunakan Telepon Seluler
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
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. Gambar menunjukkan blok diagram dari alat ini.
Blok diagram sistem
Pada Gambar ditunjukkan diagram kotak sistem secara keseluruhan. 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.
Komunikasi 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 l
evel tegangan yang mampu diakses oleh Hand Phone. Umumnya pengkonversian ini sudah otomatis dilakukan oleh kabel data dari Hand Phone tersebut. Model koneksi kabel data untuk HP Siemens M35 di gambarkan pada Gambar
Model kabel data Hand Phone Siemens M35
Pada Gambar disajikan model koneksi kabel data yang kompatibel dengan PC. Pada Gambar disajikan koneksi pada HP Siemens M35. Pada konektor ini terdapat 2 pin sebagai jalur komunikasi. Pada koneksi Hand Phone Siemens
M35, pin-pin yang ada harus dihubungkan sesuai dengan fungsi terminal
masing-masing. Adapun fungsi masing-masing terminal disajikan pada tabel
Gambar Terminal port pada HP Siemens M35
Tabel Fungsi terminal HP Siemens M35
No
|
Nama
|
Fungsi
|
In/Out
|
1
|
GND
|
Ground
|
|
2
|
SELF SERVICE
|
Recognition / Battery Charger
|
In/Out
|
3
|
LOAD
|
Charging Voltage
|
In
|
4
|
BATTERY
|
Battery
|
Out
|
5
|
DATA OUT
|
Data Send
|
Out
|
6
|
DATA IN
|
Data Receive
|
In
|
7
|
Z_CLK
|
Recognition / Control Accesoris
|
|
8
|
Z_DATA
|
Recognition / Control Accesoris
|
|
9
|
MICG
|
Ground for Microphone
|
In
|
10
|
MIC
|
Microphone input
|
|
11
|
AUD
|
Loudspeaker output
|
Out
|
12
|
AUDG
|
Ground for Loudspeaker
|
|
Sensor dan Komparator
Pada sistem aplikasi SMS untuk kendali lampu ini bersifat close loop.
Untuk itu perlu dipasang sensor cahaya untuk memantau cahaya yang
dihasilkan oleh lampu. Selain itu juga sensor cahaya juga akan
memberikan interupsi atau sinyal pemberitahuan ke mikrokontroler.
Sensor
ini menggunakan komponen utama fototransistor. Fototransistor adalah
komponen peka cahaya yang bekerja sebagaimana transistor bekerja.
Keluaran fototransistor dikuatkan oleh penguat pembanding atau yang
biasa disebut sebagai komparator. Keluaran komparator dimasukkan ke
sebuah masukan schmitt trigger sebelum diakses ke mikrokontroler. Maksud dari pemasangan schmitt trigger adalah, agar level tegangan keluarannya sesuai dengan level tegangan TTL. Gambar disajikan gambar sensor cahaya.
Gambar Sensor Cahaya
Cara kerja dari rangkaian ini adalah jika terkena cahaya maka fototransistor akan tertutup atau bertahanan kecil. Sehingga pada kaki komparator input non inverting akan bernilai rendah atau lebih rendah dari tegangan input inverting. Sehingga tegangan keluaran komparator akan rendah. Kemudian tegangan ini akan dibalik menjadi logika tinggi oleh inverting schmitt trigger
74LS14 sehingga akan menjadi logika 1. Jika tidak terkena cahaya maka
nilai tahanan fototransistor akan tinggi, atau transistor hubung buka.
Sehingga nilai input inverting akan lebih tinggi dari input non inverting. Hal ini akan menyebabkan keluaran komparator tinggi dan kemudian dibalik oleh schmitt trigger 74LS14 menjadi rendah.
Jadi pada saat terkena cahaya, ouput sensor akan tinggi, dan jika tidak terkena cahaya output sensor akan rendah. Potensiometer R2 berfungsi untuk mengatur besar tegangan pembanding atau tegangan referensi.
Driver Relai dan Beban
Mikrokontroler
mampu mengeluarkan tegangan 0V dan 5V. Namun dalam kenyataannya
tegangan ini tidak bisa digunakan secara langsung untuk menggerakkan
beban. Hal ini disebabkan karena arus yang mampu dilewatkan oleh
kaki-kaki mikrokontroler sangat kecil. Untuk itu perlu dipasang piranti
yang mampu menguatkan arus, sehingga dapat digunakan untuk menggerakkan
beban. Piranti ini biasa disebut dengan driver.
Rangkaian driver
biasanya terdiri dari transistor-transistor daya. Tapi untuk beban
berupa tegangan AC 220V perlu dipasang piranti saklar elektronis yaitu
relai. Ironisnya mikrokontroler tidak mampu menggerakkan relai secara
langsung, untuk itu perlu dipasang transistor. Pada Gambar disajikan driver untuk lampu AC 220V dengan kendali mikrokontroler.
Gambar Driver lampu
Pada rangkaian driver
Gambar 3.7, digunakan transistor FCS9012 untuk menggerakkan transistor
TIP 31. Hal ini dilakukan karena arus dari mikrokontroler terlalu kecil.
Sementara itu transistor TIP 31 digunakan untuk menggerakkan relai.
Cara kerja dari rangkaian ini adalah, jika diberikan logika low atau 0V dari port mikrokontroler, maka T1 PNP akan bekerja atau terhubung maka pada basis T2 NPN akan berlogika high,
sehingga T2 NPN akan bekerja atau terhubung. Maka jika T2 terhubung
relai akan mendapatkan suplai tegangan 12 Vdc. Setelah relai ON, maka
pada titik NO (Normaly open) akan menutup dan akan terhubung dengan phase 220 VAC dan akan ada arus yang mengalir ke lampu 1 sehingga lampu 1 menyala.
Sebaliknya jika port mikrokontroler mengeluarkan logika high (1), keadaan ini akan membuat T1 PNP tidak akan bekerja dikarenakan transistor PNP aktif low,
sehingga tidak ada arus yang mengalir ke pin basis T2 NPN dan tidak
membuat relai bekerja. Dengan ini keluaran pada relai akan terhubung ke
NC (Normally Close), sehingga lampu 1 tidak akan menyala karena
tidak terhubung dengan tegangan phase 220 VAC. Resistor 1 dan resistor 2
ini adalah untuk pembatas arus basis transistor, besanya nilai resistor
ini dapat dicari dengan cara matematis dengan cara melihat nilai HFE
tiap-tiap transistor dari data sheet.
Gambar Rangkaian Keseluruhan
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:
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.
Rancangan Kode SMS
No
|
Isi SMS
|
Status
|
Kegunaan
|
1
|
DTE 1 ON
|
Valid
|
Menyalakan lampu 1
|
2
|
DTE 2 ON
|
Valid
|
Menyalakan lampu 2
|
3
|
DTE 1 OFF
|
Valid
|
Memadamkan lampu 1
|
4
|
DTE 2 OFF
|
Valid
|
Memadamkan lampu 2
|
5
|
CEK STATUS
|
Valid
|
Melihat status lampu 1 & 2
|
6
|
Lampu 1 on
|
Invalid
|
Pesan error (UNKNOW COMMAND)
|
7
|
Lampu 2 on
|
Invalid
|
Pesan error (UNKNOW COMMAND)
|
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.
Hasil perancangan sistem Pengendalian Peralatan Lampu Listrik Jarak Jauh Menggunakan Telepon Seluler ini dapat dilihat pada Gambar
Gambar Rangkaian alat keseluruhan
Pengendalian Jarak Jauh Menggunakan Telepon Seluler (Lanjutan 1)
Application Feb 3, 2009
Koneksi HP
Pengujian terhadap konektivitas HP dilakukan dengan menggunakan soft ware hyper terminal dari windows. Yang perlu diperhatikan adalah setting baud rate yang digunakan. HP Siemens C35 / M35 memiliki baud rate 19200 bps. Berikut ini adalah gambar software hyper terminal ketika mikrokontroler direset :
Gambar Mikrokontroler direset
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.
Gambar Mikrokontroler membaca dan mengirim SMS balasan
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:
a. DTE 1 ON = Perintah ini digunakan untuk menyalakan lampu 1
Tabel 4.3 Hasil percobaan SMS menghidupkan lampu 1
No
|
Kata Kunci
Pengirim
|
SMS Balasan
|
Keadaan Lampu 1
|
Keterangan
|
1
|
DTE 1 ON
|
L1 OK BOS
|
Menyala
|
Sesuai Setting
|
2
|
DTE 1 ON
|
L1 OK BOS
|
Menyala
|
Sesuai Setting
|
3
|
DTE 1 ON
|
L1 OK BOS
|
Menyala
|
Sesuai Setting
|
4
|
DTE 1 ON
|
L1 OK BOS
|
Menyala
|
Sesuai Setting
|
5
|
DTE 1 ON
|
L1 OK BOS
|
Menyala
|
Sesuai Setting
|
b. DTE 2 ON = Perintah ini digunakan untuk menyalakan lampu 2
Tabel 4.4 Hasil percobaan SMS menghidupkan lampu 2
No
|
Kata Kunci
Pengirim
|
SMS Balasan
|
Keadaan Lampu 2
|
Keterangan
|
1
|
DTE 2 ON
|
L2 OK BOS
|
Menyala
|
Sesuai Setting
|
2
|
DTE 2 ON
|
L2 OK BOS
|
Menyala
|
Sesuai Setting
|
3
|
DTE 2 ON
|
L2 OK BOS
|
Menyala
|
Sesuai Setting
|
4
|
DTE 2 ON
|
L2 OK BOS
|
Menyala
|
Sesuai Setting
|
5
|
DTE 2 ON
|
L2 OK BOS
|
Menyala
|
Sesuai Setting
|
c. DTE 1 OFF = Perintah ini digunakan untuk memadamkan lampu 1
Tabel 4.5 Hasil percobaan SMS memadamkan lampu 1
No
|
Kata Kunci
Pengirim
|
SMS Balasan
|
Keadaan Lampu 1
|
Keterangan
|
1
|
DTE 1 OFF
|
L1 OFF BOS
|
Padam
|
Sesuai Setting
|
2
|
DTE 1 OFF
|
L1 OFF BOS
|
Padam
|
Sesuai Setting
|
3
|
DTE 1 OFF
|
L1 OFF BOS
|
Padam
|
Sesuai Setting
|
4
|
DTE 1 OFF
|
L1 OFF BOS
|
Padam
|
Sesuai Setting
|
5
|
DTE 1 OFF
|
L1 OFF BOS
|
Padam
|
Sesuai Setting
|
d. DTE 2 OFF = Perintah ini digunakan untuk memadamkan lampu 2
Tabel 4.6 Hasil percobaan SMS memadamkan lampu 2
No
|
Kata Kunci
Pengirim
|
SMS Balasan
|
Keadaan Lampu 2
|
Keterangan
|
1
|
DTE 2 OFF
|
L2 OFF BOS
|
Padam
|
Sesuai Setting
|
2
|
DTE 2 OFF
|
L2 OFF BOS
|
Padam
|
Sesuai Setting
|
3
|
DTE 2 OFF
|
L2 OFF BOS
|
Padam
|
Sesuai Setting
|
4
|
DTE 2 OFF
|
L2 OFF BOS
|
Padam
|
Sesuai Setting
|
5
|
DTE 2 OFF
|
L2 OFF BOS
|
Padam
|
Sesuai Setting
|
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
No
|
Kata Kunci
Pengirim
|
Keadaan Lampu
|
SMS Balasan
|
Ket
|
|
1
|
2
|
||||
1
|
CEK STATUS
|
Padam
|
Padam
|
L1 OFF, L2 OFF
|
Sesuai Setting
|
2
|
CEK STATUS
|
Menyala
|
Padam
|
L1 ON, L2 OFF
|
Sesuai Setting
|
3
|
CEK STATUS
|
Padam
|
Menyala
|
L1 OFF, L2 ON
|
Sesuai Setting
|
4
|
CEK STATUS
|
Menyala
|
Menyala
|
L1 ON, L2 ON
|
Sesuai Setting
|
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 %.
Tidak ada komentar:
Posting Komentar