PERANCANGAN SISTEM INFORMASI DEBIT AIR
BERBASIS ARDUINO UNO
1. Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan 2. pendidikan sarjana (S-1) pada Departemen Teknik Elektro
3. Sub Konsentrasi Teknik Komputer
Oleh:
ARIF AZHARI
NIM : 090402099
DEPARTEMEN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
iii
ABSTRAK
Seiring meningkatnya penggunaan sumber daya air oleh masyarakat, maka
tingkat pemborosan sumber daya airpun juga meningkat. Melihat dari kurangnya
kesadaran dan informasi akan penggunaan air oleh masyarakat, Maka penulis
berinisiatif merancang sebuah prototipe sistem berbasis teknologi yang mampu
memonitor tingkat penggunaan air oleh konsumen.
Dalam prototipe sistem yang dirancang adalah sebuah web server berbasis Arduino UNO yang terintegrasi dengan flow sensor. Flow Sensor dan Arduino UNO dikonfigurasikan menjadi sebuah meter air digital yang dapat mencatat debit
air perdetik yang melalui pipa , data debit air perdetik tersebut akan dikonversikan
menjadi data volume air terpakai. Setelah data volume tersebut didapat maka data
akan ditampilkan pada halaman web. Halaman web tersebut disediakan oleh
Arduino UNO dan Ethernet Shield yang mana kedua perangkat ini dikonfigurasikan menjadi sebuah web server yang juga menyimpan data volume
kedalam sebuah kartu memori dalam rentang waktu yang telah ditentukan.setelah
data tersimpan , maka data – data yang telah disimpan sebelumnya dapat dilihat
kembali pada halaman web yang dapat diakses melalui web browser pada perangkat yang terhubung dalam jaringan prototipe sistem.
Berdasarkan hasil pengujian sistem, nilai error rata-rata dari pembacaan
sensor berkisar antara 4 % hingga 11 %. Tingkat error dapat dikurangi dengan
mengkalibrasi sensor secara berkala atau menggunakan sensor yang lebih akurat.
KATA PENGANTAR
Bismillahirrahmanirrahim
Dengan segala kerendahan hati, penulis mengucapkan puji syukur kepada
Allah SWT yang telah memberikan anugerah dan rahmat-Nya yang berlimpah
kepada penulis sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul:
“Perancangan Sistem Informasi Debit Air berbasis Arduino UNO”
Tugas akhir ini dibuat sebagai syarat untuk menyelesaikan pendidikan
Sarjana (S-1) di Departemen Teknik Elektro Fakultas Teknik Universitas
Sumatera Utara. Penulis berharap ke depannya Tugas Akhir ini dapat menjadi
inspirasi bagi mahasiswa dalam mengembangkan penelitian.
Tugas Akhir ini penulis persembahkan kepada keluarga dan khususnya
kedua orang tua tersayang dan tercinta Ibunda Cut Faurita dan Ayahanda M Edi R
yang senantiasa mencurahkan kasih sayang, nasehat, semangat serta doa kepada
penulis. Beliau seorang Ayah yang sangat penulis kagumi dan sayangi yang telah
banyak memberikan ilmu serta banyak mengambil pelajaran hidup yang sangat
berguna bagi penulis untuk menjalani kehidupan di dunia ini, hingga pada saat
awal penulis menentukan pilihan untuk kuliah dan terakhir berbincang setelah
pengumuman masuk kuliah, tanpa do’a, cinta dan semangatnya penulis tidak akan
berdiri sampai di sini. Ibunda tercinta Cut Faurita yang dengan cinta, kasih sayang
dan perhatiannya sudah menjaga, membimbing dan mendidik hingga penulis
menjadi seperti sekarang ininamun do’a dan semangatnya yang tak pernah
v
menjadi orang tua yang terbaik dan tangguh buat kami, Bunda dan Ayah. Untuk
saudara-saudara penulis Alfian Alwi dan Andika Aldi penulis ucapkan terima
kasih karena telah selalu mendo’akan, membantu dan men-support penulis dalam
setiap kesempatan dan selalu berharap kelak penulis nantinya mampu menjadi
manusia yang berguna.
Selama masa kuliah sampai penyelesaian Tugas Akhir ini, penulis juga
banyak mendapat dukungan, bimbingan dan bantuan dari berbagai pihak. Untuk
itu penulis ingin menyampaikan ucapan terima kasih kepada :
1. Bapak Soeharwinto, S.T, M.T, selaku Dosen Pembimbing Tugas Akhir yang
telah banyak meluangkan waktu untuk membimbing dan mengarahkan
penulis baik semasa kuliah maupun saat proses penulisan Tugas Akhir ini.
2. Bapak Dosen penguji, Bapak Ir. Kasmir Tanjung M.T. dan Bapak F.Rizal
Batu Bara, S.T, M.TI yang telah megevaluasi serta mengarahkan penulis
baik semasa kuliah maupun saat proses penulisan Tugas Akhir ini.
3. Seluruh Dosen Teknik Elektro sub jurusan komputer tercinta yang menjadi
inspirasi dan sudah penulis anggap sebagai sahabat sekaligus orang tua
sendiri.
6. Sahabat-sahabat terbaikku dari angkatan 2009 : Dwi Budi Prasetyo, Teguh
Dewanto, sahabat-sahabat Lab Pengukuran Besaran Listrik (tetangga) (Rijal,
Agung Khairi, Rizki, Adly wkwk, Haditia Pramuda, Faya Efdika, Dimas
Harind, Tondy Zulfadly, Asri Akbar), sahabat-sahabat Lab Pengukuran T3
(Wangto, Kentrick), sahabat-sahabat Lab Pengukuran AST (Ahmad
Mustashir, Doni Rivi, Fahrul Hadi, Nanda Eka), Eko, Rizi, Oloni, Nuzul,
Samuel, dan semua teman-teman angkatan 2009 lainnya.
7. Senior – seniorku yang baik hatinya : Bang Prindi, Bang Muhfi, Bang
Teguh, Bang Roji, Bang Salman, Bang Yu, Bang Reki, Bang Indra, Bang
Antonius, Bang Robin, Bang Jhonson. yang telah bersedia berbagi
pengalaman kepada penulis selama masa perkuliahan.
8. Adik – adik junior (Hardi, Robi, Mian, Frans, Fadlan, Habib, Oyen, Iqbal,
Gading, Ivan, Irwan, Stiff, dan lain-lain) yang selalu siap sedia menolong
penulis ketika dibutuhkan.
9. Seluruh Abang-abang dan Adik-adikku di UKM Robotik Sikonek (dari
periode awal hingga periode sekarang) yang sangat penulis cintai dan
banggakan.
10.Seluruh pihak yang tidak dapat penulis sebutkan satu persatu yang telah
membantu penulis baik secara langsung maupun tidak langsung selama
vii
Penulis menyadari bahwa Tugas Akhir ini masih jauh dari sempurna. Oleh
karena itu, penulis sangat mengharapkan kritik dan saran yang membangun demi
penyemepurnaan Tugas Akhir ini. Akhir kata, penulis berharap semoga Tugas
Akhir ini dapat bermanfaat khususnya bagi penulis pribadi dan juga semua pihak
yang membutuhkannya.
Medan, Desember 2014
Penulis
DAFTAR ISI
ABSTRAK ... i
KATA PENGANTAR ... iv
DAFTAR ISI ... viii
DAFTAR GAMBAR ... xi
DAFTAR TABEL ... xii
BAB I ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Tujuan Penulisan... 2
1.4 Batasan Masalah ... 2
1.5 Metode Penelitian ... 3
1.6 Sistematika Penulisan ... 4
BAB II ... 6
2.1 Meter Air ... 6
2.2 Arduino ... 7
2.2.1 Arduino UNO ... 8
2.2.1.1 Pin Masukan dan Keluaran Arduino... 10
2.2.1.2 Sumber Catu Daya dan pin Tegangan Arduino UNO ... 11
2.2.1.3 Peta Memori Arduino UNO ... 12
ix
2.2.1.3.2 Memori Program ... 13
2.3 Flow Sensor... 14
2.3.1 Prinsip Hall-Effect ... 16
2.3.2 Prinsip Kerja Sensor ... 17
2.4 Ethernet Shield ... 18
2.5 Kartu memori mikro SD ... 19
BAB III ... 21
3.1 Gambaran Umum Sistem ... 21
3.2 Fungsi Tiap Blok ... 22
3.3 Spesifikasi Sistem ... 23
3.4 Perancangan Perangkat Keras ... 24
3.4.1 Arduino Web Server... 24
3.4.2 Rangkaian Skematik Water Flow Sensor... 25
3.5 Perancangan Perangkat Lunak ... 26
3.5.1 Rutin Tampilan halaman web ... 26
3.5.2 Rutin Pembacaan sensor ... 29
3.5.3 Rutin Penulisan data ke kartu mikro SD ... 31
BAB IV ... 33
4.1 Pengujian Pembacaan Water Flow Sensor ... 33
4.2 Pengujian Arduino Webserver ... 37
4.4 Analisa Prototipe Water Debit Monitor ... 41
BAB V... 43
5.1 Kesimpulan ... 43
5.2 Saran ... 43
DAFTAR PUSTAKA ... 45
xi
DAFTAR GAMBAR
Gambar 2.1 Meter air konvensional ... 6
Gambar 2.2 Arduino UNO... 9
Gambar 2.3 Peta Memori Data ... 13
Gambar 2.4 Peta Memori Program ... 14
Gambar 2.5Flow Sensor... 15
Gambar 2.6 Prinsip Kerja dari Flow Sensor ... 17
Gambar 2.7 Bentuk dari Pulse wave ... 17
Gambar 2.8Ethernet Shield ... 19
Gambar 2.9 Dimensi Mikro SD... 20
Gambar 3.1 Blok Diagram Sistem ... 21
Gambar 3.2 Arduino Web Server ... 24
Gambar 3.3 Rangkaian Skematik Arduino UNO dengan Flow Sensor ... 25
Gambar 3.4 Flowchart menampilkan Halaman Web ... 28
Gambar 3.5 Flowchart Pengambilan data dari Flow Sensor ... 29
Gambar 3.6 Flowchart penulisan data ke kartu memori ... 32
Gambar 4.1 Pengujian flow sensor ... 36
Gambar 4.2 Tampilan serial monitor dari IDE arduino ... 36
Gambar 4.3 Konfigurasi IP pada pc user ... 37
Gambar 4.4 Pengujian koneksi dengan PING mengunakan command prompt .... 38
Gambar 4.5 (a,b,c) Tampilan halaman web sistem ... 39
Gambar 4.6 Halaman web dengan data real-time ... 40
Gambar 4.7 Halaman web dengan data pada kartu memori ... 40
DAFTAR TABEL
Tabel 2.1 Tabel Spesifikasi Arduino Uno ... 9
Tabel 2.2 Tabel spesifikasi Flow sensor ... 15
Tabel 3.1 Spesifikasi Sistem ... 23
Tabel 4.1 Tabel hasil pengujian flow sensor ... 34
iii
ABSTRAK
Seiring meningkatnya penggunaan sumber daya air oleh masyarakat, maka
tingkat pemborosan sumber daya airpun juga meningkat. Melihat dari kurangnya
kesadaran dan informasi akan penggunaan air oleh masyarakat, Maka penulis
berinisiatif merancang sebuah prototipe sistem berbasis teknologi yang mampu
memonitor tingkat penggunaan air oleh konsumen.
Dalam prototipe sistem yang dirancang adalah sebuah web server berbasis Arduino UNO yang terintegrasi dengan flow sensor. Flow Sensor dan Arduino UNO dikonfigurasikan menjadi sebuah meter air digital yang dapat mencatat debit
air perdetik yang melalui pipa , data debit air perdetik tersebut akan dikonversikan
menjadi data volume air terpakai. Setelah data volume tersebut didapat maka data
akan ditampilkan pada halaman web. Halaman web tersebut disediakan oleh
Arduino UNO dan Ethernet Shield yang mana kedua perangkat ini dikonfigurasikan menjadi sebuah web server yang juga menyimpan data volume
kedalam sebuah kartu memori dalam rentang waktu yang telah ditentukan.setelah
data tersimpan , maka data – data yang telah disimpan sebelumnya dapat dilihat
kembali pada halaman web yang dapat diakses melalui web browser pada perangkat yang terhubung dalam jaringan prototipe sistem.
Berdasarkan hasil pengujian sistem, nilai error rata-rata dari pembacaan
sensor berkisar antara 4 % hingga 11 %. Tingkat error dapat dikurangi dengan
mengkalibrasi sensor secara berkala atau menggunakan sensor yang lebih akurat.
1.1 Latar Belakang Masalah
Seiring bertambahnya jumlah polulasi penduduk maka kebutuhan air dalam
memenuhi keperluan sehari – hari seperti mandi, mencuci, memasak dan lain
sebagainya juga pasti meningkat. Meningkatnya kebutuhan air penduduk kota
tidak tidak diimbangi oleh kesadaran masyarakat untuk melakukan penghematan
air. Masyarakat kurang menyadari pentingnya sumber daya air dan tidak
mengetahui sudah berapa banyak air yang sudah mereka konsumsi atau terbuang
sia – sia.
Dalam memantau penggunaan air oleh pelanggan, PDAM menggunakan
meter air yang terpasang pada masing - masing rumah pelanggan. Sebagai
pengukur penggunaan air, alat ini dilengkapi beberapa karakteristik metrologis
salah satunya alat penunjuk yang berfungsi untuk mengukur volume air yang
digunakan dengan satuan meter kubik. Bentuk fisik dari alat penunjuk salah
satunya adalah digit angka. Digit angka dari penunjuk ini nantinya akan dicatat
oleh petugas pencatat meter air setiap bulannya yang datang ke rumah pelanggan
secara manual dengan menggunakan alat tulis dan kartu pencatatan. Angka yang
dicatat oleh petugas tersebut dimasukkan ke dalam program komputer secara
manual diseluruh cabang terkait diproses menjadi tagihan yang harus dibayar oleh
pelanggan.
Pada Sistem seperti ini terdapat beberapa kelemahan diantaranya data hasil
pencatatan dapat bersifat tidak valid karena bukti petugas mendatangi rumah
2
tidak efisien, hal ini dikarekan petugas mencatat data dari rumah pelanggan satu
per satu dan sistem seperti membutuhkan waktu yang lama dalam mengumpulkan
data.
Oleh sebab itu penulis akan mencoba untuk merancang suatu prototipe
alat yang berjudul “PERANCANGAN SISTEM INFORMASI DEBIT AIR
BERBASIS ARDUINO UNO ”
Sistem ini dirancang menggunakan Arduino UNO sebagai embedded web server . Dimana sistem ini dapat menghitung volume penggunaan air dan menampilkan datanya pada sebuah halaman web sederhana. Data hasil
perhitungan tersebut juga disimpan kedalam kartu memori untuk menghindari
kehilangan data disaat sistem kehilangan catu daya.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah dijelaskan, maka dapat diambil
suatu rumusan masaalah sebagai berikut : “Bagaimana mengimpementasikan
Sistem Informasi Debit Air berbasis Arduino UNO”.
1.3 Tujuan Penulisan
Tujuan dari penulisan tugas akhir ini untuk merancang sebuah prototipe
sistem informasi Debit Air berbasis Arduino UNO. Hasil dari pembacaan alat
tersebut dapat dilihat melalui web browser pada PC ataupun perangkat mobile.
1.4 Batasan Masalah
Untuk menghindari pembahasan masalah yang berada diluar dari tugas
akhir ini , maka ditetapkan batasan-batasan masalah sebagai berikut:
2. Tidak membahas material yang mungkin mengganggu Flow Sensor 3. Tidak Membahas perhitungan rekening air
4. Prototipe dijalankan dalam jaringan intranet
1.5 Metode Penelitian
Agar dapat menyelesaikan tugas akhir ini maka penulis menerapkan
beberapa metode penelitian berikut diantaranya :
1. Pembelajaran menggunakan literatur
Metode ini dijalankan dengan membaca teori – teori yang memiliki
kaitan dengan topik tugas akhir ini, dari buku referensi yang digunakan
oleh penulis dan artikel maupun E-Book dan internet.
2. Diskusi
Diskusi berupa konsultasi dengan dosen pembimbing yang telah ditunjuk
oleh pihak departemen Teknik Elektro dan teman-teman sesama
mahasiswa.
3. Perancangan dan Pembuatan Sistem
Melakukan perancangan prototipe sistem dalam bagian perangkat lunak
dan perangkat keras sesuai dengan literatur yang dipelajari dan dari hasil
diskusi.
4. Pengujian dan Analisa
Pada tahap ini dilakukan pengujian aplikasi terhadap algoritma
pencitraannya lalu pengujian aplikasinya terhadap beberapa sampel meter
air yang jumlahnya telah disepakati dan menganalisa hasil pengujian,
hingga hasil yang sesuai atau tidak menyimpang terlalu jauh dari defenisi
4
5. Penyusunan Naskah Tugas Akhir
Pada tahap ini dilakukan penulisan naskah, dimana didalamnya
menjelaskan teori yang dipergunakan serta penyusunan laporan penelitian
yang telah dilakukan.
1.6 Sistematika Penulisan
Tugas akhir ini disusun berdasarkan sistematika penulisan sebagai berikut:
BAB I :PENDAHULUAN
Bab ini merupakan pendahuluan yang berisi tentang latar
belakang masalah, tujuan, dan manfaat penulisan, batasan
masalah, metode penulisan dan sistematika penulisan.
BAB II :DASAR TEORI
Bab ini berisi tentang spesifikasi dan fitur dari perangkat
keras dan lunak yang digunakan untuk merancang tugas
akhir ini.
BAB III :PERANCANGAN SISTEM
Bab ini berisi tentang pembahasan perancangan sistem
perangkat keras dan perangkat lunak yang akan
diintegrasikan dengan Arduino UNO
BAB IV. :PENGUJIAN DAN ANALISA
Bab ini membahas tentang pengujian dan analisa dari
BAB V. KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari hasil pengujian sistem yang
sudah dirancang secara keseluruhan dan saran – saran yang
Gambar 5.1 Meter air konvensional [13]
5. BAB II
DASAR TEORI
2.1 Meter Air
Alat meter air merupakan alat yang digunakan oleh pihak PDAM untuk
mencatat total pemakaian debit air oleh konsumen dalam rentang waktu
pencatatan angka yang tertera pada meteran air yang terpasang. Satuan
pengukuran alat penunjuk volume air dinyatakan dalam meter kubik. Satuan
meter kubik harus berdampingan dengan angka yang ditampilkan. Alat penunjuk
dilengkapi warna sebagai pengenal kelipatannya, warna hitam digunakan untuk
menunjukan meter kubik dan kelipatannya. Warna merah digunakan untuk
menunjukan sub-kelipatan dari meter kubik, warna-warna ini harus digunakan
pada jarum penunjuk, indeks, angka, roda, cakram, jarum, atau angka
Volume ditunjukkan dengan gerakan kontinu dari satu atau lebih jarum
penunjuk yang bergerak relatif terhadap skala berjenjang atau skala melingkar
melalui suatu indeks. Nilai dinyatakan dalam meter kubik, untuk setiap skala
divisi harus dalam bentuk 10n dimana n adalah angka positif atau negatif nol, dengan demikian ditetapkan sistem dekade berurutan. Setiap skala harus
berjenjang, nilai dinyatakan dalam meter kubik atau disertai dengan suatu faktor
pengali (x 0,001; x 0,01; x 0,1; x 1; x 10; x 100; x 1000) dan seterusnya.
Gerakan linier jarum penunjuk atau skala-skala harus dari kiri ke kanan,
dan searah jarum jam. Gerakan indikator-indikator roda di angka (drums) harus
bergerak ke atas. Meter air analog ini memiliki beberapa kekurangan diantaranya
:
Untuk mendapatkan nilai yang sebenarnya kita harus memiliki
catatan dari pengukuran sebelumnya
Posisi peletakannya membuatnya agak sulit diakses
2.2 Arduino
Arduino merupakan platform prototipe elektronik yang bersifat open-source, dimana perangkat keras dan perangkat lunaknya fleksibel dan bebas untuk dimodifikasi. Arduino ditujukan bagi para seniman, desainer, dan siapapun yang
tertarik dalam menciptakan objek atau lingkungan yang interaktif.
Arduino pada awalnya dikembangkan di Ivrea, Italia. Nama Arduino
adalah sebuah nama maskulin yang berarti teman yang kuat. Platform arduino
8
board yang sudah disederhanakan dapat dilihat pada Gambar 2.2 . Shield adalah
sebuah papan yang dapat dipasang diatas arduino board untuk menambah
kemampuan dari arduino board.
Bahasa pemrograman arduino adalah bahasa pemrograman yang umum
digunakan untuk membuat perangkat lunak yang ditanamkan pada arduino board.
Bahasa pemrograman arduino mirip dengan bahasa pemrograman C++.
Arduino Development Environment adalah perangkat lunak yang
digunakan untuk menulis dan meng-compile program untuk arduino. Arduino
Development Environment juga digunakan untuk meng-upload program yang
sudah dikompilasi ke memori program arduino board.
2.2.1 Arduino UNO
Arduino UNO adalah arduino board yang menggunakan mikrokontroler ATmega328. Arduino UNO memiliki 14 pin digital (6 pin dapat digunakan
sebagai output PWM), 6 input analog, sebuah 16 MHz osilator kristal, sebuah
koneksi USB, sebuah konektor sumber tegangan, sebuah header ICSP, dan sebuah tombol reset.
Arduino UNO memuat segala hal yang dibutuhkan untuk mendukung
sebuah mikrokontroler. Hanya dengan menghubungkannya ke sebuah komputer
melalui USB atau memberikan tegangan DC dari baterai atau adaptor AC ke DC
sudah dapat membuanya bekerja. Arduino UNO menggunakan ATmega16U2
yang diprogram sebagai USB-to-serial converter untuk komunikasi serial ke computer melalui port USB. Tampak atas dari arduino UNO dapat dilihat pada
Gambar 5.2 Arduino UNO [3]
Adapun data teknis board Arduino UNO R3 adalah sebagai berikut:
Tabel 5.1 Tabel Spesifikasi Arduino Uno
Spesifikasi Keterangan
Mikrokntroller Atmega 328
Tegangan Operasi 5 V
Tegangan Input (Rekomendasi) 7 – 12 V
Tegangan Input (Batas) 5 – 20 V
Pin Digital I/O 14
Pin Analog Input 6
Arus DC per pin I/O 40 mA
Arus DC untuk pin 3.3 V 150 mA
Memori Flash 32 KB (0,5 KB untuk bootloader)
SRAM 2 KB
EEPROM 1 KB
10
2.2.1.1 Pin Masukan dan Keluaran Arduino
Masing-masing dari 14 pin digital arduino UNO dapat digunakan sebagai
masukan atau keluaran menggunakan fungsi pinMode(), digitalWrite() dan digitalRead(). Setiap pin beroperasi pada tegangan 5 volt. Setiap pin mampu menerima atau menghasilkan arus maksimum sebasar 40 mA dan memiliki
resistor pull-up internal (diputus secara default) sebesar 20-30 KOhm. Sebagai tambahan, beberapa pin masukan digital memiliki kegunaan khusus
yaitu(Arduino):
Komunikasi serial: pin 0 (RX) dan pin 1 (TX), digunakan untuk
menerima(RX) dan mengirim(TX) data secara serial.
Interupsi Eksternal: pin 2 dan pin 3, pin ini dapat dikonfigurasi untuk
memicu sebuah interupsi pada nilai rendah, sisi naik atau turun, atau pada
saat terjadi perubahan nilai.
Pulse-width modulation (PWM): pin 3,5,6,9,10 dan 11, menyediakan
keluaran PWM 8-bit dangan menggunakan fungsi analogWrite().
Serial Peripheral Interface (SPI): pin 10 (SS), 11 (MOSI), 12 (MISO) dan
13 (SCK), pin ini mendukung komunikasi SPI dengan menggunakan SPI
library.
LED: pin 13, terdapat built-in LED yang terhubung ke pin digital 13.
Ketika pin bernilai HIGH maka LED menyala, sebaliknya ketika pin
Arduino UNO memiliki 6 masukan analog yang diberi label A0 sampai A5,
setiap pin menyediakan resolusi sebanyak 10 bit (1024 nilai yang berbeda). Secara
default pin mengukur nilai tegangan dari ground (0V) hingga 5V, walaupun begitu dimungkinkan untuk mengganti nilai batas atas dengan menggunakan pin
AREF dan fungsi analogReference(). Sebagai tambahan beberapa pin masukan analog memiliki fungsi khusus yaitu pin A4 (SDA) dan pin A5 (SCL) yang
digunakan untuk komunikasi Two Wire Interface (TWI) atau Inter Integrated Circuit (I2C) dengan menggunakan Wire library(Arduino).
2.2.1.2 Sumber Catu Daya dan pin Tegangan Arduino UNO
Arduino UNO dapat diberi daya dengan catu daya eksternal dengan
melalui koneksi USB (Universal Serial Bus) atau konektor catu dayanya. Jika Arduino UNO dihubungkan ke sumber daya melalui kedua konektor tersebut
secara bersamaan maka arduino UNO akan memilih sumber daya secara otomatis
dari salah satu konektor untuk digunakan. Power supply eksternal yang bukan
melalui USB dapat berasal dari adaptor AC ke DC atau baterai. Adaptor dapat
dihubungkan ke soket power pada arduino UNO. Jika menggunakan baterai,
ujung kabel yang dihubungkan ke baterai dimasukkan kedalam pin GND dan Vin
yang berada pada konektor POWER.
Arduino UNO dapat beroperasi pada tegangan 6 sampai 20 volt. Jika
arduino UNO diberi tegangan di bawah 7 volt, maka pin 5V akan menyediakan
tegangan di bawah 5 volt dan arduino UNO mungkin bekerja tidak stabil. Jika
12
menjadi terlalu panas dan merusak arduino UNO. Tegangan rekomendasi yang
diberikan ke arduino UNO berkisar antara 7 sampai 12 volt.
Pin-pin tegangan pada arduino UNO adalah sebagai berikut:
Vin adalah pin untuk mengalirkan sumber tegangan ke Arduino UNO
ketika menggunakan sumber daya eksternal selain dari koneksi USB atau
sumber daya yang teregulasi lainnya. Sumber tegangan juga dapat
disediakan melalui pin ini jika sumber daya yang digunakan untuk
Arduino UNO dialirkan melalui soket power.
5V adalah pin yang menyediakan tegangan teregulasi sebesar 5 volt
berasal dari regulator tegangan pada arduino UNO.
3V3 adalah pin yang meyediakan tegangan teregulasi sebesar 3,3 volt
berasal dari regulator tegangan pada arduino UNO.
GND adalah pin ground.
2.2.1.3 Peta Memori Arduino UNO
Arduino UNO adalah arduino board yang menggunakan mikrokontroler ATmega328. Maka peta memori arduino UNO sama dengan peta memori pada
mikrokontroler ATmega328.
2.2.1.3.1 Memori Data
Memori data ATMega328 terbagi menjadi 4 bagian, yaitu 32 lokasi
untuk register umum, 64 lokasi untuk register I/O, 160 lokasi untuk register I/O
tambahan dan sisanya 2048 lokasi untuk data SRAM internal. Register umum
menempati alamat data terbawah, yaitu 0x0000 sampai 0x001F. Register I/O
menempati 64 alamat berikutnya mulai dari 0x0020 hingga 0x005F. Register I/O
Gambar 5.3 Peta Memori Data [5]
Sisa alamat berikutnya mulai dari 0x0100 hingga 0x08FF digunakan
untuk SRAM internal. Peta memori data dari ATMega 328 dapat dilihat pada
Gambar 2.3 .
2.2.1.3.2 Memori Program
ATMega328 memiliki 32K byte On-chip In-System Reprogrammable Flash Memory untuk menyimpan program. Memori flash dibagi kedalam dua bagian, yaitu bagian program bootloader dan aplikasi seperti terlihat pada Gambar 2.3. Bootloader adalah program kecil yang bekerja pada saat sistem dimulai yang
14
Gambar 5.4 Peta Memori Program [5]
2.3 Flow Sensor
Flow Sensor merupakan sebuah perangkat sensor yang digunakan untuk mengukur debit fluida. Biasanya flow sensor adalah elemen (bagian) yang digunakan pada flow meter. Sebagaimana pada semua sensor, keakuratan absolut dari pengukuran membutuhkan pengkalibrasian sensor.
Pada perancangan tugas akhir ini tipe flow sensor yang digunakan
merupakan mechanical flow sensor. Sensor tipe ini memiliki rotor dan transducer hall-effect didalamnya untuk mendeteksi putaran rotor ketika fluida melewatinya. Putaran tersebut akan menghasilkan pulsa digital yang banyaknya sebanding
Gambar 5.5 Flow Sensor
Alasan penulis memilih sensor ini dikarenakan sensor ini tersedia
dipasaran dengan harga yang relatif murah dan memiliki spesifikasi yang cukup
untuk merancang prototipe sistem ini.
Spesifikasi dari Flow Sensor yang digunakan:
Tabel 5.2 Tabel spesifikasi Flow sensor
Spesifikasi Keterangan
Debit air yang dapat terukur 1 – 30 Liter
Tekanan air Maksimal 2 Mpa
Material PVC
Catu daya 4,5 V – 18 V DC
Konsumsi arus 15 mA (pada Vcc = 5 V)
Tipe sensor Rotor mekanik
Suhu air maksimum 80 C
Rentang kelembaban 35 % - 90 %
Duty cycle 50 % + 10%
Diameter sambungan 0,5 inchi
16
2.3.1 Prinsip Hall-Effect
Hall-Effect Sensor merupakan transduser yang output tegangannya berubah terhadap respon medan magnetik. Hall effect sensor biasanya digunakan untuk switching proximity, posisi, deteksi kecepatan dan aplikasi pengukuran arus listrik.
Efek hall ini berdasarkan pada efek medan magnetik terhadap partikel
bermuatan yang bergerak. Ketika ada arus listrik yang mengalir pada perangkat,
efek hall yang ditempatkan dalam medan magnet yang arahnya tegak lurus
terhadap arus listrik, pergerakan pembawa muatan akan berbelok ke salah satu
sisi dan menghasilkan medan listrik. Medan listrik terus membesar hingga gaya
lorentz yang bekerja pada partikel menjadi nol. Perbedaan potensial antara kedua
sisi perangkat tersebut potensial hall. Potensial hall ini berbanding lurus dengan
medan magnet dan arus listrik yang melalui perangkat.
Potensial hall inilah yang dibaca oleh perangkat sensor. Dalam prakteknya
ada dua tipe sensor hall-effect yaitu tipe digital dan tipe analog. dibawah ini adalah keuntungan Hall effect sensor .
1. Dapat dioperasikan sebagai saklar
2. Dapat beroperasi sampai 100kHz
3. Tidak mengalami bouncing karena memiliki sejumlah titik
kontak tidak seperi pada saklar
4. Tidak terpengaruh oleh kontaminan lingkungan .
Gambar 5.6 Prinsip Kerja dari Flow Sensor
Gambar 5.7 Bentuk dari Pulse wave 2.3.2 Prinsip Kerja Sensor
Pada gambar 2.6 dibawah ini dapat dilihat prinsip kerja dari water flow
sensor yang digunakan.
Pada gambar tersebut ketika fluida mengalir melewati rotor, fluida tersebut
mengakibatkan rotor tersebut bergerak dengan kecepatan yang proporsional
dengan kecepatan linier fluida. Putaran rotor ini menyebabkan ujung blade rotor
yang memiliki magnet menghasilkan pulsa digital on dan off yang dibaca oleh
transduser hall effect yang ada pada rangkaian pendeteksinya. Pada gambar 2.7
18
2.4 Ethernet Shield
Ethernet Shield menambah kemampuan Arduino board agar terhubung ke jaringan komputer. Ethernet shield berbasiskan chipethernet Wiznet W5100. Ethernet library digunakan dalam menulis program agar arduino board dapat terhubung ke jaringan dengan menggunakan arduino ethernet shield.
Pada ethernet shield terdapat sebuah slot micro-SD, yang dapat digunakan untuk menyimpan file yang dapat diakses melalui jaringan. Onboard micro-SD card reader diakses dengan menggunakan SD library.
Arduino board berkomunikasi dengan W5100 dan SD card mengunakan
bus SPI (Serial Peripheral Interface). Komunikasi ini diatur oleh library SPI.h dan Ethernet.h. Bus SPI menggunakan pin digital 11, 12 dan 13 pada Arduino UNO. Pin digital 10 digunakan untuk memilih W5100 dan pin digital 4 digunakan
untuk memilih SD card. Pin-pin yang sudah disebutkan sebelumnya tidak dapat
digunakan untuk input/output umum ketika kita menggunakan ethernet shield. Karena W5100 dan SD card berbagi bus SPI, hanya salah satu yang dapat
aktif pada satu waktu. Jika kita menggunakan kedua perangkat dalam program
kita,hal ini akan diatasi oleh library. Jika kita tidak menggunakan salah satu perangkat dalam program kita, kiranya kita perlu secara eksplisit mendeselect -nya. Untuk melakukan hal ini pada SD card, set pin 4 sebagai output dan
menuliskan logika tinggi padanya, sedangkan untuk W5100 yang digunakan
adalah pin 10. Pada saat penggunaanya jika kita tidak menselect atau deselectnya secara detail maka ethernet shield tidak dapat bekerja secara optimal. Gambar 2.8
Gambar 5.8 Ethernet Shield
2.5 Kartu memori mikro SD
Kartu memori tipe mikro SD merupakan media penyimpanan data yang
bersifat nonvolatile (data didalamnya tidak hilang ketika catu daya dihilangkan).
Kartu memori mikro SD merupakan pengembangan dari MMC tidak banyak
perbedaan antara kartu memori mikro SD. Pada penggunaan umum kartu tipe ini
memiliki format File allocation Table (FAT) . FAT merupakan standar alokasi file yang dikembangakan oleh microsoft. Salah satu format FAT adalah FAT 16 , 16 menunjukan bahwa alokasi data dibuat dengan menggunakan format 16 bit,
sehingga jumlah unit alokasi yang dapat dibentuk adalah 216 atau 65.536 unit
alokasi. Dalam penggunaannya pada sistem ini , kartu memori diisi data dari
hasil pembacaan sensor debit air. Hal ini dilakukan untuk menghindari kehilangan
data yang telah dicatat oleh mikrokontroller. Gambar 2.9 adalah perbandingan
20
Gambar 5.9 Dimensi Mikro SD [9]
Kartu memori SD mendukung beberapa tipe bus dan mode transfer.
Berikut dibawah ini adalah beberapa mode bus yang didukung oleh Kartu
memori SD :
1. Mode Bus SPI : Bus serial peripheral interface biasanya digunakan
oleh mikrokontroller. Bus ini hanya mendukung interface 3.3 volt.
2. Mode bus satu bit : Bus ini memisahkan channel command dan data.
3. Mode bus empat bit : Bus ini menggunakan beberapa pin tambahan dan
beberapa pin lain dialihkan. UHS –I dan UHS-II membutuhkan bus tipe
Gambar 6.1 Blok Diagram Sistem 3.1 Gambaran Umum Sistem
Pada Tugas akhir ini penulis akan merancang sebuah prototipe informasi
perhitungan aliran air berbasis Arduino UNO. Debit dan volume air yang melalui sensor dapat dipantau dari jarak jauh melalui web browser. Prototipe yang akan dirancang dan perangkat monitor akan terhubung melalui jaringan komputer. Blok
22
3.2 Fungsi Tiap Blok
Berikut adalah penjelasan singkat masing –masing blok pada gambar
3.1.
1. Blok Sensor
Sebagai input data dalam bentuk pulsa digital, pulsa digital ini yang
diterima oleh arduino dan dikonversikan menjadi data debit air.
2. Blok Arduino
Mengolah input data dari sensor, menyimpan hasil konversinya
pada kartu memori dan mengirimnya ke perangkat user.
3. Blok Modul Ethernet
Mengantarmukakan arduino dengan jaringan intranet untuk
menampilkan data pada perangkat user dalam format halaman web
dan mengantarmukakan arduino dengan kartu memori .
4. Blok SD card
Sebagai Media peyimpanan data hasil pengukuran.
5. Blok Jaringan
Sebagai sarana koneksi sistem dengan perangkat user.
6. Blok Perangkat User
Merupakan perangkat user yang digunakan untuk mengakses sistem
3.3 Spesifikasi Sistem
Berikut ini adalah spesifikasi lengkap dari sistem yang dirancang :
Tabel 6.1 Spesifikasi Sistem
Spesifikasi Keterangan
Mikrokontroller Arduino UNO
Modul Komunikasi Ethernet Shield
Tipe Koneksi Kabel UTP
Jaringan Intranet
Tegangan kerja sistem 5 V
Konsumsi Arus sistem + 100mA
Kecepatan mikrokontroller 16 Mhz
Tipe sensor Rotor Mekanik
Diameter sambungan pipa 0.5 inchi
Material PVC
Tingkat error 3 % (pada debit 1L/menit – 10L/menit)
Suhu Air maksimum (sensor) 80 C
Tekanan Air (Maksimal) 2 Mpa
Jangkauan debit air permenit 1 - 30 liter
24
Gambar 6.2 Arduino Web Server 3.4 Perancangan Perangkat Keras
3.4.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.2 .
Gambar 6.3 Rangkaian Skematik Arduino UNO dengan Flow Sensor
Arduino Web Server bertindak sebagai sebuah embedded web server,
yang menyimpan halaman web sederhana yang menampilkan status pembacaan
debit air dan total volume air pada saat diakses dan halaman web yang berisi data
volume air dari kartu memori . Pada beberapa menit sekali Arduino web server
akan menyimpan data yang telah didapat pada memori card yang terpasang pada
modul ethernet shield.
Proses penyimpanan data hasil pembacaan ke kartu memori dilakukan
dengan menggunakan fungsi dari library SD.h . Penyimpanan data ini dilakukan dalam interval beberapa menit sekali, hal ini dilakukan untuk menghindari
banyaknya waktu yang terbuang pada saat penulisan data ke kartu memori. Data
tersebut dapat disimpan kedalam file berekstensi .TXT ataupun .CSV.
26
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
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.177/tampil/ untuk mengakses halaman web yang berisi data real-time dari sistem dan http://10.4.11.177/data/ 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
28
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
30
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 � ×
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
32
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
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
34
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 :
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
36
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
4.2 Pengujian Arduino Webserver
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
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
38
Setelah itu dilakukan pengujian untuk mengetahui apakah arduino
webserver dapat menampilkan halaman web sistem dengan baik. Pengujian
dilakukan dengan cara membuka aplikasi web browser pada komputer kemudian
mengisi url dengan alamat IP dari arduino web server. Tampilan halaman web
sistem pada aplikasi web browser komputer dapat dilihat pada Gambar 4.5 dibawah ini.
Gambar 7.4 Pengujian koneksi dengan PING mengunakan command prompt
b.
c.
Gambar 7.5 (a,b,c) Tampilan halaman web sistem
a. Halaman default sistem
b. Halaman data real-time sistem
40
4.3 Pengujian Keseluruhan
Pengujian keseluruhan sistem dilakukan dengan menggabungkan semua
bagian - bagian yang diperlukan sesuai dengan rancangan sistem dan juga sesuai
dengan program yang terdapat dalam arduino UNO. Setelah semua bagian telah
terhubung dan diberi catu daya, arduino UNO akan menunggu klien yang
meminta untuk dilayani. Kemudian pengujian dilakukan dengan membuka
membuka halaman web sistem melalui aplikasi web browser pada komputer yang
terhubung dengan arduino web server. Tampilan halaman web dapat dilihat pada Gambar 4.6 dan 4.7.
Pada Gambar diatas dapat dilihat konfigurasi pengujian keseluruhan
sistem . Pengujian dillakukan dengan menghubungkan semua bagian sistem . Hal
ini dilakukan untuk menguji apakah sistem bekerja secara normal ketika seluruh
bagiannya disatukan
4.4 Analisa Prototipe Water Debit Monitor
Prototipe sistem ini menggunakan jaringan komputer untuk terhubung ke
perangkat yang memantaunya. Jika sistem berada pada jaringan yang sama
dengan perangkat yang memantaunya maka prototipe sistem ini dapat diakses
oleh perangkat tersebut. Jika sistem tehubung ke jaringan internet maka informasi
dan datanya dapat diakses dari mana saja selama perangkat yang digunakan untuk
mengendalikannya juga terhubung ke jaringan internet.
42
Dari hasil percobaan dan pengujian sistem dapat menampilkan data hasil
pengukuran secara ke halaman web dan menyimpan data pembacaanya kedalam
kartu memori tanpa mengalami kendala besar. Masalah terdapat pada penyajian
data yang tersimpan didalam kartu memori, data yang ditampilkan tidak tersusun
5.1 Kesimpulan
Berdasarkan pembahasan pada bab-bab sebelumnya maka dapat diambil
kesimpulan sebagai berikut:
1. Prototipe yang dirancang dapat memantau penggunaan bulanan air d
melalui jaringan intranet menggunakan aplikasi web browser.
2. Flow Sensor yang digunakan memiliki persentase error yang cukup kecil.
3. Pemantauan pemakaian air sangat bermanfaat bagi banyak pihak yang
ingin mengutamakan penghematan penggunaan air misalnya industri,
perkantoran dan kehidupan sehari – hari pada perumahan penduduk dan
sebagainya.
5.2 Saran
Untuk meningkatkan kinerja dari prototipe sistem monitoring debit air
berbasis arduino UNO ini dapat dilakukan beberapa peningkatan antara lain :
1. Ditambahkan sebuah solenoid valve yang dapat dikendalikan untuk dapat menutup aliran air dari web browser.
2. Karena siapa saja dapat mengakses halaman web prototipe, jika
mengetahui alamat IP-nya maka perlu ditambahkan sebuah halaman login
agar akses ke sistem dapat dibatasi.
3. Disarankan untuk mengoptimalkan Flow sensor dengan kalibrasi yang
lebih baik. Hal ini perlu dilakukan untuk mendapatkan hasil pembacaan
44
4. Dapat dikembangkan untuk mendeteksi kebocoran pipa dengan
mengimplementasikan dua buah flow sensor atau lebih pada saluran air
yang panjang,
5. Data hasil pembacaan yang diterima dapat disimpan ke website
datalogging atau database terpisah dibandingkan dengan kartu memori.
6. Halaman web masih sederhana dan data yang ditampilkan dari kartu
[1] T. Triantoro, Perancangan Sistem Pengenal Digit Angka Meter Air Menggunakan Jaringan Syaraf Tiruan Kohonen, Medan: Teknik Elektro Universitas Sumaetra Utara, 2014.
[2] “Wikipedia,” [Online]. Available: http://en.wikipedia.org/wiki/Arduino. [Diakses Oktober 2014].
[3] “Arduino,” [Online]. Available: http://arduino.cc/en/Main/ArduinoBoardUno. [Diakses Oktober 2014].
[4] “Wikipedia,” [Online]. Available: http://id.wikipedia.org/wiki/Hall_effect_sensor. [Diakses Oktober 2014].
[5] M. G. simanjuntak, Perancangan Prototipe Smart Building berbasis Arduino UNO, Medan: Teknik Elektro Universitas Sumatera Utara, 2013.
[6] J. Oxer dan H. Blemings, Arduino Practical, New York: Apress, 2009.
[7] M. Margolis, Arduino Cookbook, 2nd Edition penyunt., S. S. Laurent, Penyunt., Sebastopol: O'Reilly Media, 2011.
[8] “Wikipedia,” [Online]. Available: http://en.wikipedia.org/wiki/Flow_sensor. [Diakses Oktober 2014].
[9] “Wikipedia,” [Online]. Available: http://en.wikipedia.org/wiki/Secure_Digital. [Diakses Oktober 2014].
[10] “Seeed Studio,” [Online]. Available:
http://www.seeedstudio.com/wiki/G1/2_Water_Flow_sensor. [Diakses Oktober 2014].
[11] “Arduino,” [Online]. Available: http://arduino.cc/en/Reference/SDCardNotes. [Diakses Oktober 2014].
[12] “Arduino,” [Online]. Available: http://arduino.cc/en/Main/ArduinoEthernetShield. [Diakses Agustus 2014].
[13] “PT Metro teknik perkasa ,”[Online].Available:
http://www.indonetwork.co.id/metro_teknik/2417596/kalibrasi-meter-air. [Diakses april
46
// konstanta untuk faktor kalibrasi flow sensor float calibrationFactor = 8.5;
volatile byte pulseCount; int volbulan[6] ;
const int chipSelect = 4; File dataFile;
char buffer[MAX_PAGE_NAME_LEN+1]; // page name + terminating null
EthernetServer server(80); EthernetClient client;
setTime(12,0,0,6,30,14);
Serial.println("Card failed, or not present");
// don't do anything more: return;
if( client.find("GET ") ) { // look for the page name
memset(buffer,0, sizeof(buffer)); // clear the buffer
48
// Rutin Halaman Data real-time sistem void showAnalog()
client.println(F("NOMOR PELANGGAN : 11691")); client.println("<br />");
client.println(F("ALAMAT PELANGGAN : Jl Ayahanda Gg tabib NO : 6")); client.print(monthStr(month())); client.print(F(" Tahun : ")); client.print(year());
client.print(F("Pemakaian air Bulan ini (dalam m3) : "));
client.print(volume); client.println("<br />");
for (int bulan = 0; bulan < 5; bulan++)
50
Sistem</h1>");
client.print(page);
client.println("<br />");
client.println("Halaman yang tersedia :<br />"); memproses pulsa counter dalam rentang satu detik
{
// disable interupsi untuk memulai perhitungan pulsa dan proses lainnya
detachInterrupt(sensorInterrupt);
debit dalam liter per menit
debitmenit = ((1000.0 / (millis() - oldTime)) * pulseCount) / calibrationFactor;
// waktu setelah interupsi berlalu. oldTime = millis();
// konversikan kedalam mililiter
debitdetik = (debitmenit / 60) * 1000;
// jumlahkan milliliter yang telah lewat dengan yang sekarang untuk mendapatkan total volume
dataString += " Volume";
dataString += String(volbulan[0]);
52
File dataFile =
SD.open("datalog.txt", FILE_WRITE);
dataFile.println(dataString); dataFile.close();
}
// nyalakan kembali interpsi attachInterrupt(sensorInterrupt, pulseCounter, RISING);
}
}
void sendHeader() {
// send a standard http response header client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html"); client.println();
client.println("<html><head><title>Web server multi-page </title>");