38
BAB III PERANCANGAN ALAT
3.1 Gambaran Umum Sistem
Pada Tugas Akhir ini akan dirancang sebuah prototype jaringan sensor cahaya memanfaatkan jaringan WiFi USU yang ada. Inefisiensi energi yang
berada pada lingkungan USU dapat dipantau dari jarak jauh melalui web browser. Prototipe yang dirancang dan perangkat pengotrol terhubung melalui jaringan
WiFi USU. Blok diagram sistem yang dirancang dapat dilihat pada Gambar 3.1.
Gambar 3.1 Diagram Blog Sistem
Berdasarkan blok diagram diatas, urutan kerja dari perangkat dapat dijelaskan sebagai berikut. Ketika perangkat dihidupkan, perangkat akan
terhubung ke jaringan komputer dan mengecek sekali 30 detik apakah lampu ruangan dalam kondisi hidup atau mati. Client dalam hal ini adalah web browser,
akan melakukan permintaan ke perangkat ketika pengguna memasukkan alamat IP perangkat ke address bar pada web browser. Kemudian perangkat mengirimkan
Perangkat User PCHandphone
Web Browser server
Access Point
Ethernet Shield Lampu ruangan
Jaringan WiFi
HTTP respond message dan halaman web yang menampilkan status lampu ruangan ke web browser client. Gambar 3.2 menunjukkan rangkaian sebenarnya
dari perancangan kali ini.
Gambar 3.2 Rangkaian Alat Sensor Cahaya.
3.2 Perancangan Perangkat Keras 3.2.1 Arduino
Web Server
Arduino Web Server adalah gabungan antara arduino uno dan ethernet shield. Ethernet shield dipasang di atas arduino uno. Gambar arduino web server
dapat dilihat pada Gambar 3.3.
Gambar 3.3 Arduino Web Server
Arduino uno berkomunikasi dengan ethernet shield menggunakan bus SPI. Komunikasi SPI ini diatur oleh library SPI.h dan Ethernet.h. Bus SPI pada
arduino uno menggunakan pin digital 11, 12 dan 13. Pin-pin arduino uno yang dipakai untuk berkomunikasi dengan ethernet shield tidak dapat digunakan untuk
kemperluan yang lain. Arduino Web Server bertindak sebagai sebuah embedded web server, yang menyimpan halaman web sederhana yang menampilkan status
peralatan listrik. Konfigurasi bus SPI pada arduino uno untuk berkomunikasi dengan ethernet shield dapat dilihat pada Gambar 3.4.
Gambar 3.4 Konfigurasi Bus SPI Untuk Ethernet Shield
3.2.2 Rangkaian Sensor Cahaya
Pada perancangan ini sensor intensitas cahaya disini berupa LDR Light Dependent Resistor. Dari Gambar 3.5 rangkaian Skematik sensor intensitas
cahaya jelas terlihat salah satu kaki LDR dihubungkan terlebih dahulu ke tahanan 1000 Ohm sebelum dihubungkan ke Vcc 5 volt dan kaki yang lain dari LDR
langsung dihubungkan ke ground. Jika LDR terkena cahaya, maka tahanan pada LDR akan berkurang, sehingga tegangan antara kaki LDR dengan tahanan
1000 ohm juga akan berubah. Perubahan tegangan inilah yang dikirim ke halaman web menjadi output analog.
Gambar 3.5 merupakan rangkaian skematik sensor cahaya.
Gambar 3.5 Rangkaian Skematik Sensor Cahaya
Tahanan 1000 ohm digunakan agar arus yang diterima LDR tidak begitu besar. Tahanan 1000 ohm sesuai dengan arus maksimum yang boleh diterima oleh
LDR. Arus maksimum yang boleh diterima LDR adalah 5 mA. Jadi apabila tegangan yang digunakan tegangan Vcc 5 volt maka tahanan yang dapat
digunakan adalah : R = V I = 5V 5mA = 1000 ohm
Oleh karena itu digunakan tahanan 1000 ohm. Gambar 3.6 menunjukan rancangan rangkaian keseluruhan Sensor Cahaya.
Gambar 3.6 Rangkaian keseluruhan sensor cahaya
Adapun komponen yang diperlukan rangkaian sebagai berikut: 1. LDR
2. Resistor 3. Arduino uno
4. Arduino ethernet shield
Resistor digunakan untuk membatasi arus yang diterima sensor agar sensor tidak rusak. Gambar 3.7 merupakan penjelasan rangkaian ketika terpasang
pada Arduino dan breadboard.
Gambar 3.7 Rangkaian Breadboard Seonsor Cahaya
3.3 Perancangan Perangkat Lunak
Perangkat lunak merupakan salah satu komponen utama yang membuat mikrokontroler dapat bekerja sebagaimana mestinya. Perangkat lunak ini yang
mengendalikan tingkah laku dari mikrokontroler dan menentukan pekerjaan apa yang harus dilakukan oleh mikrokontroler. Perangkat lunak dapat ditulis dengan
menggunakan bahasa assembly tetapi pada perancangan perangkat lunak mikrokontroler ini di gunakan bahasa tingkat tinggi yaitu C.
Ketika alat ini diberi catu daya, arduino uno akan menginisialisasi variabel yang akan digunakan dalam program. Kemudian arduino uno akan
mengkonfigurasi pin 2, 3, 5 dan 6 menjadi pin keluaran dan juga mengkonfigurasi alamat IP. Setelah itu arduino akan memulai server dan menunggu koneksi dari
client. Jika ada client yang ingin terhubung ke arduino uno, maka arduino akan
memulai koneksi dan menerima dan mengecek tiap karakter HTTP request
message dari client. Arduino uno juga menyimpan 14 karakter pertama dari HTTP request message ke sebuah objek string bernama readString. Jika akhir dari HTTP
request message telah dicapai maka, arduino uno akan mencari perintah yang valid dari objek readString. Kemudian arduino memanggil fungsi kerjakan, yaitu
fungsi untuk mengontrol lampu ruangan yang terhubung ke pin keluaran arduino uno. Setelah itu arduino uno akan mengirimkan HTTP respond message dan
halaman web ke client.
3.3.1 Halaman Web Server
Perancangan halaman tampilan web browser dimulai dengan menuliskan program yang dibutuhkan.
P
rogram yang sudah di tulis diupload ke mikrokontroler arduino menggunakan software IDE Arduino dari komputer di
compile agar dapat terhubung dengan arduino web server. P
rogram untuk halaman tersebut adalah sebagai berikut:
Web Server A simple web server that shows the value of the analog input pins.
using an Arduino Wiznet Ethernet shield. Circuit:
Ethernet shield attached to pins 10, 11, 12, 13 Analog inputs attached to pins A0 through A5 optional
created 18 Dec 200 = by David A. Mellis
modified 9 Apr 2012 by Tom Igoe
include
SPI .h
include Ethernet
.h int
led_1[4] = {5,6,7,8}; Enter a MAC address and IP address for your controller below.
The IP address will be dependent on your local network: byte
mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
}; IPAddress
ip192, 168, 1, 177; Initialize the Ethernet server library
with the IP address and port you want to use port 80 is default for HTTP:
EthernetServer server80;
void setup {
Open serial communications and wait for port to open: Serial.begin
9600; while
Serial {
; wait for serial port to connect. Needed for Leonardo only }
for int
j = 0 ; j 4;j++ {
pinMode led_1[j],
OUTPUT ;
} start the Ethernet connection and the server:
Ethernet.beginmac, ip; server.begin;
Serial.print
server is at ; Serial.printlnEthernet.localIP;
} void loop
{ listen for incoming clients
for int
analogChannel = 0; analogChannel 4; analogChannel++ { int
sensorReading = analogRead
analogChannel; Serial
. print
analog input ; Serial
. print
analogChannel; Serial
. print
is ;
Serial .
println sensorReading;
if sensorReading 670
{ digitalWrite
led_1[analogChannel], HIGH
; }
else {
digitalWrite led_1[analogChannel],
LOW ;
} }
EthernetClient client = server.
available ;
if client {
Serial .
println new
client ;
an http request ends with a blank line boolean
currentLineIsBlank = true; while
client.connected { if
client. available
{ char
c = client. read
; Serial
. write
c; if youve gotten to the end of the line received a newline
character and the line is blank, the http request has ended, so you can send a reply
if c ==
\n currentLineIsBlank {
send a standard http response header client.
println HTTP1.1 200 OK
; client.
println Content-Type: texthtml
; client.
println Connection: close
; the connection will be closed after completion of the response
client. println
Refresh: 5 ; refresh the page automatically every 5 sec
client. println
; client.
println DOCTYPE HTML
; client.
println html
; client.
print ;
client. println
br ;
client. print
Monitoring Lampu Ruangan Digedung DTE ;
client. println
br ;
client. print
; client.
println br
; output the value of each analog input pin
for int analogChannel = 0; analogChannel 5; analogChannel++ { int sensorReading =
analogRead analogChannel;
client. print
Lampu Ruangan ;
client. print
analogChannel; client.
print is
; client.
print sensorReading;
client. println
br ;
} client.
print ;
client. println
br ;
client. print
; client.
println br
; client.
print ;
client. println
br ;
client. print
; client.
println br
; client.
print NOTE : Lampu ruangan MATI jika pembacaan analog dari
sensor bernilai kurang dari 500 ;
client. println
br ;
client. println
html; break
; }
if c ==
\n {
youre starting a new line currentLineIsBlank =
true ;
} else if
c = \r
{ youve gotten a character on the current line
currentLineIsBlank = false
; }
} }
give the web browser time to receive the data
delay 1;
close the connection: client.stop;
Serial .
println client disconnected
; }
}
Compile program dari komputer dapat dilihat pada Gambar 3.8.
Gambar 3.8 Compile program sketch
Halaman web yang ditampilkan oleh arduino uno dapat dilihat pada Gambar 3.9. Ketika kita memasukkan alamat IP 192.168.1.177 ke address bar
web browser. maka client terhubung ke arduino uno, Kemudian arduino memanggil fungsi kerjakan, yaitu fungsi untuk mengontrol lampu ruangan yang
terhubung ke pin keluaran arduino uno. Setelah itu arduino uno akan mengirimkan HTTP respond message dan halaman web ke client.
Gambar 3.9
Tampilan awal halaman web browser
3.3.2 Flowchart Tampilan Halaman Web
Pada saat client terhubung dengan sistem melalui web browser, maka sistem akan mengecek apakah ada string yang diinputkan pada web browser
setelah alamat IP sistem. Jika tidak ada maka klien akan diarahkan halaman web default. Flowchart untuk menampilkan halaman web dapat dilihat pada Gambar
3.10.
Gambar 3.10 Flowchart menampilkan halaman web
51
BAB IV PENGUJIAN DAN ANALISA
4.1 Metode Pengujian
Di dalam bab ini dilakukan pengujian terhadap rancangan prototipe jaringan sensor cahaya memanfaatkan jaringan WiFi USU yang ada. Pengujian-
pengujian yang dilakukan pada rancangan alat ini bertujuan untuk mengetahui kinerja dari rangkaian-rangkaian yang diuji serta sistem secara keseluruhan
apakah telah bekerja sesuai dengan yang diharapkan atau tidak. Pengujian pada rancangan alat ini akan dilakukan per bagian rancangan
sehingga diketahui apakah masing-masing perangkat keras dan perangkat lunak sudah bekerja dengan baik. Pada pengujian di sini peralatan listrik adalah 4 buah
lampu yang dihubungkan ke rangkaian dari prototype yang dirancang.
4.2 Pengujian Arduino Web Server
Pengujian arduino web server dilakukan dengan cara menghubungkan arduino web server ke sebuah komputer pribadi dengan menggunakan kabel UTP.
Kemudian alamat IP dari komputer dikonfigurasi agar dapat terhubung dengan arduino web server. Konfigurasi alamat IP dari komputer dapat dilihat pada Gambar
4.1.
Gambar 4.1 Konfigurasi IP address pada PC
Setelah itu catu daya diberikan kepada arduino web server agar alat dapat bekerja. Setelah arduino web server bekerja, koneksi antara komputer dan arduino
web server diperiksa dengan melakukan perintah ping ke alamat IP dari arduino web server dari program command prompt pada komputer. Jika koneksi tidak ada
masalah maka command prompt akan menampilkan tampilan seperti Gambar 4.2.
Gambar 4.2 Hasil uji koneksi ping dari PC ke sistem
Kemudian arduino web server dihubungkan pada switch WiFi ruangan agar alat dapat bekerja. Setelah itu dilakukan pengujian untuk mengetahui apakah
arduino web server dapat menampilkan halaman web monitoring nyala lampu ruangan dengan baik. Pengujian dilakukan dengan cara membuka aplikasi web
browser pada komputer kemudian mengisi bar alamat dengan alamat IP dari arduino web server. Tampilan halaman web monitoring nyala lampu pada aplikasi
web browser komputer dapat dilihat pada Gambar 4.3.
Gambar 4.3 Tampilan halaman web browser lampu mati
Angka dibawah keadaan analog 500 dibaca sensor dalam keadaan lampu ruangan mati.
4.3 Pengujian Keseluruhan