Gambaran Umum Sistem Metode Pengujian Pengujian Arduino Web Server

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