Pada gambar 3.3 diatas adalah skematik koneksi flow sensor ke Arduino. Pin sinyal dari sensor dihubungkan dengan pin 2 Arduino yang dikonfigurasi
sebagai input yang mana pin 2 tersebut akan memberikan cacahan naik ketika terjadi perubahan nilai . Pin sinyal dari sensor tersebut juga diberikan resistor
pull-up dari Pin 5 volt Arduino sendiri. Tujuan dari pemasangan resistor pull-up ini agar data yang diterima dari sensor memiliki nilai yang valid. Nilai pulsa yang
dibaca dari sensor didapat dengan menggunakan interupsi, hal ini memungkinkan pengambilan data dari sensor secara real-time sekalipun sistem sedang melakukan
operasi yang lain.
3.5 Perancangan Perangkat Lunak
Perangkat lunak dibuat dengan menggunakan bahasa pemrograman Arduino. Pada sistem kerja dari prototipe yang dirancang terdapat tiga rutin yang
merupakan bagian penting pada sistem. Berikut dibawah ini adalah rutin tersebut :
Rutin Menampilkan Halaman Web Rutin Pembacaan Sensor
Rutin penulisan data ke kartu memori
3.5.1 Rutin Tampilan halaman web
Berikut pada gambar 3.4 adalah flowchart untuk menampilkan halaman web. Pada saat klien terhubung dengan sistem melalui web browser, maka sistem
akan mengecek apakah ada string yang diinputkan pada address barweb browser setelah alamat IP sistem. Jika tidak ada maka klien akan diarahkan halaman web
default. Selama sistem menampilkan halaman web , waktu sistem dan pembacaan
Universitas Sumatera Utara
debit air tetap berjalan.untuk dapat melihat halaman yang berisi data real-time dan data yang sudah tercatat, maka klien harus memasukan kata kunci tambahan pada
address bar web browser. Contoh http:10.4.11.177tampil
untuk mengakses halaman web yang berisi data real-time dari sistem dan
http:10.4.11.177data untuk mengakses halaman web yang meyimpan informasi pencatatan sebelumnya
Halaman web yang diakses dari web browser tidak dapat merefresh secara automatis. Untuk mendapakan data terbaru dari sistem pada halaman web, klien
harus secara manual me-refresh halaman web yang sedang diakses. Rutin Untuk menampilkan halaman web dapat dilihat pada lampiran A.
Universitas Sumatera Utara
Gambar 6.4 Flowchart menampilkan Halaman Web
Universitas Sumatera Utara
Gambar 6.5 Flowchart Pengambilan data dari Flow Sensor
3.5.2 Rutin Pembacaan sensor
Pada Gambar 3.5 dapat dilihat alur kerja dari rutin pembacaan sensor. Rutin pembacaan sensor ini tetap berjalan sekalipun sistem sedang menampilkan
halaman web. Pada rutin pembacaan ini terdapat dua buah interupsi yang digunakan yaitu interupsi eksternal pada pin 2 arduino untuk menerima data dari
sensor dan interupsi timer millisuntuk memungkinkan sistem dapat mengkonversikan data dari sensor setiap satu detik berlalu.
Universitas Sumatera Utara
Rutin ini akan berhenti sesaat mengambil data dari sensor setelah interval waktu satu detik terpenuhi, interval satu detik ini didapat dengan menggunakan
interupsi timer millis. Rutin ini berhenti untuk mengkonversikan data cacahan pulsa digital yang didapat dari sensor menjadi data debit air perdetik. Sebelum
konversi data ini dapat dilakukan interupsi pada pin 2 arduino harus dimatikan. Berikut dibawah ini adalah rumus yang digunakan untuk mendapatkan debit liter
air permenit :
� � � =
� ��−� ��
× ℎ
� �
� 3.1
Pada rumus 3.1 milis adalah jumlah milidetik yang sudah berjalan sejak mikrokontroller dinyalakan. oldTime adalah variabel yang menyimpan waktu
millis sebelumnya. Rumus 3.1 diatas mengkonversikan jumlah pulsa high yang terbaca dari sensor dari waktu millidetik yang sudah berlalu selama interupsi
dijalankan. Rumus 3.1 dikerjakan saat interupsi dimatikan. � ��
= � � 3.2
Setelah rumus 3.2 dijalankan maka nilai variabel oldTime disamakan dengan nilai millis untuk mendapatkan nilai waktu terakhir sejak perhitungan.
� � � =
� �
6 ×
3.3
Universitas Sumatera Utara
Pada rumus 3.3 , rumus ini mengkonversikan debit liter permenit pada rumus pertama menjadi debit mililiter air per detik untuk mendapatkan data yang
bisa dijumlahkan setiap detiknya. Debit liter permenit dibagi dengan 60 untuk mendapatkan banyaknya liter air dalam satu menit lalu dikali dengan 1000 untuk
mengkonversikannya ke satuan mililiter. �
= � +
� �
3.4 �
= � +
� �
3.5
Pada rumus 3.4 ini kita menjumlahkan debit perdetik sebelumnya untuk mendapatkan total akumulasi liter air yang sudah terbaca oleh sensor.
Variabel volume menyimpan pemakaian air bulanan dan akan dinolkan saat terdeteksi pergantian bulan, sementara variabel total tetap akan mencatat selama
sistem berjalan dan tidak akan dinolkan nilainya. Setelah proses kalkulasi data
– data tersebut telah selesai makan rutin ini akan mengaktifkan kembali layanan interupsi pin 2 pada sensor. Hal ini dilakukan
agar sistem dapat kembali menerima data cacahan pulsa dari sensor.
3.5.3 Rutin Penulisan data ke kartu mikro SD
Data yang telah didapat oleh sensor akan ditampilkan pada halaman web. Tetapi data ini akan hilang jika mikrokontroller kehilangan catu dayanya.
Kekurangan ini dapat diatasi dengan menuliskan data hasil pembacaan ke kartu memori mikro SD. Data ditulis kedalam kartu memori dalam interval satu menit.
Rutin penulisan ini hanya dilakukan dalam interval waktu yang ditentukan hal ini karenakan saat menuliskan data dalam bentuk string ke kartu memori ,
Universitas Sumatera Utara
Gambar 6.6 Flowchart penulisan data ke kartu memori
mikrokontroller memerlukan waktu dan memori yang besar. Data yang telah disimpan didalam kartu memori dapat ditampilkan kembali pada halaman web
dengan memasukan alamat halamannya pada web browser.
Universitas Sumatera Utara
33
7. BAB IV
PEN GUJI AN D AN AN ALI SA 4.1 Pengujian Pembacaan Water Flow Sensor
Untuk memastikan bahwa sensor yang digunakan memenuhi kriteria maka sensor harus diuji dan dikalibrasi. Hal ini dilakukan untuk memastikan bahwa
sistem dapat mengukur debit air dengan persen error yang cukup kecil. Sebelum sensor diuji, sensor harus dikalibrasi terlebih dahulu. Hal ini untuk
memastikan apakah nilai faktor kalibrasi yang diberikan oleh website dapat menghasilkan nilai pengukuran yang cukup baik. Untuk mendapatkan nilai faktor
kalibrasi yang sesuai, maka penulis menguji beberapa nilai faktor kalibrasi secara random.
Sensor di uji dengan membandingkan pengukuran volume air yang dibacanya terhadap volume air yang sudah diukur sebelumnya. Hal ini dilakukan
untuk mendapatkan seberapa besar persen error dari perbandingan hasil pengukuran dan volume yang sudah terukur.
Kecepatan debit air rumah juga turut diuji. Hal ini ditujukan untuk memastikan bahwa sensor yang digunakan masih memenuhi kriteria untuk
mengukur debit air pada perumahan. Pengujian ini dilakukan dengan membandingkan volume air yang sudah melewati meteran dengan waktu yang
sudah berjalan. Dengan demikian didapatlah debit air per satuan waktu. Nilai debit air yang sudah didapat ini kemudian dibandingkan dengan kemampuan
sensor.
Universitas Sumatera Utara
Berikut dibawah ini adalah tabel hasil pengujian pembacaan water flow sensor.
Tabel 7.1 Tabel hasil pengujian flow sensor
Berikut adalah tabel rata – rata debit air pada rumah penduduk :
Tabel 7.2 Tabel rata – rata debit air rumah
Volume air Waktu
Debit air menit Debit air detik
Percobaan 1 20 Liter
2 menit 4 detik 9,67 L menit
0,161 L detik Percobaan 2
20 Liter 2 menit
10 L menit 0,166 L detik
Percobaan 3 20 Liter
2 menit 6 detik 9,52 L menit
0,158 L detik Percobaan 4
20 Liter 3 menit
6,66 L menit 0,111 L detik
Volume terukur mL
500 1000
1500 2000
3000 Volume terbaca mL
Percobaan 1 550
1168 1678
2108 3106
Percobaan 2 578
1058 1567
2156 3099
Percobaan 3 538
1150 1588
2087 3189
Percobaan 4 540
1100 1576
2178 3190
Percobaan 5 570
1156 1656
2134 3098
Rata - rata 555,2
1126,4 1613
2132,6 3136,4 Error Rata-rata
11 12
7 6
4
Universitas Sumatera Utara
Dari hasil pembacaan sensor dapat dilihat bahwa semakin besar volume air yang diukur maka semakin kecil persen error data yang didapat. Hal ini
dikarenakan gesekan yang terjadi pada bearing rotor sensor dan momen inersia setelah air melewati sensor . pada pengukuran volume kecil error semakin besar
dikarenakan momen inersia tersebut, sedangkan pada volume yang lebih besar momen tersebut dapat dikompensasi oleh lamanya waktu yang dibutuhkan oleh
air untuk sepenuhnya melewati sensor. Pada saat pengujian nilai faktor kalibrasi, penulis menguji beberapa nilai
secara random, nilai faktor kalibrasi yang direkomendasikan oleh website adalah 5,5 dan 4,5. Tetapi tingkat error yang dihasilkan dari kedua nilai ini sangat besar
pada saat pengujian. Setelah menguji beberapa nilai faktor kalibrasi secara random, penulis akhirnya mendapatkan nilai 8,5.
Hasil pengujian flow sensor pada tabel 4.1 menggunakan nilai faktor kalibrasi yang sama. Nilai faktor kalibrasi ini didapat dengan melakukan beberapa
kali pengujian nilai secara random. Hal ini dilakukan karena nilai faktor kalibrasi yang direkomendasikan oleh beberapa website memberikan tingkat error yang
cukup tinggi. Pada tabel 4.2 dapat dilihat bahwa rata
– rata debit air rumah penduduk masih berada didalam jangkauan pengukuran flow sensor yang digunakan.
Meskipun sensor yang digunakan masih memberikan error yang cukup besar dalam penggunaanya.
Universitas Sumatera Utara
Pada Gambar 4.1 diatas merupakan konfigurasi pengujian flow sensor . Pengujian dilakukan dengan menggunakan volume air yang sudah terukur dan
menuangkannya kedalam pipa yang terpasang flow sensor. Data yang didapat dari flow sensor dilihat melalui serial monitor , serial monitor merupakan fitur
yang terdapat pada Arduino Development Environtment. Gambar 4.2 merupakan tampilan dari serial monitor.
Gambar 7.1 Pengujian flow sensor
Gambar 7.2 Tampilan serial monitor dari IDE arduino
Universitas Sumatera Utara
4.2 Pengujian Arduino Webserver