TAHUN 2018
Latar Belakang
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
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
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.
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
Sensor Ultrasonik berfungsi untuk mendeteksi air yang akan terisi penuh
dan diatur pada setpoint yang sudah ditetapkan.
Sensor suhu berfungsi sebagai pendeteksi besar suhu pada air dalam bak
penampungan.
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
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.6. Heater
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.
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
46
Gambar 3.4. Rangkaian LCD Karakter 2x16
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
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.
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.
50
Gambar rangkaian sistem setelah dirangkai dapat dilihat pada gambar 3.9.
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
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:
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
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
54
.
Pada hasil pengujian adaptor ini didapatkan tegangan 12,3 volt DC, hal ini
berarti adaptor dalam keadaan baik dan dapat digunakan.
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
56
Tabel 4.1. Hasil Pengukuran Sensor ultrasonik
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.
57
Gambar 4.6. Input Relay Pada Pompa Saat ON
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.
59
Gambar 4.9. Input r Relay Pada Heater Saat OFF
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)
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
61
Gambar 4.11. Pengujian Pesan Pada Pompa Air Dan Pengujian Pesan Pada
Heater
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;
{ }
63
4.2.2. Program Akhir
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
}
}
67
BAB 5
PENUTUP
5.1. Kesimpulan
Dari percobaan yang telah dilakukan dapat diambil kesimpulan sebagai berikut :
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