P-ISSN : 2303-3142
E-ISSN : 2548-8570
Vol. 6, No. 1, April 2017
SISTEM INSTALASI AIR RUMAH TERKOMPUTERISASI BERBASIS MIKROKONTROLER DENGAN PERINTAH SMS I D.M.B.A.Darmawan1), I K.A. Mogi2), I W. Santiyasa3) 1,2,3
Program Studi Teknik Informatika, Universitas Udayana Jimbaran, Indonesia
e-mail:
[email protected],
[email protected],
[email protected]
Abstrak Penelitian ini berangkat dari permasalahan yang dialami masyarakat Jimbaran dalam mengelola instalasi air karena permasalahan distribusi air yang sering bermasalah. Masyarakat pada kawasan tersebut pada umumnya memiliki dua buah tandon air, tandon tertanam dan tandon atas. Suplai air didapatkan dari perusahaan air minum daerah yang sering kali mengalami permasalahan dalam distribusinya. Pihak ketiga penyedia air bersih digunakan sebagai alternatif untuk memenuhi kebutuhan air bersih. Permasalahan tersebut mengharuskan pemilik rumah harus mengetahui kondisi tandon air bawah tanah dan atas sebelum memutuskan untuk membeli air bersih di pihak ketiga. Hal tersebut relatif sulit dilakukan dengan pengamatan langsung. Sistem mikrokontroler digunakan sebagai solusi untuk permasalahan tersebut. Sistem yang dibangun memungkinkan pengguna dalam mengontrol instalasi air. Fitur yang dibangun meliputi, notifikasi kapasitas air di setiap tandon air, mengontrol secara otomatis pompa air untuk mengisi tandon atas, mengontrol secara otomatis keran PDAM. Fitur tersebut didukung dengan layanan SMS. Sehingga pemilik rumah dapat mengontrol dan monitoring instalasi air rumah menggunakan layanan SMS. Kata kunci: mikrokontroler, instalasi air, tandon air, sms, ultrasonic Abstract This study departs from the problems experienced by the people in Jimbaran that manage their water installations. People in the region generally has two water tanks, ground water tank and elevated water tank. The water supply is obtained from local water companies (PDAM) that often had problems in their distribution. The third-party providers of clean water is used as an alternative source of clean water. These problems require that homeowners should know the condition of the water tanks before deciding to buy clean water from a third party. It is relatively difficult to do direct observation. Microcontroller system is used as a solution to these problems. The system allows user to control the water installation. Features built include, notifications of water capacity from each water tank, automatically control the water pump to fill the elevated water tank, automatic controls the PDAM water valve. The feature is supported with SMS services. So homeowners can control and monitor their water installation use SMS service. Keywords : microcontroller, water installation, water tanks, sms, ultrasonic
PENDAHULUAN Beberapa daerah di Bali tidak dapat membangun sumur sebagai sumber air bersih untuk kebutuhan sehari-hari. Air bersih didapatkan melalui perusahaan air minun daerah (PDAM). Namun demikin, berdasarkan pengamatan yang dilakukan, beberapa daerah seperti Jimbaran, Badung tidak mendapatkan distribusi PDAM dengan baik. Oleh karena itu, masyarakat daerah tersebut membangun tangki penampungan air. Selain itu, air dari saluran PDAM tidak
cukup kuat untuk mengisi tangki air jika ditempatkan pada lokasi yang tinggi. Oleh karena itu, masyarakat membangun tangki air bawah tanah. Tangki air ini dibuat permanen, yang biasanya ditempatkan di halaman rumah. Beberapa rumah menerapkan sistem tangki air ganda. Sebuah tangki ditempatkan di bawah tanah, lainnya ditempatkan di lokasi yang tinggi. Tangki pertama digunakan untuk menampung air sementara dari PDAM atau sumber lainnya. Tangki kedua ini digunakan untuk distribusi kebutuhan rumah. Pompa air Jurnal Sains dan Teknologi | 82
P-ISSN : 2303-3142
E-ISSN : 2548-8570
Vol. 6, No. 1, April 2017
digunakan untuk mendorong air dari tangki bawah menuju tangki atas.
sebagai antar muka sistem menggunakan jaringan wireless.
Pemantauan kapasitas air yang tersedia di penampungan air bawah sulit diamati. Hal ini karena penampungan air tersebut dipendamkan di bawah tanah. Pemilik rumah sering kali tidak ingat untuk mengontrol ketinggian air tersebut, sehingga tidak tahu kapan dan berapa banyak harus mengisi air melalui saluran PDAM. Belum lagi, saluran PDAM yang sering kali tidak dapat mendistribusikan air pada wilayah tersebut, menyebabkan pemilik rumah harus lebih sering mengontrol kondisi penampungan air yang dimiliki. Pemilik rumah dapat menghubungi penyedia air bersih melalui pihak ketiga.
Kumar (2014) membangun sistem smart home dengan menggunakan Arduino. Arduino dipilih karena dapat menghemat biaya jika dibandingkan dengan penggunaan PC. Kumar (2014) menggunakan Rest Full webservice untuk membangun micro-webserver dan aplikasi Android sebagai aplikasi penggunanya. Fitur dari smart home yang dibangun meliputi pintu elektrik, pendingin ruangan, pencahayaan, kipas angin, penguncian pintu, pengamanan dalam hal penyusup, suhu dam kelembaban lingkungan, dan sensor gas dan asap. Informasi berbahaya akan dikirimkan melalui email yang dapat diakses menggunakan Internet dan juga akan menghidupkan alaram rumah. Kemudian Chattoraj (2015) mencoba mengintegrasikan otomatisasi rumah dan sistem keamanan. Implementasi Chattoraj menambahkan fitur pengenalan suara. Perintah suara dapat digunakan untuk mengendalikan perangkat elektronik yang ada di lingkungan rumah tersebut, oleh karena itu sangat cocok digunakan untuk rumah yang dihuni oleh usia lanjut.
Sulitnya melalakukan monitoring dan kontrol terhadap kondisi penampungan air tersebut menjadi latar belakang dibangunnya sistem instalasi air rumah terkomputerisasi. Sistem yang dibangun berusaha untuk mempermudah masyarakat memantau kondisi penampungan air yang dimiliki. Sistem dibangun dengan menggunakan mikrokontroler arduino yang terintegrasi dengan jaringan GSM. Beberapa penelitian telah dilakukan berkaitan terhadap smart home menggunakan mikrokontroler. Dalam penelitiannya yang dilakukan oleh Lin (2013), smart home dibangun menggunakan mikrokontroler Arduino. Implementasi dengan produk proprietary memiliki beberapa isu, antara lain: membutuhkan dukungan dalam jangka waktu yang panjang, kompatibilitas sistem dalam kaitannya dengan gabungan beberapa komponen dengan perangkat dari platform yang berbeda, dan biaya. Platform open source arduno dapat digunakan sebagai alternatif pembangunan sistem smart home. Penelitian lainnya dilakukan oleh (Piyare & Lee, 2013), sistem kontrol dan monitoring rumah dengan biaya murah dibangun dengan memanfaatkan micro-web server. Mereka menggunakan Arduino sebagai mikrocontroler yang mengontrol listrik, temperature, pintu, dan lampu pada suatu rumah. Perangkat android digunakan
Terdapat beberapa penelitian yang berkaitan terhadap pemanfaatan mikrokontroler dalam kaitannya dengan pengukuran ketinggian air dengan sensor ultrasonik. Dalam skripsi-nya (Fuadi, 2012), membangun sistem monitoring tinggi muka air tandon berbasis sensor ultrasonic. Fuadi (2012) membangun mikrokontroler dengan memanfaatkan sensor ultrasonic untuk mengetahui level air pada tandon dan menampilkan informasinya melalui LCD. Hariyanto dan Cuswanto (2010) membangun Otomatisasi Pengisian Penampung Air Berbasis Mikrokontroler AT8535. Sedangkan, sistem yang diusulkan pada tulisan ini adalah membangun sistem instalasi air terkomputerisasi dengan menggunakan mikrokontroler arduino sebagai pengendali dan komunikasi dilakukan menggunakan layanan sms. Tulisan ini dibagi menjadi beberapa bagian. Bagian pertama akan menjelaskan mengenai metode yang digunakan dalam Jurnal Sains dan Teknologi | 83
P-ISSN : 2303-3142
E-ISSN : 2548-8570
penelitian ini. Kemudian dilanjutkan dengan pembahasan rancangan perangkat keras, rancangan perangkat lunak, sampai pada akhir pembahasan meliputi implementasi sistem pada arduino. METODE Tahap penelitian yang ditunjukkan pada Gambar 1.
dilakukan
mulai
Analisis kebutuhan
Persiapan alat dan bahan
Perancangan
Implementasi Pengujian tidak
Uji memenuhi
Selesai
Gambar 1. Tahapan Penelitian
Analisis Kebutuhan Pada tahap ini dilakukan analisis kebutuhan untuk mengetahui ruang lingkup penyelesaian masalah dari sistem instalasi air terkomputerisasi. Sistem yang diimplementasikan memiliki beberapa kemampuan antara lain melakukan peringatan terhadap level air melalui SMS apabila level air telah dibawah ambang batas minimum. Selain itu, kondisi tersebut akan mengaktifkan pengisian air melalui saluran PDAM secara otomatis. Namun apabila penampungan air bawah
Vol. 6, No. 1, April 2017
tidak bertambah pada kurun waktu tertentu pesan akan dikirimkan kembali, yang menandakan PDAM dalam keadaan tidak mengalir. Informasi ini dibutuhkan oleh pemilik rumah untuk memesan air dari pihak ketiga. Fitur lainnya adalah mengaktifkan pompa air untuk mengisi penampungan air atas. Pompa air akan diaktifkan apabila air pada penampungan air atas habis dan tersedia air yang cukup pada penampungan air bawah. Hal ini akan menghindari pompa air yang aktif terus menerus ketika air tidak tersedia di penampungan air bawah. Selain itu, fitur-fitur tersebut juga dapat dikontrol menggunakan perintah SMS. Persiapan Alat dan Bahan Pada penelitian ini menggunakan beberapa alat meliputi mikrokontroler, khususnya Arduino dan sensor yang digunakan untuk mengukur ketinggian air, menggunakan sensor ultrasonic, dan keran solenoid. Mikrokontroler Mikrokontroler merupakan teknologi semikonduktor yang terdiri dari rangkaian transistor dengan ukuran yang kecil. Mikrokontroler diproduksi secara masal sehingga dapat menekan biaya pengadaannya. Mikrokontroler dapat digunakan secara fleksibel dan efektif dalam mengontrol berbagai peralatan elektronik. Arduino Arduino Uno adalah salah satu produk berlabel Arduino yang sebenarnya adalah suatu papan elektronik yang mengandung mikrokontroler Atmega328 (Kadir, 2013). Atmega328 adalah sebuah keping yang secara fungsional bertindak seperti sebuah komputer. Arduino merupakan perangkat mikrokontroler open source yang menggunakan bahasa pemrograman C. Konfigurasi dilakukan dengan mudah dengan menggunakan komputer yang dikoneksikan dengan kabel USB. Arduino memiliki beberapa pin input dan output, yaitu: 14 pin input/output, dimana 6 pin digunakan untuk output pwm, 6 input analog seperti yang diperlihatkan pada Gambar 2.
Jurnal Sains dan Teknologi | 84
P-ISSN : 2303-3142
E-ISSN : 2548-8570
Gambar 2. Arduino Uno Board
Sensor Ultrasonic Gelombang ultrasonik merupakan gelombang yang memiliki frekuensi tinggi dari 20kHz hingga 20MHz. Oleh karena itu, gelombang ultrasonik tidak dapat didengar oleh manusia. Sensor ini digunakan untuk pengukuran jarak terhadap suatu objek. Sensor ultrasonic HC-SR04 yang digunakan dalam penelitian diperlihatkan pada Gambar 3. Sensor tersebut memiliki 4 buah pin, yang digunakan untuk Vcc (+5V DC), Triger (TTL input), Echo (TTL output), GND (ground). Triger digunakan untuk memicu sinyal dengan frekuensi yang telah ditentukan selama 10us. Sinyal dikirim sebanyak delapan 40K gelombang digital. Sinyal tersebut akan merambat diudara dengan kecepatan rambatan 340m/s. Pin Echo digunakan untuk menangkap pantulan sinyal triger yang telah dipancarkan sebelumnya.
Gambar 3. Sensor Ultra Sonic HC-SR04 Jika s adalah jarak objek, t adalah waktu tempuh gelombang dari pengiriman sinyal sampai dengan sensor menerima pantulan, dan c adalah cepat rambat gelombang di udara. Maka jarak objek dapat dhitung sebagai: (𝐭 ∗ 𝐜) (1) 𝑺= 𝟐 Keran Solenoid Keran Solenoid adalah katup yang digerakan oleh energi listrik, mempunyai kumparan sebagai penggeraknya yang berfungsi untuk menggerakan piston yang
Vol. 6, No. 1, April 2017
dapat digerakan oleh arus AC maupun DC, solenoid valve atau katup (valve) solenoida mempunyai lubang keluaran dan lubang masukan. Lubang masukan berfungsi sebagai terminal / tempat cairan masuk atau supply, lalu lubang keluaran, berfungsi sebagai terminal atau tempat cairan keluar yang dihubungkan ke beban. Prinsip kerja dari solenoid valve/katup solenoid yaitu katup listrik yang mempunyai koil sebagai penggeraknya. Ketika koil mendapat supply tegangan maka koil tersebut akan berubah menjadi medan magnet sehingga menggerakan piston pada bagian dalamnya. Ketika piston berpindah posisi maka pada lubang keluaran dari solenoid valve akan keluar cairan yang berasal dari lubang masukan. Sebagian besar keran solenoid mempunyai tegangan 100/200 VAC, namun keran yang digunakan pada penelitian ini mempunyai tegangan DC.
Gambar 4. Keran Solenoid
HASIL DAN PEMBAHASAN Perancangan Perangkat Keras Tahap pertama yang dilakukan dalam penelitian ini adalah perancangan sistem sesuai dengan kebutuhan yang telah dijelaskan pada bagian pendahuluan sebelumnya. Kondisi instalasi air rumah dengan sistem penampungan air ganda terkomputerisasi diperlihatkan pada Gambar 5. Pada gambar tersebut terlihat ketinggian penampungan air (tandon) diukur dengan menggunakan sensor ultrasonic. Ketinggian air diukur dengan persamaan 1. Nilai ini akan dikirimkan ke papan Arduino UNO. Selanjutnya akan diteruskan sesuai dengan logika yang diberikan pada papan arduino, seperti: mengihidupkan keran solenoid, menghidupkan pompa air, dan mengirimkan sms menggunakan Shield IComSat v1.1. Rancangan mikrokontroler untuk Jurnal Sains dan Teknologi | 85
P-ISSN : 2303-3142
E-ISSN : 2548-8570
sistem instalasi air rumah dengan penampungan air ganda ditunjukkan pada Gambar 6. Dua buah sensor ultrasonik HC-
Vol. 6, No. 1, April 2017
SR04 digunakan untuk mengukur ketinggian air untuk setiap penampungan air. Kedua sensor ultrasonic tersebut dihubungkan
Gambar 5. Gambaran Umum Instalasi Air Terkomputerisasi dengan pin 2-5 pada arduino. Pin 6 dan 7 masing-masing digunakan untuk tx dan rx pada shield GSM IComSat. Pin 10 terhubung dengan keran solenoid. Keran solenoid bersifat normaly closed. Hal ini berarti keran hanya akan terbuka jika diberikan nilai aktif oleh arduino. Keran solenoid akan diaktifkan ketika persentase air penampungan bawah tanah lebih kecil atau sama dengan 25%. Solenoid akan dinonaktifkan ketika penampungan air bawah tanah telah terisi penuh. Pin 11 digunakan untuk mengaktifkan relay yang akan menghidupkan pompa air untuk mengisi penampungan atas. Pin 11 hanya akan bernilai aktif apabila penampungan bawah tidak habis dan penampungan atas habis. Kebalikannya, jika salah satu dari kondisi tersebut tidak terpenuhi, maka nilai yang diberikan adalah 0 atau relay tidak akan terhubung sehingga pompa air akan mati. Gambar 6. Rancangan Rangkaian Mikrokontroler
Perancangan Perangkat Lunak Beberapa kebutuhan fungsional yang harus terpenuhi pada sistem yang dibangun adalah: Jurnal Sains dan Teknologi | 86
P-ISSN : 2303-3142
E-ISSN : 2548-8570
Vol. 6, No. 1, April 2017
1. Sistem harus mampu menghitung volume tandon air 2. Sistem harus memberikan informasi mengenai status level air kepada pengguna atau melayani permintaan informasi dari pengguna melalui SMS 3. Sistem harus mampu mengaktifkan pompa air untuk mengisi kembali tandon atas pada kondisi tertentu. Sama halnya dengan tahap sebelumnya, pengaktifan pompa air berdasarkan indicator volume air yang dihitung menggunakan sensor
ultrasonik. 4. Sistem harus mampu mengaktifkan keran PDAM secara otomatis pada kondisi tertentu atau melalui perintah SMS yang dikirimkan oleh pengguna. 5. Sistem harus mampu memahami kondisi tandon air bawah tanah ketika dalam keadaan kosong (tidak dapat terisi) sehingga tidak mengaktifkan pompa air yang mengalirkan aliran air ke tandon atas.
mulai
Inisialisasi no pin, ketinggian (s), durasi (t), persentase ketinggian, no telp
Aktifkan shield GSM
tidak Gsm aktif
stop ya
Tandon1 penuh (s1>=100)
tidak
Tandon1 kosong (s1<=25)
ya
tidak
ya Kirim sms tandon1 kosong
Keran selenoid mati
Keran selenoid hidup
Tandon2 penuh (s2>=100)
tidak
ya
Tandon2 kosong (s2<=25)
ya
tidak
pompa mati
tidak
Nomer GSM valid
ya
Kirim sms PDAM masalah
ya pompa hidup
ya Terima SMS
tidak s1>=10
pompa mati
Proses perintah sms
Input isi SMS
tidak
Delay(1000ms)
Gambar 7. Diagram Alir Sistem
Jurnal Sains dan Teknologi | 87
P-ISSN : 2303-3142
E-ISSN : 2548-8570
Alur proses sistem yang dibangun diperlihatkan pada Gambar 7. Tahap pertama adalah inisialisasi. Terdapat beberapa variabel yang diinisialisasi pada tahap ini, seperti: nomer pin arduino, ketinggian (s), durasi (t), persentase ketinggian, no telp dan variabel logikal lainnya. Selanjutnya, mikrokontroler melakukan setup awal. Pada tahap setup ini, proses yang terjadi adalah mengaktifkan shield gsm. Setelah shield gsm telah aktif, berikutnya dilakukan inisialisasi nomer gsm tujuan dan menentukan pin arduino yang digunakan sebagai input dan output. Tahap berikutnya adalah proses penghitungan ketinggian air yang memacu proses lainnya seperti menghidupkan pompa air, menghidupkan keran solenoid, dan mengirim notifikasi sms. Selain itu sistem menunggu perintah dari sms pengguna, meliputi perintah informasi ketinggian air dan pengrontrolan keran solenoid. Keseluruh tahap ini akan dilakukan secara terus menerus dengan delay 1 detik. Pada penampungan air bawah (tandon1), ada dua kondisi yang diperhatikan yaitu kondisi tandon1 penuh dan tandon1 kosong. Tandon1 berada pada kondisi penuh apabila persentase ketinggian air bernilai 100%, sedangkan dikatakan habis apabila persentase ketinggiannya sebesar lebih kecil dari 25%. Status tandon1 penuh akan mematikan keran solenoid. Sedangkan pada status tandon1 kosong dan keran solenoid mati maka akan dilakukan notifikasi melalui pengiriman sms dan mengaktifkan keran solenoid. Penampung air atas (tandon2) memiliki logika yang hampir sama dengan tandon1. Apabila tandon2 penuh maka pompa air akan dimatikan. Namun, ketika tandon2 kosong maka akan dihidupkan pompa air apabila ketinggian air pada tandon1 masih diatas 10% (masih terdapat air). Jika tidak, maka akan dipastikan pompa air mati. Logika ini untuk menghidari pompa air hidup terus menerus ketika tandon2 tidak pernah penuh terisi karena tandon1 tidak memiliki cukup air. Proses lainnya adalah sistem menunggu terus menerus perintah sms yang
Vol. 6, No. 1, April 2017
dikirimkan. Tahap pertama pada proses ini adalah menguji apakah pesan yang diterima berasal dari nomer gsm yang dikenal oleh sistem. Sebelumnya, beberapa nomer gsm disimpan pada sistem mikrokontroler. Apabila nomer valid, maka pesan akan dibaca dan dibandingkan dengan perintahperintah yang telah ditentukan sesuai dengan perintah yang diinginkan. Implementasi Implementasi perangkat keras sesuai dengan rancangan yang telah dilakukan sebelumnya ditunjukkan pada Gambar 8. Mikrokontroler tersebut menggunakan daya bersumber dari adapter 9V, 2A. Pengujian dilakukan dengan menghubungkan arduino ke komputer untuk mendapatkan hasil ketinggian yang dihasilkan.
Gambar 8. Implementasi Perangkat Keras Sesuai dengan kebutuhan fungsional yang dijelaskan pada bagian sebelumnya, maka terdapat beberapa fitur yang diimplementasikan pada sistem. Fitur pertama yang dimiliki oleh sistem ini adalah mampu memberikan notifikasi persentase volume air pada penampungan air. Persentase volume dihitung menggunakan jarak antara sensor (bagian atas) terhadap permukaan air. Semakin tinggi jarak (s) maka semakin kecil persentase volume yang mengindikasikan level air pada penampungan air. Untuk mengukur ketinggian air tersebut menggunakan sensor Jurnal Sains dan Teknologi | 88
P-ISSN : 2303-3142
E-ISSN : 2548-8570
Vol. 6, No. 1, April 2017
ultrasonik, triger pada sensor ultrasonic akan diaktifkan dan segera dinonaktifkan dengan rentang sangat cepat yaitu 10mikrodetik. Waktu antara pengiriman pulsa tersebut sampai dengan diterima melalui pin echo adalah waktu transmisi sinyal sampai dengan dipantulkan (duration). Sehingga ketinggian (s) dapat dihitung pada waktu satu arah rambatan sinyal sebagai perkalian waktu dengan kecepatan rambatan (0,314detik) dibagi 2. Ketinggi air berdasarkan jarak sensor terhadap permukaan air dengan mempertimbangkan tingkat toleransi yang diberikan. Fitur tersebut diimplementasikan, seperti kode dibawah ini. void UkurContainer(){ digitalWrite(trig1,LOW); delayMicroseconds(10); digitalWrite(trig1,HIGH); delayMicroseconds(10); digitalWrite(trig1,LOW); delayMicroseconds(10); duration1 pulseIn(echo1,HIGH);
=
distanceCont = (duration1 * vSuara/2); persentaseCont = ((tContainer distanceCont) + tToleransi) / tContainer * 100; Serial.println("Volume air container: " + String(persentaseCont) + "%"); }
Fitur berikutnya adalah notifikasi level air melalui GSM. Sistem ini menggunakan Shield GSM IcomSat seperti yang terlihat pada Gambar 9. Implementasi kode menggunakan library GSM oleh (Martines, 2015). SMS akan dikirimkan kepada pengguna ketika level air telah dibawah persentase ambang batas minimum. Implementasi kode diperlihatkan sebagai berikut: void sendSmsToMany(char* isi_sms){ int i; for (i = 0; i < total_numbers; i++){ sms.SendSMS(numbers[i],
isi_sms); delay(2000); } }
Gambar 9. Shield GSM IComSat Selain mengirimkan sms sebagai notifikasi. Sistem juga mampu menerima perintah melalui sms yang dikirimkan oleh pengguna. Sistem menerima sms dan hanya akan memproses sms yang berasal dari nomer GSM terdaftar. Terdapat beberapa perintah yang mampu diproses oleh sistem, antara lain: “TURNON” untuk menghidupkan keran solenoid, “TURNOFF” untuk mematikan keran solenoid, “VOLUME” untuk mengetahui ketinggian air pada penampungan air bawah, dan “SET” untuk mengatur ulang ukuran penampungan air. Berikut adalah kode yang digunakan untuk melakukan perintah tersebut. pos = sms.IsSMSPresent(SMS_UNREAD); sms.GetSMS(pos,phone_number,20,sms_t ext,20); for (i = 0; i < total_numbers; i++){ if (String(phone_number).indexOf(number s[i]) != -1 ) { isNumberValid = true; Serial.println("Valid phone"); break; } } if (isNumberValid){ if (String(sms_text).indexOf("TURNON") != -1) { Serial.println("KERAN MENYALA"); digitalWrite(solenoidPin, HIGH); } Else
Jurnal Sains dan Teknologi | 89
P-ISSN : 2303-3142
E-ISSN : 2548-8570
Vol. 6, No. 1, April 2017
} tTangki = atof(str_buffer);
if(String(sms_text).indexOf("TURNOFF ") != -1) { Serial.println("KERAN MATI"); digitalWrite(solenoidPin, LOW);
}
}else if(String(sms_text).indexOf("VOLUME" ) != -1) { sprintf(sms_text_sim900, "Volume Air: %d persen", (int)persentaseCont); Serial.println("Volume Air: " + String(persentaseCont) + " persen"); sms.SendSMS(phone_number, sms_text_sim900); } else if(String(sms_text).indexOf("SET") != -1) { setTContDanTangki(); } strncpy(sms_text, sizeof(sms_text)); strncpy(phone_number,"", sizeof(phone_number)); isNumberValid = false;
"",
Perintah “SET” diikuti dengan 2 nilai yang digunakan untuk memberikan nilai tinggi penampung air bawah dan penampung air atas. Perintah ini akan memanggil fungsi setTContDanTangki() yang bertujuan untuk membaca dua nilai yang diinputkan setelah perintah SET tersebut dan menyimpannya pada variabel tinggi setiap penampung air. Kode diperlihatkan sebagai berikut. void setTContDanTangki(){ int i = 4; int start = 0; while (sms_text[i] != ';'){ str_buffer[start] = sms_text[i]; i++; start++; } tContainer = atof(str_buffer); i++; start = 0; while (sms_text[i] != ';'){ str_buffer[start] sms_text[i]; i++; start++;
=
Fitur berikutnya adalah sistem mampu mengaktifkan pompa air untuk mengisi kembali tandon atas pada kondisi tertentu. Pengaktifan pompa air berdasarkan indikator volume air pada penampungan air atas yang dihitung menggunakan sensor ultrasonik. Pompa air hanya akan diaktifkan apabila air pada penampungan air bawah tanah diatas ambang batas minimum. Hal ini mencegah kondisi dimana pompa air akan aktif terus oleh karena penampungan air yang tidak akan pernah terisi penuh disebabkan oleh penampungan bawah tidak memiliki cukup air. // cek tangki if(isTangkiFull()){ if(digitalRead(relayPompaPin) == LOW) { // pompa mati Serial.println("pompa mati. Tangki penuh"); digitalWrite(relayPompaPin, HIGH); } }else if(isTangkiEmpty()) { if (persentaseCont >= 10) { if (digitalRead(relayPompaPin) == HIGH){ // pompa hidup Serial.println("pompa hidup. Tangki Kosong. Container Full"); digitalWrite(relayPompaPin, LOW); } }else{ if (digitalRead(relayPompaPin) == LOW){ sendSmsToMany("Container Kosong. PAM kemungkinan bermasalah"); Serial.println("Container Kosong. PAM kemungkinan bermasalah"); Serial.println("pompa mati. Tangki kosong, Container kosong"); digitalWrite(relayPompaPin, HIGH); } } }
Fitur yang terakhir pada sistem ini adalah mengaktifkan secara otomatis atau melalui perintah sms oleh pengguna terhadap keran solenoid. Keran solenoid akan diaktifkan secara otomatis apabila jumlah air pada penampungan bawah tanah telah berada pada ambang batas minimum. Jurnal Sains dan Teknologi | 90
P-ISSN : 2303-3142
E-ISSN : 2548-8570
Berikut ini adalah kode implementasi dari fitur tersebut. if (isContainerFull()){ if (digitalRead(solenoidPin) == HIGH) { Serial.println("Volume Air kontainer 100%"); // keran mati Serial.println("Keran mati"); digitalWrite(solenoidPin, LOW); } }else if(isContainerEmpty()) { if (digitalRead(solenoidPin) == LOW) { sendSmsToMany("Volume Air dibawah 25%"); Serial.println("Kirim SMS volume Air kontainer dibawah 25%: "); // keran hidup Serial.println("Keran hidup"); digitalWrite(solenoidPin, HIGH); } }
Implementasi sistem dapat dilakukan dengan baik menggunakan sistem mikrokontroler Arduino Uno. Beberapa kendala yang terjadi pada saat implementasi antara lain, keterbatasan memory 32kB pada arduino uno menyebabkan komputasi yang rumit akan mengalami masalah. Sistem akan menjadi tidak stabil yang mengakibatkan nilai akurasi pengujian ketinggian air menjadi bermasalah. Permasalahan lainnya adalah, penggunaan sensor ultrasonic HC-SR04 tidak akurat pada jarak yang pendek (kedalaman kurang dari 30 cm). Pengujian menggunakan media penampungan kecil menyebabkan akurasi perhitungan jarak menjadi terganggu. Namun, pada penampungan yang lebih besar tidak lebih dari 4 meter dan jarak maksimal air terhadap sensor 30 cm, sistem menghasilkan hasil perhitungan sesuai dengan yang diharapkan. Shield GSM membutuhkan daya yang stabil. Daya tidak cukup didapatkan hanya dengan menggunakan baterai 9v melalui arduino atau daya yang didapatkan dari kabel usb. Kekurangan daya akan mengakibatkan modem tidak akan aktif atau sulit mendapatkan sinyal yang cukup untuk
Vol. 6, No. 1, April 2017
dapat terhubung ke jaringan GSM. Pada penelitian ini menggunakan adapter listrik tambahan dengan daya 9V 2A. SIMPULAN Sistem instalasi air terkomputerisasi dengan mikrokontroler menggunakan perintah sms dapat dibangun sesuai dengan kebutuhan fungsionsal yang dispesifikasikan. Sistem ini mampu memberikan notifikasi ketika volume air pada penampungan dibawah ambang batas minimum yang diperbolehkan. Selain itu, sistem memungkinkan pengguna untuk meminta informasi volume air pada tandon air dan mengontrol keran elektrik melalui perintah SMS. Penggunaan sms sebagai media komunikasi sistem adalah teknologi yang mudah dan relatif murah dalam implementasi. UCAPAN TERIMAKASIH Ucapan terimakasih disampaikan kepada Universitas Udayana melalui Lembaga Penelitian dan Pengabdian Kepada Masyarakat dan Fakultas MIPA yang telah membiayai pelaksanaan penelitian ini. DAFTAR PUSTAKA Chattoraj, S. (2015). Smart Home Automation Based On Different Sensors And Arduino As The Master Controller, 5(10), 1–4. Fuadi, M. (2012). Sistem Monitoring Tinggi Muka Air Tandon Berbasis Sensor Ultrasonik. Universitas Islam Negeri Sunan Kalijaga. Hariyanto, D. P., & Cuswanto, A. (2010). Otomatisasi Pengisian Penampung Air Berbasis Mikrokontroller At8535. Sekolah Tinggi Manajemen Informatika Dan Komputer AMIKOM Yogyakarta. Kadir, A. (2013). Panduan Praktis Mempelajari Aplikasi Mikrokontroler Dan Pemrogramannya Menggunakan Arduino. Yogyakarta: Andi Publisher. Kumar, S. (2014). Ubiquitous Smart Home System Using Android Application. International Journal of Computer Networks & Communications (IJCNC), 6(1), 33–43. https://doi.org/10.5121/ijcnc.2014.6103 Jurnal Sains dan Teknologi | 91
P-ISSN : 2303-3142
E-ISSN : 2548-8570
Vol. 6, No. 1, April 2017
Lin, H. (2013). Implementing Smart Homes with Open Source Solutions 2 . Backgrounds and Related Works. International Journal of Smart Home, 7(4), 289–296. Martines, M. (2015). GSM-GPRS-GPSShield. Retrieved from https://github.com/MarcoMartines/GSM -GPRS-GPS-Shield Piyare, R., & Lee, S. R. (2013). Smart HomeControl and Monitoring System Using Smart Phone, 24, 83–86.
Jurnal Sains dan Teknologi | 92