Anda di halaman 1dari 32

RANCANGAN ALAT PENGISIAN BAK AIR SECARA OTOMATIS

DAN PENGATUR SUHU AIR MELALUI SHORT MESSAGE


SERVICE (SMS) BERBASIS ARDUINO UNO

TAHUN 2018

(Regim Ramaya Purba) NIM. 1505042039

(Rosalia Tampubolon) Nim. 1505042045

Latar Belakang

Perkembangan teknologi yang sangat pesat mengakibatkan semakin


cepat perubahan yang ada di dunia. Salah satu teknologi yang
mengalami perkembangan pesat adalah elektronika. Dari tahun ke
tahun akan selalu ditemukan alat untuk memudahkan atau
mempercepat pekerjaan-pekerjaan manusia.
Kemudahan ini semakin memanjakan manusia dalam kehidupannya
sehari-hari. Dalam beberapa kondisi tertentu, seseorang membutuhkan
air panas sekitar suhu 37o C – 41o C untuk mandi, misalnya pada pagi
hari. Saat suhu udara masih dingin, dimana setiap orang harus setiap
hari mandi sebelum mulai melaksanakan aktivitas rutin, mandi dengan
air hangat membuatmu lebih melek dan menyingkirkan rasa
mengantuk. Misalkan lagi saat pada malam hari, seseorang ingin
menyegarkan badan dengan mandi setelah seharian lelah bekerja. Tapi
tidak berani mandi dengan air dingin. Maka jika mandi dengan air
panas, tentu terasa nyaman. Lelah di sekujur badan terasa hilang. Air
panas juga dibutuhkan saat kondisi tubuh kurang sehat. Jika
memaksakan diri untuk mandi dengan air dingin, maka bisa dipastikan
kondisi tubuh akan memburuk. Selain menghilangkan pegal, mandi
dengan air hangat membantu tubuh untuk mengeluarkan racun dengan
mudah, tingginya suhu dari air hangat akan membuka pori-pori kulit

39
sehingga bisa terjadi pembersihan yang lebih dalam. Untuk itu
dirancang sebuah sistem otomatis guna pengisian air dalam bak
penampungan serta sistem pemanasan air yang dapat dikendalikan
secara wireless melalui media Short Message Service (SMS).
Pemanfaatan salah satu fitur dalam teknologi selular SMS ini
dilakukan karena teknologi ini sudah umum digunakan dalam
kehidupan sehari-hari. Dengan rancangan alat ini pengguna dapat
mengirimkan SMS yang berisi pesan untuk memanaskan air dalam bak
penampungan air sehingga mencapai suhu stabil yang ditentukan.
Manfaat rancangan alat ini tentunya bisa dipakai saat berada di luar
rumah misalkan saat berada di kantor bila mau pulang ke rumah dan
berhadap dapat langsung mandi air panas hanya dengan mengirimkan
perintah melalui SMS. Sehingga pengguna dapat mandi dengan suhu
yang diinginkan dan begitu juga saat berada di rumah saat baru
bangun pagi tentunya malas untuk langsung ke kamar mandi, tinggal
mengontrol lewat pesan singkat tentunya kitadapat mandi air panas
setelah bangun dan langsung ke kamar mandi tersebut untuk mandi air
panas dengan suhu yang di inginkan.

40
BAB 3
METODE

Perancangan dan pembuatan alat merupakan bagian terpenting dari seluruh


pembuatan tugas akhir ini. Pada prinsipnya perancangan dan sistematik yang baik
akan memberikan kemudahan dalam proses pembuatan alat. Perancangan dan
pembuatan alat ini terbagi menjadi 2, yaitu perancangan hardware dan
perancangan software.

3.1 Perancangan Perangkat Keras (Hardware)

Perancangan Hardware terdiri dari perancangan diagram blok dan rangkaian


skematik sistem.

3.1.1 Spesifikasi Alat

Dalam perancangan alat ini, penulis menggunakan beberapa perangkat


keras berupa komponen-komponen yang mendukung untuk pengendalian
pompa air dan heater. Untuk mempermudah pembacaan, spesifikasi alat
ditunjukkan pada Tabel 3.1.

Tabel 3.1 Spesifikasi Alat

No Parameter Keterangan Satuan


Panjang(P) 20 cm
1 Dimensi Lebar(L) 20 cm
Tinggi(T) 12 cm
2 Pengolah Data Arduino Uno R3 1 Buah
LCD 16x2 1 Buah
3 Display
Potensio 1K 1 Buah
Ultrasonik 1 Buah
4 Sensor Sensor suhu DS18B20 1 Buah
Resistor 4K7 1 Buah
5 sumber tegangan Travo 3A 15V 1 Buah

41
No Parameter Keterangan Satuan
Dioda Led 1 Buah
Resistor 330 Ω 1 Buah
Capasitor 2200µF 2 Buah
IC 7805 1 Buah
IC 7812 1 Buah
Dioda Bridge 2A 1 Buah
Pompa Air 1 Buah
6 Output
Heater 1 Buah
7 Pengolah Sinyal Modem 800L V2 GSM 1 Buah

3.1.2 Perancangan Blok Diagram Sistem

Dalam membuat suatu alat, perlu diperhatikan bagaimana cara merancang


alat yang akan dibuat sesuai dasar teori. Sebelum merancang suatu sistem
atau rangkaian terlebih dahulu membuat blok diagramnya.

Blok diagram merupakan salah satu cara yang paling sederhana untuk
menjelaskan cara kerja dari suatu sistem dan memudahkan untuk
melokalisir kesalahan dari suatu sistem. Dengan blok diagram kita dapat
menganalisa cara kerja rangkaian dan merancang hardware yang akan
dibuat secara umum.

Blok diagram juga memiliki arti yang khusus dengan memberikan


keterangan didalamnya. Untuk setiap blok dihubungkan dengan suatu garis
yang menunjukkan arah kerja dari setiap blok yang bersangkutan. Blok
diagram keseluruhan sistem dapat dilihat pada Gambar 3.1.

42
Modul Pompa
Sensor Relay 2
Modul
Ultrasoni Chanel
Arduino Uno Heater
k
R3
LCD

Sensor
Suhu Ds Rx Modem
18B20 SIM 800L
V2 GSM Handphone

Tx

Gambar 3.1. Diagram Blok Sistem

3.1.3. Fungsi Masing-Masing Blok

3.1.3.1. Sensor Ultrasonik

Sensor Ultrasonik berfungsi untuk mendeteksi air yang akan terisi penuh
dan diatur pada setpoint yang sudah ditetapkan.

3.1.3.2. Sensor Suhu

Sensor suhu berfungsi sebagai pendeteksi besar suhu pada air dalam bak
penampungan.

3.1.3.3. Arduino UNO

Arduino UNO ini berfungsi untuk mengolah data masukkan dari sensor
Ultrasonik dan Sensor suhu DS18B20 kemudian diproses untuk
diteruskan ke output untuk dieksekusi.

3.1.3.4. Relay

Relay mempunyai fungsi sebagai saklar untuk meng-on/off kan output.


Relay 1 dan relay 2 mempunyai fungsi yang sama akan tetapi dari blok

43
diagram penempatan fungsi relay dibedakan dari output. Untuk relay 1
digunakan sebagai saklar pompa air, sedangkan relay 2 digunakan sebagai
saklar heater.

3.1.3.5. Pompa Air

Pompa air berfungsi untuk mengalirkan air menuju bak penampungan.

3.1.3.6. Heater

Heater digunakan untuk mamanaskan air pada bak penampungan yang


telah ditetapkan batas suhu maksimal pemanasan yang diolah melalui
arduino uno.

3.1.3.7. Modem SIM 800L V2 GSM

Modem SIM 800l V2 GSM ini digunakan untuk mengirimkan dan


menerima pesan singkat (SMS) yang telah diprogram melalui arduino uno
secara serial.

3.1.4. Rangkaian Pompa Air dan Heater

Pada perancangan ini pompa di hubungkan ke P.11 arduino, sedangkan


heater dihubungkan ke P.10 arduino. Rangkaian dapat dilihat pada Gambar
3.2.

44
Gambar 3.2. Rangkaian pompa air dan heater

Jika P.11 dan P.10 berlogika 1, maka arus akan mengalir menuju belitan
relay sehingga timbul gaya electromagnet yang kemudian menarik kontak
relay yang sebelumnya berada pada posisi Normally Open (NO) ke posisi
Normally Close (NC) sehingga relay mejadi ON. Hal ini akan menyebabkan
pompa dan heater terhubung ke sumber tegangan 5 volt dan hasilnya pompa
dan heater ON. Jika P.11 dan P.10 berlogika 0, menyebabkan arus pada
belitan relay terputus sehingga menarik kontak relay dari posisi Normally
Close (NC) ke posisi Normally Open (NO) sehingga relay menjadi OFF.
Hal ini akan menyebabkan pompa dan heater tidak terhubung ke sumber
tegangan 12 volt dan hasilnya pompa dan heater OFF.

3.1.5. Rangkaian Modul Modem SIM 800LV2 GSM

Modul SIM800LV2 dapat bekerja pada tegangan 4,8V sampai 5,2V. Pada
rancangan ini, SIM800LV2 dihubungkan ke arduino yang tegangan
keluarannya adalah 5V. Pin Rx dihubungkan ke P.7 arduino sebagai
pembaca perintah dari user dan Pin Tx dihubungkan ke P.8 sebagai
pengirim perintah kepada user.

45
Gambar 3.3. Rangkaian Modul Modem SIM800L GSM

3.1.6. Rangkaian Modul LCD 16x2

Modul LCD yang digunakan memiliki tampilan 2x16 (2 baris x 16 kolom)


dengan konsumsi daya rendah. Modul LCD ini dihubungkan dengan
Arduino Uno yang didesain untuk mengendalikan LCD. Untuk mengakses
LCD diperlukan pengaturan pada pin RS, saat berlogika 0, register yang
dilakukan adalah perintah, sedangkan pada saat berlogika 1, register yang
diakses adalah register data. Agar dapat mengaktifkan LCD, proses
inisialisasi harus dilakukan dengan mengeset pin RS dan membuat pin
Enable dalam kondisi clear. Untuk kaki RS, E, D4, D5, D6, dan D7 masing-
masing dihubungkana pada P.2, P.3, P.4, P.5, P.6, dan P.A5 pada arduino.
Untuk mengatur kecerahan LCD sambungkan potensiometer pada kaki VEE
LCD, Untuk lebih jelasnya dapat dilihat dari Gambar 3.4.

46
Gambar 3.4. Rangkaian LCD Karakter 2x16

3.1.7. Rangkaian Power Supply

Fungsi utama dari Power Supply adalah alat yang dapat memberikan sebuah
suplai arus listrik kepada seluruh komponen yang terpasang dengan baik;
arus listrik yang dihasilkan merupakan arus AC dan selanjutnya akan diubah
menjadi arus DC.

Pada pembuatan alat ini menggunakan trafo step down jenis trafo nol.
Sedangkan rangkaian rectifier-nya menggunakan jenis penyearah
gelombang penuh dengan H-bridge. Kemudian sebagai rangkaian filter
digunakan kapasitor elektrolit dengan nilai 2200uF. Untuk regulatornya
digunakan IC 7812 dan IC7805 sehingga output rangkaian power supply
adalah 12 volt dan 5 volt dengan kemampuan mensupply arus sebesar 1
ampe re. Untuk lebih jelasnya dapat dilihat dari Gambar 3.5.

47
Gambar 3.5. Rangkaian Power Supply

3.1.8. Rangkaian Sensor Ultrasonik

Sensor Ultrasonik yang digunakan adalah HC-SR04 yang dapat membaca


jarak kurang lebih 2cm – 4m dan memiliki dua buah pin yang terdapat pada
sensor sebagai input dan output. Untuk mendeteksi jarak maka sensor
dihubugkan keprogram arduino dimana pin Vcc, pin Tringer, pin Echo, dan
pin Gnd pada sensor dihubungkan dengan sumber tegangan 5V, P.12, P.13,
dan pin Gnd pada arduino, Untuk lebih jelasnya dapat dilihat dari Gambar
3.6.

Gambar 3.6. Rangkaian Sensor Ultrasonik

3.1.9. Rangkaian Sensor Suhu

Untuk membaca sensor suhu dengan arduino sambungkan jalur data (DQ)
ke pin 9 Arduino, dengan ditambah resistor pullup 4k7. Pin Vcc dengan 5V

48
dan pin gnd dengan ground. Fungsi dari resistor ini adalah sebagai “pullup”
dari jalur data untuk mencegah nilai float pada kondisi high dengan
menambahkan sebuah resistor pada jalur sumber tegangan dan paralel
dengan jalur input ke microcontroller, dan diperlukan untuk membantu
memastikan proses transfer data tetap berjalan stabil dan baik.

Gambar 3.7. Rangkaian Sensor Suhu DS18B20

3.1.10. Rangkaian Keseluruhan Sistem

PA.3 pada arduino sebagai pin trigger dan PA.4 sebagai pin echo dari sensor
ultrasonik, saat sensor membaca jarak >=15 cm maka seensor akan
mengirim data ke arduino untuk memerintahkan menghidupkan pompa air
melalui relay pada P.11 dan pada saat sensor membaca jarak <=3 cm
&>=1cm maka sensor akan mengirim data ke arduino untuk memerintahkan
mematikan pompa air melalui relay pada P.11 kemudian data terebut
diteruskan ke pin Tx SIM800LV2 untuk mengirimkan informasi kepada
user berupa pesan singkat. Ketika user memberikan perintah untuk
menghidupkan heater melalui pesan singkat yang kemudian perintah
tersebut diterima oleh SIM800LV2 dan pin Rx akan meneruskan perintah
tersebut ke arduino, Arduino akan memerintahkan relay pada P.10 untuk
menghidupkan heater , pada saat sensor suhu menbaca suhu >=35ºc sensor

49
suhu akan mengirim data ke arduino melalui P.9 unutk memerintakan
mematikan heater dan SIM800L akan mengirim pesan singkat (SMS)
pemberitahuan ke user. Berikut ini adalah rangkaian fungsional dari
pengendali pompa dan heater berbasis arduino uno. Rangkaian lengkap
sistem ini dapat dilihat pada Gambar 3.8.

Gambar 3.8. Rangkaian Keseluruhan Sistem

50
Gambar rangkaian sistem setelah dirangkai dapat dilihat pada gambar 3.9.

Gambar 3.9. Gambar Keseluruhan Sistem setelah dirangkai

3.2. Perancancangan dan Pembuatan Software

Pada rancangan ini akan dibutuhkan sebuah software untuk memprogram


mikrikontroller. Software yang digunakan ialah Arduino 1.6.9. Sebelum
perancangan software, lakukan pembuatan flowchart atau diagram alir
agar sistem berjalan dengan baik.

3.2.1. Flowchart Sistem

Prinsip kerja sistem dapat diwakili dengan diagram alir program atau
flowchart dibawah ini:

51
Gambar 3.10. Flowchart Sistem

52
Pada flowchart dapat dijelaskan keterangan dari alur sistem yang dibuat,
yakni sebagai berikut :

1. Mulai
Memulai sistem yang akan bekerja.
2. Inisialisasi pin input dan output
Merupakan proses pengolahan data dari pin input ataupun output dalam
memori atau register.
3. Pemeriksaan sensor Ultrasonik.
Hal ini merupakan pembacaan sensor jarak oleh memori Arduino uno
apakah air dalam kondisi >=15cm dari sensor ultrasonik atau <=3cm &
>=1cm dari sensor ultrasonik. Bila dalam kondisi >=15cm maka
pompa dihidupkan dengan otomatis dan kemudian mengirim pesan
“POMPA DINYALAKAN” kepada user sampai mencapai air dalam
kondisi <=3cm & >=1cm. Selanjutnya, pompa air otomatis dimatikan
serta mengirim pesan “POMPA DIMATIKAN” kepada user.
4. Pemeriksaan pesan masuk.
Merupakan pengecekan SMS yang dikirimkan oleh Modem 800LV2
GMS. Jika masuk maka sistem akan berlanjut, jika tidak maka akan
kembali pada proses pemeriksaan sensor ultrasonik.
5. Kirim pesan “HEATER ON” ?
Pengkondisian jika ingin memanaskan air.
6. Periksa Suhu Air
Pemeriksaan suhu air yang kemudian ditampilkan pada LCD, bila
mencapai setpoint yang ditentukan maka heater dimatikan secara
otomatis dan akan mengirim pesan “Heater Dimatikan” kepada user.
Jika tidak sesuai setpoint, maka sistem akan kembali pada pemeriksaan
suhu air.
7. Selesai
Akhir dari sistem.

53
3.2.2. Persiapan Software Arduino

Disini penulis menggunakan software Arduino 1.6.9, berikut adalah


tahapan-tahapan dalam persiapan program arduino, sebagai berikut:

1. Download aplikasi Arduino 1.6.9.exe dan juga driver untuk arduino lalu
ekstrak, fungsi dari driver ini untuk membaca port yang akan digunakan
pada sebagian arduino.
2. Hubungkan modul Arduino ke PC dengan kabel USB.
3. Buka software aplikasi Arduino.
4. Pilih tipe modul (sesuai dengan modul yang kita beli missal : Arduino
UNO). Dengan mengklik tool kemudian board seperti gambar dibawah
ini:

Gambar 3.11. Pemilihan Tipe Modul Arduino

Tulislah program arduino pada sheet ataupun bisa membuka program yang sudah
ada, dimana bahasa program yang digunakan oleh arduino ini adalah bahasa C,
lalu compile dengan cara klik sketch lalu compile. Atau kita bisa lakukan pada
icon dibawah menu bar program.

54
BAB 4

HASIL DAN PEMBAHASAN

4.1. Pengujian Perangkat Keras

Pengujian perangkat keras dilakukan untuk mengetahui apakah perangkat


keras yang telah dirancang dapat bekerja atau berfungsi dengan baik
sebagaimana yang diinginkan. Pengujian yang dilakukan terhadap
perangkat keras meliputi beberapa blok rangkaian perangkat keras yang
telah dirancang dan juga pengujian terhadap gabungan dari beberapa blok
rangkaian.

4.1.1. Pengujian pada Tegangan Sumber

Pengujian pada tegangan sumber ini hanya untuk mengetahui apakah ada
tegangan sumber yang mengalir dan berapa besar tegangan sumber yang
sedang mengalir, dan tegangan yang mengalir adalah 215 V AC seperti
yang ada pada Gambar 4.1. tegangan 215 VAC sudah dapat digunakan
untuk mengoperasikan adaptor yang akan digunakan sebagai power supply
untuk arduino uno R3.

53
Gambar 4.1. Pengujian Tegangan Sumber AC

4.1.2. Pengujian pada Power Supply

Pengujian power supply dilakukan untuk mengetahui berapa tegangan


listrik DC yang dihasilkan power supply sebagai sumber tegangan untuk
semua komponen yang terpasang pada alat ini, dari hasil pengujian didapat
tegangan sebesar 15VDC seperti terlihat pada Gambar 4.2. Tegangan
sebesar 15VDC sudah dapat mensuplai tegangan ke seluruh alat ini yang
menggunakan tegangan 12V dan 5V.

Gambar 4.2. Pengujian Tegangan power supply

4.1.3. Pengujian pada Adaptor

Adaptor yang diuji disini adalah adaptor yang dipergunakan untuk


memberi sumber tegangan ke arduino sebagai pengganti power supply
adaptor, dan tegangan yang dibutuhkan arduino adalah sebesar 6 – 20
VDC dan adaptor yang digunakan adalah inputan 12 VDC seperti yang
ada pada Gambar 4.3.

54
.

Gambar 4.3. Pengukuran Output Adaptor

Pada hasil pengujian adaptor ini didapatkan tegangan 12,3 volt DC, hal ini
berarti adaptor dalam keadaan baik dan dapat digunakan.

4.1.4. Pengujian pada Sensor Ultrasonik

Pengujian pada sensor ultrasonik set point <=3cm & >=1 dilakukan
bertujuan untuk mengetahui berapakah tegangan output dari sensor
ultrasonik dapat dilihat pada Gambar 4.4. dimana tegangan output sensor
ultrasonik setpoint <=3cm & >=1 adalah sebesar 0,04 VDC dari hasil
pengujian ini bisa disimpulkan bahwa pada saat sensor ultrasonik setpoint
<=3cm & >=1 memberikan logika 0 kepada arduino dan arduino
merespon dan memberikan reaksi terhadap pompa melalui relay untuk
mematikan pompa air.

55
Gambar 4.4. Pengukuran Sensor ultrasonik set point <=3cm & >=1

Pengujian pada sensor ultrasonik set point >= 15 cm dilakukan bertujuan


untuk mengetahui berapakah tegangan output dari sensor ultrasonik
setpoint >= 15 cm dari sensor dan hasil pengujian dapat dilihat dari
Gambar 4.5. dimana tegangan output sensor ultrasonik adalah sebesar 5
VDC. Dari hasil pengujian ini bisa disimpulkan bahwa pada saat sensor
ultrasonik setpoint >= 15 cm memberikan logika 1 kepada arduino dan
arduino merespon dan memberikan reaksi terhadap pompa melalui relay
untuk mengisi air penampungan bak hingga keadaan <=3cm & >=1.

Gambar 4.5. Pengukuran Sensor ultrasonik Setpoint >= 15 cm

56
Tabel 4.1. Hasil Pengukuran Sensor ultrasonik

Saat jarak Saat jarak >=15cm dari


<=3cm&>=1cm dari sensor
sensor

0.04VDC 5 VDC

Dari hasil pengujian pada Tabel 4.1 bisa disimpulkan bahwa pada saat
relay diberi tegangan rendah 0,04V relay akan mematikan pompa air dan
pada saat relay diberi tegangan tinggi 5 V relay akan menghidupkan
pompa untuk mengisi bak penampungan.

4.1.5. Pengujian Relay pada Pompa

Pengujian input Relay pada Pompa ini dilakukan bertujuan untuk


mengetahui berapa tegangan yang diberikan arduino kepada relay pada
pompa agar relay pada pompa tersebut dapat bekerja/on, dan hasil pengujian
dapat dilihat pada Gambar 4.6. dimana nilai tegangannya 4,8 V dan
tegangan yang mengalir pada relay pada pompa saat relay pada pompa
dalam keadaan off dapat dilihat pada Gambar 4.7.dimana tegangannya
0,2V.

57
Gambar 4.6. Input Relay Pada Pompa Saat ON

Gambar 4.7. Input Relay Pada Pompa Saat OFF

Tabel 4.2. Pengujian Input Relay pada Pompa

Saat ON Saat OFF

4,8 VDC 0,2 VDC

58
Dari hasil pengujian pada Tabel 4.2 bisa disimpulkan bahwa pada saat
relay diberi tegangan rendah 0,2V relay akan mematikan pompa air dan
pada saat relay diberi tegangan tinggi 4,8V relay akan menghidupkan
pompa air.

4.1.6. Pengujian Input Relay pada Heater

Pengujian input Relay pada Heater ini dilakukan bertujuan untuk


mengetahui berapa tegangan yang diberikan arduino kepada relay pada
Heater agar relay pada heater tersebut dapat bekerja, dan hasil pengujian
dapat dilihat pada Gambar 4.8. dan berapa tegangan yang mengalir pada
relay pada heater saat relay pada pompa dalam keadaan off dapat dilihat
pada Gambar 4.9.

Gambar 4.8. Input Relay Pada Heater Saat ON

59
Gambar 4.9. Input r Relay Pada Heater Saat OFF

Tabel 4.3. Pengujian Input Relay pada Heater

Saat ON Saat OFF

4,8 VDC 0.02 VDC

Dari hasil pengujian pada Tabel 4.3 bisa disimpulkan bahwa pada saat
relay diberi tegangan rendah 0,02V relay akan mematikan heater dan pada
saat relay diberi tegangan tinggi 4,8V relay akan mengaktifkan heater
hingga keadaan air sesuai setpoint (35ºC)

4.1.7. Pengujian Tegangan Input pada Modul SIM 800LV2 GSM.

Modul SIM800LV2 dapat bekerja pada tegangan 4,8V sampai 5,2V. Pada
rancangan ini, SIM800LV2 dihubungkan ke arduino yang tegangan
keluarannya adalah 5V. Pengujian pada SIM 800L untuk mengetahui
apakah SIM 800L bisa digunakan dan dari hasil pengujian dihasilkan
tegangan sebesar 5,2 V DC. Hasil pengujian kali ini dapat ditunjukkan
pada Gambar 4.10. dibawah ini :

60
Gambar 4.10. Pengujian Tegangan untuk SIM 800L

4.1.8. Pengujian Pesan


Pengujian pesan ini dilakukan untuk mengetahui bahwa SIM800L
mengirimkan informasi bahwa output arduino berupa heater dan
pompa air dalam keaadn ON/OFF. Untuk heater, penulis merancang
hanya dapat diaktifkan melalui pesan karena kebutuhan air hangat
yang tidak sering digunakan.

61
Gambar 4.11. Pengujian Pesan Pada Pompa Air Dan Pengujian Pesan Pada
Heater

4.2. Pengujian Software

Pembuatan bahasa program sebagai pengolah data pada input maupun


output arduino, sebagai berikut :

4.2.1.Pengujian LCD pada program

#include #define ONE_WIRE_BUS 8


<LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x3F ,
#include <OneWire.h> 16, 2);
#include // setup sensor
<DallasTemperature.h> OneWire
oneWire(ONE_WIRE_BUS);

// sensor diletakkan di pin 8

62
// berikan nama SuhuAir = ambilSuhu();
variabel,masukkan ke pustaka lcd.setCursor(10, 0);
Dallas lcd.print(SuhuAir);
DallasTemperature lcd.print(" C");
sensorSuhu(&oneWire); delay(1000);
Serial.print("suhu: ");
float SuhuAir; Serial.print(SuhuAir);
Serial.print("°C");
void setup(void) Serial.println();
{ delay(2000);
Serial.begin(9600); }
lcd.begin();
lcd.print("Suhu Air: "); float ambilSuhu()
lcd.setCursor(0, 1); {
lcd.print("TA REGIM & sensorSuhu.requestTemperat
ROSA"); ures();
sensorSuhu.begin(); float suhu =
} sensorSuhu.getTempCByInde
x(0);
void loop(void) return suhu;
{ }

Gambar 4.14. Pengujian LCD dengan Program.

63
4.2.2. Program Akhir

#include <gprs.h> LiquidCrystal lcd(2, 3, 4, 5, 6, A5);


#include <softwareserial.h>
OneWire
#include <Ultrasonic.h>
oneWire(ONE_WIRE_BUS);
#include <LiquidCrystal.h>
DallasTemperature
#include <OneWire.h>
sensorSuhu(&oneWire);
#include <DallasTemperature.h>

float SuhuAir;
#define TIMEOUT 5000
void setup() {
#define ON HIGH
pinMode (Relay1 , OUTPUT);
#define OFF LOW
pinMode (Relay2 , OUTPUT);
#define ONE_WIRE_BUS 9
digitalWrite(Relay1,HIGH);
#define trigPin A3 //Set Trigger
digitalWrite(Relay2,HIGH);
HCSR04 di Pin A3
#define echoPin A4 //Set Echo
pinMode(trigPin, OUTPUT); //Set
HCSR04 di Pin A4
pin Trigger sebagai output
#define MAX_DISTANCE 500 //Set
pinMode(echoPin, INPUT); //Set
jarak maksimal
pin Echo sebagai input
//
const int Relay1 = 10;
lcd.begin(16, 2);
const int Relay2 = 11;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TA ROSA & REGIM");
int StatRelay1;
lcd.setCursor(0,1);
int StatRelay2;
lcd.print("SMS OTOMATIS");

Serial.begin(9600);
sensorSuhu.begin();
GPRS gprs;
while(!Serial);
Ultrasonic sonar(trigPin, echoPin,
MAX_DISTANCE);

64
Serial.println("Starting SIM800 Auto }
Read SMS");
//Variable to hold last line of serial
gprs.preInit();
output from SIM800
delay(1000);
char currentLine[500] = "";
int currentLineIndex = 0;

while(0 != gprs.init()) {
//Boolean to be set to true if message
delay(1000);
notificaion was found and next
Serial.print("init error\r\n");
//line of serial output is the actual
}
SMS message content
bool nextLineIsMessage = false;
//Set SMS mode to ASCII
void loop() {
if(0 !=
//Write current status to LED pin
gprs.sendCmdAndWaitForResp("AT
digitalWrite(Relay1, StatRelay1);
+CMGF=1\r\n", "OK", TIMEOUT))
digitalWrite(Relay2, StatRelay2);
{
ERROR("ERROR:CNMI");
// JARAK
return;
int duration, jarak,posisi=0,i;
}
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
//Start listening to New SMS
digitalWrite(trigPin, HIGH);
Message Indications
delayMicroseconds(10);
if(0 !=
digitalWrite(trigPin, LOW);
gprs.sendCmdAndWaitForResp("AT
duration = pulseIn(echoPin, HIGH);
+CNMI=1,2,0,0,0\r\n", "OK",
jarak = (duration/2) / 29.1;
TIMEOUT)) {
ERROR("ERROR:CNMI");
if(jarak>=15) {
return;
StatRelay2 = ON;
}
Serial.println("POMPA
DINYALAKAN"); gprs.sendSMS
Serial.println("Init success");

65
("082273580606","POMPA if(gprs.serialSIM800.available()){
DINYALAKAN");delay(10000);
char lastCharRead =
}
gprs.serialSIM800.read();
//Read each character from serial
if(jarak<=3 && jarak >=1) {
output until \r or \n is reached (which
StatRelay2 = OFF;
denotes end of line)
Serial.println("POMPA
if(lastCharRead == '\r' ||
DIMATIKAN");
lastCharRead == '\n'){
gprs.sendSMS
String lastLine =
("082273580606","POMPA
String(currentLine);
DIMATIKAN");
delay(10000);
//If last line read +CMT, New
}
SMS Message Indications was
received.
// suhu
//Hence, next line is the
SuhuAir = ambilSuhu();
message content.

if(lastLine.startsWith("+CMT:")){
if(SuhuAir >=35) {
StatRelay1 = OFF;
Serial.println(lastLine);
Serial.println("HEATER
nextLineIsMessage = true;
DIMATIKAN");
gprs.sendSMS
} else if (lastLine.length() > 0) {
("082273580606","HEATER
DIMATIKAN");
if(nextLineIsMessage) {
delay(20000);
Serial.println(lastLine);
}

// ########## MEMBACA
//If there is serial output from
KONTEN SMS DAN
SIM800
MENCARI+MENGARTIKAN

66
KONTEN SMS KE PROGRAM // ------ program tampilan jumlah
######### barang pada lcd 16x2 ------ //
//Kendali Relay lcd.clear();
lcd.setCursor(0, 0);
if(lastLine.indexOf("HEATER ON") lcd.print("Jarak :");
>= 0){ lcd.setCursor(8, 0);
StatRelay1 = ON; lcd.print(jarak);
Serial.println("HEATER lcd.print(" cm");
DINYALAKAN"); lcd.setCursor(0, 1);
gprs.sendSMS lcd.print("Suhu:");
("082273580606","HEATER lcd.setCursor(6, 1);
DINYALAKAN");} lcd.print(SuhuAir);
lcd.print(" C");
nextLineIsMessage = false; delay(500); // delay update tulisan
} pada lcd
}
}

//Clear char array for next line


of read float ambilSuhu()
for( int i = 0; i < {
sizeof(currentLine); ++i ) { sensorSuhu.requestTemperatures();
currentLine[i] = (char)0; float suhu =
} sensorSuhu.getTempCByIndex(0);
currentLineIndex = 0; return suhu;
} else { }
currentLine[currentLineIndex++]
= lastCharRead;
}
}

67
BAB 5

PENUTUP

5.1. Kesimpulan

Dari percobaan yang telah dilakukan dapat diambil kesimpulan sebagai berikut :

1. Pompa air akan hidup dengan otomatis apabila sensor ultrasonik


membaca jarak air >=15cm dan akan otomatis mati bila sensor ultrasonik
membaca jarak air <=3 & >=1.
2. Tegangan yang dikeluarkan arduino pada setiap pin bernilai (0V-5V) DC. Sebagai
contoh pada relay pompa, pada saat air mencapai jarak >=15cm maka arduino
akan memberikan tegangan sebesar 4,8 volt DC kepada relay yang kemudian
relay akan menghidupkan pompa, setelah air terisi mencapai jarak <=3 & >=1
maka arduino akan memberikan tegangan 0,2 volt kepada relay, kemudian relay
akan mematikan pompa.
3. Saat sipengguna alat ingin memasak air hangat untuk mandi pada suhu tertentu si
pengguna hanya tinggal memberikan pesan singkat berupa SMS untuk
memanaskan airnya, dan jika sudah mengenai suhu yang ditentukan heater akan
mati dengan otomatis dan memberi pesan singkat berupa SMS ke handphone si
pengguna alat ini.

5.2. Saran
Dari perancangan sistem yang telah di realisasikan, diharapkan dapat menjadi dasar
perancangan lebih lanjut mengingat banyaknya keterbatasan yang dihadapi maka diusulkan
beberapa saran perkembangan, yaitu :
1. Apabila sistem ini direalisasikan ke pompa air yang sebenarnya, sebaiknya alat
ini menggunakan relay yang lebih besar(misalnya 7,2A).
2. Untuk bak penampungan yang lebih besar sebaiknya digunakan jenis water
heater lain seperti solar heater (misalnya 800w, dll).
3. Untuk pencarian sinyal yang cepat pada alat kartu yang digunakan sebaiknya
Telkomsel.

68

Anda mungkin juga menyukai