C. BAYU AJI MARINDARTO (055114026)LAYANAN SMS Diajukan Untuk
Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
Oleh:
NIM : 055114026
FINAL PROJECT
CONTROLING AND MONITORING DEVICE FOR POOL WATER LEVEL IN THE
OTOMATION HOUSE SYSTEM USING SMS
Presented as Partial Fulfillment of the Requirements To Obtain the
Sarjana Teknik Degree
In Electrical Engineering Study Program
C. Bayu Aji Marindarto NIM : 055114026
ELECTRICAL ENGINEERING STUDY PROGRAM
SCIENCE AND TECHNOLOGY FACULTY
HALAMAN PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya
tulis ini tidak
memuat karya atau bagian karya orang lain, kecuali yang telah
disebutkan dalam kutipan
dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 4 April 2011
C. Bayu Aji Marindarto
Tuhan Yesus Kristus, Bapak dan Ibu Tercinta,
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas
Sanata Dharma :
Nama : C. Bayu Aji Marindarto
Nomor Mahasiswa : 055114026
PERANGKAT PENGENDALI DAN PEMANTAU KETINGGIAN AIR KOLAM
PADA SISTEM OTOMASI RUMAH MENGGUNAKAN LAYANAN SMS
beserta perangkat yang diperlukan (bila ada). Dengan demikian saya
memberikan kepada
Perpustakaan Universitas Sanata Dharma hak untuk menyimpan,
me-ngalihkan dalam
bentuk media lain, mengelolanya dalam bentuk pangkalan data,
mendistribusikan secara
terbatas, dan mempublikasikannya di Internet atau media lain untuk
kepentingan akademis
tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada
saya selama tetap
mencantumkan nama saya sebagai penulis.
INTISARI Aktifitas manusia semakin hari semakin padat dan kompleks.
Kondisi ini
mengakibatkan efisiensi waktu berkembang menjadi suatu kebutuhan
penting. Untuk memenuhi kebutuhan tersebut, salah satu solusi yang
logis adalah dengan menciptakan suatu sistem kendali otomatis yang
dapat membuat pekerjaan manusia menjadi semakin mudah dan efisien.
Perancangan pengendalian dan pemantauan ketinggian air kolam
memberikan solusi kendali jarak jauh agar penghuni rumah dapat
merasa nyaman.
Perangkat pengendali dan pemantau ketinggian air kolam dilakukan
untuk mempermudah pengguna dalam proses pengendalian dan pemantauan
pada sistem otomasi rumah menggunakan layanan Short Message Service
(SMS) pada jaringan Global System for Mobile Communications (GSM).
SMS digunakan sebagai media pengiriman pesan yang berisi format
untuk mengendalikan dan memantau ketinggian air kolam. Sistem
minimum berfungsi untuk melakukan proses pengendalian dan
pemantauan saat ada SMS masuk.
Sistem pengendali dan pemantau ketinggian air kolam memanfaatkan
layanan SMS sudah berhasil dibuat dan dapat bekerja dengan baik.
SMS yang masuk diolah dengan baik oleh minimum system, sehingga
tingkat keakurasian perintah yang dikirimkan dengan keadaan yang
terjadi pada kolam sudah sesuai dengan yang diinginkan.
ABSTRACT
Human activities is increasingly dense and complex. These
conditions resulted in efficiencies of time developed into a
necessity. To meet these needs, one logical solution is to create
an automatic control system that can create human tasks become
increasingly easy and efficient. The design of pond water level
controller and monitoring give the solution of remote controlling
system for the resident to feel comfort.
The pond water level controller and monitoring device is use to
facilitate users in control and monitoring process in the home
automation system using the Short Message Service (SMS) on the
network of Global System for Mobile Communications (GSM). SMS is
used as a medium for sending a message containing the format to
control and monitor the water level of the pond. Minimum system use
to perform the process of control and monitoring when there is
incoming SMS.
The pond water level controller and monitoring system utilizing SMS
service has been created and worked well. SMS messages processed
properly by the minimum system, so the sent commands accuracy level
to the circumstances that occurred in the pond was as
expected.
Keywords: water pond, control, monitoring, home automation, SMS,
GSM
KATA PENGANTAR
Syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala
rahmat dan karunia-Nya
sehingga tugas akhir dengan judul “Perangkat Pengendali dan
Pemantau Ketinggian Air
Kolam pada Sistem Otomasi Rumah Menggunakan Layanan Sms” ini dapat
diselesaikan
dengan baik.
Selama menulis tugas akhir ini, penulis menyadari bahwa ada begitu
banyak pihak
yang telah memberikan bantuan dengan caranya masing-masing,
sehingga tugas akhir ini
bisa diselesaikan. Oleh karena itu penulis ingin mengucapkan terima
kasih kepada:
1. Bapak Yosef Ageng Cahyanta, selaku Dekan Fakultas Sains dan
Teknologi
Universitas Sanata Dharma Yogyakarta.
2. Bapak Damar Wijaya, S.T., M.T., selaku dosen pembimbing yang
telah dengan
sabar membimbing, memberi semangat dan saran yang membantu penulis
dalam
menyelesaikan tulisan ini.
3. Seluruh dosen teknik elektro dan laboran yang telah banyak
memberikan
pengetahuan kepada penulis selama kuliah.
4. Kedua Orang Tua yang tercinta atas doa, kesabaran dan dukungan
baik secara moril
ataupun materil.
Marindaro atas dukungannya selama mengerjakan tugas akhir
ini.
6. Teman-teman elektro 2005 terima kasih atas dukungan, suka duka,
perhatian, dan
kebersamaan kita selama ini.
7. Kurniawan H.M. ST,. yang telah dengan sabar mengajari banyak hal
tentang
mikrokontroler.
8. Berbagai pihak yang tidak bisa penulis sebutkan satu-persatu
atas bantuan,
dukungan, bimbingan, kritik dan saran.
Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih
jauh dari
sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan
tugas akhir ini sangat
diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat
bagi semua pihak. Terima
kasih.
ILMIAH UNTUK KEPENTINGAN
AKADEMIS...................................................
vii
1.3. Batasan Masalah…………………………………………………………............... 2
1.4. Metodologi Penelitian…………………………………………………………….. 2
2.1. Jaringan GSM…………………………………………………………………….. 5
2.3. PDU Sebagai Bahasa SMS……………………………………………….……… 11
2.4. Komunikasi Serial RS232……………………………………………………….. 13
2.5. Port Serial PC (Personal Computer)…………………………………………….. 15
2.6. AT Command………………………………………………………………......... 16
2.7. Mikrokontroler AVR…………………………………………………………….. 17
2.8. Telepon Seluler Siemens C35………………………………………………..........
18
2.10.1. Keuntungan LCD………………………………………………………… 24
3.1. Gambaran Sistem……………………………………………………………......... 27
3.2.2.4. Perancangan Piranti Lunak
Komputer...................................................
34
4.1 Gambar Fisik Hardware……………………………………………………............ 36
4.3 Pengujian SMS Perintah…………………………………………….…….............
37
4.3 Pengujian ketinggian air……………………………………………………..……. 41
4.4 Pengujian pengiriman data ke komputer…………………………………………..
45
4.5 PEMBAHASAN PERANGKAT LUNAK (SOFTWARE)………………..……… 46
4.5.1 Pembahasan Program pada Komputer……………………………………… 46
4.5.2 Pembahasan Program pada Mikrokontroler…………………………………50
BAB V KESIMPULAN DAN SARAN……………………………………………... 56
5.1 Kesimpulan……………………………………………………………………….. 56
5.2 Saran………………………………………………………………………………. 56
Gambar 2.2. Integrasi jaringan GSM dan jaringan lain…………………………….
10
Gambar 2.3. Pengiriman data serial [4]……………………………………………...13
Gambar 2.4. Rangkaian koneksi RS232 dengan mikrokontroler
[5]………………. 15
Gambar 2.5. Konfigurasi pin konektor DB9 [6]…………………………………….
15
Gambar 2.6. Konfigurasi pin ATMega8535 [8]……………………………………. 18
Gambar 2.7. Pin eksternal Siemens C35 tampak bawah
[7]....................................... 19
Gambar 2.8. Ping Ultrasonic Range Finder [9]…………………………………….20
Gambar 2.9. Diagram Cara Kerja Sensor Ultrasonik………………………………
21
Gambar 2.10. Contoh Diagram Alir Penggunaan Sensor
Ultrasonik………………. 22
Gambar 2.10. (lanjutan) Contoh Diagram Alir Penggunaan Sensor
Ultrasonik …… 22
Gambar 2.12. Modul dari Liquid Crystal Display [10]…………………………….
23
Gambar 3.1. Diagram blok sistem………………………………………………….. 27
Gambar 3.2. Rangkaian Mikrokontroler
ATMEGA8535[8]...................................... 29
Gambar 3.3. Rangkaian LCD
[10]..............................................................................
29
Gambar 3.4. Rangkaian Komunikasi serial RS232 [4]……………………………...
30
Gambar 3.5. Rangkaian Keseluruhan………………………………………………. 30
Gambar 3.6. Diagram Alir Piranti Lunak Pengirim Data
Mikrokontroler................. 31
Gambar 3.7. Diagram Alir Pengecekan SMS………………………………………. 32
Gambar 3.8. Diagram Alir Pengiriman Data Setting……………………………………
33
Gambar 3.9. Diagram alir Piranti Lunak Antarmuka
Mikrokontroler........................ 34
Gambar 3.10. Diagram alir Piranti Lunak
Komputer................................................. 34
Gambar 3.11. Tampilan Program di Komputer…………………………………….. 35
Gambar 4.1 Rangkaian keseluruhan………………………………………………... 36
Gambar 4.2 (a) Rangkaian pompa………………………………………………….. 36
Gambar 4.2 (b) Sensor Ultrasonik………………………………………………….. 36
Gambar 4.2 (c) LCD………………………………………………………………... 36
Gambar 4.2 (d) Handphone………………………………………………………… 37
Gambar 4.2 (e) Rangkaian elektronis……………………………………………… 37
Gambar 4.3 Pengujian SMS periodik………………………………………………. 40
Gambar 4.4 (lanjutan) Grafik waktu terhadap ketinggian
air………………………. 43
Gambar 4.4 (lanjutan) Grafik waktu terhadap ketinggian
air………………………. 44
Gambar 4.5 Hasil pengujian hyperterminal…………....……………………………
45
Gambar 4.6 Tampilan pengujian program di komputer……………………………..
46
Gambar 4.7 Tampilan program keseluruhan………………………………………. 46
Gambar 4.8 Tampilan program setelah dipilah……………………………………..
47
Gambar 4.9 Tampilan program TxtLog……………………………………………. 48
Gambar 4.10 Kesalahan koneksi port………………………………………………. 49
Daftar Tabel Tabel 2.1. Perbandingan sistem konvensional dan
selular [1]………………………… 5
Tabel 2.2. Teknologi Seluler Analog [1]………………………………………………. 6
Tabel 2.3. Teknologi Seluler Digital [1]……………………………………………… 6
Tabel 2.3. ( Lanjutan ) Teknologi Seluler Digital
[1]…………………………………..7
Tabel 2.3. ( Lanjutan ) Teknologi Seluler Digital
[1]…………………………………..8
Tabel 2.4. Protocol Data Unit (PDU) [3]……………………………………………. 12
Tabel 2.5. Keterangan pin konektor DB9 (PC serial port)
[6]………………………. 15
Tabel 2.5. (lanjutan)Keterangan pin konektor DB9 (PC serial port)
[6]…………….. 16
Tabel 2.6. Perintah AT Command [7]………………………………………………… 16
Tabel 2.6. (lanjutan) Perintah AT Command [7]………………………………...……
17
Tabel 2.7. Data awal perancangan rumus……………………………………………..21
Tabel 2.8. Keterangan modul LCD [10]………………………………………………24
Tabel 4.1 Format SMS yang dikirim dan yang diterima……………………………..
37
Tabel 4.1 (lanjutan) Format SMS yang dikirim dan yang
diterima…………………. 38
Tabel 4.1 (lanjutan) Format SMS yang dikirim dan yang
diterima………………….. 39
Tabel 4.2. Pengujian dengan nomor asing…………………………………………… 39
Tabel 4.3 Pengujian SMS periodik……………………………………………………40
Tabel 4.4 Data awal perancangan rumus……………………………………………...41
Tabel 4.5 Pompa memasukkan air aktif (ketinggian air
bertambah)………………….42
telekomunikasi yang berkembang baik jaringannya maupun alat
komunikasi yang
digunakan. Peralatan komunikasi yang semakin canggih ini
memungkinkan seseorang
dapat melakukan komunikasi maupun berkirim data dengan orang lain
di manapun mereka
berada. Salah satu teknologi untuk berkomunikasi adalah telepon
seluler (ponsel).
Telepon seluler tidak terlepas dari penyedia layanan operator
seluler. Operator
seluler di Indonesia melayani 2 jenis teknologi, yaitu Global
System for Mobile
Communication (GSM) dan Code Division Multiple Access (CDMA) [1].
Dengan
banyaknya operator baik GSM maupun CDMA, Indonesia memiliki
operator seluler
terbanyak di dunia.
Ada jenis layanan komunikasi yang populer yaitu komunikasi suara
dan tulisan.
Komunikasi melalui tulisan ini dikenal oleh masyarakat dengan
sebutan Short Message
Service (SMS). SMS adalah salah satu layanan dari teknologi GSM
yang memungkinkan
pengguna mengirim maupun menerima pesan-pesan singkat berupa teks
dengan kapasitas
160 karakter dari Mobile Station (MS) atau ponsel.
Saat ini sudah tersedia suatu alat yang dapat digunakan untuk
mengendalikan
peralatan elektronik dengan sebuah komputer sebagai pusat kendali
[2]. Dengan adanya
pusat kendali ini, pengguna dapat lebih leluasa mengendalikan
peralatan elektronik yang
ada di rumah, kantor, pertokoan, dan lain-lain.
Dengan menggabungkan antara teknologi komunikasi dengan jaringan
GSM dan
pengendalian terpusat, penulis akan membuat pengendali ketinggian
air kolam ikan secara
jarak jauh pada sistem otomasi rumah dengan memanfaatkan layanan
SMS. Sistem ini
akan menginformasikan apakah ketinggian air sudah sesuai dengan
keinginan pengguna
atau belum. Pengguna dapat mengendalikan ketinggian air ataupun
hanya mengecek
ketinggian air melalui SMS di manapun pengguna itu berada. Sistem
ini sangat cocok
untuk pengguna yang memiliki mobilitas yang tinggi sehingga tidak
sempat mengatur
rumah.
2
2
1.2. Tujuan dan Manfaat Skripsi ini bertujuan untuk membuat
perangkat pengendalian dan pemantau
ketinggian kolam ikan menggunakan layanan SMS.
Manfaat yang diharapkan dari penulisan skripsi ini adalah :
1. Meningkatkan kenyamanan pengguna rumah dalam pengaturan
ketinggian
kolam ikan.
3. Menjadi acuan, referensi, rujukan dan bahan pertimbangan untuk
meningkatkan
kenyamanan rumah dan pengendalian peralatan elektronika yang berada
di
rumah disaat pemilik rumah sedang bepergian.
1.3. Batasan Masalah Penelitian akan dibatasi dengan :
1. pengambilan data ponsel menggunakan AT command.
2. Menggunakan mikrokontroler keluarga AVR ATMega 8535.
3. Pengukuran menggunakan sensor ultrasonik.
4. Komunikasi data dari ponsel ke komputer menggunakan kabel
serial.
5. Memanfaatkan jaringan dengan teknologi GSM.
6. Pemasokan air menggunakan pompa air.
7. Ukuran kolam 30cm x 30cm x 30cm.
1.4. Metodologi Penelitian Penulisan skripsi ini menggunakan metode
:
1. Studi kepustakaan yaitu studi untuk mendapatkan pengetahuan dan
dasar teori
yang berhubungan dengan masalah yang akan diteliti dalam tugas
akhir.
2. Perancangan subsistem hardware dan software.
Tahap ini bertujuan untuk memberi gambaran secara luas model alat
yang akan
dibuat dan memperhitungkan faktor-faktor yang dibutuhkan dalam
pembuatan
model alat. Gambar 1.1 memperlihatkan bagan model alat pengukur
ketinggian
air kolam.
3. Pembuatan sistem hardware dan software.
Berdasarkan Gambar 1.1, rangkaian ini akan bekerja mengukur
ketinggian
kolam terus menerus melalui sensor ultrasonik. Data ketinggian akan
disimpan
di database dalam komputer melalui interface mikrokontroler. Bila
pemilik
ingin mengetahui dan mengatur ketinggian kolam maka pemilik
memberikan
interupsi ke Personal Computer (PC) melalui media ponsel. PC akan
merespon
interupsi tersebut lalu segera mengirimkan informasi ketinggian
terakhir kolam
dan keadaan pompa air. PC akan mengirimkan data dan akan
menghidupkan
pompa air secara otomatis bila ketinggian air tidak sesuai set
point.
4. Proses pengambilan data.
Teknik pengambilan data dilakukan dengan cara mengolah waktu
pantul
menjadi ketinggian kolam. Waktu pantul dihasilkan dari perambatan
sinyal
ultrasonik. Pengolahan waktu pantul dilakukan oleh mikrokontroler.
Data yang
didapat adalah data ketinggian air dalam cm (centimeter). Data
ketinggian air
tersebut akan menjadi acuan untuk mengaktifkan pompa dalam
memasukkan air
ke kolam atau mengeluarkan air dari kolam. Data ketinggian tersebut
disimpan
dalam database PC. Data akan dikirimkan kepada pemilik kolam
apabila
diminta. Data yang dikirimkan adalah ketinggian air dan set point
saat itu.
4
4
Analisa data akan dibandingkan dengan ketinggian kolam yang
sesungguhnya
untuk mengetahui keakuratan alat. Penyimpulan hasil percobaan
dapat
dilakukan dengan menghitung presentase error yang terjadi.
Keberadaan teknologi kabel konvensional tidak dapat dipungkiri
telah membawa
banyak perubahan dalam dunia telekomunikasi. Namun teknologi
nirkabel seperti seluler
menghadirkan solusi lebih tepat di saat kebutuhan masyarakat akan
komunikasi bergerak
meningkat. Perbandingan antara sistem konvensional dan seluler
dapat dilihat pada Tabel
2.1.
Perbedaan Sistem Konvensional Sistem Selular
Daerah cakupan Dilayani oleh satu base station
dengan cakupan yang luas
Daerah dibagi dalam daerah
yang lebih kecil yang
layanan
menggunakan daya pancar yang
frequency reuse
frequency reuse.
Teknologi seluler yang ada saat ini telah mengalami masa-masa
transisi yang cukup
lama. Tabel 2.2. dan Tabel 2.3. menunjukkan perkembangan teknologi
seluler secara
umum.
6
6
Sistem Keterangan
pada tahun 1970-an dan pertama kali digunakan secara komersial
di
Amerika pada tahun 1983. Beroperasi pada band 800 dan 1900
MHz dan merupakan standar distribusi analog seluler.
N-AMPS Narrow-band Advanced Mobile Phone System -
Dikembangkan
oleh Motorola sebagai teknologi antara analog dan digital.
Teknologi ini mempunyai kapasitas tiga kali lebih besar
daripada
AMPS dan beroperasi pada range 800 MHz. Namun, saat ini sudah
tidak berfungsi lagi.
pada 450 MHz
NMT 900 Nordic Mobile Telephones / 900 - adalah versi upgrade dari
NMT
450 dan dikembangkan untuk menangani kapasitas yang lebih
besar
dan juga untuk untuk telepon portabel.
Tabel 2.3 . Teknologi Seluler Digital [1]
Sistem Keterangan
CDMA Code Division Multiple Access - Dikembangkan oleh
Qualcomm
dengan ciri kapasitas tinggi dengan radius sel yang kecil.
Menggunakan frekuensi band yang sama dengan AMPS dan
mendukung operasi AMPS, menggunakan teknologi spread
spectrum dan menggunakan skema pengkodean khusus. Teknologi
ini diadopsi oleh Telecommunications Industry Association
(TIA)
pada tahun 1993. Untuk pertama kalinya jaringan CDMA-based
yang dioperasikan
Sistem Keterangan
CDMA – 1 Spesifikasi range wireless yang luas meliputi IS-95,
IS-96, IS-99,
IS-634, dan IS-41, AT&T, Motorola, Lucent, ALPS, GSIC,
Prime
Co, Qualcomm, Samsung, Sony, US West, Sprint, Bell Atlantic,
Time Warner adalah sponsornya.
seluler yang telah ada dan menyediakan data transfer yang
lebih
cepat.
CT-2 Generasi kedua dari standar telepon cordless (tanpa kabel).
CT2
mempunyai 40 carriers x 1 duplex bearer per carrier = 40
channel
suara.
pelopornya yaitu DECT.
yaitu 30kHz dan band frekuensi pada (824-849 M) (869-894MHz)
seprti pada AMPS.dengan menggunkan TDMA dan frekuensi
FDMA, IS-136 akan meningkatkan jumlah pengguna dari 1-3 per
channel. Infrastruktur dari AMPS/D-AMPS dapat mendukung
telepon analog AMPS atau DAMPS. Dioperasikan pada band 800
MHz dan 1800MHz
GSM Amerika
E-Netz Nama Jerman untuk jaringan GSM 1800
8
8
Sistem Keterangan
di Eropa, pengembangan ini digunakan utnuk memberikan jaminan
kompatibilitas seluler di seluruh Eropa. Kesuksesan ini
ternyata
telah menyebar ke seluruh dunia sehingga lebih dari 80
jaringan
GSM telah dioperasikan. Teknologi ini dioperasikan pada 900
dan
1800 MHz pada seluruh bagian Eropa dan Inggris. Di beberapa
bagian Amerika menggunakan frekuensi 1900 Mhz
PCS Personal Communications Service. Frequency band PCS di
Amerika adalah 1850 hingga 1990 MHz, meliputi juga range yang
luas pada standar seluler dgital seperti N-CDMA dan GSM
-1900.
Telepon single-band GSM 900 tidak dapat dgunakan pada
jaringan
PCS. Jaringan PCS dioperasikan di seluruh USA.
PDC Personal Digital adalah standar TDMA-based di negara
Jepang
pada band 800 dan 1500 MHz.
TDMA Time Division Multiple Access. Adalah standar digital
yang
dikembangkan pertama kali di US. Sistem komersial TDMA
diawali
pada tahun 1993. disebut juga IS-54 pada awalnya dan dikenal
sebagai IS-136
global next generation yang akan diterapkan pada tahun 2010.
2.1.2. Arsitektur Jaringan GSM
Jaringan GSM 900 dan GSM/DCS 1800 adalah jaringan GSM yang tidak
jauh
berbeda yaitu disusun dari beberapa kesatuan fungsi yang mempunyai
fungsi dan
antarmuka tertentu. Gambar 2.1 memperlihatkan arsitektur suatu
jaringan GSM. Jaringan
GSM dapat dibagi ke dalam tiga bagian utama yaitu : Mobile Station
(MS), Base Station
Subsystem (BSS), dan Network Subsystem (NSS). MS dibawa oleh
pelanggan yang
bergerak. BSS mengendalikan jalur radio dengan MS. Sedangkan NSS
melakukan
9
9
switching panggilan antar pelanggan bergerak, dan antara pelanggan
bergerak dengan
pelanggan tidak bergerak. MS dan BSS berkomunikasi melalui
antarmuka Um yang juga
dikenal sebagai antarmuka udara. BSS berkomunikasi dengan NSS
melalui antarmuka. [1]
Gambar 2.1.Arsitektur Jaringan GSM [1]
Masing-masing bagian utama jaringan GSM tersusun dari bagian-bagian
lain yang
terpadu untuk mendukung fungsi utamanya. Sedangkan jaringan lain
yang dapat
berintegrasi dengan jaringan GSM yaitu jaringan selular lain Public
Line Mobile Network
(PLMN), telepon rumah Public Switched Telephone Network (PSTN),
Integrated Services
Digital Network (ISDN), dan jaringan yang berbasis internet seperti
terlihat pada Gambar
2.2. Public Line Mobile Network (PLMN) adalah jaringan yang dibuat
dan dioperasikan
oleh pemerintah atau oleh badan operasi yang diakui untuk tujuan
khusus untuk
menyediakan layanan telekomunikasi selular kepada masyarakat. PLMN
memiliki luas
cakupan yang besar, memiliki kemampuan bergerak dan memiliki
kapasitas yang besar
sebagai contoh adalah jaringan NMT, GSM, UMTS.
PSTN adalah jaringan telpon tetap (dengan kabel). PSTN secara umum
diatur oleh
standar-standar teknis yang dibuat oleh ITU-T, dan menggunakan
pengalamatan
E.163/E.164 (secara umum dikenal dengan nomor telepon).
ISDN adalah suatu sistem telekomunikasi di mana layanan antara
data, suara, dan
gambar diintegrasikan ke dalam suatu jaringan, yang menyediakan
konektivitas digital
ujung ke ujung untuk menunjang suatu ruang lingkup pelayanan yang
luas. Para pemakai
ISDN diberikan keuntungan berupa fleksibilitas dan penghematan
biaya, karena biaya
untuk sistem yang terintegrasi ini akan jauh lebih murah apabila
menggunakan sistem yang
terpisah. [1] Para pemakai juga memiliki akses standar melalui satu
set interface pemakai
NSS = Network & Switching Subsystem. BSS = Base Station
Subsystem. OSS = Operating Subsystem. MS = Mobile Station.
10
10
jaringan multiguna standar. ISDN merupakan sebuah bentuk evolusi
telepon local loop
yang memepertimbangkan jaringan telepon sebagai jaringan terbesar
di dunia
telekomunikasi. Di dalam ISDN terdapat dua jenis pelayanan,
yaitu:
1. Basic Rate Inteface (BRI)
2. Primary Rate Interface (PRI)
Gambar 2.2. Integrasi jaringan GSM dan jaringan lain
2.2. SMS SMS merupakan sebuah layanan yang banyak diaplikasikan
pada sistem
komunikasi tanpa kabel, memungkinkan dilakukannya pengiriman pesan
dalam bentuk
alphanumeric antara terminal pelanggan atau antara terminal
pelanggan dengan sistem
eksternal seperti email, paging, voice mail dan lain-lain. SMS
pertama kali muncul di
belahan Eropa pada sekitar tahun 1991 bersamaan dengan sebuah
teknologi komunikasi
wireless yang saat ini cukup banyak penggunanya. Teknologi digital
yang digunakan
bervariasi dari yang berbasis GSM, Time Division Multiple Access
(TDMA) hingga Code
Division Multiply Access (CDMA).
pertumbuhannya sangat tinggi tanpa ada penurunan tariff yang
berarti bahkan dapat
dikatakan tarifnya mengambil posisi steady state. Biasanya, bahkan
dalam kasus layanan
telepon bergerak, tarif akan turun seiring dengan meningkatnya
pengguna. Fakta lainnya
adalah fasilitas SMS dalam telepon bergerak ternyata punya andil
cukup besar dalam
menarik kaum muda masuk dalam pasar telepon bergerak.
Mekanisme utama yang dilakukan dalam sistem adalah melakukan
pengiriman
pesan singkat dari satu terminal pelanggan ke terminal yang lain.
Hal ini dapat dilakukan
berkat adanya sebuah entitas dalam sistem SMS yang bernama Short
Message Service
11
11
Center (SMSC), disebut juga dengan Message Center (MC). SMSC
merupakan sebuah
perangkat yang melakukan tugas store and forward trafic. SMS. Di
dalamnya termasuk
penentuan atau pencarian rute tujuan akhir dari pesan SMS. Sebuah
SMSC biasanya
didesain untuk dapat menangani SMS dari berbagai sumber seperti
voice mail system
(VMS). Web-based messaging, email integration. External short
message entity (ESMS)
dan lain-lain. Dalam interkoneksi dengan entitas dalam jaringan
komunikasi wireless
seperti Home Location Register (HLR) dan Mobile Switching Center
(MSC), SMSC
biasanya selalu menggunakan Signal Transfer Point (STP). [3]
Layanan SMS merupakan sebuah layanan yang bersifat non real time.
Sebuah
pesan SMS dapat disubmit ke suatu tujuan, tidak peduli apakah
tujuan tersebut aktif atau
tidak. Bila dideteksi bahwa tujuan tidak aktif, maka sistem akan
menunda pengiriman ke
tujuan hingga tujuan aktif kembali. Pada dasarnya sistem SMS akan
menjamin delivery
dari suatu pesan SMS hingga sampai tujuan. Kegagalan pengiriman
yang bersifat
sementara seperti tujuan tidak aktif akan selalu teridentifikasi
sehingga pengiriman ulang
pesan SMS akan selalu dilakukan kecuali bila diberlakukan atuan
bahwa pesan SMS yang
telah melampui batas waktu tertentu harus dihapus dan dinyatakan
gagal terkirim.
Karakteristik utama SMS adalah SMS merupakan sebuah sistem
pengiriman data
yang bersifat out-of-band dengan bandwith kecil. Dengan
karakteristik ini, pengiriman
suatu burst data yang pendek dapat dilakukan dengan efisiensi yang
sangat tinggi. Pada
awalnya SMS diciptakan untuk menggantikan layanan paging dengan
menyediakan
layanan serupa yang bersifat two-way messaging ditambah dengan
notification service,
khususnya untuk voice mail. Pada perkembangan selanjutnya, muncul
jenis-jenis layanan
lain seperti email, fax dan integration, information service dan
integrasi dengan aplikasi
berbasis internet. Selain itu juga berkembang layanan data wireless
seperti SIM download
for activation, profile editing dan lain-lain yang kemudian
mendorong timbulnya layanan-
layanan seperti web-based messaging, gaming dan chatting.
2.3. PDU Sebagai Bahasa SMS Setiap pengiriman SMS, baik dari HP
menuju operator, atau sebaliknya, selalu
menggunakan format PDU (Protocol Data Unit), yaitu paket data
dimana pesan SMS
dikemas, bersama informasi tanggal, nomor tujuan, nomor pengirim,
nomor operator, jenis
skema SMS, masa valid SMS, dan beberapa hal lain (tergantung jenis
paketnya).
12
12
Berikut ini adalah contoh PDU yang diterima oleh HP (New SMS atau
Inbox):
07 91 2658050000F0 04 0C 91 265836164900 00 00 506020 31133180 04
C830FB0D
Tabel 2.4. Protocol Data Unit (PDU) [3]
Oktet / Digit
Hexa Keterangan
Panjang atau jumlah pasangan digit dari nomor SMSC (service
number) yang digunakan, dalam hal ini adalah 7 pasangan (14
digit
berikutnya)
91
internasional (misal +6281xxx). Untuk 081xxx menggunakan
angka 81.
adalah ganjil, maka digit paling belakang dipasangkan dengan
huruf F. Kalau diterjemahkan, nomor SMSC yang digunakan
adalah +62855000000 (IM3)
0B Panjang digit dari nomor pengirim (0C hex = 12 desimal)
91 Jenis nomor pengirim (sama dengan jenis nomor SMSC)
265836164900 Nomor pengirim SMS, yang jika diterjemahkan
adalah
+628563619400
00 Skema pengkodean SMS, juga bernilai 0
506020
Waktu pengiriman, yang berarti 05-06-02 (2 Juni 2005), dan
jam
13:31:13. Sedangkan 80 adalah Timezone yang digunakan.
04 Panjang dari pesan SMS, dalam hal ini adalah 4 huruf
(dalam
mode 7 bit).
C830FB0D Pesan SMS dalam mode 7 bit. Jika diterjemahkan kedalam 8
bit,
lalu dirubah ke ASCII, maka didapat pesan 'Halo'
13
13
PDU digunakan pada pengiriman SMS menggunakan PC, namun pada
handphone
seri tertentu yang telah support AT+CMGF = 1 maka tidak diperlukan
format PDU
karena data langsung dikirimkan dalam bentuk teks ASCII.
Koneksi antara komputer dengan handphone dapat menggunakan beberapa
cara:
1. Menggunakan kabel data, dimana biasanya spesifik untuk setiap
merk handphone.
Untuk handphone Nokia mempunyai kabel data sendiri, begitu juga
untuk
handphone Siemens juga mempunyai sendiri. Kabel ini akan terhubung
di port COM,
atau ada juga yang di USB port.
2. Menggunakan IrDA (Infrared). Nantinya akan tercipta sebuah port
COM virtual.
3. Menggunakan Bluetooth, juga menciptakan port COM bayangan.
Yang perlu diperhatikan, jika menggunakan kabel data sebagai alat
koneksi pada
Windows, adalah direct port-nya harus sesuai dengan handphone yang
dipakai.
Berikut ini ketentuan AT+CMGL
1. AT+CMGL=0 : SMS baru
2. AT+CMGL=1 : SMS dalam Inbox (yang sudah terbaca)
3. AT+CMGL=2 : SMS Draft (belum terkirim)
4. AT+CMGL=3 : SMS Outbox (terkirim)
5. AT+CMGL=4 : Seluruh SMS (semua yang ada di Inbox, Outbox,
Draft)
2.4. Komunikasi Serial RS232 Komunikasi data serial sangat berbeda
dengan format pemindahan data paralel [4].
Disini, pengiriman bit-bit tidak dilakukan sekaligus melalui
saluran paralel, tetapi setiap bit
dikirimkan satu persatu melalui saluran tunggal (Gambar 2.3).
Gambar 2.3. Pengiriman data serial [4]
Dalam pengiriman data secara serial harus ada sinkronisasi atau
penyesuaian antara
pengirim dan penerima agar data yang dikirimkan dapat diterima
dengan tepat dan benar
oleh penerima. Salah satu mode transmisi dalam komunikasi serial
adalah mode
14
14
asynchronous. Transmisi mode serial ini digunakan apabila
pengiriman data dilakukan satu
karakter tiap pengiriman. Antara satu karakter dengan yang lainnya
tidak ada waktu antara
yang tetap. Karakter dapat dikirimkan sekaligus ataupun beberapa
karakter kemudian
berhenti untuk waktu yang tidak tentu, kemudian dikirimkan sisanya.
Dengan demikian
bit-bit data ini dikirimkan dengan periode yang acak sehingga pada
sisi penerima data akan
diterima kapan saja. Adapun sinkronisasi yang terjadi pada mode
transmisi ini adalah
dengan memberikan bit-bit penanda awal dari data dan penanda akhir
dari data pada sisi
pengirim maupun dari sisi penerima.
Format data komunikasi serial terdiri dari parameter - parameter
yang dipakai untuk
menentukan bentuk data serial yang dikomunikasikan, dimana
elemen-elemennya terdiri
dari :
3. Parity yang digunakan
RS232 sebagai komunikasi serial mempunyai 9 pin yang memiliki
fungsi masing-masing.
Pin yang biasa digunakan adalah pin 2 sebagai received data, pin 3
sebagai transmited
data, dan pin 5 sebagai ground signal. Karakteristik elektrik dari
RS232 adalah sebagai
berikut :
1. Space (logic 0) mempunyai level tegangan sebesar +3 s/d
+25Volt.
2. Mark (logic 1) mempunyai level tegangan sebesar -3 s/d -25
Volt.
3. Level tegangan antara +3 s/d -3 Volt tidak terdefinisikan.
4. Arus yang melalui rangkaian tidak boleh melebihi dari 500 mA.,
ini dibutuhkan
agar sistem yang dibangun bekerja dengan akurat.
Komunikasi serial RS232 digunakan sebagai antarmuka antara komputer
dengan
mikrokontroler. Agar level tegangan data serial dari mikrokontroler
setara dengan level
tegangan komunikasi port serial PC, diperlukan MAX232 untuk
mengubah ke tegangan
TLL/CMOS logic level RS232.
Ada tiga hal pokok yang diatur standard RS232, antara lain bentuk
sinyal dan level
tegangan yang dipakai, penentuan jenis sinyal dan konektor yang
dipakai, serta susunan
[6]. Gamba
enai fungsi
ggunakan kom
ta Terminal
ata Communi
Tabel 2.5. (lanjutan) Keterangan pin konektor DB9 (PC serial port)
[6].
No
pin
Nama
4 DTR Data Terminal Ready Dengan saluran ini, DTE
memberitahukan
kesiapan terminalnya.
6 DSR Data Set Ready Dengan saluran ini, DTE memberitahukan
bahwa siap melakukan komunikasi.
7 RST Request To Send Dengan saluran ini , DCE diminta
mengirim
data oleh DTE.
8 CTS Clear To Send Dengan saluran ini, DCE memberitahukan
bahwa DTE boleh mulai mengirim data.
9 RI Ring Indicator Dengan saluran ini, DCE memberitahukan ke
DCE bahwa sebuah stasiun menghendaki suatu
hubungan dengannya.
2.6. AT Command AT Command adalah perintah-perintah yang digunakan
dalam komunikasi dengan
serial port. Dengan AT Command kita dapat mengetahui data dalam
ponsel, mengirim sms,
membuat panggilan,.dan lain-lain.
Dalam program SMS Server yang akan dibuat, tidak semua perintah AT
digunakan.
Penulis hanya menggunakan beberapa perintah AT yang ada hubungannya
dengan sistem
kerja dari program SMS Server. Adapun perintah yang akan digunakan
adalah sebagai
berikut :
AT-Command Keterangan
AT+CMGF Untuk menetapkan format mode dari terminal
AT+CSCS Untuk menetapkan jenis encoding
17
17
AT-Command Keterangan
secara otomatis
AT+CMGL Membuka daftar SMS yang ada pada SIM Card
AT+CMGS Mengirim pesan SMS
AT+CMGR Membaca pesan SMS
AT+CMGD Menghapus pasan SMS
ATE1 Mengatur ECHO
digunakan
2.7. Mikrokontroler AVR Mikrokontroler AVR memiliki arsitektur RISC
(Reduced Instruction Set
Computing), 8 bit. Semua instruksi dikemas dalam kode 16 bit (16
bits word) dan sebagian
besar instruksi dieksekusi dalam 1 siklus clock [8]. Secara umum,
AVR dikelompokkan
menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga
ATMega, dan
AT86RFxx. Pada dasarnya, yang membedakan masing-masing kelas adalah
memori,
peripheral, dan fungsinya.
2.7.1. Arsitektur dan Konfigurasi Pin ATMega8535 Dalam penelitian
ini, mikrokontroler yang digunakan adalah ATMega8535.
Mikrokontroler ini dipilih karena spesifikasi dan fitur yang cukup
lengkap [8]. Konfigurasi
lengkap dari pin ATMega8535 dapat dilihat pada Gambar 2.6.
Konfigurasi pin dan
arsitektur yang digunakan adalah [8] : 1. Pin 10, merupakan pin
yang berfungsi sebagai pin masukan catu daya / VCC.
2. Pin 11 dan 31, merupakan pin yang berfungsi sebagai
ground.
3. Port D.0 (RXD) dan port D.1 (TXD), merupakan port UART
(Universal Asyncronous
Receiver/ Transmitter) yang difungsikan untuk komunikasi
serial.
masanya. Se
1. Ground
3. Load Charging voltage & POWER (ignition)
4. No Connection
5. Data output
6. Data input
9. Ground for microphone
Siemens C35 menggunakan instruksi AT (AT Command Set) untuk
pengoperasian
perangkat telepon seluler tersebut. Instruksi yang dimanfaatkan
pada perancangan
perangkat ini ini adalah :
Perintah ini berfungsi untuk melakukan panggilan telepon, misalkan
kita
melakukan panggilan nomor telepon 0274 834566, maka data yang masuk
ke telepon
seluler adalah : ATD 0274834566 dalam format ASCII.
2. ATA
Perintah ini berfungsi untuk menerima panggilan telepon yang masuk
(answering
call).
4. RING
Panggilan yang masuk ke telepon seluler akan dideteksi sebagai data
RING secara
berulang-ulang dengan sequence tetap.
MIC ATAS
1 12
No. Data yang
1 3 28
2 9 113
3 15 196
4 20 265
5 25 336
Data awal yang terdapat pada tabel 2.7 Menunjukkan data awal untuk
membuat
rumus, karena rumus yang terdapat dalam datasheet kurang presisi
bila diterapkan dalam
sistem ini. Rumus yang didapat adalah jarak=(waktu/14)+1. Pembagian
14 didapat dari
konstanta persekutuan terkecil dari data sample. Konstanta tersebut
didapatkan nilai 14.
Bila data dibagi 14 mendapatkan nilai yang konstan dan mendekati
presisi. Penambahan
angka 1 didapatkan setelah pembagian 14 karena data yang sebenarnya
dan data
perhitungan memiliki selisih 1.
22
22
Gambar 2.10. (lanjutan) Contoh Diagram Alir Penggunaan Sensor
Ultrasonik
23
23
2.10. Liqiud Crystal Display (LCD) Liquid Crystal Display (LCD)
merupakan Sebuah teknologi layar digital yang
menghasilkan citra pada sebuah permukaan yang rata (flat) dengan
memberi sinar pada
kristal cair dan filter berwarna, yang mempunyai struktur molekul
polar, diapit antara dua
elektroda yang transparan [10]. Bila medan listrik diberikan,
molekul menyesuaikan
posisinya pada medan, membentuk susunan kristalin yang
mempolarisasi cahaya yang
melaluinya.
Teknologi yang ditemukan semenjak tahun 1888 ini, merupakan
pengolahan kristal
cair merupakan cairan kimia, di mana molekul-molekulnya dapat
diatur sedemikian rupa
bila diberi medan elektrik seperti molekul-molekul metal bila
diberi medan magnet. Bila
diatur dengan benar, sinar dapat melewati kristal cair
tersebut.
Pada awalnya, teknologi LCD lebih banyak digunakan sebagai layar
untuk laptop,
komputer desktop juga telah mulai menggunakan monitor yang memakai
teknologi LCD
ini
Banyak sekali kegunaan LCD dalam perancangan suatu sistem yang
menggunakan
mikrokontroler.
LCD berfungsi menampilkan suatu nilai hasil sensor, menampilkan
teks, atau
menampilkan menu pada aplikasi mikrokontroler. LCD yang digunakan
adalah jenis LCD
M1632. LCD M1632 merupakan modul LCD dengan tampilan 16 x 2 baris
dengan
konsumsi daya rendah. Modul tersebut dilengkapi dengan
mikrokontroler yang didesain
khusus untuk mengendalikan LCD.
24
24
Pin no Sinyal I/O Fungsi
1 VSS Power Ground
3 VEE Power Penggerak LCD
4
address counter (read)
5 R/W Input Memilih operasi write (O)/read (I)
6 E Input Memilih operasi write/read data
7 .... 10 DB3-DB0 Input/Output Empat high data bus three
state
bidirectional
11 ... 14 DB7-DB4 Input/Output Empat high data bus three
state
bidirectional
2.10.1. Keuntungan LCD
Salah satu alasan yang membuat LCD menjadi pengganti CRT adalah
bentuknya
yang jauh lebih langsing. CRT menggunakan tabung untuk menembakkan
elektron-
elektron yang akan melakukan scanning pada layar dan membuat fosfor
pada layar CRT
bercahaya dan membentuk gambar.
LCD tidak menggunakan tabung melainkan kristal cair (Liquid
Crystal). Ia juga
tidak memerlukan tembakan elektron melainkan hanya membutuhkan
aliran listrik. Itu
sebabnya LCD menjadi lebih langsing dibandingkan CRT.
Bayangkan jika Anda membeli sebuah TV CRT yang berlayar besar,
misalnya 29
inci. Layar besar ini akan membutuhkan tabung yang juga besar
akibatnya bentuknya
menjadi besar dan gemuk dan beratnya secara otomatis juga akan
bertambah.
Dengan ukuran layar yang sama LCD akan terlihat lebih langsing
tanpa harus
menambah ketebalan di bagian belakangnya. Akibatnya juga akan lebih
ringan dan
memiliki sifat portabilitas yang tinggi.
Oleh sebab itu LCD menjadi harapan banyak orang untuk dapat
menampilkan
gambar dengan lebih bagus dan mata juga tidak cepat lelah.
LCD sendiri sebenarnya sudah sejak lama hadir hanya saja belum
dalam bentuk televisi.
Bahkan setiap hari Anda sering menggunakannya tanpa
menyadarinya.
25
25
Teknologi LCD dapat ditemukan pada kalkulator, jam tangan digital,
microwave,
termometer dan bermacam peralatan elektronik lainnya. Jadi bukanlah
hal yang
mengejutkan jika teknologi LCD mengalami perkembangan menjadi
televisi.
2.10.2. Cara kerja LCD
LCD menggunakan komponen utama yang berupa kristal cair. Kristal
cair ini
bukanlah sebuah kristal yang benar-benar berbentuk cair, namun
berada diantara cair dan
padat. Ia lebih mendekati cair dibandingkan padat. Untuk
mengubahnya menjadi benar-
benar cair, hanya dibutuhkan sedikit panas. Ia sangat sensitif
terhadap suhu, itulah
sebabnya mengapa layar LCD pada notebook atau LCD lainnya biasanya
akan bereaksi
sedikit aneh ketika berada pada cuaca dingin atau panas
terik.
Salah satu fitur dari kristal cair adalah mereka mudah bereaksi
terhadap arus listrik.
Kristal cair ini disusun dengan cara di lilit (twisted) dan di
sebut dengan Twisted Nematics
(TN).
Dengan memberikan arus listrik akan membuat kristal cair ini saling
melepaskan
lilitannya ke dalam bermacam sudut, tergantung dari besarnya arus
listrik. LCD
menggunakan kristal cair ini karena mereka dapat bereaksi dengan
tepat terhadap arus
listrik sehingga dapat digunakan untuk mengontrol cahaya.
2.10.3. Gangguan Piksel
Untuk dapat memproduksi beragam warna, pada masing-masing piksel
terdapat tiga
subpiksel yang terdiri dari warna merah, hijau dan biru (RGB).
Kombinasi ketiga warna ini
akan mampu menghasilkan 16,8 juta warna. Misalnya sebuah layar
memiliki resolusi
1024x768 piksel, ini berarti terdapat 1024 kolom x 768 baris x 3
subpiksel, kita akan
memperoleh 2.359.296 transistor.
pada layar.
2.10.4. Ukuran dan teknologi LCD
Ukuran layar LCD saat ini masih terbatas. Hal ini disebabkan karena
ukuran layar
yang makin besar akan memerlukan piksel dan transistor yang lebih
banyak. Dengan
26
26
semakin banyaknya transistor yang digunakan maka kemungkinan
terdapatnya piksel yang
rusak juga cukup besar. Terkadang perusahaan harus me-reject hingga
40 % dari panel
yang di rakit. Tingkat reject yang cukup besar ini juga yang
menjadi salah satu sebab
utama harga LCD menjadi tinggi.
LCD saat ini sudah memiliki bermacam teknologi diantaranya Super
Twisted
Nematics (STN), Dual Scan Twisted Nematics (DSTN), Ferroelectric
Liquid Crystal
(FLC) dan Surface Stabilized Ferroelectric Liquid Crystal
(SSFLC).
BAB III
PERANCANGAN SISTEM
3.1. Gambaran Sistem Alat yang akan dibuat sesuai dengan perumusan
masalah menggunakan beberapa
bagian utama yang saling bekerja sama membentuk sistem pengukuran
ketinggian air pada
kolam yang nantinya akan dikirim oleh mikrokontroler melalui
komunikasi data ke
handphone. Sistem terdiri dari 2 bagian utama yaitu bagian pengukur
ketinggian air yang
berada kolam dan bagian penerima yang berada di komputer sebagai
penerima data
ketinggian air. Gambar 3.1. memperlihatkan diagram blok sistem
secara keseluruhan.
Gambar 3.1. Diagram blok sistem
Cara kerja sistem adalah sebagai berikut :
1. Sensor akan mencatat ketinggian air dengan perhitungan waktu
relay dan akan
berhenti dan kemudian akan melakukan perhitungan lagi.
28
2. Setelah relay maka mikrokontroler akan mengirimkan secara
otomatis data
ketinggian air.
3. Data kemudian akan diterima oleh mikrokontroler penerima dan
antarmuka yang
terhubung ke komputer. Data secara otomatis akan dicatat oleh
komputer dan
dimasukkan ke file database.
4. Apabila data telah diterima, maka secara otomatis atau manual
akan mengirimkan
balasan ke handphone sebagai validasi.
3.2. Perancangan
3.2.1. Perancangan Piranti Keras Piranti keras merupakan salah satu
bagian sistem yang utama. Supaya sistem dapat
bekerja dengan baik, piranti keras yang digunakan harus benar-benar
dapat menjalankan
fungsinya masing-masing. Sesuai dengan analisa kebutuhan yang telah
dijabarkan
sebelumnya, piranti keras terdiri dari mikrokontroler, LCD, RS232,
dan catu daya.
3.2.1.1. Mikrokontroler
Rangkaian utama dari mikrokotroler ATMEGA8535 adalah rangkaian
osilator dan
rangkaian power on reset. Rangkaian osilator menggunakan kristal
dengan frekuensi 4
MHz dengan dua buah kapasitor 22 pf. Rangkaian power on reset
berfungsi untuk menjaga
agar pin RST mikrokontroler selalu berlogika rendah saat
mikrokontroler mengeksekusi
program. Mikrokontroler akan reset pada transisi tegangan rendah ke
tegangan tinggi, oleh
karena itu pada pin RST dipasang kapasitor yang terhubung ke ground
dan resistor ke VCC
yang menjaga RST bernilai 0 saat pengisian kapasitor dan bernilai 1
saat kapasitor penuh.
Pada saat sumber tegangan diaktifkan, kapasitor terhubung singkat,
sehingga arus mengalir
dari Vcc langsung ke kaki RST sehingga reset berlogika 0. Kemudian
kapasitor terisi
hingga tegangan pada kapasitor sama dengan Vcc. Pada saat ini
kapasitor penuh. Dengan
demikian tegangan reset akan turun menjadi 1 sehingga kaki RST
berlogika 1. Rangkaian
mikrokontroler AT8535 ditunjukkan pada Gambar 3.2.
29
3.2.1.2. LCD
dimonitor pada alat pengukur ketinggian air. Pensampil LCD
dibutuhkan untuk tampilan
huruf dan angka dengan konsumsi daya rendah. Rangkaian dan koneksi
LCD ke
mikrokontroler ditunjukkan pada gambar 3.3.
Gambar 3.3. Rangkaian LCD [10]
3.2.1.3. Komunikasi Serial RS232
Koneksi antara komputer dengan HP menggunakan komunikasi serial.
Komunikasi
serial dibangun dengan kabel data serial MAX 232 yang ditunjukkan
pada Gambar 3.4.
SW1
RST
XTAL2
XTAL1
GND
AREF
AVCC
GND
VCC
PB0 (XCK/T0) PB1 (T1) PB2 (INT2/AIN0) PB3 (OC0/AIN1) PB4 (SS) PB5
(MOSI) PB6 (MISO) PB7 (SCK)
PC0 (SCL) PC1 (SDA)
PC2 PC3 PC4 PC5
PC6 (TOSC1) PC7 (TOSC2)
PD0 (RXD) PD1 (TXD)
PD2 (INT0) PD3 (INT1)
PD4 (OC1B) PD5 (OC1A) PD6 (ICP1) PD7 (OC2)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5)
PA6 (ADC6) PA7 (ADC7)
RELAY2 CTRL-RX1
C3 22pF
J1
LCD
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
DB7 DB6
Gambar 3.4. Rangkaian Komunikasi serial RS232 [4]
Standar sinyal serial MAX 232 memiliki ketentuan level tegangan
sebagai berikut :
1. Logika ‘1’ terletak antara -3 Volt sampai -25 Volt.
2. Logika ‘0’ terletak antara +3 Volt sampai +25 Volt.
Daerah tegangan antara -3 Volt sampai +3 Volt adalah invalid level,
level daerah tegangan
yang tidak memiliki level logika pasti sehingga harus dihindari.
Demikian juga, level
tegangan lebih negatif dari -25 Volt atau lebih positif dari +25
Volt juga harus dihindari
karena tegangan tersebut dapat merusak line driver pada saluran MAX
232.
3.2.1.4. Rangkaian keseluruhan
12 9 14 7
R1IN R2IN T1IN T2IN
R1OUT R2OUT T1OUT T2OUT
3.2.2. Perancangan Perangkat Lunak 3.2.2.1. Perancangan Piranti
Lunak Mikrokontroler
Untuk menjalankan fungsinya, mikrokontroler membutuhkan suatu
piranti lunak
dengan kode yang akan tersimpan di memori flash dari ATMEGA8535.
Piranti ini tidak
akan menghabiskan terlalu besar kapasitas dari flash mikrokontroler
dibandingkan dengan
bahasa pemrograman lain. Selain itu bahasa pemrogramannya juga
masih mudah untuk
dipelajari dan dapat dibaca langsung. Perangkat lunak akan dibuat
dengan menggunakan
development Code Vision AVR yang menggunakan pemrograman bahasa
C.
3.2.2.2. Piranti Lunak Pengirim data
Piranti lunak pengirim data berperanan untuk mengolah data
ketinggian air
menjadi data angka serta menampilkan di LCD dan mengirimkannya ke
handphone
melalui serial data yang dikoneksikan ke komputer. Diagram alir
perancangan piranti lunak
pengirim data ditunjukkan pada Gambar 3.6.
Gambar 3.6. Diagram Alir Piranti Lunak Pengirim Data
Mikrokontroler
32
33
3. 2.2.3. Piranti Lunak Antarmuka Komputer
Supaya data dapat diolah oleh komputer maka data dari sensor
ketinggian air yang
ada pada kolam perlu diolah dan dikonversi ke data serial dengan
kecepatan data yang
lebih tinggi. Oleh karena itu suatu piranti lunak yang akan
melakukan kontrol diperlukan
untuk konversi tersebut. Diagram alir piranti lunak yang akan
dibangun ditunjukkan pada
Gambar 3.9. Data yang nantinya akan disimpan ke database komputer
adalah level air, set
point, dan waktu.
3.2.2.4. Perancangan Piranti Lunak Komputer
Piranti lunak komputer dibangun dengan menggunakan bahasa
pemrograman visual
basic dari Microsoft. Piranti lunak ini berfungsi utnuk melakukan
pencatatan data
ketinggian air dan menyimpan dalam suatu sistem database. Diagram
alir perancangan
piranti lunak komputer ditunjukkan pada Gambar 3.10.
Gambar 3.10. Diagram alir Piranti Lunak Komputer
35
HASIL DAN PEMBAHASAN
4.1. Gambar Fisik Hardware Dalam penelitian ini, hardware yang
dibuat terdiri dari rangkaian pompa air, sensor
ultrasonik, LCD, handphone, tombol akses manual, komunikasi serial,
minimum system
mikrokontroler, rangkaian regulator tegangan, dan model kolam ikan.
Gambar fisik seluruh
hardware dapat dilihat pada Gambar 4.1 dan Gambar 4.2 a-e.
Gambar 4.1 Rangkaian keseluruhan
(a) (b) (c)
Gambar 4.2 (a) Rangkaian pompa, (b) Sensor Ultrasonik, (c) LCD, (d)
Handphone,
(e) Rangkaian elektronis
(d) (e)
Gambar 4.2 (lanjutan) (a) Rangkaian pompa, (b) Sensor Ultrasonik,
(c) LCD,
(d) Handphone, (e) Rangkaian elektronis
4.2. Pengujian SMS Perintah Pengujian SMS perintah dilakukan untuk
mengetahui hasil pengolahan SMS
perintah dan eksekusi pada prototype kolam ikan. Pengujian
dilakukan dengan mengirim
seluruh SMS perintah sesuai dengan format SMS perintah pada
perancangan. Pengujian
masing-masing percobaan dilakukan 10 kali dan selalu
berhasil.
Data awal yang dimasukkan disimpan di EEPROM dan selanjutnya data
tersebut
dapat diganti sesuai dengan kebutuhan pengguna. SMS yang diterima
oleh handphone akan
diolah oleh mikrokontroler dan dibandingkan dengan data yang
tersimpan di EEPROM
mikrokontroler. Data perubahan nomor pengguna, data interval SMS
periodik dan data
kontrol set point akan selalu disimpan di EEPROM.
Kondisi awal untuk pengujian adalah set point 10 cm, ketinggian air
10 cm, SMS
periodik 5 menit, nomor penerima 1 085643929717, kondisi On, nomor
penerima 2
08994108477, kondisi off.
Tabel 4.1 Format SMS yang dikirim dan yang diterima No SMS yang di
kirim
dari pengguna SMS yang diterima oleh
pengguna Keterangan Sukses atau
gagal 1 SMS ON CONTROL SET : TINGGI
LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL SMS: 5 MENIT,
REG1:ON 085643929717, REG2:OFF 08994108477.
Set pengiriman SMS on
Set pengiriman SMS off
Tabel 4.1 (lanjutan) Format SMS yang dikirim dan yang diterima No
SMS yang di kirim
dari pengguna SMS yang diterima oleh
pengguna Keterangan Sukses atau
gagal 3 REG1 ON CONTROL SET : TINGGI
LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL SMS: 5 MENIT,
REG1:ON 085643929717, REG2:OFF 08994108477.
Seting register1 on, nomor terdaftar akan menerima SMS
Sukses
4 REG1 OFF CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 10
CM, INTERVAL SMS: 5 MENIT, REG1:OFF 085643929717, REG2:OFF
08994108477.
Seting register1 off, nomor terdaftar 1 tidak sukses akan menerima
SMS
Sukses
5 REG1 08154398427
CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL
SMS: 5 MENIT, REG1:ON 08154398427, REG2:OFF 08994108477.
Ubah nomor penerima SMS 1 menjadi 08154398427
Sukses
6 REG2 ON CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 10
CM, INTERVAL SMS: 5 MENIT, REG1:ON 085643929717, REG2:ON
08994108477.
Seting register2 on, nomor terdaftar akan menerima SMS
Sukses
7 REG2 OFF CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 10
CM, INTERVAL SMS: 5 MENIT, REG1:ON 085643929717, REG2:OFF
08994108477.
Seting register2 off, nomor terdaftar 2 tidak akan menerima
SMS
Sukses
8 REG2 08154398427
CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL
SMS: 5 MENIT, REG1:ON 085643929717, REG2:OFF 08154398427.
Ubah nomor penerima SMS 2 menjadi 08154398427
Sukses
9 SET 13 CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 13 CM,
INTERVAL SMS: 5 MENIT, REG1:ON 085643929717, REG2:OFF
08994108477.
Ubah pengaturan set point menjadi 13 cm
Sukses
39
Tabel 4.1 (lanjutan) Format SMS yang dikirim dan yang diterima No
SMS yang di kirim
dari pengguna SMS yang diterima oleh
pengguna Keterangan Sukses atau
gagal 10 INT 10 CONTROL SET : TINGGI
LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL SMS: 10 MENIT,
REG1:ON 085643929717, REG2:OFF 08994108477.
Ubah pengaturan waktu interval SMS periodik menjadi 10 menit
Sukses
11 SETING CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 10
CM, INTERVAL SMS: 5 MENIT, REG1:ON 085643929717, REG2:OFF
08994108477.
Mengirim kondisi pengaturan terkini yang terdapat di alat
sukses
12 CEK CONTROL SMS: TINGGI LEVEL AIR: 10 CM, SET POINT: 10
CM.
Mengirim kondisi tinggi air dan set point terkini di kolam
Sukses
13 PULSA *388# SALDO PULSA : PULSA UTAMA RP. 2147. AKTIF 16/02/11,
TENGGANG 16/03/11.
Cek saldo di hp yang terpasang di alat
Sukses
Data pengiriman SMS dari nomor asing (nomor yang tidak terdaftar
dalam reg 1 dan reg 2)
Tabel 4.2. Pengujian dengan nomor asing
No. Nomor pengirim SMS yang dikirim Status sistem
1. 085643348439 Set 10 Mengubah set point menjadi 10 cm
2. 085643348439 Seting Mengirimkan seting yang terdapat dalam
sistem
3. 085643348439 Int 5 Mengubah interval sms periodik menjadi 5
menit
4. 085643348439 Kirim sms Menghapus SMS yang diterima dan
tidak
mengubah kondisi sistem karena format SMS
tidak dikenal
5. 081215566772 Set 10 Mengubah set point menjadi 10 cm
6. 081215566772 Seting Mengirimkan seting yang terdapat dalam
sistem
7. 081215566772 Int 5 Mengubah interval sms periodik menjadi 5
menit
8. 081215566772 Kirim sms Menghapus SMS yang diterima dan
tidak
mengubah kondisi sistem karena format SMS
tidak dikenal
Seluruh SMS yang direspon dengan baik oleh mikrokontroler sesuai
dengan
perancangan. Mikrokontroler langsung mengirimkan SMS keadaan status
terakhir ke
pengguna saat pengguna mengirimkan SMS perintah. Salah satu
kekurangan dari sistem ini
adalah ketidakamanan sistem. Pengujian SMS dari nomor yang tidak
terdaftar dalam
register1 dan register 2 dilakukan menggunakan 2 nomor yang
berbeda, data yang diambil
ditunjukkan pada tabel 4.2. Sistem ini tidak aman karena jika ada
SMS dari nomor asing
(nomor yang tidak terdaftar), maka mikrokontroler akan menghapus
SMS tersebut tetapi
tetap menjalankan perintah, hal ini dikarenakan sistem hanya
membaca perintah dari SMS
yang masuk tetapi tidak membaca nomor pengirim. Nomor register1 dan
nomor register2
digunakan untuk mengirimkan SMS periodik yang telah disimpan dalam
mikrokontroler.
Pengujian SMS periodik dilakukan 3 kali nilai yang berbeda yaitu 5
menit, 10 menit dan 15
menit. Setiap nilai dilakukan pengujian sebanyak 5 kali. Hasil dari
pengujian SMS periodik
tersebut ditunjukkan tabel 4.3.
Tabel 4.3 Pengujian SMS periodik
No. Nilai SMS periodik Waktu yang ditunjukkan Rata-rata interval
waktu SMS
yang diterima (menit)
2. 10 10:16,10:26,10:36 10:05
3. 15 10:30,10:45,11:00 15:05
41
4.3 Pengujian ketinggian air Pengujian ketinggian air dilakukan
dengan dua cara, yaitu dengan posisi pompa
memasukkan air aktif (ketinggian air semakin bertambah) dan pompa
mengeluarkan air
aktif (ketinggian air semakin berkurang). Data yang diambil
masing-masing cara sebanyak
5 kali pengambilan dengan ketinggian air yang berbeda-beda. Tingkat
ketelitian sensor
adalah 1 cm. Hasil yang didapat terdapat di Tabel 4.5 dan Tabel
4.6. Set point maksimum
adalah 25 cm. Jika set point melebihi 25 cm maka sistem akan
memaksa menjadikan set
point menjadi 25 cm. Listing program set point maksimum adalah
sebagai berikut :
else if ( strncmpf( buffer,keyD,4 )==0 ) { i=0,j=0,k=4,temp=0;
while (isalnum(msg[k])) temp=(temp*10)+toint( msg[k++] ); if (
temp>=25 ) temp=25; setpoint=temp,setpoint_e=setpoint;
sprintf(buffer,"SETPOINT: %2d CM ", setpoint ); lcd_gotoxy(0,1);
lcd_puts(buffer); send_sistem=1; delay_ms(2000);
Tabel 4.4 Data awal perancangan rumus
No. Data yang
Data per centimeter didapatkan dariwaktu pemantulan dibagi dengan
jarak yang
sebenarnya. Data yang didapat tidak stabil sehingga perhitungan
untuk rumus
menggunakan metode KPK (konstanta Persekutuan Terkecil). Dengan
perhitungan tersebut
didapat nilai 14.
Data awal yang terdapat pada tabel 4.4 Menunjukkan data awal untuk
membuat
rumus, karena rumus yang terdapat dalam datasheet kurang presisi
bila diterapkan dalam
sistem ini. Rumus yang didapat adalah jarak=(waktu/14)+1. Pembagian
14 didapat dari
konstanta persekutuan terkecil dari data sample. Konstanta tersebut
didapatkan nilai 14.
Bila data dibagi 14 mendapatkan nilai yang konstan dan mendekati
presisi. Penambahan
42
angka 1 didapatkan setelah pembagian 14 karena data yang sebenarnya
dan data
perhitungan memiliki selisih 1.
Hasil pengujian ketinggian air dalam sistem ditunjukkan pada tabel
4.5 dan tabel
4.6. Pengujian sistem dilakukan dengan set point yang berbeda.
Pengambilan data
dilakukan dengan 2 cara, yaitu saat pompa memasukkan air aktif dan
saat pompa
mengeluarkan air aktif.
No SMS yang dikirim
Ketinggian air yang terukur sensor (cm)
Keterangan
1 Set 12 12 11,5 12 Error 0,5 cm 2 Set 13 13 12,2 13 Error 0,8 cm 3
Set 10 10 8,9 10 Error 1,1 cm 4 Set 6 6 4,4 6 Error 1,6 cm 5 Set 7
7 5,8 7 Error 1,2 cm 6 Set 20 20 19,7 20 Error 0,3 cm 7 Set 23 23
22,3 23 Error 0,7 cm 8 Set 25 25 24,5 25 Error 0,5 cm 9 Set 27 25
24,3 25 Error 0,7 cm 10 Set 30 25 24,6 25 Error 0,4 cm
Tabel 4.6 Pompa mengeluarkan air aktif (ketinggian air
berkurang)
No SMS yang dikirim
Ketinggian air yang terukur sensor (cm)
Keterangan
1 Set 25 15 15,2 15 Error 0,2 cm 2 Set 8 8 7,8 8 Error 0,2 cm 3 Set
4 4 4,1 4 Error 0,1 cm 4 Set 2 2 2,2 2 Error 0,2 cm 5 Set 5 5 5,4 5
Error 0,4 cm
Gambar 4.4 Grafik waktu terhadap ketinggian air
0
5
10
15
12 5
14 0
15 5
17 0
waktu (detik)
0
5
10
15
12 5
14 0
15 5
17 0
waktu (detik)
0
2
4
6
8
10
12
5 15 25 35 45 55 65 75 85 95 10 5
11 5
12 5
13 5
waktu (detik)
waktu (detik)
Gambar 4.4 (lanjutan) Grafik waktu terhadap ketinggian air
Waktu respon sistem membaca SMS adalah 16 detik setelah SMS
diterima,
sedangkan untuk menjalankan pompa air membutuhkan waktu 26 detik
setelah SMS
diterima.
Saat memasukkan air (pompa memasukkan air aktif) terdapat error
rata-rata -1 cm.
Pengukuran air akan berubah ketika air sudah melebihi angka
pengukuran yang sebenarnya
misal saat ketinggian air 7,2 cm, maka sensor sudah membaca
ketinggian air 8 cm. Hal ini
terjadi karena ada penambahan 1 angka dalam program PORTA.6=0;
jarak=(jarak/14)+1;
rumus tersebut didapatkan dari trial and error, karena jika
menggunakan rumus yang
terdapat dari datasheet, terjadi error yang sangat besar. Penulis
menggunakan rumus
sendiri untuk mendapatkan hasil yang mendekati kondisi yang
sebenarnya. Secara
keseluruhan, error yang terjadi tidak mengubah kerja alat dan alat
sudah bekerja sesuai
dengan perancangan.
unsigned int read_level() // READ DATA SENSOR { jarak=0,PORTA.6=0;
DDRA.6=1,delay_ms(10); #asm("cli")
PORTA.6=1,delay_us(10),PORTA.6=0; DDRA.6=0,delay_us(300),PORTA.6=1;
while ( !PINA.6 ); while ( PINA.6 ) ++jarak,delay_us(1);
#asm("sei") PORTA.6=0; jarak=(jarak/14)+1; if ( jarak>=300 )
jarak=300; if ( jarak >= dasar ) level=0; else
level=dasar-jarak;
0 1 2 3 4 5 6 7 8
5 15 25 35 45 55 65 75 85 95
ke ti ng gi an
waktu (detik)
4.4 Pengujian pengiriman data ke komputer Pengujian rangkaian
komunikasi serial dilakukan untuk mengetahui keberhasilan
pengiriman data antara PC dan mikrokontroler. Pengujian dilakukan
dengan menggunakan
bantuan software hyperterminal. Pengiriman data ke komputer
dilakukan dengan
menggunakan kabel serial RS-232. Data yang dikirimkan adalah data
ketinggian air, set
point , waktu, REG1 dan REG2. Data yang dikirimkan berupa data
ASCII.
Pengujian yang dilakukan menggunakan hyperterminal dengan baudrate
19200. Gambar
4.5 menunjukkan hyperterminal menerima data yang dikirim oleh
mikrokontroler. Mikrokontroler
mengirimkan data ke komputer dengan format
"+LV:%d,SP:%d,TI:%d.%02d:%02d, SM: ON/OFF,
R1:ON/OFF, Nomor HP 1, R2:ON/OFF, Nomor HP 2" dengan +LV adalah
tinggi level air, SP
adalah set point, TI adalah set clock SMS periodik, SM adalah
pengaturan pengiriman pesan,
sedangkan R1 dan R2 adalah status nomor register 1 dan 2. Gambar
4.6 menunjukkan program dari
visual basic menerima data yang di kirimkan oleh mikrokontroler.
Data yang terlihat menunjukkan
bahwa komputer menerima dengan baik data yang dikirimkan oleh
mikrokontroler dan sesuai
dengan perancangan.
46
4.5 PEMBAHASAN PERANGKAT LUNAK (SOFTWARE)
4.5.1 Pembahasan Program pada Komputer Masukan data di komputer
menggunakan data ASCII yang dikirim oleh mikrokontroler
melalui komunikasi serial RS 232. Data tersebut diolah dan
ditampilkan oleh program keadaan
ketinggian air dan pengaturan dalam mikrokontroler.
Tampilan menu dalam program di komputer adalah Connect/disconnect,
setting, dan close
seperti terlihat di Gambar 4.7. Fungsi dari masing-masing tombol
adalah :
1. Connect/disconnect : menu Connect akan mengaktifkan program
untuk mengolah data yang
dikirimkan oleh mikrokontroler. Tulisan Connect akan merubah
menjadi disconnect jika
program berhasil terhubung dengan mikrokontroler.
2. Setting : menu setting akan mengarahkan ke sub menu untuk
mengatur koneksi com port
dan baudrate.
3. Close : menu close akan menghentikan program dan keluar dari
program.
Gambar 4.7. Tampilan program keseluruhan
47
Pengambil data memerlukan pemilahan agar data yang diperoleh dapat
disesuaikan
dengan jenisnya. Data yang ditampilkan di list adalah data waktu,
level air dan set point . Program
memperoleh data waktu dari sistem di komputer. Pengolahan pemilahan
data menggunakan trim
lalu disimpan ke dalam variabel, agar mendapatkan konstanta level
air dan set point diperlukan
pemilahan lagi. Setiap data mengandung karakter “:”, karakter
tersebut digunakan sebagai penanda
awal konstanta. Pengambilan nilai data menggunakan trim, level air
menggunakan variabel
“wtrlvl” dan set point menggunakan variabel “setpoi”. Tampilan
program setelah dipilah dapat
dilihat pada Gambar 4.8.
Listng program untuk pemilahan data adalah sebagai berikut:
Private Sub HandleCommData(Data$) crtlin$ = Data If Right(crtlin$,
2) = vbCrLf Then crtlin$ = Trim(Left(crtlin$, Len(crtlin$) - 2)) If
crtlin$ <> "" Then Select Case Left(crtlin$, 1) Case "+" If
Left(crtlin$, 4) = "+LV:" Then linlen& = Len(crtlin$)
infptr& = 0 lvlinf$ = Trim(ListMember(crtlin$, infptr&))
spoinf$ = Trim(ListMember(crtlin$, infptr&)) smsinf$ =
Trim(ListMember(crtlin$, infptr&)) rg1inf$ =
Trim(ListMember(crtlin$, infptr&)) rg2inf$ =
Trim(ListMember(crtlin$, infptr&)) If lvlinf$ <> "" Then
colpos% = InStr(lvlinf$, ":") If colpos% > 0 Then wtrlvl# =
Val(Trim(Right(lvlinf$, Len(lvlinf$) - colpos%))) End If End If If
spoinf$ <> "" Then colpos% = InStr(spoinf$, ":") If colpos%
> 0 Then setpoi# = Val(Trim(Right(spoinf$, Len(spoinf$) -
colpos%)))
48
End If End If selidx& = ListAdd(Now, wtrlvl#, setpoi#)
LVDat.ListItems(selidx&).Selected = True lstcnt& =
LVDat.ListItems.Count If lstcnt& > 20 Then For i% =
lstcnt& - 20 To 1 Step -1 LVDat.ListItems.Remove i% Next i% End
If End If Case "-" End Select End If End Sub
Pengguna juga dapat melihat log yang dikirim dari mikrokontroler
seperti di hyperterminal.
Log tersebut merupakan control program dapat menerima dengan baik
atau tidak. Data tersebut
dapat dilihat di textbox bagian bawah. Tampilan akan terlihat
seperti pada Gambar 4.9.
Gambar 4.9. Tampilan program TxtLog
Listng program untuk log adalah sebagai berikut:
Private Sub AppendLog(Log$) maxlen& = 1000 cutsiz& = 300 If
Len(TxtLog.Text) >= maxlen& Then crtlog$ = TxtLog.Text
lfdpos& = InStr(cutsiz&, crtlog$, vbCrLf) If lfdpos&
> 0 Then crtlog$ = Right(crtlog$, Len(crtlog$) - (lfdpos& +
1)) TxtLog.Text = crtlog$ End If End If TxtLog.SelStart =
Len(TxtLog.Text) + 1 TxtLog.SelLength = 0 TxtLog.SelText = Log End
Sub
Program dapat bekerja dengan baik jika program terhubung ke
perangkat, program
memerlukan koneksi port dan baudrate agar program dapat terhubung
ke perangkat. Dalam
49
program ini koneksi port dan baudrate dapat dipilih sesuai dengan
alat. Jika alat tidak terhubung,
maka akan muncul kotak dialog yang berisi letak kesalahan tersebut.
Gambar 4.10 menunjukkan
pesan untuk kesalahan koneksi.
Listng program untuk melakukan koneksi ke mikrokontroler adalah
sebagai berikut:
Private Sub CmdConnect_Click() If Not Comm.PortOpen Then On Error
Resume Next bautxt$ = Choose(mBaudRate, "4800", "9600", "19200")
Comm.CommPort = mCommPort Comm.Settings = bautxt$ + ",N,8,1"
Comm.PortOpen = True errflg& = Err errdsc$ = Error On Error
GoTo 0 ResetComControls If errdsc$ <> "" Then If
Right(errdsc$, 1) <> "." Then errdsc$ = errdsc$ + "." erhinf$
= Hex(errflg&) erhinf$ = String(8 - Len(erhinf$), "0") +
erhinf$ errdsc$ = vbLf + "Error " + erhinf$ + ": " + errdsc$ End If
If Not Comm.PortOpen Then errinf$ = "Koneksi serial via COM" +
Format(mCommPort, "#0") + " gagal." +
errdsc$ MsgBox errinf$, vbInformation End If Else Comm.PortOpen =
False ResetComControls End If End Sub Dalam subform setting,
terdapat pilihan port dan baudrate. Port dipilih dari port
yang ada di komputer dengan cara mengambil list com port dalam
komputer. Com port ini
digunakan untuk koneksi ke mikrokontroler. Untuk pemilihan
baudrate, program hanya
akan mengambil nomor index. Nomor index ini untuk memilih baudrate
di dalam program
koneksi ke mikrokontroler.
Listng program untuk melakukan pengaturan port dan baudrate adalah
sebagai
berikut:
4.5.2 Pembahasan Program pada Mikrokontroler Pertama-tama program
utama akan membaca kedalaman air yang terukur lalu akan
membaca SMS yang masuk. Setelah program menjalankan pembacaan SMS,
program akan
menjalankan SMS periodik. Jika SMS periodik diaktifkan dan sudah
waktunya untuk mengirim,
maka data SMS akan dikirim ke nomor terdaftar 1 dan nomor terdaftar
2. Setelah mengirim SMS
periodik ke nomor yang terdaftar, program akan mengirimkan data ke
komputer melalui kabel
serial RS232. Sistem ini memiliki tingkat keamanan yang rendah
karena tidak dilengkapi password
untuk mengaktifkan alat. Keamanan yang dilakukan adalah dengan cara
merahasiakan nomor pada
sistem.
while (1) { read_level(); DDRD.5=1,DDRD.6=1; setpoint=setpoint_e;
set_menit=set_menit_e; sprintf(buffer,"LEVEL :%3d cm\nSETPOINT :%3d
cm",level,setpoint ); lcd_clear(),lcd_puts(buffer); / if ( cek )
cek_sms(),cek=0; if ( send && sms_en==1 &&
set_menit!=0 )
51
{ if ( r1_en==1 ) load_r1(),sms_data(); if ( r2_en==1 )
load_r2(),sms_data(); send=0; }; if ( tick ) {
gsm=0,delay_ms(5);
printf("+LV:%d,SP:%d,TI:%d.%02d:%02d,",level,setpoint,set_menit,menit,clock
); if ( sms_en==1 ) printf("SM:ON,"); else printf("SM:OFF,"); if (
r1_en==1 ) printf("R1:ON."); else printf("R1:OFF."); i=0; while (
reg1[i]!='#') putchar(reg1[i++]); if ( r2_en==1 )
printf(",R2:ON."); else printf(",R2:OFF."); i=0; while (
reg2[i]!='#') putchar(reg2[i++]); printf("\r\n"); delay_ms(5);
gsm=1,delay_ms(5),reset_buffer(),tick=0; };
Pengaturan awal diperlukan agar program berjalan sesuai dengan yang
diharapkan. Dalam
program ini, pengaturan awal yang dilakukan adalah mengatur dan
menyimpan format-format SMS
yang akan diolah, pengaturan variabel yang akan digunakan dan
pengaturan EEPROM untuk
penyimpanan data.
Format SMS disimpan dalam flash memori dan format SMS ini akan
dibandingkan dengan
SMS yang masuk. Jika ada SMS yang masuk tidak sesuai dengan format
SMS yang tersedia, maka
program akan menghapus SMS tersebut. Listng program pengaturan awal
format SMS adalah
sebagai berikut:
flash char key1[8]={"REG1 ON"}; // PRE-SET SMS KEYWORD flash char
key2[9]={"REG1 OFF"}; flash char key3[6]={"REG1 "}; flash char
key4[8]={"REG2 ON"}; flash char key5[9]={"REG2 OFF"}; flash char
key6[6]={"REG2 "}; flash char keyA[7]={"SMS ON"}; flash char
keyB[8]={"SMS OFF"}; flash char keyC[4]={"CEK"}; flash char
keyD[5]={"SET "}; flash char keyE[5]={"INT "}; flash char
keyF[7]={"PULSA "}; flash char keyG[7]={"SETING"};
Pengaturan awal EEPROM diperlukan agar program dapat berjalan
dengan baik dan
pengguna tidak mengatur lagi saat penggunaan pertama kali.
Pengaturan awal ini dapat diubah-
ubah sesuai dengan keinginan pengguna. Karakter EEPROM diwakili
dengan SMS_en, r1_en,
r2_en, dasar, set_menit_e, setpoint_e, reg1, reg2, save.
Listng program pengaturan awal data EEPROM adalah sebagai
berikut:
eeprom unsigned char sms_en=1,r1_en=1,r2_en=0; eeprom unsigned int
dasar=33,set_menit_e=5,setpoint_e=20;
52
eeprom unsigned char reg1[17]={"085643929717#"}; eeprom unsigned
char reg2[17]={"+628994108477#"}; eeprom unsigned char
save[17]={"08994108477#"};
Sistem memerlukan pembacaan SMS dalam HP agar berjalan dengan baik.
Dalam
pembacaan SMS pertama-tama mendeteksi perangkat HP. Jika HP
terhubung, maka program akan
membaca SMS yang masuk satu persatu dan membandingkan isi SMS
tersebut dengan format
perintah SMS yang telah tersimpan. Jika nomor HP pengirim sama
dengan nomor HP di dalam
memori dan format SMS merupakan format perintah SMS , maka SMS
balasan akan dikirimkan ke
nomor yang terdaftar.
Dalam pengiriman SMS, mikrokontroler akan mencocokkan dahulu nomor
pengirim. Jika
nomor cocok dengan nomor yang tersimpan, maka pengiriman SMS akan
dilanjutkan, tetapi jika
nomor tidak cocok dengan nomor yang tersimpan di memori, maka
mikrokontroler tidak akan
melakukan pengiriman SMS.
void cek_sms() { unsigned char T,index=1,send_sistem=0; if (
modem_chek()==1 ) { led=1,i=0,x=0,y=0; printf("AT+CPMS?\r\n");
while ( i==0 ) { if ( getchar()==':' ) { while ( getchar()!=',' );
x=desimal(),y=desimal(),i=1; while ( getchar()!=13 ); } else if (
data=='R' ) i=1; }; T=x; while ( x!=0 && index!=(y+1) ) {
read_level(); send_sistem=0,clear_msg(); z=0; sprintf(buffer,"SMS
MASUK NO.%d ",index ); lcd_clear(), lcd_puts(buffer);
printf("AT+CMGR=%d\r\n", index ); while( getchar()!=',' ); while(
getchar()!=',' ); while( isalnum(getchar())) z=(z*10)+toint(data);
while( getchar()!=10 ); led=0; if ( z!=0 ) { i=pdu_decoder(),--x;
read_level(),delete_sms(index),lcd_gotoxy(0,1); if ( i==1 ) { i=0;
strncpy(buffer,msg,30); while ( i<=30 )
buffer[i]=toupper(buffer[i++]);
53
Pengiriman SMS dilakukan bila HP terhubung dan pengiriman SMS
diatur menjadi
ON. Pertama-tama program akan mengecek apakan HP telah terhubung
dan pengiriman
SMS diaktifkan. Inisialisasi nomor HP yang terdaftar dengan membaca
nomor terdaftar
sampai tanda “#” sebagai penanda akhir pembacaan nomor HP.
Pengiriman SMS akan
dilakukan dengan cara mengirimkan AT+ CMGS ke HP dan mengirimkan
PDU dari format
SMS yang akan dikirimkan. Jika pengiriman gagal, maka pengiriman
SMS akan diulangi sebanyak
5 kali.
Listng program untuk pengiriman SMS adalah sebagai berikut:
void kirim_sms( unsigned char T ) { if ( modem_chek()==1 &&
sms_en==1 ) { while ( T!=0 ) { read_level();
led=1,gsm=0,delay_ms(5); printf("\r\n-SEND SMS: %c", '"'); i=0;
while ( yyy[i]!='#' ) putchar(yyy[i++]); printf("%c,%c",'"','"');
i=0; while ( msg[i]!=0 ) putchar(msg[i++]);
printf("%c\r\n\r\n",'"');
delay_ms(5),gsm=1,delay_ms(5),reset_buffer(); lcd_clear();
lcd_putsf("KIRIM SMS KE : "); display_yyy(); read_level();
delay_ms(500); read_level(); putchar(0x1B);
// ESCAPE CHAR ( 0x1B ) pas=1, pdu_encoder();
printf("AT+CMGS=%d\r\n",pdu); while ( getchar()!='>' );
pas=0,pdu_encoder(),putchar(0x1A); if ( response()==1 ) {
read_level(); T=0,lcd_gotoxy(0,1),lcd_putsf("< sukses >"); }
else { led=0; if (T==0) sprintf(buffer,"< gagal >" ); else
sprintf( buffer,"< diulang ke %d >",(6-T) ); lcd_gotoxy(0,1);
lcd_puts(buffer); read_level(); delay_ms(1500); --T; }; };
delay_ms(500); read_level(); }; led=0; }
Pengiriman data ke komputer dilakukan dengan format ASCII. Data
yang dikirimkan ke
komputer adalah level air, set point , pengaturan sms periodik,
nomor yang terdaftar, dan kondisi
nomor yang terdaftar. Pengiriman data ke komputer dilakukan dengan
format
54
"+LV:%d,SP:%d,TI:%d.%02d:%02d," dengan +LV adalah tinggi level air,
SP adalah set point, dan
TI adalah set clock SMS periodik. Karakter “+” di depan LV adalah
sebagai penanda agar mudah
dalam pengolahan data di komputer.
Listng program untuk pengiriman data ke komputer adalah sebagai
berikut:
{ gsm=0,delay_ms(5);
printf("+LV:%d,SP:%d,TI:%d.%02d:%02d,",level,setpoint,set_menit,menit,clock
); if ( sms_en==1 ) printf("SM:ON,"); else printf("SM:OFF,"); if (
r1_en==1 ) printf("R1:ON."); else printf("R1:OFF."); i=0; while (
reg1[i]!='#') putchar(reg1[i++]); if ( r2_en==1 )
printf(",R2:ON."); else printf(",R2:OFF."); i=0; while (
reg2[i]!='#') putchar(reg2[i++]); printf("\r\n"); delay_ms(5);
gsm=1,delay_ms(5),reset_buffer(),tick=0; };
Fasilitas yang disertakan dalam sistem ini adalah kontrol manual.
Kontrol manual
diperlukan bila pengguna akan mengubah pengaturan dari alat tanpa
mengunakan SMS. Kontrol
manual menggunakan 3 tombol yang masing-masing tombol memiliki
fungsi yang berbeda yaitu
set point, kedalaman dasar, dan set SMS.
Kontrol manual set point dijalankan dengan menekan tombol sw1.
Setelah tombol sw1
ditekan, fungsi pada sw2 dan sw3 akan berubah menjadi tombol untuk
menambah dan mengurangi
set point.
if ( !sw1 ) { lcd_clear(); lcd_putsf(" = MENU 1 = \n SETPOINT ");
do { delay_ms(500); } while ( !sw1 ); i=1; dsp_setpoint(); do { if
( !sw1 ) i=0; else if ( !sw2 ){ if (++setpoint>=25) setpoint=25;
sp_setpoint(),delay_ms(200); i=1; } else if ( !sw3 ){ if
(--setpoint>25 ) setpoint=0; dsp_setpoint(),delay_ms(200); i=1;
}; } while ( i==1 ); setpoint_e=setpoint;
Tombol kedalaman dasar terdapat di menu ke 2 yaitu bila tombol sw2
ditekan. Untuk
menentukan kedalaman kosong didapat dari pengukuran jarak antara
sensor dengan dasar kolam.
Seperti pada kontrol set point, jika sudah masuk menu kedalaman
dasar, maka sw1 dan sw2
berfungsi sebagai kontrol ukuran kedalamannya.
else if ( !sw2 ) { lcd_clear(); lcd_putsf(" = MENU 2 = \nKEDALAMAN
KOSONG"); do { delay_ms(500); } while ( !sw2 ); i=1; dsp_dasar();
do { if ( !sw1 ) i=0; else if ( !sw2 ){ if (++dasar>=50)
dasar=50; dsp_dasar(),delay_ms(200); } else if ( !sw3 ){ if
(--dasar>50 ) dasar=0; dsp_dasar(),delay_ms(200); }; } while (
i==1 );
55
Fungsi set SMS adalah untuk mengaktifkan pengiriman SMS on atau
off. Di menu ini
fungsi sw2 dan sw3 berganti menjadi logika on dan off.
5.1 KESIMPULAN Berdasarkan hasil pengujian serta pengambilan data
pada perangkat pengendali dan
pemantau ketinggian air kolam pada sistem otomasi rumah menggunakan
layanan sms,
dapat disimpulkan:
1. Program pada komputer dan program pada mikrokontroler dapat
bekerja dengan baik.
2. Sistem pengendali dan pemantau ketinggian air kolam pada sistem
otomasi rumah
menggunakan layanan SMS bekerja dengan baik namun pengukuran
ketinggian air
kurang tepat, saat ketinggian air naik masih ada selisih rata-rata
0,5 cm dan saat
ketinggian air turun ada selisih rata-rata 0,22 cm, namun hal ini
tidak mengganggu
fungsi keseluruhan sistem.
3. Keamanan sistem pengendali dan pemantau ketinggian air kolam
pada sistem otomasi
rumah menggunakan layanan SMS kurang maksimal karena sistem tidak
mengecek
nomor HP pengirim perintah dan tidak ada fitur password.
4. Setpoint maksimum sistem adalah 25 cm. Jika setpoint melebihi
setpoint maksimum
maka setpoint akan tetap 25 cm
5.2 SARAN Perangkat pengendali dan pemantau ketinggian air kolam
pada sistem otomasi
rumah menggunakan layanan SMS masih terdapat banyak kekurangan,
maka perlu
pengembangan lebih lanjut. Saran bagi pengembangan aplikasi ini
selanjutnya adalah:
1. Pembuatan perangkat water level controller menggunakan sensor
yang lebih akurat
sehingga kesalahan yang terjadi dapat diminimalisir
2. Penambahan fitur password dan pengecekan nomor HP akan
memberikan keamanan
yang lebih maksimal.
DAFTAR PUSTAKA
[1] Wibisono, G., Usman, U.K., dan Hantoro, G.D., 2008, Konsep
Teknologi Seluler,
Cetakan Pertama, Penerbit Informatika , Bandung.
[2] Suhata, 2005, VB Sebagai Pusat Kendali Peralatan Elektronik, PT
Elex Media
Komputindo, Jakarta
[3] Sanjaya, A., 2005, Mengirim SMS dari PC,
[email protected]
diakses
tanggal 28 November 2005
[4] ___________, RS232 Serial Connector,
http//www.lammertbies.nl/comm./cable/RS-232.html, 5 Mei 2010
[5] ___________, MAX232,
http//www.maxim-ic.com/quick_view2.cfm/qv_pk/1798,
5 Mei 2010
[6] Sutadi, D.,2003, I/O Bus dan Motherboard, Cetakan pertama,
Penerbit Andi,
Yogyakarta.
/siemens/ index.htm, diakses tanggal 22 September 2006.
[8] Winoto Ardi, 2008, Mikrokontroler AVR ATmega8/32/16/8535
dan
pemrogramannya dengan bahasa C pada WinAVR, Cetakan Pertama,
Penerbit
Informatika, Bandung.
[9] Budihartanto Widodo, 2008, 10 Proyek Robot Spektakuler,
Penerbit Elex Media
Komputindo, Jakarta.
[10] Tarmuji, A., 2005. Diktat kuliah Rekayasa Perangkat Lunak,
Teknik Informatika
Universitas Ahmad Dahlan, Yogyakarta
Simulasi, Hardware, dan Aplikasi. Penerbit Andi: Yogyakarta
Listing Program Mikrokontroler
================================================================
#include <mega8535.h> // INCLUDE FILE MODUL #include
<string.h> #include <delay.h> #include