Anda di halaman 1dari 17

BAB III

PERANCANGAN DAN PEMBUATAN ALAT

Dalam bab ini akan dibahas mengenai proses perancangan mekanik serta

penyusunan rangkaian untuk merealisasikan sistem alat. Dalam hal ini Ethernet

shield sebagai alat komunikasi penghubung antara Smartphone dengan Arduino.

Adapun sistem alat yang dibuat dan dirancang sesuai blok diagram. Pembahasan

dititik beratkan pada perancangan alat yang dibuat berdasarkan pemikiran dan

mengacu pada sumber yang berhubungan dengan alat, pembuatan dan

perancangan saklar kran selenoid Berbasis Arduino Mega Ethernet Shield sebagai

web server. Perancangan alat ini terdapat tiga tahapan yaitu perancangan

mekanikal, elektrikal dan pemrograman.

3.1 Blok Diagram

Sebelum menentukan dan membuat perangkat keras, terlebih dahulu

dilakukan perencanaan blok diagram yang akan menjadi kerangka acuan dalam

pembuatan alat aplikasi sesuai dengan yang diinginkan. Adapun blok diagram dari

sistem tersebut adalah terdapat pada Gambar 3.1.


Akses Poin Arduino
Android Ethernet Shield

Relay

Kran Selenoid

Gambar 3. 1 Blok Diagram Sistem

Arduino uno tidak dapat berkomunikasi langsung dengan Server melalui

jaringan lokal dan tidak dapat berkomunikasi langsung dengan kran selenoid.

Maka Arduino uno harus ditambahkan dengan Ethernet Shield untuk dapat

berkomunikasi dengan Server agar dapat memerintahkan lampu. Gambar 3.1

adalah gambaran susunan diagram blok Arduino uno dengan Ethernet Shield.

Adapun fungsi dan peran dari masing-masing gambar 3.1 di atas adalah

berikut:
Tabel 3.1 : Fungsi dan peran komponen

No. Komponen Fungsi dan Peran


Memberi perintah kepada arduino
1 User (laptop atau Smartphone) UNO untuk mengeksusi program
melalui aplikasi yang telah di buat
Sebagai media penghubung dan
komunikasi antara laptop/smartphone
2 Acces Point melalu wireles dan dengan ethernet
shield menggunakan kabel RJ45
dengan memanfaatkan jaringan LAN.
Menghubungkan Arduino board
3 Ethernet shield dengan jaringan internet melalui
router menggunakan kabel RJ45.

Sebagai sisitem kontrol dari semua


4 Arduino UNO rangkaian pengontrolan dan
pengendali miniatur lampu.

Memberikan sumber tegangan DC ke


5 Catu Daya (DC) rangakaian Arduino unu, Etehrnet
shield, Relay, acces point.
Sebagai saklar elektronika yang
6 Relay bertugas menghidupkan dan
mematikan lampu

3.2 Perangkat Keras

Dalam merancang perangkat keras yang di gunakan pada miniatur ini,

penulis menggunakan komponen sebagai berikut:

1. Arduino uno
2. Ethernet Shield
3. Relay
4. Jumper Wire
5. Selenoid Valve
6. DLL.

3.2.1 Arduino Uno

Arduino uno adalah sebuah mikrokontroler yang di sarankan pada

ATmega 328 (data sheet). Arduino uno seperti yang di lihat pada Gambar 3.2
mempunyai 14 pin digital input/output ,6 diantaranya dapat digunakan sebagai

output PWM (pulse width modulation), 6 input analaog, sebuah oscillator

kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ISCP

header, sebuah tombol reset.

Gambar 3.2 Rangkaian Arduino UNO

Untuk data-data spesifikasi dari Arduino UNO secara ringkas bisa dilihat

pada tabel 3.2 di bawah ini.

Tabel 3.2 Data Spesifikasi Arduino UNO

Mikrokontroler Atmega 328


Tegangan Pengoprasian 5V
Tegangan Input Yang Disarankan 7 - 12 V
Batas Tegangan Input 6 - 20 V
14 (6 diantaranya menyediakan
Jumlah Pin I/O Digital
keluaran PWM)
Jumlah Pin Input Analog 6
Jumlah Pin Input Analog 6 MHz

Untuk mengetahui koneksi pin ATmega 328 dengan pin

Arduino uno bisa dilihat pada tabel 3.3


Tabel 3.3 Data Spesifikasi ATmega 328

PIN Arduino PIN Arduino


PIN Atmega328 PIN ATmega328
Uno Uno
1 15 9 (PMW)
2 0 (RX) 16 10 (PMW)
3 1 (TX) 17 11 (PMW)
4 2 18 12
5 3 (PMW) 19 13
6 4 20
7 21
8 22
9 23 1 analog PIN
10 24 2 analog PIN
11 5 (PMW) 25 3 analog PIN
12 6 (PMW) 26 4 analog PIN
13 7 27 5 analog PIN
14 8 28 6 analog PIN

3.2.2 Ethernet Shield

Peran Ethernet Shiled disini adalah untuk meneruskan perintah dari

laptop atau handphone ke Arduino UNO untuk mengoperasikan relay agar

mengidupkan dan mematikan lampu. Berikut ini adalah gambar rangkaian

Ethernet Shield.

Gambar 3.3 Rangkaian Ethernet Shield

Untuk menghubungkan dan menggunakan modul hingga dapat

terkoneksi internet cukup mudah, hanya membutuhkan waktu beberapa


menit saja. Caranya dengan memasangkan modul tersebut di atas Arduino

bord, sambungkan dengan kabel network RJ45, ikuti tutorial

pemogramannya (menggunakan pustaka Ethernet yang sudah tersedia di

paket perangkat lunak Arduino IDE), dan Arduino Anda siap dikendalikan

lewat internet.

Di dalam arduino ethernet sendiri terdapat slot mikro SD yang berbungsi

sebagai tempat penyimpanan file sedangkan untuk mengakses mikro SD

card mengunakan library SD ,untuk jenis arduino board yang bisa di

pasangkan dengan ethernet shield W5100 yaitu arduino uno dan mega.

Berikut ini spesifikasi dari Ethernet Shield:

1. Chip Wiznet W5100 dengan internal buffer 16 Kb,

2. Kecepatan koneksi 10/ 100 Mb ( Fast Ethernet ),

3. Papan ini terhubung dengan Arduino melalui port SPI,

4. Dapat mendukung hingga 4 koneksi simultan.

3.2.3 Relay

Peran dan fungsi relay disini adalah sebagai saklar otomatis untuk

menghidupkan dan mematikan lampu, dimana relay disini bekerja sesuai

dengan perintah yang arduino berikan kepadanya. Relay akan bekerja

apabila memperoleh input logika High dari Arduino dan begitu sebaliknya

relay akan berhenti bekerja apabila memperoleh input logika Low dari

arduino. Berikut gambar rangkaian relay.


Gambar 3.4 Relay

3.2.4 Rangkaian Arduino UNO dan Ethernet Shield

Sistem kendali pada arduino uno memiliki 6 pin analog da 14 pin

digital. Alasan memilih arduino uno karena jumlah pin dan memori pada

arduino uno cukup untuk pengoprasian alat, Untuk perancangan rangkaian

arduino uno dengan Ethernet shield dapat dilihat pada gambar 3.5

Gambar 3.5 Rangkaian arduino uno dan ethernet shield

Untuk menghubungkan arduino dengan Ethernet shield sebenarnya tidak

diperlukan kabel lagi dikarenakan pada keduanya sudah terdapat socket

sehingga apabila ingin mengubungkan keduanya hanya tinggal

menancapkan Ethernet shield diatas arduino uno saja, untuk pemasangan

Ethernet shield pada arduino uno dapat dapat di lihat pada gambar 3.6
Gambar 3.6 Pemasangan internet Shield pada Socket Arduino UN

3.2.5 Rangkaian Ethernet Shield dan Relay

Ethernet shield merupakan alat yang digunakan untuk membantu

arduino agar dapat berkomunikasi dengan laptop maupun handphone

sehingga proses ini merupakan proses membuat rangakaian dan

menghubungkan pin-pin yang ada pada ethernet shield dengan relay agar

arduino dapat memerintahkan relay saat arduino menerima perintah dari

laptop maupun handphone. Pengontrolan on atau off lampu dapat dilakukan

dari jarak jauh dengan menggunakan laptop / handphone yang telah

terhubung dengan jaringan LAN sehingga bisa memerintahkan relay untuk

menghidup dan mematikan lampu. Untuk rangkaian Ethernet Shield dengan

Relay dapat dilihat pada gambar 3.7 dibawah ini.

Gambar 3.7 Rangkaian Ethernet Shield dengan Relay


Dari gambar diatas dapat kita lihat bahwa pin yang digunakan untuk

mengoprasikan selenoid valve dimana pin 2 pada ethernet shield di

hubungkan dengan IN 1 pada Relay sehingga relay ini dapat bekerja sesuai

dengan perintah yang di berikan arduino kepadanya. Untuk pin 5V pada

Ethernet shield dihubungkan dengan pin VCC pada relay yang berfungsi

untuk memberikan tegangan input sebesar 5 volt DC yang digunakan untuk

mengoperasikan relay. Dan untuk pin GND pada Ethernet shield

dihubungkan dengan pin GND pada relay.

3.2.6 Rangkaian Relay dan Kontrol Selelenoid Valve

Pengontrolan on atau off selenoid dapat dilakukan dari jarak jauh

dengan mengakses web browser pada laptop ataupun handphone dengan

memasukan url yang telah di tentukan. Untuk rangkaian relay akan

dihubungkan ke arduino uno pada pin yang sudah ditentukan. Adapun relay

yang digunakan dalam perancangan modul ini adalah relay SPDT (single

Pole Double Throw). Relay akan bekerja apabila memperoleh input logika

High dari arduino. Untuk rangkaian relay pengontrol kran selenoid dapat

dilihat pada gambar 3.8

Gambar 3.8 Rangkaian Relay Untuk Pengontrolan Lampu


Pada gambar diatas Input pada selenoid valve dihubungkan dengan

adaptor 12V DC dan Outputnya untuk kabel positifnya di hubungkan kontak

NO K1 pada relay dan kontak NO relay K1.

3.3 Pemrogaman Software atau Perangkat Lunak

Perancangan dan pembuatan program ini umumnya di lakukan di tahap

akhir, setelah perancangan mekanik dan elektrik terselesaikan. Karena dalam

proses pemograman pada umumnya programmer melakukan dengan uji coba

alat sehingga apabila ada kesalahan dalam program dapat diketahui dan di

perbaiki langsung. Pemograman adalah memasukkan suatu informasi atau

kode-kode (coding) kedalam suatu mikrokontroler. Dimana nantinya alat ini

dapat beroperasi sesuai perencanaan awal. Begitu pula dengan alat

pengontrolan atau pengendali kran selenoid ini, diharapkan nantinya kran

selenoid ini bisa dioperasikan melalui laptop maupun handphone dari jarak

jauh. Fungsi dari alat ini adalah untuk menghidupkan dan mematikan kran dari

jarak jauh dengan memanfaatkan jaringan LAN ( Lokal Area Network).

3.3.1 Aplikasi Program Arduino

Setelah semua komponen dirangkai, langkah selanjutnya adalah

membuat program pada aplikasi program Arduino IDE. Program Arduino

berisikan perintah- perintah yang akan dikerjakan Ethernet Shield dan relay

untuk menghidupkan dan mematikan lampu sesuai perintah yang diberikan

oleh laptop ataupun handphone. Berikut listing program arduino :

#include <SPI.h>
#include <String.h>
#include <Ethernet.h>
#include <Ultrasonic.h>
#define echoPin 5 // Echo Pin
#define trigPin 6 // Trigger Pin
#define kamarmandi 2 // Onboard LED

int maximumRange = 30; // Maximum range needed


long duration, distance; // Duration used to calculate distance

byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x9B, 0x36 }; // Endereo Mac
byte ip[] = { 192, 168, 1, 17 }; // Endereo de Ip da sua Rede
EthernetServer server(80);
unsigned int powerOnSOM[100] = {3300, 1850, 450, 1150, 450, 1100, 450,
450, 450, 400, 450, 400, 450, 450, 450, 1100, 450, 450, 450, 1100, 450, 1150,
450, 400, 450, 450, 450, 1100, 450, 450, 450, 1100, 450, 450, 450, 1100, 450,
450, 450, 400, 450, 400, 450, 450, 450, 400, 450, 450, 450, 400, 450, 400,
500, 400, 450, 1100, 450, 450, 450, 400, 450, 400, 450, 450, 450, 400, 450,
1150, 450, 400, 450, 450, 450, 400, 450, 400, 450, 450, 450, 400, 500, 400,
450, 1100, 450, 450, 450, 1100, 450, 400, 450, 450, 450, 400, 450, 450, 450,
400, 450};

boolean statusR1, statusR2, statusR3, statusR4 = false;


String readString = String(30);
String statusLed;

void setup(){
setupUltrasonic();
setupEthernet();
}
void loop(){
loopUltrasonic();
loopEthernet();
}
void setupUltrasonic() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(kamarmandi, OUTPUT); // Use LED indicator (if required)
digitalWrite(kamarmandi, LOW);

while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
}
// start the Ethernet connection and the server:
void setupEthernet(){
Ethernet.begin(mac, ip);
pinMode(kamarmandi, OUTPUT);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}

void loopUltrasonic() {
/* The following trigPin/echoPin cycle is used to determine the
distance of the nearest object by bouncing soundwaves off of it. */
int duration, distance;
digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH)/2;
distance = duration/29.1;
delay(500);

if (distance <= 5 ){
digitalWrite (kamarmandi,HIGH);
}
}
// listen for incoming clients
void loopEthernet() {
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length() < 100) {
readString += c;
}
if (c == '\n') {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<HTML>");
client.println("<HEAD>");
client.println("<meta http-equiv=\"Refresh\" content=\"4; url=/wakwaw\"
/>");
client.println("<meta http-equiv=\"Content-Type\"
content=\"application/vnd.wap.xhtml+xml; charset=utf-8\" />");
client.println("<link type=\"text/css\" rel=\"stylesheet\"
href=\"http://haidao.mw.lt/js_css/css_pages.css\" />");
client.println("<TITLE>Room Automation</TITLE>");
client.println("</HEAD>");
client.println("<BODY align=\"center\">");
client.println("<h1>Penel Kontrol Air </h1>");
client.println("<hr />");
client.println("<br />");
client.println("<br />");
client.println("<table align=\"center\"><tr>");
client.println("<th width=\"10%\">Nama Perangkat</th>");
client.println("<th width=\"10%\">Status Perangkat</th>");
client.println("<th width=\"10%\">Saklar ON/OFF</th></tr>");
client.println("<tr class=\"trh1\"><td align=\"left\">");
client.println(" ");
client.println(" ");
client.println("Relay 1");
client.println("</td><td align=\"center\">");
if (statusR1 == false) {
client.println("<b>MATI</b>");
} else {
client.println("<b>HIDUP</b>");
}
client.println("</td><td align=\"center\">");
if (statusR1 == false) {
client.println("<a href=\"/1on\" />HIDUP</a>");
} else {
client.println("<a href=\"/1off\" />MATI</a>");
}
client.println("</td></tr>");
client.println();
client.println("<tr class=\"trh2\"><td align=\"left\">");
client.println(" ");
client.println(" ");
client.println("</td></tr>");
client.println();
client.println("</BODY>");
delay(1);
client.stop();

if (readString.indexOf("1on") >0){
digitalWrite(kamarmandi, LOW);
statusR1 = true;
}
if (readString.indexOf("1off") >0){
digitalWrite(kamarmandi, HIGH);
statusR1 = false;
}
readString="";
}}}}}
Keterangan pin yang dipakai pada arduino sebagai acuan dalam

pemograman tertera pada tabel 3.6 dibawah ini:

Tabel 3.6 Kegunaan Pin Pada Arduino

No PIN Arduino Kegunaan


1 2 Lampu Kamar Mandi
2 3 Lampu Teras Rumah
3 4 Lampu Ruang Tamu
4 5 Lampu Kamar Tidur
5 5V Sumber DC 5V Untuk Relay dan Ethernet Shield
6 GND Ground Relay dan Ethernet Shield

3.3.2 Flowchar

Untuk memahami bagaimana kinerja alat ini dalam melakukan

oprasinya, berikut akan di paparkan dalam sebuah diagram (flowchard).

Gambar 3.9 Flow Chart Kontrol Kran Selenoid


1. Pada saat Wifi diaktifkan dari smartphone android maka akan mencari

perangkat modul router yang terkoneksi dengan Arduino Ethernet Shield.

2. Maka akan tampil perangkat wifi yang sudah tersedia kemudian

dihubungkan pada router yang terkoneksi dengan Arduino Ethernet Shield

dengan memasukan IP addres terlebih dahulu.

3. Setelah perangkat sudah terhubung maka pengendalian kran selenoid dapat

dikendalikan melalui smartphone Android yang sudah terpasang aplikasi.

4. Apabila kondisi bak mancapai volume tertentu, kran selenoid akan mati

perintah dari sensor ultrasonik

3.3.3 Perangkat Lunak Android

Perancangan kendali aplikasi android menggunakan App Inventor2

yang dirancangan sedemikian rupa. Aplikasi android terdiri dari beberapa

form yang tersedia di dalamnya antara lain :

1. Form Login

Gambar 3.10. Login Aplikasi

2. Form Daftar
Gambar 3.11. Daftar Pengguna Aplikasi

3. Form Menu Utama

Tombol
Kendali

Gambar 3.12. Menu Utama Aplikasi

4. Form Tombol Kontrol

Tombol
On/Off

Gambar 3.14. Kontrol Tombol


5. Form Credit

Gambar 4.15. Tentang Pembuat Aplikasi

Anda mungkin juga menyukai