Upload
lyhanh
View
256
Download
3
Embed Size (px)
Citation preview
TUGAS AKHIR
STASIUN CUACA MINI BERBASIS ARDUINO
MEGA 2560 DENGAN TAMPILAN WEB
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Disusun oleh :
LAURENTIUS RENALDI ASTOTO
NIM : 135114018
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
MINI WEATHER STATIONS BASED ON
ARDUINO MEGA 2560 WITH WEBPAGE
Presented as Partial Fullfillment of Requirements
To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program
By :
LAURENTIUS RENALDI ASTOTO
NIM : 135114018
ELECTRICAL ENGINEERING DEPARTMENT
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
LEMBAR PERSETUJUAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
LEMBAR PENGESAHAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PERNYATAAN KEASLIAN KARYA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN MOTTO DAN PERSEMBAHAN
Motto:
Aku telah mengakhiri pertandingan yang baik, aku telah mencapai garis
akhir dan aku telah memelihara iman
(2 Timotius 4:7)
Dengan ini kupersembahkan karyaku ini untuk.....
Yesus Kristus Pembimbing hidupku,
Keluargaku tercinta,
teman-teman TE 2013
dan secara khusus sebagai pemenuhan janji kepada
Almarhum Romo Aluysius Maria Ardi Handojoseno, SJ, Ph.D
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
HALAMAN PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Cuaca merupakan bagian dari kehidupan sehari-hari setiap manusia. Saat ini,
seringnya terjadi perubahan cuaca, sangat dibutuhkan alat yang memantau memantau
kondisi cuaca di lingkungan sekitar secara realtime. Stasiun cuaca mini secara umum
berguna memberikan informasi tentang kondisi cuaca. Secara khusus alat ini memberikan
informasi suhu, kelembaban, tekanan udara, curah hujan dan indeks UV.
Dalam penelitian ini, prototype stasiun cuaca dirancang dengan Arduino Mega
2560 sebagai pengolah data. Sensor suhu dan kelembaban menggunakan DHT-22, sensor
tekanan udara BMP-180, sensor UV GUVA S12SD, menggunakan pengukur curah hujan
jenis tipping bucket dengan sensor reedswitch untuk mendeteksi jumlah curah hujan. Data-
data tersebut kemudian ditampilkan melalui laman web menggunakan ESP8266-12
sebagai media transmisi.
Stasiun Cuaca Mini dapat bekerja dengan baik dalam melakukan proses
pengiriman data melalui jaringan lokal. Stasiun cuaca mini memiliki galat pengukuran
suhu rata-rata 4,94%, galat pengukuran kelembaban rata-rata 12,48%, galat pengukuran
tegangan indeks UV rata-rata 28,60%, pengukuran tekanan udara sudah dapat bekerja
namun belum dapat dibandingkan dengan alat ukur, pengukur curah hujan belum dapat
bekerja dengan baik.
Kata kunci: Stasiun Cuaca, Arduino Mega 2560, Wifi, Web
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Weather is part of the daily life of every human being. Nowdays, as a result of
weather changes, we required an instrument to monitors monitoring weather conditions in
the surrounding environment in realtime. Mini weather stations are generally useful in
providing information about weather conditions. This instrument espesially provides
information on temperature, humidity, air pressure, rainfall and UV index.
In this study, the weather station prototype was designed with Arduino Mega 2560
as a data processor. DHT-22 for temperature and humidity measurement, BMP-180 for
barometric pressure measurement, GUVA S12SD for UV index measurement, and a
tipping bucket-type rain gauge with a reedswitch sensor to detect the amount of rainfall.
These data are then displayed through a web page using ESP8266-12 as transmission
media.
The mini weather station works well on sending data through the local network.
The mini weather station works with 4,94 percent of error temperature measurement,
12,48 percent of error humidity measurement, 28,60 percent of error UV index voltage
measurement, barometric pressure measurement works well but can not be compared with
measuring devices, rain gauges has not work properly.
Keywords: Weather Station, Arduino Mega 2560, Wifi, Web
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
DAFTAR ISI
TUGAS AKHIR ..................................................................................................................... i
FINAL PROJECT ................................................................................................................. ii
LEMBAR PERSETUJUAN................................................................................................ iii
LEMBAR PENGESAHAN ................................................................................................. iv
PERNYATAAN KEASLIAN KARYA ............................................................................... v
HALAMAN MOTTO DAN PERSEMBAHAN .................................................................. vi
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS .......................................................................................... vii
INTISARI .......................................................................................................................... viii
ABSTRACT ......................................................................................................................... ix
KATA PENGANTAR .......................................................................................................... x
DAFTAR ISI ........................................................................................................................ xi
DAFTAR GAMBAR ......................................................................................................... xiv
DAFTAR PERSAMAAN ................................................................................................. xvii
DAFTAR TABEL ........................................................................................................... xviii
BAB I PENDAHULUAN .................................................................................................. 1
1.1. Latar Belakang ............................................................................................ 1
1.2. Tujuan dan Manfaat ..................................................................................... 2
1.3. Batasan Masalah .......................................................................................... 2
1.4. Metodologi Penelitian ................................................................................. 3
1.5. Sistematika Penulisan .................................................................................. 4
BAB II DASAR TEORI .................................................................................................. 5
2.1. Automatic Weather Stations ........................................................................ 5
2.2. Board Arduino Mega 2560 .......................................................................... 9
2.3. Sensor DHT-22 .......................................................................................... 11
2.4. Sensor BMP-180[11] ................................................................................. 13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
2.5. GUVA-S12SD UV Sensor ........................................................................ 16
2.6. WiFi Modul ESP 8266[17] ........................................................................ 18
2.7. Penakar Curah Hujan Tipping Bucket ....................................................... 19
2.8. RTC (Real Time Clock) DS1307 ............................................................... 20
2.9. LCD Standard 20X4[23][24] ..................................................................... 21
BAB III ............................................................................................................................... 23
RANCANGAN PENELITIAN ........................................................................................... 23
3.1. Proses Kerja Sistem ................................................................................... 23
3.2. Perancangan Perangkat Keras ................................................................... 25
3.2.1. Perancangan Sensor BMP180 ............................................................... 25
3.2.2. Perancangan Sensor DHT-22 ................................................................ 25
3.2.3. Perancangan Sensor GUVA-S12SD ..................................................... 26
3.2.4. Perancangan Rangkaian Sensor Tipping Bucket ................................... 26
3.2.5. Perancangan Modul Wifi ...................................................................... 27
3.2.6. Perancangan Modul RTC DS1307 ........................................................ 28
3.2.7. Perancangan LCD 20x4 ........................................................................ 28
3.2.8. Perancangan PCB Shield Arduino ........................................................ 29
3.3. Perancangan Perangkat Lunak .................................................................. 29
3.3.1. Diagram alir utama ............................................................................... 29
3.3.2. Subrutin Sensor DHT-22 ...................................................................... 30
3.3.3. Subrutin Sensor BMP-180 .................................................................... 31
3.3.4. Subrutin Sensor GUVA-S12SD ............................................................ 32
3.3.5. Perancangan Penampil .......................................................................... 33
3.4. Perhitungan Error ...................................................................................... 34
BAB IV PEMBAHASAN ............................................................................................... 35
4.1. Implementasi Alat ..................................................................................... 35
4.2. Pengujian Awal Perangkat ........................................................................ 36
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
4.2.1. Pengujian Sensor DHT-22 .................................................................... 36
4.2.2. Pengujian Sensor BMP-180 .................................................................. 39
4.2.3. Pengujian Sensor UV ............................................................................ 40
4.2.4. Pengujian Sensor Curah Hujan ............................................................. 42
4.2.5. Pengujian Jaringan ................................................................................ 42
4.3. Pengujian Sistem ....................................................................................... 43
4.4. Analisis Perangkat Lunak Arduino Mega ................................................. 47
4.4.1. Inisialisasi Perangkat Arduino Mega .................................................... 47
4.4.2. Inisialisasi Perangkat Wemos D1 ......................................................... 49
4.4.3. Pengaturan jaringan .............................................................................. 51
4.4.4. Pembacaan Sensor ................................................................................ 51
4.4.5. Penampil Data Pada LCD 20x4 ............................................................ 57
4.4.6. Pengiriman Data dan Tampilan Web .................................................... 58
BAB V ................................................................................................................................. 61
PENUTUP ........................................................................................................................... 61
5.1. Kesimpulan ................................................................................................ 61
5.2. Saran .......................................................................................................... 61
DAFTAR PUSTAKA ......................................................................................................... 62
LAMPIRAN ....................................................................................................................... 64
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR GAMBAR
Gambar 1.1. Diagram blok perancangan ............................................................................. 3
Gambar 2.1 AWS Portable .................................................................................................. 5
Gambar 2.1.2 Sangkar Stevenson ........................................................................................ 6
Gambar 2.3 Termometer ..................................................................................................... 7
Gambar 2.4 Barograf ........................................................................................................... 7
Gambar 2.5 Higrometer ...................................................................................................... 8
Gambar 2.6 Anemometer dan Wind-vane ........................................................................... 9
Gambar 2.7 Board Arduino Mega 2560 .............................................................................. 9
Gambar 2.8 Sensor DHT-22 ............................................................................................. 11
Gambar 2.9 Proses komunikasi keseluruhan dari DHT-22 ............................................... 13
Gambar 2.10 Sensor BMP180 .......................................................................................... 13
Gambar 2.11 Diagram alir pengukuran pada sensor BMP-180 ........................................ 15
Gambar 2.12 pengaruh ketinggian tempat dengan tekanan barometric ............................ 16
Gambar 2.13 Sensor UV GUVA-S12SD .......................................................................... 16
Gambar 2.14 Perbandingan antara tegangan keluaran sensor dan standar indeks UV ..... 17
Gambar 2.15 Modul ESP 8266 ......................................................................................... 18
Gambar 2.16 Tipping Bucket ............................................................................................. 19
Gambar 2.17 Modul RTC DS1307 ................................................................................... 20
Gambar 2.18 Konfigurasi Pin RTC DS1307 .................................................................... 21
Gambar 2.19 LCD Standard 20X4 ....................................................................................... 21
Gambar 2.20 Koneksi LCD ke mikrokontroller .................................................................... 22
Gambar 3.1 Diagram blok Perancangan ........................................................................... 23
Gambar 3.2 Rancangan sistem keseluruhan ...................................................................... 24
Gambar 3.3 Koneksi BMP180 .......................................................................................... 25
Gambar 3.4 Koneksi DHT-22 ........................................................................................... 25
Gambar 3.6 Koneksi sensor GUVA-S12SD ..................................................................... 26
Gambar 3.7 Koneksi sensor Rain Gauge .......................................................................... 26
Gambar 3.8 Rancangan alat pengukur curah hujan .......................................................... 27
Gambar 3.9 Koneksi modul ESP8266 .............................................................................. 27
Gambar 3.10 Koneksi modul RTC DS1307 ..................................................................... 28
Gambar 3.11 diagram alir utama ....................................................................................... 29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
Gambar 3.12 diagram Subrutin DHT-22 .......................................................................... 30
Gambar 3.13 diagram Subrutin BMP-180 ........................................................................ 31
Gambar 3.14 Subrutin GUVA-S12SD .............................................................................. 32
Gambar 3.15 Rancangan Penampil Halaman Web ........................................................... 33
Gambar 4.1 Respon AT Command menggunakan Arduino Mega ................................... 35
Gambar 4.2 Rangkaian keseluruhan Stasisun Cuaca Mini Berbasis Arduino Mega 2560
dan Tampilan Web ............................................................................................................ 36
Gambar 4.3 Grafik perbandingan pengukuran suhu ......................................................... 37
Gambar 4.4 Grafik perbandingan pengukuran kelembaban ............................................. 38
Gambar 4.5 Grafik pengukuran tekanan udara ................................................................. 40
Gambar 4.6 Grafik pengukuran indeks UV ...................................................................... 41
Gambar 4.7 AT command Wemos D1 pada Serial Monitor ............................................. 43
Gambar 4.8 Interior pada alat pengukur curah hujan ........................................................ 43
Gambar 4.9 Eksterior pada alat pengukur curah hujan .................................................... 44
Gambar 4.10 Grafik Perbandingan Suhu .......................................................................... 44
Gambar 4.11 Grafik Perbandingan Kelembaban .............................................................. 45
Gambar 4.12 Grafik pengukuran tekanan udara ............................................................... 46
Gambar 4.13 Grafik Perbandingan tegangan keluaran sensor UV ................................... 46
Gambar 4.14 Deklarasian fungsi dan variabel pada Arduino Mega ................................. 48
Gambar 4.15 sketch untuk membuat karakter derajat (°) ................................................. 49
Gambar 4.16 Deklarasian fungsi dan variabel pada Wemos D1 ...................................... 50
Gambar 4.17 Pengaturan koneksi pada Wemos D1 .......................................................... 51
Gambar 4.18 Inisialisasi sensor DHT-22 dan library Wire ............................................... 52
Gambar 4.19 Proses penghitungan sensor DHT-22 .......................................................... 52
Gambar 4.20 Inisialisasi dan proses perhitungan sensor BMP-180 .................................. 52
Gambar 4.21 Inisialisasi dan proses perhitungan sensor BMP-180 (lanjutan) ................. 53
Gambar 4.22 Inisialisasi dan proses perhitungan sensor GUVA-S12SD ......................... 53
Gambar 4.23 Inisialisasi dan proses perhitungan sensor GUVA-S12SD (lanjutan) ......... 54
Gambar 4.24 Inisialisasi dan proses perhitungan sensor GUVA-S12SD (lanjutan) ......... 55
Gambar 4.25 Inisialisasi variabel pada sensor curah hujan .............................................. 55
Gambar 4.26 proses perhitungan sensor curah hujan ........................................................ 56
Gambar 4.27 Program Pengiriman data sensor dan tampilan LCD ................................... 57
Gambar 4.28 Program Pengiriman data sensor dan tampilan LCD (lanjutan) ................. 58
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Gambar 4.29 Program Pengiriman data sensor dan tampilan web ................................... 59
Gambar 4.30 Implementasi Pengiriman Data dan Tampilan di PC client menggunakan
browser Google Chrome ................................................................................................... 60
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
DAFTAR PERSAMAAN
Persamaan 2.1 ..................................................................................................................... 15
Persamaan 2.2 .................................................................................................................... 15
Persamaan 2.3 ..................................................................................................................... 17
Persamaan 3.1 .................................................................................................................... 32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
DAFTAR TABEL
Tabel 4.1 Sampel pengujian sensor curah hujan ............................................................... 42
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Cuaca adalah keadaan udara pada saat tertentu dan di wilayah tertentu yang relatif
sempit dan pada jangka waktu yang singkat. Cuaca terbentuk dari gabungan unsur cuaca
dan jangka waktu cuaca bisa hanya beberapa jam saja. Misalnya keadaan hujan, cuaca
cerah, banyak terdapat awan, tekanan angin tinggi, udara panas atau sejuk di suatu kota.
Cuaca dan iklim di bumi ini senantiasa berubah-ubah. Walau begitu, sifat dan polanya
pada kawasan tertentu memiliki kecenderungan yang sama[1].
Akibat dari seringnya terjadi perubahan cuaca pada saat ini, sangat dibutuhkan alat
yang memantau memantau kondisi cuaca di lingkungan sekitar secara realtime. Data yang
dihasilkan dapat dianalisis lalu dijadikan prediksi untuk prakiraan esok hari. AWS
(Automatic Weather Stations) merupakan suatu peralatan atau sistem terpadu yang di
disain untuk pengumpulan data cuaca secara otomatis serta di proses agar pengamatan
menjadi lebih mudah.
Pemantuan kondisi cuaca di lingkungan sekitar memiliki banyak manfaat bagi
manusia. Informasi tentang kondisi cuaca dapat dijadikan sebagai prediksi kondisi cuaca
pada hari ini dan hari berikutnya. Selain itu, banyak pihak yang bergantung pada informasi
tentang kondisi cuaca. Di bidang pertanian, petani dapat memperoleh informasi kondisi
suhu, curah hujan dan pola musim yang dapat menentukan jenis tanaman yang cocok
untuk dibudidayakan. Di bidang industri seperti sentra industri kerajinan seperti
pembuatan batu bata, kerajinan tanah liat, dan genteng pada umumnya memerlukan panas
cahaya matahari untuk membantu produktivitas.
Pada penelitian sebelumnya berjudul “Stasiun Cuaca Mini Berbasis Mikrokontroler
MC68HC908QB8” yang memiliki perangkat yang terdiri dari sensor dan mikrokontroler.
Sensor yang digunakan sensor suhu LM35, Tipping-bucket untuk pengukur curah hujan,
modul RTC DS1305 sebagai fungsi waktu. Pencatatan hasil pengamatan cuaca dilakukan
secara berkala setiap 1 jam secara otomatis. Data dari sensor tersebut lalu diproses pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
microkontroler dan ditransmisikan ke computer melalui kabel serial. Data tersebut
kemudian ditampilkan menggunakan software Microsoft Visual Basic [2].
Mengacu pada penelitian sebelumnya berjudul “Stasiun Cuaca Mini Berbasis
Mikrokontroler MC68HC908QB8”, yang menggunakan Mikrokontroler
MC68HC908QB8 , LM35 sebagai sensor suhu dan menggunakan komunikasi serial,
dalam penelitian ini, penulis mencoba menggunakan Atmega2560 (Arduino Mega)
sebagai microcontroller, Modul RTC DS1307 sebagai fungsi waktu, modul DHT-22
sebagai sensor suhu dan kelembaban, BMP180 sebagai sensor tekanan udara, Modul Wifi
sebagai wireless untuk komunikasi antara transmitter dan receiver karena memiliki
beberapa keunggulan seperti memiliki kemampuan transfer data hingga 100 meter,
menghemat biaya kabel karena menggunakan sistem wireless.
1.2. Tujuan dan Manfaat
Tujuan dari penelitian ini adalah menciptakan suatu stasiun cuaca mini yang
dikontrol oleh mikrokontroler Arduino Mega 2560
Manfaat penelitian ini bagi masyarakat umum adalah menyediakan alat untuk
memperoleh informasi tentang kondisi cuaca dapat dijadikan sebagai prediksi kondisi
cuaca pada hari ini dan hari berikutnya.
1.3. Batasan Masalah
Agar Tugas Akhir ini bisa mengarah pada tujuan dan untuk menghindari terlalu
kompleksnya permasalahan yang muncul, maka perlu adanya batasan-batasan masalah
yang sesuai dengan judul dari tugas akhir ini. Adapun batasan masalah adalah :
1. Menggunakan mikrokontroler Arduino Mega 2560 sebagai pengolah data.
2. Menggunakan modul Wi-Fi sebagai media transmisi.
3. Menggunakan modul RTC DS1307 sebagai fungsi waktu.
4. Menggunakan sensor suhu dan kelembaban udara yang digunakan adalah
DHT-22
5. Menggunakan sensor tekanan udara BMP-180
6. Menggunakan sensor UV GUVA-S12SD
7. Merancang sensor penakar curah hujan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.4. Metodologi Penelitian
Berdasarkan pada tujuan yang ingin dicapai metode-metode yang digunakan dalam
penyusunan tugas akhir ini adalah:
Studi literatur, yaitu dengan cara mendapatkan data dengan membaca buku-buku
dan jurnal-jurnal yang berkaitan dengan permasalahan yang dibahas dalam tugas
akhir ini.
Dokumenter, yaitu dengan mendapatkan sumber informasi berdasarkan data atau
arsip yang telah ada sehingga dapat membantu penulis dalam mengerjakan tugas
akhir ini.
Eksperimen, yaitu dengan langsung melakukan praktek maupun pengujian
terhadap hasil pembuatan alat dalam pembuatan tugas akhir ini.
Perancangan subsistem hardware. Tahap ini bertujuan untuk mencari bentuk
model yang optimal dari sistem yang akan dibuat dengan mempertimbangkan dari
berbagai faktor-faktor permasalahan dan kebutuhan yang telah ditentukan. Gambar
1.1 memperlihatkan blok model yang akan dirancang.
Gambar 1.1. Diagram blok perancangan
Pembuatan hardware meliputi:
a. Penyediaan seluruh komponen yang yang dibutuhkan.
b. Pemrograman pengolahan data dan penampil data.
Atmega 2560
(Arduino Mega)
Sensor Tekanan
Udara
Sensor Suhu dan
Kelembaban
Sensor Sinar UV
Sensor Curah
Hujan
Modul Wifi
Power Supply
Real Time Clock
Penerima
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
c. Perakitan dan pembuatan alat, serta diadakan pengujian masing-
masing (subsistem) dari perangkat-perangkat tersebut, sebelum
dilakukan integrasi.
Pengujian alat meliputi:
d. Proses pengambilan data, yang meliputi pengumpulan data masing-
masing sensor untuk mengetahui keadaan sistem keseluruhan.
e. Proses kalibrasi sensor, yang meliputi membandingkan data yang
dihasilkan oleh sensor dengan alat ukur yang sudah ada maupun data
laporan dari stasiun cuaca.
f. Analisis dan penyimpulan hasil percobaan.
1.5. Sistematika Penulisan
Penulisan Tugas Akhir ini mememiliki sistematika penulisan sebagai berikut:
BAB I : PENDAHULUAN
Bab ini berisi latar belakang penilitian, tujuan dan manfaat penelitian, batasan
masalah, metodologi penelitian dan sistematika penulisan.
BAB II : DASAR TEORI
Bab ini berisi studi pustaka tentang landasan teori penelitian
BAB III : PERANCANGAN PENELITIAN
Bab ini berisi tentang diagram blok perancangan, perancangan perangkat keras
(hardware) dan perancangan perangkat lunak (software) yang akan dibuat.
BAB IV : HASIL DAN PEMBAHASAN
Bab ini berisi hasil perancangan, hasil pengujian, analisis data dan pembahasan
analisa.
BAB V : KESIMPULAN DAN SARAN
Bab ini ini berisi tentang kesimpulan akhir dan saran-sran penulis tentang alat yang
dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
DASAR TEORI
2.1. Automatic Weather Stations
Gambar 2.1 AWS Portable
AWS (Automatic Weather Stations) merupakan suatu peralatan atau sistem terpadu
yang dirancang untuk mengumpulan data cuaca secara realtime. AWS ini umumnya
dilengkapi dengan sensor, RTU (Remote Terminal Unit), Komputer, unit LED Display
dan bagian-bagian lainnya. RTU (Remote Terminal Unit) terdiri atas data logger dan
backup power, yang berfungsi sebagai terminal pengumpulan data cuaca dari sensor
tersebut dan di transmisikan ke unit pengumpulan data pada komputer. Sensor-sensor
yang digunakan meliputi sensor suhu, kelembaban, presipitasi, tekanan udara, arah dan
kecepatan angin, pyranometer, net radiometer [3].
Berikut beberapa gangguan yang harus dihindari saat pengukuran parameter cuaca
adalah :
Pengaruh radiasi matahari langsung dan pemantulannya oleh benda-benda di
sekitarnya.
Gangguan tetesan air hujan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
Tiupan angin yang terlalu kuat
Pengaruh lokal gradien suhu tanah akibat pemanasan dan pendinginan
permukaan tanah setempat
Untuk mengatasi gangguan tersebut ialah dengan menempatkan alat pengukur suhu
dalam suatu tempat yang disebut dengan sangkar cuaca atau biasa dinamakan “Stevenson
Screen” atau “Sangkar Stevenson”. Selain untuk penempatan alat pengukur suhu udara,
sangkar ini juga diperlukan bagi penempatan alat pengukur kelembaban nisbi udara,
penguapan atmosfer “Piche” dan Thermo-grograf serta barometer [4].
Gambar 2.2 Sangkar Stevenson
Pengamatan unsur-unsur cuaca meliputi dari pengukuran tekanan udara, suhu,
kelembaban (dew point), kecepatan dan arah angin, presipitasi atau curah hujan. Berikut
akan dijelaskan beberapa hal penting untuk diketahui utuk masing-masing pengukuran
tersebut [5].
Suhu adalah tingkat kemampuan benda dalam hal memberikan atau menerima
panas. Suhu seringkali juga diartikan sebagai energi kinetis rata-rata suatu benda. Satuan
untuk suhu adalah derajat suhu. Skala suhu yang terkenal dan sering digunakan ialah:
Fahrenhit (°F), Celcius (°C), Reamur (°R) dan Kelvin (°K). Satuan Fahrenheit banyak
digunakan oleh negara yang berbahasa Inggris, sedangkan Celcius merupakan sistem yang
paling luas digunakan dan dan dianjurkan oleh World Meterological Organisation (WMO)
, karena dianggap praktis untuk bidang Meteorologi dan Klimatologi[4].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Gambar 2.3 Termometer
Tekanan udara: tekanan yang diperoleh dari berat udara pada atmosfer bumi. Tekan
udara sangat dipengaruhi oleh ketinggian suatu tempat. Apabila barometer diletakkan di
pesawat maka tekanan yang terukur akan semakin kecil. Tekanan udara diukur
menggunakan barometer jenis aneroid atau jenis merkuri. Untuk pencatatan terus menerus,
digunakan barograf [4][5].
Gambar 2.4 Barograf
Kelembaban adalah pengukuran dari jumlah uap air pada atmosfer bumi.
Kelembaban udara diukur menggunakan psychronometer atau hygrometer.
Psychronometer terbuat dari dua buah termometer yang salah satunya terdapat gauze bag
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
diujungnya. Gauze bag dibuat basah dan biarkan udara melewati kedua thermometer
tersebut. Suhu terendah pada thermometer gauze bag disebut wet-bulb temperature dan
suhu teringgi pada termometer kering disebut dry-bulb temperature. Saat udara pada
kondisi saturasi, suhu pada wet-bulb dan dry-bulb akan sama Hygrometer digerakkan
menggunakan prinsip pemuaian panjang rambut manusia. Sehelai rambut tersebut akan
memanjang saat jumlah uap air naik. Kelembaban relatif adalah perbandingan antara kadar
uap air di udara dan kadar uap air pada udara saturasi pada saat suhu yang sama
Gambar 2.5 Higrometer
Presipitasi adalah setiap bentuk kelembaban yang jatuh dari awan ke permukaan
bumi. Presipitasi yang terjadi dalam beberapa menit yang diameter airnya kurang dari 0,5
mm dan hanya terjadi hanya beberapa tetesan disebut gerimis. Presipitasi yang terjadi
yang sebagian besar diameter tetesan airnya diatas 0,5 mm disebut hujan. Hujan turun
memiliki kecepatan rata-rata 3 m/s saat di udara [5].
Sinar Matahari bersinar di pemanasan bumi berbeda di tempat yang berbeda, karena
perbedaan kemiringan sinar matahari dan karena perbedaan dalam jam sinar matahari.
Selain itu, awan mungkin mematikan sinar matahari dan mencegah pemanasan udara yang
lebih rendah. udara hangat kurang padat dari udara dingin, dan udara lembab kurang padat
dari udara kering. Kedua cenderung meningkat. Variasi dalam kepadatan menghasilkan
variasi dalam tekanan barometrik, dan angin yang metode alami untuk menyesuaikan
kembali tekanan. Angin adalah udara yang bergerak. Arah angin adalah arah dari yang
bertiup, misalnya angin barat adalah angin bertiup dari barat. arah ditentukan oleh wind-
vane sedangkan kecepatan yang dapat diperoleh dengan anemometer, yang mengukur
kecepatan dengan laju perputaran cangkir logam, atau dapat diukur melalui dampak angin
terhadap benda disekitarnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Gambar 2.6 Anemometer dan Wind-vane
2.2. Board Arduino Mega 2560
Board Arduino Mega 2560 (Gambar 2.7) adalah sebuah board Arduino yang
menggunakan IC mikrokontoler ATmega 2560. Board ini memiliki 54 digital input/output
(15 buah diantarnya dapat digunakan sebagai output PWM), 16 buah analog input, 4
UARTs. (Universal Asynchronous Receiver/Transmitter), osilator kristal 16 MHz, koneksi
USB, jack power, soket ICSP (In-Circuit System Progamming), dan tombol reset. Arduino
Mega 2560 juga dilengkapi dengan resetable polyfuse yang dapat melindungi port USB
dari hubungan arus pendek dan kelebihan arus. Apabila arus yang lewat melebihi 500
mA, fuse akan terputus secara otomatis [6].
Gambar 2.7 Board Arduino Mega 2560 [7]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
2.2.1 Pin Input/Output Digital
Pin digital yang terdapat pada Arduino Mega2560 dapat digunakan sebagai
input/output dengan menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead().
Tegangan output setiap pin adalah 5 Volt 40mA. Pada pin ini juga terdapat internal pull up
resistor sebesar 20-50 KΩ. Beberapa pin memiliki fungsi khusus seperti PWM (Pulse
Width Modulation) pada pin 2 sampai dengan pin 13 dan pin 44 sampai dengan pin 46. Pin
tersebut dapat digunakan sebagai output PWM 8 bit. Terdapat LED yang terhubung
langsung dengan pin 13.
2.2.2 Pin Analog Input
Pada board Arduino Mega 2560 terdapat 16 buah input analog pada pin A0 sampai
dengan A15. Pin tersebut memiliki resolusi sebesar 10 bit. Untuk dapat menggunakan pin
Analog Input, digunakan fungsi AnalogRead().
2.2.3 TWI
TWI (Twin Wire Interface) merupakan protokol komunikasi serial antar IC
(Integrated Circuit) dan biasanya disebut dengan I2C (Inter Integrated Circuit). Pin TWI
terdapat pada pin 20 (SDA) dan pin 21 (SCL). Pin tersebut dapat digunakan untuk
komunikasi TWI. Software Arduino memiliki wire library dan SPI library untuk
mempermudah penggunaan fitur komunikasi TWI dan SPI.
2.2.4 SPI [8]
SPI (Serial Peripheral Interface) adalah pengiriman data dari perangkat ke
perangkat lain. SPI dibagi menjadi dua bagian yaitu master dan slave, master sebagai
perangkat yang meninisiasi pengiriman data. Fungsi master dalam aplikasinya digunakan
untuk mengatur pengiriman data dari atau ke beberapa slave sekaligus. Pin yang
digunakan untuk komunikasi data antara master dan slave terdiri dari SCLK, MOSI,
MISO, dan SS. Berikut penjelasan dari pin tersebut :
SCK (Serial Clock) pada pin 52 adalah data biner yang keluar dari master ke slave
yang berfungsi sebagai clock dengan frekuensi tertentu. Clock merupakan
komponen prosedur komunikasi data SPI.
MOSI (Master Output Slave Input) pada pin 51 adalah pin yang berfungsi sebagai
jalur data yang keluaran master dan kemudian data masukkan slave.
MISO (Master Input Slave Output) pada pin 50 adalah pin yang berfungsi untuk
jalur data keluaran dari slave kemudian data masukkan master.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
SS (Slave Select) pada pin 52 adalah pin yang berfungsi untuk mengaktifkan slave,
jadi pengiriman data hanya dapat dilakukan bila keadaan slave aktif.
2.2.3 UART
Arduino Mega 2560 memiliki kemampuan untuk berkomunikasi dengan komputer,
Board Arduino lain dan mikrokontroler lainnya. ATMega 2560 memiliki 4 buah UART
untuk komunikasi serial TTL. Pin 0 dan 1 terhubung langsung dengan IC ATMega16U2
USB to TTL Serial Chip. LED RX dan TX pada Board akan menyala saat ada data yang
dikirim melalui ATMega16U2 dan koneksi ke computer melalui USB.
Berikut ini port serial yang ada pada Arduino Mega 2560 yaitu Port Serial: pin 0
(RX) dan pin 1 (TX); Port Serial 1: pin 19 (RX) dan pin 18 (TX); Port Serial 3: pin 15
(RX) dan pin 14 (TX). Pin RX digunakan untuk menerima data serial TTL dan Pin TX
untuk mengirim data serial TTL.
External Interrupts: pin 2 (interrupt 0), pin 3 (interrupt 1), pin 18 (interrupt 18), pin 19
(interrupt 4), pin 20 (interrupt 3), dan pin 21 (interrupt 2).
2.3. Sensor DHT-22
Gambar 2.8 DHT-22
Sensor DHT-22 (gambar 2.8) adalah sensor suhu dan kelembaban udara. DHT-22
memiliki 3 buah pin, yang terdiri dari pin VCC, DATA dan GND. Untuk membuat
program dengan menggunakan DHT-22, diperlukan library <DHT.h>
Sensor DHT-22 menggunakan sensor kapasitif jenis polymer humidity capasitor
untuk pengukuran kelembaban udara dan sebuah sensor thermistor jenis DS18B20 untuk
pengukuran suhu udara. Sensor DHT-22 memiliki jangkauan kelembaban yang dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
diukur antara 0% - 100% RH dengan tingkat akurasi 2% - 5%. Sensor DHT-22 ini
memiliki jangkauan suhu yang dapat diukur antara -40°C - 125°C dengan tingkat akurasi
±0.5°C
Komunikasi yang antara Mikrokontroler dan DHT-22 adalah Single-bus data dan
membutuhkan waktu 5mS untuk satu kali komunikasi. Data terdiri dari bagian integral
dan desimal, berikut adalah rumusnya:
DATA = 8 bit integral RH data + 8 bit desimal RH data + 8 bit integral data T + 8 bit
desimal data Ta + 8 bit checksum. DHT-22 akan mengirimkan data bit tertinggi lebih
dahulu. Jika data yang ditransmisikan benar check-sum harus pada 8 bit terakhir dari "8
bit integral RH data + 8 bit desimal RH data + 8 bit integral T data + 8 bit desimal T data".
Ketika mikrokontroller mengirim sinyal awal, perubahan DHT-22 dari low-power-
consumption-mode ke running-mode. Ketika mikrokontroller selesai mengirimkan sinyal
awal, DHT-22 akan mengirim sinyal respon 40-bit data yang menunjukkan informasi
kelembaban relatif dan suhu untuk mikrokontroller. Tanpa awal sinyal dari
Mikrokontroller, DHT-22 tidak akan memberikan sinyal respon dari mikrokontroller. Satu
sinyal awal untuk untuk satu kali data respon yang menunjukkan informasi kelembaban
relatif dan suhu dari DHT-22. DHT-22 akan berubah low-power-consumption-mode ketika
selesai mengumpulkan data jika tidak menerima sinyal awal dari Mikrokontroller [9].
Contoh: Mikrokontroller menerima data dari DHT-22 sebanyak 40 bit sebagai
berikut:
0000 0010 1000 1100 0000 0001 0101 1111 1110 1110
16 bit data RH 16 bit data T data checksum
Checksum = 0000 0010 + 1000 1100 + 0000 0001 + 0101 1111 = 1110 1110
RH (Relative Humidity) = (0000 0010 1000 1100) / 10 = 65.2 % RH
RH (Relative Humidity) (dalam desimal) = 652 / 10 = 65.2 % RH
T (Temperature) = (0000 0001 0101 1111) / 10 = 35.1 °C
T (Temperature) (dalam desimal) = 351 / 10 = 35.1 °C [10]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Gambar 2.9 proses komunikasi keseluruhan dari DHT-22 [10]
2.4. Sensor BMP-180[11]
Gambar 2.10 Sensor BMP180
Sensor BMP-180 (gambar 2.10) merupakan sensor pengukur tekanan udara dan
suhu. Sensor BMP 180 merupakan pengembangan dari sensor BMP085. Sensor BMP 180
terdiri dari port SCL, SDA yang dihubungkan langsung ke mikrokontroler melalui port
I2C dan port VIN dan GND sebagai tegangan masukkan sebesar 3,3 Volt. Untuk membuat
program dengan menggunakan BMP-180, diperlukan library <SFE_BMP180 > untuk
dapat berkomunikasi dengan sensor BMP-180. Dalam library tersebut perlu dinyatakan
ketinggian tempat agar sensor dapat bekerja dengan fungsi define ALTITUDE . Selain itu,
agar dapat berkomunikasi dengan mikrokontroler melalui pin I2C diperlukan library
<wire.h>.
Sensor BMP180 menggunakan sensor piezo-resistif, sebuah analog to digital
converter dan Control Unit dengan EEPROM dan I2C serial. Sensor BMP180
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
memberikan nilai tekanan dan suhu. Dalam EEPROM dapat menyimpan 176 bit data
kalibrasi. Ini digunakan untuk mengimbangi offset, suhu yang terikat dan parameter
lainnya pada sensor. 176 bit data kalibrasi EEPROM dibagi menjadi 11 words of masing-
masing 16 bit dan terdiri dari 11 koefisien kalibrasi. Setiap memiliki sensor memiliki
masing-masing koefisien. Sebelum menghitung nilai suhu dan tekanan, terlebih dahulu
master harus membaca data EEPROM. Komunikasi data dapat dilihat dengan mengecek
masing-masing words tidak bernilai 0 atau 0xFFFF.
Tabel 2.1 Tabel register BMP180
Register address BMP180
Parameter MSB LSB
AC1 0xAA 0xAB
AC2 0xAC 0xAD
AC3 0xAE 0xAF
AC4 0xB0 0xB1
AC5 0xB2 0xB3
AC6 0xB4 0xB5
B1 0xB6 0xB7
B2 0xB8 0xB9
MB 0xBA 0xBB
MC 0xBC 0xBD
MD 0xBE 0xBF
Sampling rate dapat ditingkatkan hingga 128 sample per detik untuk pengukuran
yang dinamis. Sampling rate ini cukup untuk mengukur suhu sekali tiap detiknya dan
menggunakan nilai ini untuk semua pengukuran tekanan udara pada periode yang sama.
[11]
Pada gambar 2.11 menunjukkan diagram pembacaan sensor BMP180.
Mikrokontroler mengirim urutan awal untuk memulai pengukuran suhu dan tekanan udara.
Setelah mengkonversi waktu, nilai yang didapat (UP = data tekanan udara (16 - 19 bit)
atau UT = data suhu (16 bit)) dapat dibaca melalui I2C. Agar dapat menghitung suhu (°C)
dan tekanan udara (hPa), harus menggunakan data kalibrasi. Konstanta ini dapat dibaca
dari BMP180 EEPROM melalui I2C saat inialisasi software.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Gambar 2.11 Diagram alir pengukuran pada sensor BMP-180
Dengan tekanan (p) dan tekanan permukaan laut yang sudah terukur (p0 = 1013,25 hPa
= 1013,25 mbar), ketinggian tempat (altitude) dalam satuan meter, dapat dihitung dengan
rumus barometric internasional berikut:
( (
)
)
(2.1)
Hal ini menyebabkan perbedaan setiap Δp = 1hPa sama dengan 8.43 meter dari
permukaan laut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Apabila tekanan (p) dan ketinggian absolut yang sudah terukur, tekanan
permukaan laut (p0) dapat diukur dengan rumus berikut:
(
)
(2.2)
Gambar 2.12 pengaruh ketinggian tempat dengan tekanan barometric
2.5. GUVA-S12SD UV Sensor
Gambar 2.13 Sensor UV GUVA-S12SD [12]
Sensor UV GUVA-S12SD seperti pada gambar 2.13, digunakan untuk untuk
mendeteksi radiasi UV dalam sinar matahari. Sensor ini memiliki fitur mendeteksi
spectrum cahaya antara 240-370 nm (jangkauan spektrum UV-A UV-B). Sensor UV
menggunakan photodioda Schottky-type p-n junction dengan bahan Galium Nitrida (GaN)
yang beroperasi pada mode photovoltaic [13][14].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Prinsip kerja photovoltaic mirip seperti solar cell, dimana mengubah energi cahaya
matahari menjadi arus listrik. Ketika photon dari cahaya matahari mengenai photodioda,
maka akan menghasilkan tegangan keluaran [15]. Tegangan keluaran dari sensor sebesar 0
hingga 1 volt, kemudian diolah dalam mikrokontroller dengan rumus ADC berikut:
( ) ( (
) )
(2.3)
Setelah diolah didalam mikrokontroller menggunakan rumus 2.3, kemudian
diketahui nilai tegangan keluaran sensor. Tegangan keluaran tersebut kemudian
dikelompokkan kedalam masing-masing indeks UV sesuai pada gambar 3.14. Setelah
dikelompokkan, lalu data indeks UV tersebut ditampilkan.
Gambar 2.14 Perbandingan antara tegangan keluaran sensor dan standar indeks UV [16]
Spesifikasi:
Tegangan Input: 5V
Tegangan Output: DC 0-1V
Working current:0.06mA (0.1mA max)
UV wavelength: 200-370nm
Tingkat akurasi: ±1UV INDEX
Waktu Respon: <0.5s
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
2.6. WiFi Modul ESP 8266[17]
Modul ESP8266 pada gambar 2.15 merupakan SoC (System on Chip) dengan
protokol TCP/IP stack yang telah terintegrasi, yang memberi akses pada mikrokontroler
ke jaringan Wi-Fi. Modul WiFi Esp8266 dapat berfungsi sebagai host sebuah aplikasi
maupun sebagai modul transfer data dalam jaringan Wi-Fi. Tiap modul ESP8266 dapat
terprogram dengan menggunakan AT command.
Modul ini memiliki kemampuan pengolahan dan penyimpanan data secara onboard
dan memungkinkan untuk dihubungkan dengan sensor dan perangkat khusus lainnya
melalui pin GPIO. Modul ESP8266 juga mendukung APSD untuk aplikasi VoIP dan
Bluetooth co-existance,yang terdapat RF yang terkalibrasi yang dapat berkerja dalam
berbagai kondisi dan tidak perlu menambahkan perangkat RF eksternal.
Modul ESP8266 tidak disertai dengan 5 – 3V logic shifter dan memerlukan Logic
Level Coverter tambahan. Modul ini diberi tegangan catu maksimal sebesar 3,3V agar
dapat bekerja.
Gambar 2.15 Modul ESP 8266 [18]
Berikut ini spesifikasi dari modul ESP8266
802.11 b/ g/ n
WiFi Direct (P2P/Point to Point), Soft AP (Software enabled Access Point)
Protokol TCP/IP stack
1 MB Flash Memory
TR switch, balun, LNA, Power Amplifier dan matching jaringan
Rangkaian PLL, pengatur tegangan, DCXO dan unit pengatur daya
Daya keluaran +19,5 dBm pada mode 802.11b
Low power CPU mikro 32 bit terpadu yang dapat digunakan sebagai processor
aplikasi
SDIO 1.1 / 2.0, SPI, UART
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
2.7. Penakar Curah Hujan Tipping Bucket
Gambar 2.16 Tipping Bucket
A. Wadah Penampung A
B. Wadah Penampung B
C. Magnet
D. Sensor
Air hujan yang tertampung corong akan masuk ke dalam pipa dan masuk ke wadah
penampung A. Setelah wadah A terisi penuh maka wadah A akan menjadi berat dan turun.
Saat mencapai kapasitas maksimumnya air dari wadah A tumpah, lalu aliran air hujan
akan tertampung ke wadah penampung B hingga penuh dan membuat wadah B menjadi
berat dan turun. Saat mencapai kapasitas maksimumnya air dari wadah B tumpah lalu air
dari corong akan kembali lagi mengisi pada wadah A dan begitu seterusnya sehingga air
yang tertampung pada corong habis. Pengisian untuk masing-masing wadah penampung
ini harus memiliki jumlah air yang sama, agar hujan dapat dihitung dengan presisi. [2]
Gerakan Tipping bucket ini, dapat digunakan untuk mengukur jumlah curah hujan.
Sensor yang terhubung sementara setiap kali wadah penampung melakukan pengisian
dijadikan satu clock pulsa. Setiap terjadi satu clock pulsa lalu dikalikan dengan 0,2mm
atau 0,5mm atau 1mm untuk mendapatkan jumlah curah hujannya dengan satuan mm
(millimeter) [19]. Gerakan Tipping bucket tersebut dapat dideteksi dan dihitung dengan
sebuah sensor. Prinsip kerja sensor hanya sebuah reedswitch yang berperan sebagai
counter untuk menghitung jumlah gerakan Tipping bucket.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Tabel 2.1 pengujian alat pngukur curah hujan
Kondisi wadah penampung
mm/m2 A B
0,2 Kosong Terisi air
0,4 Kosong Terisi air
0,6 Kosong Terisi air
0,8 Kosong Terisi air
1,0 Kosong - Terisi air Terisi air - Kosong
1,2 Terisi air Kosong
1,4 Terisi air Kosong
1,6 Terisi air Kosong
1,8 Terisi air Kosong
2,0 Terisi air - Kosong Kosong - Terisi air
Berdasarkan hasil tabel 2.1 yang merupakan pengujian pada penelitian sebelumnya,
untuk kenaikan jumlah 0,2 - 0,8 mm, wadah penampung B akan terisi air dan naik.
Kemudian dengan penambahan air sebanyak 0,2 mm, wadah penampung B yang telah
terisi air sebanyak 0,8 mm akan turun dan wadah penampung A yang kosong akan terisi
air. Pada saat penambahan air telah mencapai 2 mm, wadah penampung A yang terisi air
akan menjadi kosong. Sedangkan wadah penampung B yang kosong akan kembali terisi
air. Hal membuktikan bahwa wadah penampung akan turun, jika telah mencapai 1 mm. [2]
2.8. RTC (Real Time Clock) DS1307
Gambar 2.17 Modul RTC DS1307[20]
RTC DS1307 merupakan modul real time clock kalender/jam full binary code
decimal (BCD) yang dilengkapi dengan RAM sebesar 56 byte. DS1307 dilengkapi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
rangkaian power sense yang dapat mendeteksi kesalahan daya dan menggantinya dengan
menggunakan sumber tegangan cadangan yang berupa baterai secara otomatis. Informasi
yang bisa diambil dari RTC terdiri dari kalender (tahun, bulan, tanggal, hari) dan jam
(detik, menit, jam). Jam dapat dioperasikan dalam bentuk 24 jam atau dengan mode
AM/PM (12 jam) [21].
Gambar 2.18 Konfigurasi Pin RTC DS1307
Keterangan Pin:
Pin X1 dan pin X2: dihubungkan ke Quartz Crystal 32.768 kHz.
VBAT: dihubungkan ke sumber tegangan cadangan berupa baterai lithium cell
sebesar 3V.
GND: dihubungkan ke ground sumber tegangan.
VCC: dihubungkan sumber daya 5V.
SQW/OUT: Driver keluaran Gelombang kotak.
SCL (Serial Clock Input): SCL input clock yang untuk komunikasi I2C yang
digunakan untuk sikronisasi data pada komunikasi serial.
SDA (Serial Data Input/Output): SDA merupakan I/O yang digunakan komunikasi
I2C
2.9. LCD Standard 20X4[23][24]
Gambar 2.19 LCD Standard 20X4 [22]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Kemampuan menampilkan maksimal 20 karakter, 4 baris
Teks putih dengan lampu latar belakang LED biru
Port koneksi satu baris dengan jarak 0.1 inchi, untuk koneksi ke mikrokontroller.
Dapat dikontrol sepenuhnya dengan 6 jalur digital untuk operasi 4-bit (E, RS, R/W
DB4, DB5, DB6, DB7)
Karakter tambahan yang mendukung teks bahasa Inggris / Jepang.
Pin V0 yang dihubungkan dengan potensiometer untuk pengaturan kontras
karakter
Gambar 2.20 Koneksi LCD ke mikrokontroller
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
BAB III
RANCANGAN PENELITIAN
3.1. Proses Kerja Sistem
Gambar 3.1 Diagram blok Perancangan
Perancangan alat ini terdiri dari beberapa bagian utama, yaitu Arduino Mega 2560,
sensor suhu dan kelembaban, sensor tekanan udara, sensor UV, sensor curah hujan, Real
Time Clock, modul wifi, power supply dan penerima (lihat Gambar 3.1).
Blok Sensor suhu dan kelembaban: sensor yang digunakan adalah sensor DHT-22.
Sensor ini mengirimkan data 40 bit yang berisi informasi suhu dan kelembaban ke
mikrokontroler.
Blok Sensor tekanan udara: sensor yang digunakan adalah sensor BMP-180.
mengirimkan informasi suhu, ketinggian tempat, dan tekanan udara ke
mikrontroler melalui pin I2C.
Blok Sensor UV: sensor yang digunakan adalah sensor GUVA-S12SD. Sensor ini
berkerja dengan mengubah energi cahaya menjadi tegangan listrik. Tegangan
listrik tersebut mengirimkan informasi tentang indeks UV ke mikrokontroler.
Blok Sensor curah hujan: menggunakan push-button yang difungsikan sebagai
counter untuk menghitung jumlah tip hujan. Setiap tip hujan bernilai 1mm yang
kemudian dihitung untuk mengetahui jumlah curah hujan. Informasi tentang
jumlah curah hujan kemudian dikirimkan ke mikrokontroler
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Blok Real Time Clock: menggunakan modul RTC DS1307 sebagai sumber waktu.
Waktu yang diberikan berupa detik, menit, jam dan untuk penanggalan berupa
hari, tanggal, bulan dan tahun yang kemudian dikirimkan ke mikrokontroller.
Blok Arduino Mega 2560: menggunakan Arduino Mega 2560 berfungsi untuk
mengatur dan memproses input dari sensor suhu dan kelembaban, sensor tekanan
udara, sensor UV, sensor curah hujan, dan data waktu dari Real Time Clock.
Blok modul wifi: menggunakan modul ESP8266 untuk media transmisi dari
mikrokontroller ke penerima.
Blok wifi router: sebuah router wifi yang terhubung ke modul wifi agar dapat
bekerja mengirimkan data.
Gambar 3.2 Rancangan sistem keseluruhan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
3.2. Perancangan Perangkat Keras
3.2.1. Perancangan Sensor BMP180
Sensor tekanan udara yang digunakan adalah sensor BMP-180 dan merupakan versi
pengembangan dari sensor BMP085. Sensor ini didesain untuk terkoneksi langsung ke
mikrokontroler melalui port I2C dan menghasilkan output berupa tekanan dan suhu.
Berdasarkan datasheet, sensor ini membutuhkan tegangan 3.3V. Pin SDA dihubungkan ke
pin SDA dan pin SCL dihubungkan ke pin SCL Arduino seperti Gambar 3.2
Gambar 3.3 Koneksi sensor BMP180
3.2.2. Perancangan Sensor DHT-22
Pada perancangan alat pengukur suhu dan kelembaban ini, sensor yang digunakan
adalah modul yang sudah biasa digunakan sebagai pengukur suhu dan kelembaban seri
DHT-XX berupa modul DHT-22. Pin VCC dihubungkan ke sumber tegangan 5V, PIN
OUT dihubungkan ke pin digital 12 Arduino dan pin GND dihubungkan ke pin GND
Arduino.
Gambar 3.4 Koneksi sensor DHT-22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
3.2.3. Perancangan Sensor GUVA-S12SD
Perancangan sistem alat pengukur index UV, menggunakan modul yang nilai
keluaran berupa analog dan digunakan sebagai pengukur index UV berupa modul GUVA-
S12SD. Pin AOUT Data dihubungkan ke pin analog A3 Arduino dan pin VCC dan pin
GND dihubungkan ke pin sumber tegangan 5V dan GND Arduino.
Gambar 3.6 Koneksi sensor GUVA-S12SD
3.2.4. Perancangan Rangkaian Sensor Tipping Bucket
Pada perancangan sensor curah hujan digunakan alat pengukur curah hujan jenis
Tipping Bucket seperti gambar 3.7. Ukuran tipping bucket yang digunakan pada tugas
akhir ini adalah 1 mm. jadi tiap tick yang dihasilkan mewakili 1 mm. Tipping bucket ini
menggunakan prinsip kerja seperti pushbutton sebagai sensornya. Keluaran sensor
dihubungkan dengan salah satu pin pada Arduino yang kemudian akan di-interrupt jika
terjadi perubahan logika. Perancangan sensor tipping bucket ini dialokasikan pada pin
digital Arduino yaitu pada pin 11.
Gambar 3.7 Koneksi sensor Rain Gauge
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Gambar 3.8 Rancangan alat pengukur curah hujan
3.2.5. Perancangan Modul Wifi
Pada perancangan Modul Wifi Access Point digunakan Modul Wifi jenis ESP8266.
Modul ini membutuhkan tegangan 3.3V dan digunakan untuk mengirimkan data ke
komputer dengan menggunakan IP Address yang diakses melalui Browser. Pin TX
dihubungkan pada pin digital Arduino yaitu pada pin 0 dan pin RX dihubungkan pada pin
digital Arduino yaitu pada pin 1. Untuk koneksi ke mikrokontroller dapat dilihat pada
gambar 3.9
Gambar 3.9 Koneksi modul ESP8266
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
3.2.6. Perancangan Modul RTC DS1307
Modul RTC DS1307 digunakan untuk memberi informasi waktu dan tanggal. Modul
ini dirancang untuk terkoneksi langsung ke mikrokontroller melalui pin I2C. Modul ini
membutuhkan tegangan 5V dan 3V untuk cadangan agar fungsi waktu dapat terus
berjalan. Pin SDA dihubungkan ke pin SDA dan pin SCL dihubungkan ke pin SCL
Arduino seperti Gambar 3.10
Gambar 3.10 Koneksi modul RTC DS1307
3.2.7. Perancangan LCD 20x4
Gambar 3.15 merupakan koneksi LCD 20x4 yang digunakan untuk menampilkan
data waktu (tanggal, bulan, tahun, jam, menit, detik) nilai suhu dalam derajat Celcius
(°C), nilai kelembaban dalam persen (%),nilai tekanan udara dalam milibar (mb), nilai
indeks UV dan nilai curah Hujan dalam derajat millimeter (mm).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Gambar 3.11 Koneksi LCD20x4
3.2.8. Perancangan PCB Shield Arduino
Pada perancangan PCB Shield Arduino digunakan untuk menempatkan sensor
pengukur suhu dan kelembaban, dan pengukur tekanan udara. Sensor-sensor tersebut perlu
ditempatkan dalam suatu tempat yang teduh untuk pengukurannya.
3.3. Perancangan Perangkat Lunak
3.3.1. Diagram alir utama
Untuk perancangan diagram alir utama dapat dilihat pada gambar 3.10. Perancangan
perangkat lunak mikrokontroler diawali dengan proses inisialisasi, seperti menentukkan
library yang akan digunakan agar sensor dapat bekerja, menentukkan pin Arduino yang
akan digunakan untuk sensor, dan menentukkan konstanta yang akan digunakan.
Kemudian, mulai pembacaan sensor yang pertama yaitu sensor DHT-22. Sensor ini
menghasilkan nilai suhu dan kelembaban udara. Untuk lebih jelasnya, dapat dilihat pada
bagian Subrutin Sensor DHT-22. Lalu, mulai pembacaan sensor BMP-180. Sensor ini
perlu inisialisasi khusus untuk dapat bekerja, untuk lebih jelasnya, lihat pada Subrutin
Sensor BMP-180. Setelah memperoleh nilai tekanan udara dilanjutkan dengan perhitungan
nilai indeks UV dengan sensor GUVA-S12SD. Sensor ini perlu inisialisasi untuk dapat
bekerja dan membutuhkan analog to digital converter, untuk lebih jelasnya, lihat pada
subrutin sensor GUVA-S12SD.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 3.12 diagram alir utama
3.3.2. Subrutin Sensor DHT-22
Pada program ini dapat dilihat pada gambar 3.13 yang mulai dengan proses
inisialisasi. Untuk dapat menggunakan sensor DHT-22 dibutuhkan library “”Dht.h””.
Inisialisasi yang berikutnya menentukkan pin digital yang akan digunakan, dalam hal ini
menggunakan pin digital 12, dapat dituliskan seperti berikut: “#DHTPIN 12” .
Inisialisasi selanjutnya dengan menentukkan jenis DHT yang akan digunakan, dalam hal
ini menggunakan DHT-22 sehingga dituliskan seperti berikut:” #define DHTTYPE
DHT22” dan diakhiri dengan “DHT dht(DHTPIN, DHTTYPE);”.
Seteleh proses inisialisasi selesai, dapat dimulai tahap berikutnya yaitu pembacaan
sensor. Apabila koneksi sensor gagal maka sensor akan berhenti bekerja, apabila koneksi
sensor berhasil maka dilanjutkan dengan menentukkan variabel. Variabel yang akan
dihitung adalah suhu dan kelembaban, sehingga perlu dideklarasikan seperti berikut: “float
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
h = dht.readHumidity();” untuk pembacaan suhu dan “float t = dht.readTemperature();”
untuk pembacaan kelembaban. Setelah semua variabel terbaca, kemudian tampilkan
semua variabel tersebut.
Gambar 3.13 diagram Subrutin DHT-22
3.3.3. Subrutin Sensor BMP-180
Pada program ini dapat dilihat pada gambar 3.14 yang mulai dengan proses
inisialisasi. Untuk dapat menggunakan sensor BMP-180 dibutuhkan library “#include
<SFE_BMP180.h>” dan pin yang digunakan merupakan pin TWI (Twin Wire Interface)
yang terdiri dari pin SDA dan SCL. Untuk dapat menggunakan pin tersebut dibutuhkan
library “#include <Wire.h>”. Inisialisasi yang berikutnya memberikan objek dari sensor
dengan cara ” SFE_BMP180 pressure;”. Inisialisasi berikutnya dengan menentukkan
ketinggian tempat agar sensor dapat digunakan, dalam hal ini daerah Banguntapan, Bantul
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
memiliki ketinggian 90 meter dari permukaan laut, sehingga dapat dituliskan seperti
berikut: “#define ALTITUDE 90”
.
Gambar 3.14 diagram Subrutin BMP-180
Seteleh proses inisialisasi selesai, dapat dimulai tahap berikutnya yaitu pembacaan
sensor. Apabila koneksi sensor gagal maka sensor akan berhenti bekerja, apabila koneksi
sensor berhasil maka dilanjutkan dengan proses membaca suhu. Apabila tidak
memperoleh nilai suhu maka sensor akan berhenti bekerja. Setelah memperoleh nilai
suhu, dilanjutkan dengan menghitung nilai tekanan udara absolut. Apabila sensor tidak
memperoleh nilai tekanan udara absolut maka sensor akan berhenti bekerja.Setelah
memperoleh nilai tekanan udara absolut, dilanjutkan dengan menghitung nilai tekanan
udara pada ketinggian tempat. Ketinggian tempat harus terlebih dahulu dideklarasikan
pada tahap inisialisasi. Apabila sensor tidak memperoleh nilai tekanan udara pada
ketinggian tempat maka sensor berhenti bekerja. Apabila semua hasil sudah diperoleh
maka hasil pengukuran tersebut ditampilkan.
3.3.4. Subrutin Sensor GUVA-S12SD
Pada program ini dapat dilihat pada gambar 3.15 yang mulai dengan proses
inisialisasi. Sensor ini menggunakan sistem analog sehingga keluaran sensor ini
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
dihubungkan ke masukkan analog dalam hal ini pin A0. Dalam perhitungannya
dibutuhkan sebuah converter untuk mengubah sinyal analog menjadi sinyal berupa
sinyal tegangan dari 0 mV hingga 1170 mV. Setelah memperoleh tegangan, lalu diubah
menjadi indeks UV seperti pada gambar 2.14 .
Seteleh proses inisialisasi selesai, dapat dimulai tahap berikutnya yaitu pembacaan
sensor. Pada saat pembacaan sensor, untuk mengubah sinyal analog menjadi indeks UV
dapat menggunakan rumus 2.1. Setelah sinyal tersebut dikonversikan lalu dikelompokan
pada indeks UV masing-masing. Setelah dikelompokkan data tersebut ditampilkan.
Gambar 3.15 Subrutin GUVA-S12SD
3.3.5. Perancangan Penampil
Gambar 3.16 merupakan bentuk tampilan didalam web browser yang akan disajikan
untuk computer menampilkan nilai suhu dalam derajat Celcius (°C), nilai kelembaban
dalam persen (%),nilai tekanan udara dalam milibar (mb), nilai indeks UV dan nilai curah
Hujan dalam derajat millimeter (mm). Halaman web browser yang akan dirancang agar
mempunyai waktu muat ulang halaman (refresh page) dalam waktu 5 detik secara
otomatis. Sehingga data akan diperbarui dalam waktu 5 detik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Gambar 3.16 Rancangan Penampil Halaman Web
3.4. Perhitungan Error
Perhitungan nilai error digunakan untuk menyimpulkan hasil dari percobaan
pengukuran suhu yang akan dilakukan. Nilai keluaran sensor kemudian dibandingkan
dengan nilai dari alat ukur untuk mengetahui selisih nilainya. Nilai selisih tersebut
digunakan untuk menghitung jumlah error yang terjadi. Rumus nilai persentase error
adalah :
( ) ( )
(3.1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
BAB IV
PEMBAHASAN
Bab ini menjelaskan tentang implementasi perancangan Stasiun Cuaca Mini
Berbasis Arduino Mega 2560 dan Tampilan Web penelitian dan hasil uji coba alat beserta
pembahasannya untuk mengetahui kesesuaian antara perancangan dengan penelitian.
4.1. Implementasi Alat
Implementasi Stasiun Cuaca Mini Berbasis Arduino Mega 2560 dan Tampilan
Web yang dirancang pada BAB III mengalami kegagalan. Proses pengiriman data sensor
ke jaringan tidak sesuai dengan yang diharapkan, sehingga pada implementasi yang
pertama tidak bisa dilakukan.
Program yang diimplementasikan berdasarkan perancangan diagram alir program
BAB III tidak bisa melakukan pengiriman data sensor melalui modul ESP8266-01
menggunakan Arduino Mega 2560. Hal ini disebabkan keterbatasan komunikasi antara
Arduino Mega 2560 dengan ESP8266-01. Komunikasi melalui AT Command dengan
menggunakan Arduino Mega mengalami kegagalan.
Gambar 4.1 Respon AT Command menggunakan Arduino Mega
Ada beberapa perubahan antara perancangan dan implementasi perangkat keras
elektronika. Pada rangkaian perangkat keras elektronika board Arduino Mega digunakan
untuk melakukan proses pengiriman data sensor langsung ke LCD 20x4. Selain itu, pada
implementasi alat dengan menambahkan modul Wemos D1, yang berfungsi untuk
pengiriman data sensor ke web browser.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Wemos D1 merupakan modul ESP8266EX yang kompatibel dengan Arduino IDE.
Modul Wemos D1 memiliki 11 input digital, 1 analog input, dan beroperasi pada tegangan
3,3V. Modul Wemos D1 menggunakan CH340 USB to Serial yang memiliki kemampuan
untuk dihubungkan langsung dari komputer untuk diprogram langsung menggunakan
sofware Arduino IDE dengan kabel micro-USB seperti memprogram pada board Arduino
pada umumnya [25].
Gambar 4.2 Rangkaian keseluruhan Stasisun Cuaca Mini Berbasis Arduino Mega 2560 dan
Tampilan Web
4.2. Pengujian Awal Perangkat
4.2.1. Pengujian Sensor DHT-22
Sensor DHT-22 memiliki dua nilai keluaran yaitu suhu dan kelembaban. Pengujian
sensor DHT-22 dilakukan dengan pengamatan secara langsung. Waktu pemangatan yang
digunakan adalah saat matahari terbit (pukul 05:30) hingga matahari terbenam (pukul
17:30) dengan rentang pengamatan setiap 30 menit. Hasil pengukuran suhu dengan satuan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
derajat Celsius (°C) dan kelembaban dengan satuan persen Relative Humidity (%RH).
Nilai keluaran dari sensor DHT-22 dibandingkan hasil pengukuran dari thermometer-
hygrometer digital. Dari hasil perbandingan tersebut akan dilakukan perhitungan tingkat
kesalahan (error) alat ini.
Gambar 4.3 Grafik perbandingan pengukuran suhu
Tabel untuk grafik 4.3 dapat dilihat pada lampiran L1-1. Hasil pada gambar 4.3
pukul 5:30 hingga 12:30 menunjukkan bahwa terjadi kenaikanan nilai suhu. Pada saat
pengukuran, terjadi perbedaan hasil pada nilai keluaran sensor dan keluaran dari alat
digital thermometer-hygrometer yang cukup kecil, sehingga menyebabkan error yang
kecil. Kenaikan suhu tersebut merupakan pengaruh dari cuaca sekitarnya. Kenaikan suhu
tersebut diikuti dengan cuaca menjadi cerah.
Pada gambar 4.3 pukul 13:00 hingga 17:30 menunjukkan bahwa terjadi penurunan
nilai suhu. Pada saat pengukuran, terjadi perbedaan hasil pada nilai keluaran sensor dan
keluaran dari alat digital thermometer-hygrometer yang cukup kecil, sehingga
menyebabkan error yang kecil. Penurunan tersebut merupakan pengaruh dari cuaca
sekitarnya. Penurunan suhu tersebut akibat cuaca menjadi mendung.
Pada hasil pengujian ini diketahui bahwa sensor DHT-22 sudah dapat membaca
suhu dengan presisi. Waktu untuk sampling data sedikit lambat (sekitar 2 detik), apabila
dalam proses sampling terganggu, maka data tidak akan muncul atau nan (not a number),
0
5
10
15
20
25
30
35
40
45
5:3
0
6:0
0
6:3
0
7:0
0
7:3
0
8:0
0
8:3
0
9:0
0
9:3
0
10
:00
10
:30
11
:00
11
:30
12
:00
12
:30
13
:00
13
:30
14
:00
14
:30
15
:00
15
:30
16
:00
16
:30
17
:00
17
:30
Perbandingan Suhu
Sensor Alat Ukur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
sehingga membutuhkan lebih banyak waktu pengambilan data. Tiap nilai keluaran sensor
menghasilkan rerata error yang cukup kecil.
Gambar 4.4 Grafik perbandingan pengukuran kelembaban
Tabel untuk grafik 4.4 dapat dilihat pada lampiran L1-2. Hasil pada pengujian 4.4
menunjukkan bahwa pukul 05:30 hingga 06:30 menunjukkan bahwa terjadi kenaikanan
nilai kelembaban. Kenaikan kelembaban tidak diikuti dengan nilai kelembaban pada alat
digital thermometer-hygrometer sehingga menghasilkan error yang besar. Pada saat
pengukuran 07:00 hingga pukul 12:30, terjadi penurununan nilai kelembaban. Perbedaan
hasil pada nilai keluaran sensor dan keluaran dari alat digital thermometer-hygrometer
yang cukup kecil, sehingga menyebabkan error yang kecil. Penurunan nilai kelembaban
tersebut diikuti dengan cuaca menjadi cerah.
Pada pengujian 4.4 menunjukkan bahwa pukul 13:00 hingga 15:30 menunjukkan
bahwa terjadi kenaikanan nilai kelembaban hingga yang paling tinggi. Kenaikan
kelembaban tersebut diikuti mulai terjadi mendung dan pada pukul 15:00 terjadi hujan.
Jika dibanding dengan nilai kelembaban pada alat digital thermometer-hygrometer , akan
menghasilkan error yang semakin mengecil. Pada saat pengukuran 15:30 hingga pukul
16:30, terjadi penurununan nilai kelembaban. Penurunan kelembaban tersebut diikuti
dengan berhentinya hujan namun cuaca tetap berawan. Perbedaan hasil pada nilai keluaran
sensor dan keluaran dari alat digital thermometer-hygrometer yang cukup kecil, sehingga
menyebabkan error yang kecil.
0
20
40
60
80
100
120
5:30 6:30 7:30 8:30 9:30 10:3011:3012:3013:3014:3015:3016:3017:30
Perbandingan Kelembaban
Sensor Alat Ukur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Hasil pada pengujian 4.3 menunjukkan bahwa saat terjadi pengukuran suhu yang
lambat dan terjadi perbedaan hasil pada nilai keluaran sensor dan keluaran dari alat digital
thermometer-hygrometer yang cukup kecil. Tiap nilai keluaran sensor menghasilkan rerata
error yang cukup kecil saat terjadi penurunan suhu.
Hasil gambar 4.4 juga menunjukkan bahwa saat terjadi penurunan nilai kelembaban
yang lambat dan terjadi perbedaan hasil pada nilai keluaran sensor dan keluaran dari alat
digital thermometer-hygrometer yang cukup kecil, sehingga menyebabkan error yang
kecil. Pada hasil pengujian 4.4 ini diketahui bahwa sensor DHT-22 sudah dapat membaca
kelembaban dengan presisi. Tiap nilai keluaran sensor menghasilkan rerata error yang
cukup kecil saat terjadi penurunan kelembaban.
Dari hasil pada gambar 4.3 dan gambar 4.4 menunjukkan bahwa sensor suhu dan
kelembaban DHT-22 sudah dapat menghasilkan nilai suhu dan kelembaban dengan cukup
akurat. Untuk diketahui, sensor DHT-22 ini akan berkerja dengan baik apabila digunakan
untuk pengukuran suhu udara yang tinggi dan kelembaban udara yang rendah, terutama
saat siang hari.
4.2.2. Pengujian Sensor BMP-180
Sensor BMP-180 memiliki nilai keluaran yaitu suhu (T), tekanan udara absolut (P),
tekanan udara relatif atau sea-level pressure (p0). Agar Sensor BMP-180 dapat
berkomunikasi dengan mikrokontroler, maka membutuhtuh komunikasi I2C dengan
menggunakan library Wire.h. Sensor ini juga membutukan catu daya sebesar 3,3 volt.
Apabila catu daya melebihi 4,2 volt maka sensor akan rusak. Pengujian sensor BMP-180
dilakukan dengan pengamatan secara langsung.
Untuk memperoleh informasi tekanan udara, dimulai dengan menentukkan
ketinggian tempat agar sensor dapat digunakan, dalam hal ini daerah Banguntapan, Bantul
memiliki ketinggian 90 meter dari permukaan laut, sehingga dapat dituliskan seperti
berikut: “#define ALTITUDE 90”. Waktu pemangatan yang digunakan adalah saat
matahari terbit (pukul 05:30) hingga matahari terbenam (pukul 17:30) dengan rentang
pengamatan setiap 30 menit. Pengamatan yang dilakukan hanya dibatasi untuk
memperoleh nilai tekanan udara relatif (p0).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Gambar 4.5 Grafik pengukuran tekanan udara
Tabel untuk grafik 4.5 dapat dilihat pada lampiran L1-3. Hasil pengujian 4.5 juga
menunjukkan bahwa terjadi peningkatan nilai tekanan udara pada pukul 05:30 hingga
08:00. Peningkatan tekanan ini diakibatkan akibat pengaruh kenaikan suhu, dan diikuti
cuaca mulai cerah. Pukul 13:00 hingga 15:00 terjadi penurunan tekanan. Penurunan ini
diikuti dengan penurunan suhu yang terukur pada gambar 4.1, dan cuaca mulai berawan
hingga hujan terjadi pukul 15:00. Pada saat cuaca mulai cerah pada pukul 15:30, tekanan
udara mulai kembali naik diiukuti dengan kenaikan suhu.
Dari hasil pada tabel pengujian 4.5 menunjukkan bahwa sensor sudah dapat
menghasilkan nilai tekanan udara. Untuk diketahui, sensor BMP-180 ini akan
menghasilkan tekanan udara yang rendah saat digunakan pengukuran suhu udara yang
tinggi dan kelembaban udara yang rendah, terutama saat hari sedang cerah. Pada saat
terjadi penurunan suhu dan naiknya kelembaban udara, dan hari sedang hujan, hal ini
membuat pengaruh pada sensor BMP-180 karena akan menghasilkan tekanan udara yang
rendah.
4.2.3. Pengujian Sensor UV
Berikut ini adalah tabel hasil pengujian sensor UV. Sensor UV yang digunakan
adalah GUVA S12SD. Sensor UV GUVA S12SD digunakan untuk mengukur indeks UV
pada pacaran sinar matahari. Nilai keluaran sensor berupa tegangan dalam satuan millivolt
(mV) yang dikonversikan ke indeks UV. Waktu pemangatan yang digunakan adalah saat
1007
1008
1009
1010
1011
1012
1013
1014
5:3
0
6:0
0
6:3
0
7:0
0
7:3
0
8:0
0
8:3
0
9:0
0
9:3
0
10
:00
10
:30
11
:00
11
:30
12
:00
12
:30
13
:00
13
:30
14
:00
14
:30
15
:00
15
:30
16
:00
16
:30
17
:00
17
:30
Pengukuran Tekanan
Sensor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
matahari terbit (pukul 05:30) hingga matahari terbenam (pukul 17:30) dengan rentang
pengamatan setiap 30 menit. Tegangan keluaran dari sensor kemudian dibandingkan
dengan tegangan yang terukur pada multimeter digital. Dari hasil perbandingan tersebut
akan dilakukan perhitungan tingkat kesalahan (error) alat ini.
Gambar 4.6 Grafik pengukuran indeks UV
Tabel untuk grafik 4.6 dapat dilihat pada lampiran L1-6. Gambar 4.6 merupakan
hasil pengukuran sensor UV dengan keluaran berupa tegangan dalam satuan millivolt
(mV). Tegangan keluaran tersebut kemudian dikelompokkan sesuai pada gambar 3.14
untuk menentukkan indeks UV. Pada pukul 05:30 hingga 11.30 terjadi peningkatan
intensitas sinar matahari yang diikuti dengan peningkatan tegangan dan indeks UV. Pukul
10:00 dan 11:00 terjadi penurunan intesitas cahaya akibat dari tertutupnya cahaya matahari
oleh awan yang mengakibatkan penurunan tegangan dan indeks UV.
Pada pukul 13:00 hingga 17:00 terjadi penurunan intensitas sinar matahari yang
diikuti dengan penurunan tegangan dan indeks UV. Penurunan intesitas cahaya akibat dari
tertutupnya cahaya matahari oleh awan mendung yang mengakibatkan penurunan
tegangan dan indeks UV. Pukul 15:00 terjadi penurunan intensitas cahaya matahari yang
paling rendah akibat dari terjadinya awan mendung yang tebal dan hujan gerimis yang
mengakibatkan penurunan tegangan dan indeks UV. Pukul 16:00 terjadi peningkatan
intensitas cahaya matahari dan berkurangnya kumpulan awan sehingga terjadi peningkatan
tegangan dan indeks UV.
0100200300400500600700800900
1000
5:3
0
6:0
0
6:3
0
7:0
0
7:3
0
8:0
0
8:3
0
9:0
0
9:3
0
10
:00
10
:30
11
:00
11
:30
12
:00
12
:30
13
:00
13
:30
14
:00
14
:30
15
:00
15
:30
16
:00
16
:30
17
:00
17
:30
Perbandingan Index UV
Sensor Alat Ukur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Hasil pada pengujian sensor UV menunjukkan bahwa sensor UV sudah dapat
bekerja dengan baik, terbukti dengan kemampuan sensor dalam merespon adanya cahaya
matahari. Pada saat pengamatan terjadi perbedaan hasil pengukuran pada sensor.
Tegangan keluaran sensor dan keluaran dari alat multimeter digital memiliki selisih nilai
yang cukup besar, sehingga menyebabkan error yang besar.
4.2.4. Pengujian Sensor Curah Hujan
Berikut ini adalah tabel hasil pengujian sensor curah hujan. Sensor yang digunakan
adalah reedswitch. Untuk dapat mengaktifkan reedswitch, pada tiping bucket dipasang
magnet, untuk dapat menghitung jumlah tiap curah hujan. Karena saat alat ingin diuji tidak
sedang ada hujan, maka alat diuji dengan menuangkan air dengan volum tertentu untuk
mengetahui apakah pengukur curah hujan dapat bekerja dengan baik atau tidak.
Tabel 4.1 Sampel pengujian sensor curah hujan
Waktu Jumlah air Jumlah tip
16:20 550 ml 31
16:30 1100 ml 63
Hasil percobaan sudah sesuai dengan teori pada penakar hujan jenis tipping bucket.
Pada hasil diatas terbukti bahwa sensor reedswitch dapat mendeteksi gerakan tipping
bucket untuk menghitung jumlah curah hujan. Pada saat tipping bucket berhenti bergerak,
masih ada air yang tersisa pada tipping bucket. Sisa air yang tertinggal tersebut akan
terhitung kembali saat hujan berikutnya turun.
4.2.5. Pengujian Jaringan
Berikut ini adalah hasil pengujian sistem melalui transmisi data. Modul yang
digunakan adalah Wemos D1. Untuk dapat menerima data, terlebih dahulu modul Wemos
D1 harus terhubung dengan sebuah wifi router. Pada percobaan ini, modul Wemos D1
terhubung dengan ponsel “Samsung Galaxy V Plus” yang disetel sebagai wifi router.
Untuk dapat melihat hasil pengukuran, terlebih dahulu penerima menghubungkan
perangkat berupa laptop atau komputer ke ponsel yang disetel sebagai wifi router. Untuk
mengetahui alamat IP, dapat dilihat dari respon AT command atau melalui pengaturan wifi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
pada komputer. Setelah terhubung dengan wifi router, lalu masukkan alamat IP melalui
web browser.
Gambar 4.7 AT command Wemos D1 pada Serial Monitor
Gambar diatas merupakan respon AT command dari Wemos D1. Setelah semua AT
command direspon dengan baik, maka modul Wemos D1 akan mencoba untuk koneksi ke
wifi router. Apabila koneksi ke wifi router berhasil, maka akan mendapat sebuah alamat IP
untuk melihat hasil pengukuran. Setelah membuka alamat IP melalui web browser modul
Wemos D1 akan mulai mengirimkan data.
4.3. Pengujian Sistem
Gambar 4.8 Interior pada alat pengukur curah hujan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Gambar 4.9 Eksterior pada alat pengukur curah hujan.
Gambar 4.10 Grafik Perbandingan Suhu.
Hasil pada gambar 4.10 menunjukkan bahwa pengamatan melalui LCD maupun
melalui laman web menghasilkan nilai yang mendekati sama, hasil pengukuran suhu dapat
dilihat pada halaman lampiran L1-1. Pada saat pengukuran, terjadi perbedaan hasil pada
nilai keluaran sensor dan keluaran dari alat digital thermometer-hygrometer yang cukup
kecil, sehingga menyebabkan error sebesar 4,86% pada pengamatan dengan LCD dan
4,94% pada pengamatan laman web. Nilai keluaran sensor dan keluaran dari alat ukur juga
memiliki trendline yang sama, dimana saat alat ukur mengalamai kenaikan suhu maka
sensor juga mengalami kenaikan suhu namun memiliki kepekaan yang berbeda sehingga
0
5
10
15
20
25
30
35
5:3
0
6:0
0
6:3
0
7:0
0
7:3
0
8:0
0
8:3
0
9:0
0
9:3
0
10
:00
10
:30
11
:00
11
:30
12
:00
12
:30
13
:00
13
:30
14
:00
14
:30
15
:00
15
:30
16
:00
16
:30
17
:00
17
:30
Perbandingan Suhu
LCD Web Alat Ukur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
menghasilkan nilai selisih rata-rata 1,4°C untuk pengukuran melalui LCD maupun laman
web.
Gambar 4.11 Grafik Perbandingan Kelembaban.
Hasil pada gambar 4.11 menunjukkan bahwa pengamatan melalui LCD maupun
melalui laman web menghasilkan nilai yang berbeda-beda, tabel hasil pengukuran
kelembaban dapat dilihat pada halaman lampiran L1-2. Pada saat pengukuran, terjadi
perbedaan hasil pada nilai keluaran sensor dan keluaran dari alat digital thermometer-
hygrometer yang cukup kecil, sehingga menyebabkan error sebesar 13,96% pada
pengamatan dengan LCD dan 12,48% pada pengamatan laman web. Nilai keluaran sensor
dan keluaran dari alat ukur juga memiliki trendline yang sama, dimana saat alat ukur
mengalami kenaikan kelembaban maka sensor juga mengalami kenaikan kelembaban
namun memiliki kepekaan yang berbeda dimana sensor DHT-22 memiliki kepekaan yang
lebih baik dibandingkan dengan alat ukur sehingga menghasilkan nilai selisih rata-rata
10,24%RH untuk pengukuran melalui LCD dan 9,30%RH pengukuran melalui laman web.
0
20
40
60
80
100
120
5:3
0
6:0
0
6:3
0
7:0
0
7:3
0
8:0
0
8:3
0
9:0
0
9:3
0
10
:00
10
:30
11
:00
11
:30
12
:00
12
:30
13
:00
13
:30
14
:00
14
:30
15
:00
15
:30
16
:00
16
:30
17
:00
17
:30
Pengukuran Kelembaban
LCD Web Alat Ukur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Gambar 4.12 Grafik pengukuran tekanan udara.
Hasil pada gambar 4.12 menunjukkan bahwa pengamatan melalui LCD maupun
melalui laman web menghasilkan nilai yang mendekati sama. Tabel pengukuran tekanan
udara dapat dilihat pada halaman lampiran L1-3. Nilai keluaran sensor BMP-180 yang
tertampil pada LCD dan yang tertampil pada laman web memiliki trendline yang sama,
dimana saat sensor BMP-180 mengalami kenaikan tekanan udara dan tertampil pada LCD,
maka nilai keluaran sensor pada laman web juga menunjukkan kenaikan tekanan udara,
namun akibat waktu pembaharuan yang berbeda makan menghasilkan nilai selisih rata-
rata 0,0512 mb.
Gambar 4.13 Grafik Perbandingan tegangan keluaran sensor UV.
1011
1012
1013
1014
1015
1016
1017
5:3
0
6:0
0
6:3
0
7:0
0
7:3
0
8:0
0
8:3
0
9:0
0
9:3
0
10
:00
10
:30
11
:00
11
:30
12
:00
12
:30
13
:00
13
:30
14
:00
14
:30
15
:00
15
:30
16
:00
16
:30
17
:00
17
:30
Pengukuran Tekanan Udara
LCD Web
0
500
1000
1500
2000
2500
5:3
0
6:0
0
6:3
0
7:0
0
7:3
0
8:0
0
8:3
0
9:0
0
9:3
0
10
:00
10
:30
11
:00
11
:30
12
:00
12
:30
13
:00
13
:30
14
:00
14
:30
15
:00
15
:30
16
:00
16
:30
17
:00
17
:30
Perbandingan Tegangan Keluaran UV
LCD Web Alat Ukur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Gambar 4.14 merupakan hasil pengukuran sensor UV dengan keluaran berupa
tegangan dalam satuan millivolt (mV). Tegangan keluaran tersebut kemudian
dikelompokkan sesuai pada gambar 3.14 untuk menentukkan indeks UV. Tabel hasil
pengukuran indeks UV dapat dilihat pada halaman lampiran L1-4. Pada saat pengukuran,
terjadi perbedaan hasil pada nilai keluaran sensor yang terukur pada LCD dan nilai
keluaran pada laman web saat dibandingkan dengan nilai keluaran sensor yang diukur
menggunakan multimeter. Perbedaan hasil pengukuran tersebut menyebabkan error
sebesar 14,95% pada pengamatan dengan LCD dan 15,48% pada pengamatan laman web.
Nilai keluaran sensor GUVA S12SD dan nilai keluaran diukur dengan multimeter
memiliki trendline yang sama, dimana saat alat ukur mengalami kenaikan tegangan maka
sensor juga mengalami kenaikan tegangan namun menghasilkan nilai yang berbeda. Hal
ini diakibatkan alat ukur memiliki kepresisian yang berbeda. Percobaan pada gambar 4.13
merupakan percobaan dengan menggunakan 2 sensor yang sama, satu untuk dipasang
pada Arduino Mega agar dapat dipantau langsung melalui LCD 20x4. Sementara sensor
UV yang lain digunakan untuk dihubungkan ke Wemos D1 untuk pemantauan melalui
halaman web. Apabila menggunkan satu sensor untuk 2 mikrokontroler, maka akan
mengahsilkan nilai ADC yang berbeda dan memiliki selisih yang cukup jauh.
4.4. Analisis Perangkat Lunak Arduino Mega
4.4.1. Inisialisasi Perangkat Arduino Mega
Inisialisasi pada Arduino Mega berisi tentang pendeklarasian fungsi dan variabel
yang digunakan dalam proses pengolahan data sensor yang ditampilkan LCD 20x4.
Bagian inisialisasi meliputi pin input analog, pin input digital, pin untuk LCD 20x4 Selain
deklarasi variabel, juga memasukkan library untuk beberapa sensor. Urutan program
inisialisasi pada Arduino Mega dapat dilihat pada Gambar 4.14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Gambar 4.14 Deklarasian fungsi dan variabel pada Arduino Mega
Sensor BMP-180 digunakan untuk mengukur tekanan udara relatif. Untuk dapat
menggunakan sensor BMP-180, terlebih dahulu melampirkan library SFE_BMP180.h
yang merupakan keluaran dari Sparkfun. Kemudian melampirkan library Wire.h karena
sensor BMP-180 menggunakan transmisi I2C. Setelah ditutup dengan fungsi
menentukkan ketinggian tempat dengan #define ALTITUDE 170.0 untuk ketinggian
tempat 170 meter diatas permukaan laut.
Sensor DHT-22 digunakan untuk mengukur suhu dan kelembaban. Agar dapat
menggunakan sensor DHT-22, terlebih dahulu melampirkan library DHT.h. Untuk
mendefinisikan jenis sensor DHT, menggunakan fungsi #define DHTTYPE DHT22 untuk
menggunakan DHT-22. Setelah ditutup dengan fungsi DHT dht (DHTPIN, DHTTYPE);,
lalu mendeklarasikan variabel dengan tipe data float, untuk suhu dengan temp, dan hum
untuk kelembaban.
Modul RTC DS1307 digunakan sebagai fungsi waktu. Untuk dapat menggunakan
RTC DS1307, terlebih dahulu melampirkan library RTClib.h. Kemudian melampirkan
hari-hari dalam seminggu dengan perintah char daysOfTheWeek[7][12] = "Sunday",
"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday";.
Untuk dapat menggunakan modul LCD 20x4, terlebih dahulu melampirkan library
LiquidCrystal.h. Untuk mendefinisikan pin yang akan digunakan LCD 20x4 ,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
menggunakan fungsi LiquidCrystal lcd (9,8,4,5,6,7); untuk menggunakan pin digital
nomor 9, 8, 4, 5, 6, 7 pada board Arduino Mega.
Gambar 4.15 sketch untuk membuat karakter derajat (°)
Gambar 4.15 merupakan sketch untuk membuat karakter khusus. Untuk membuat
karakter khusus, dalam hal ini adalah karakter derajat (°). Dalam satu karakter dalam LCD
terdapat 5x8 pixel yang dietapkan sebagai array 8 byte. Angka satu pada array
menunjukkan pixel yang hidup dan angka nol menunjukkan pixel yang mati. Setelah
mengatur bentuk karakter, lalu ditutup dengan lcd.createChar(0,dregrees); untuk
membentuk karakter derajat pada karakter nol.
4.4.2. Inisialisasi Perangkat Wemos D1
Inisialisasi pada Wemos D1 berisi tentang pendeklarasian fungsi dan variabel yang
digunakan dalam proses pengiriman data sensor ke jaringan. Pin pada Wemos D1
menggunkan nama pin sesuai dengan GPIO, dan tidak semua pin dapat digunakan sebagai
input. Input analog pada Wemos D1 hanya terdapat satu pin, sehingga kemampuan untuk
banyak sensor analog menjadi terbatas.
Inisialisasi pada Wemos D1 berisi tentang pendeklarasian fungsi dan variabel yang
digunakan dalam proses pengiriman data sensor ke jaringan. Bagian inisialisasi meliputi
input analog, input digital, Selain deklarasi variabel, juga memasukkan library untuk
beberapa sensor. Urutan program inisialisasi pada Wemos D1 dapat dilihat pada Gambar
4.16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Gambar 4.16 Deklarasian fungsi dan variabel pada Wemos D1
Pada bagian fungsi jaringan, menggunakan library ESP8266Wifi.h dan untuk
menghubungkan ke sebuah access point. Untuk dapat menggunakan sensor DHT-22,
terlebih dahulu melampirkan library DHT.h. Untuk mendefinisikan jenis sensor DHT,
menggunakan fungsi #define DHTTYPE DHT22 untuk menggunakan DHT-22. Setelah
ditutup dengan fungsi DHT dht (DHTPIN, DHTTYPE);, lalu mendeklarasikan variabel
dengan tipe data float, untuk suhu dengan temp, dan hum untuk kelembaban.
Untuk dapat menggunakan sensor BMP-180, terlebih dahulu melampirkan library
SFE_BMP180.h yang merupakan keluaran dari Sparkfun. Kemudian melampirkan library
Wire.h karena sensor BMP-180 menggunakan transmisi I2C. Untuk dapat menggunakan
fungsi #define DHTTYPE DHT22 untuk menggunakan DHT-22. Setelah ditutup dengan
fungsi menentukkan ketinggian tempat dengan #define ALTITUDE 170.0 untuk
ketinggian tempat 170 meter diatas permukaan laut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
4.4.3. Pengaturan jaringan
Gambar 4.17 Pengaturan koneksi pada Wemos D1
Pada bagian pengaturan jaringan, yang merupakan bagian library ESP8266Wifi.h
dan untuk menghubungkan Wemos D1 ke sebuah access point dengan nama ssid dan
password yang telah dideklarasikan pada bagian awal program. Jika Wemos D1 belum
dapat terkoneksi ke access point, maka Wemos D1 akan terus mencoba agar terkoneksi.
Apabila dapat terkoneksi dengan ssid, maka server dapat digunakan dengan menggunakan
fungsi server.begin(). Setelah server siap maka akan muncul alamat IP untuk melihat hasil
pengukuran.
4.4.4. Pembacaan Sensor
Berikut ini merupakan bagian pembacaan sensor. Pada bagian terdiri dari
pengaturan awal sensor dan pembacaan sensor. Kedua bagian tersebut dapat digunakan
pada Arduino Mega untuk penampilan langsung pada LCD dan Wemos D1 untuk
penampil pada halaman Web.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Gambar 4.18 Inisialisasi sensor DHT-22 dan library Wire
Untuk dapat memulai perhitungan sensor DHT-22 dibutuhkan perintah dht.begin();.
Perintah dht.begin(); merupakan bagian dari library <DHT.h>,sehingga jika tidak diberi
perintah tersebut, maka tidak bisa melakukan pengukuran. Untuk dapat menggunakan
sensor BMP-180, harus menggunakan I2C agar sensor dapat bekerja diperlukan library
Wire.h. Sebelum menggunakan library Wire.h, diperlukan pendeklarasikan pin I2C. Untuk
Wemos D1 pin I2C terdapat pada pin 4 dan 5, lalu dideklarasikan Wire.pins(4,5); dan
Wire.begin(4,5);
Gambar 4.19 Proses penghitungan sensor DHT-22
Pada urutan program pembacaan sensor diawali dengan pembacaan secara langsung
melalui fungsi dht.read...(). pada pengukuran suhu, variabel suhu dideklarasikan sebagai
temp dan untuk kelembaban dideklarasikan sebagai hum. Kemudian masukkan fungsi
dht.read....(), seperti temp = readTemperature(); untuk menghitung suhu dan hum =
readHumidity(); untuk menghitung kelembaban. Nilai suhu yang terhitung dalam satuan
derajat Celcius dan nilai kelembaban dalam satuan %RH. Pada percobaan pengambilan
data suhu dan kelembaban kemudian dibandingkan dengan alat ukur thermometer-
higrometer digital yang memiliki ketelitian 0,1°C dan 1%RH.
Gambar 4.20 Inisialisasi dan proses perhitungan sensor BMP-180
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Gambar 4.21 Inisialisasi dan proses perhitungan sensor BMP-180 (lanjutan)
Pada urutan program pembacaan sensor diawali dengan deklarasi variabel. suhu
dideklarasikan sebagai T, tekanan udara absolut dengan P, tekanan udara relative dengan
p0 dan untuk ketinggian tempat dideklarasikan sebagai a. Untuk dapat memulai
penghitungan, digunakan fungsi pressure.begin(). Apabila pressure.begin() tidak dapat
bekerja, maka alat akan berhenti bekerja.
Kemudian masukkan fungsi status = pressure.startTemperature(); untuk menghitung
suhu, apabila tidak dapat menghitung suhu maka tidak bisa dilanjutkan ke perhitungan
berikutnya. Apabila perhitungan suhu berhasil, maka akan mulai menampilkan suhu dan
mulai menghitung perhitungan tekanan udara absolut. Tekanan udara absolut sangat
bergantung pada ketinggian suatu tempat, sehingga digunakan nilai tekanan udara relatif.
Nilai suhu yang terhitung dalam satuan derajat Celcius dan nilai tekanan udara dalam
satuan milibar (mb).
Gambar 4.22 Inisialisasi dan proses perhitungan sensor GUVA-S12SD
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Gambar 4.23 Inisialisasi dan proses perhitungan sensor GUVA-S12SD (lanjutan)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Gambar 4.24 Inisialisasi dan proses perhitungan sensor GUVA-S12SD (lanjutan)
Untuk dapat memulai perhitungan GUVA-S12SD dibutuhkan fungsi
analogRead(A0); karena sensor ini menghasilkan nilai analog pada pin A0. Kemudian
Mendeklarasikan variabel voltage untuk tegangan keluaran dan uv untuk indeks UV.
Setelah sensor menghasilkan keluaran ADC, lalu dikonversikan menjadi tegangan dengan
satual millivolt (mV). Tegangan keluaran tersebut kemudian dikelompokkan kedalam
indeks UV yang kemudian ditampilkan.
Gambar 4.25 Inisialisasi variabel pada sensor curah hujan
Untuk dapat menggunakan sensor curah, terlebih dahulu mendeklarasikan pin yang
akan digunakan, dalam hal ini menggunakan 2 sensor agar pembacaan lebih akurat.
menggunakan Kemudian melampirkan variabel yang akan berubah diantaranya Counter1
dan Counter2 untuk menghitung jumlah berapa kali sensor dalam keadaan ON, State1 dan
State2 untuk mengetahui keadaan sensor apakah sensor dalam keadaan ON atau OFF dan
lastState1 dan lastState2 untuk mengetahui keadaan sensor sebelumnya. Yang terakhir
adalah totalTip untuk menghitung kedua total Counter1 dan Counter2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Gambar 4.26 proses perhitungan sensor curah hujan
Untuk dapat memulai perhitungan sensor curah hujan dibutuhkan fungsi
digitalRead(Pin1); karena sensor ini menghasilkan nilai digital pada pin yang sudah
dideklarasikan. Kemudian menentukkan keadaan sensor apa sudah dalam keadaan ON.
Setelah sensor dalam keadaan ON kemudian membandingkan dengan keadaan sensor
sebelumnya pada lastState. Apabila keadaan HIGH maka sensor akan melakukan
penambahan. Apabila dalam waktu 300.000 milisekon (5 menit) tidak ada penambahan,
maka tipping bucket akan kembali menjadi nol. Kemudian simpan keadaan sensor
sekarang untu perhitungan berikutnya. Hal ini berlaku untuk sensor yang kedua. Setelah
kedua sensor melakukan lalu jumlah perhitungan kedua sensor dijumlahkan. Angka hasil
penjumlahan tersebut kemudian ditampilkan.
Pada pengukuran curah hujan, pada program sebelumnya menggunakan interrupt.
Penggunaan interrupt untuk dapat menggukur curah hujan lebih presisi, dan data waktu
terjadinya hujan dan berhentinya hujan juga dapat direkam. Pada pengukuran curah hujan
ini, menggunakan perubahan logika dimana saat sensor pada kondisi HIGH, maka akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
bertambah untuk setiap kali HIGH. Untuk mengosongkan jumlah tipping bucket,
menggunakan fungsi millis dimana saat tidak terjadi penambahan dalam waktu 5 menit,
maka pada penampil tipping bucket akan kembali menjadi nol. Karena hanya
menggunakan perubahan logika, maka pengukuran curah hujan menjadi tidak presisi, dan
data waktu terjadinya hujan dan berhentinya hujan juga tidak dapat direkam.
4.4.5. Penampil Data Pada LCD 20x4
Program pengiriman data sensor dan menampilkan ke LCD 20x4 dapat dilihat pada
Gambar 4.26. Pada bagian awal diberi perintah lcd.clear(); untuk menghapus karakter
yang ada sebelumnya. Lalu perintah lcd.setCursor (0,0); untuk meletakkan kursor pada
kolom 0 baris 0. Untuk menulis kata pada layar LCD menggunakan perintah
lcd.print(“T:”); untuk menulis “T:” pada layar LCD dan harus diawali tanda petik (“) agar
terbaca sebagai kata. Untuk menulis hasil pengukuran pada layar LCD menggunakan
perintah lcd.print(temp,1); untuk menulis hasil pengukuran temp dengan ketelitian satu
angka dibelakang koma. Tidak menggunakan tanda petik (“) karena merupakan sebuah
variabel.
Gambar 4.27 Program Pengiriman data sensor dan tampilan LCD
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Gambar 4.28 Program Pengiriman data sensor dan tampilan LCD (lanjutan)
4.4.6. Pengiriman Data dan Tampilan Web
Program pengiriman data sensor dan tampilan dapat dilihat pada Gambar 4.29.
Program ini mengambil dari library ESP8266Wifi.h, kemudian diubah agar sesuai dengan
perancangan tampilan web browser. Program ini mengalami sedikit perubahan pada
program tampilan. Perubahan yang terjadi pada tampilan terdiri pada pengaturan waktu
refresh pada bagian ("<meta http-equiv=\"refresh\" content=\"5\">") agar tampilan dapat
auto-refresh setiap 5 detik. Hasil implementasi dapat dilihat pada Gambar 4.30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Gambar 4.29 Program Pengiriman data sensor dan tampilan web
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Gambar 4.30 Implementasi Pengiriman Data dan Tampilan di PC client menggunakan
browser Google Chrome.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
BAB V
PENUTUP
5.1. Kesimpulan
Dari hasil implementasi Stasiun Cuaca Mini Berbasis Arduino Mega 2560 dengan
Tampilan Web, bisa didapatkan kesimpulan :
1. Alat ini sudah bisa bekerja dengan baik dalam melakukan proses pengiriman data
melalui jaringan lokal.
2. Data suhu, kelembaban, tekanan udara, curah hujan dan indeks UV yang dikirim
dapat ditampilkan melalui web browser.
3. Untuk pengukuran Indeks UV memerlukkan 2 sensor secara terpisah.
4. Pengiriman data yang ditampilkan melalui web browser dapat diperbarui setiap 5
detik.
5. Presentase error pengukuran suhu rata-rata 4,94%
6. Presentase error pengukuran kelembaban rata-rata 12,48%
7. Presentase error pengukuran tegangan indeks UV rata-rata 28,60%
8. Data pengukuran tekanan udara belum dapat dibandingkan dengan alat ukur.
9. Pengukur curah hujan belum dapat bekerja dengan baik.
5.2. Saran
Berdasarkan hasil implementasi yang sudah dilakukan, untuk pengembangan lebih
lanjut ada beberapa saran Stasiun Cuaca Mini Berbasis Arduino Mega 2560 dengan
Tampilan Web dapat bekerja lebih baik, yaitu :
1. Perancangan ulang desain tampilan web browser agar lebih menarik.
2. Perancangan ulang pada koneksi jaringan menggunakan jaringan internet agar alat
ini dapat diakses disemua tempat.
3. Data pengukuran agar dapat disimpan seperti di SD Card atau di Cloud
4. Agar menjadi sebuah stasiun cuaca yang lengkap, perlu penambahan sensor lain
seperti anemometer dan wind vane sehingga kecepatan angin dan arah angin dapat
diukur.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
DAFTAR PUSTAKA
[1] Dunia Pendidikan, 2016, http://www.duniapendidikan.net/2016/01/pengertian-
cuaca-dan-iklim-serta-unsur-unsur-cuaca-dan-iklim.html tanggal akses 28 Agustus
2016
[2] Soefian Nur Hidayat, 2007, ”Stasiun Cuaca Mini Berbasis Mikrokontroler
MC68HC908QB8”. Universitas Sanata Dharma
[3] Staklim Banjarbaru, 2008, “(AWS) Automatic Weather Stations”
http://klimatologibanjarbaru.com/artikel/2008/12/aws-automatic-weather-station/
tanggal akses 16 Agustus 2016
[4] Tim Pengajar Klimatologi, 2010, “Modul Praktikum Klimatologi”
https://bahanajarbp.files.wordpress.com/2010/03/modul-praktikum-
klimatologi1.pdf , Fakultas Pertanian Universitas Brawijaya Malang, tanggal akses
13 Desember 2016
[5] Wylie, C.C, 1942, “Astronomy, Maps, and Weather”. Harper & Brothers
Publishser
[6] Adrianto, Heri. Darmawan, Aan. 2016. “Arduino Belajar Cepat dan
Pemrograman”. Penerbit Informatika Bandung, 119-121
[7] Arduino Info Wikispaces https://arduino-
info.wikispaces.com/file/view/Mega2560_R3_Label-small-
v2%20(2).png/471429496/Mega2560_R3_Label-small-v2%20(2).png
[8] Y. M. V. Galih Purwito Adi, 2014. “Monitoring Suhu 4 Channel Jarak Jauh
Berbasis Arduino Uno”. Universitas Sanata Dharma
[9] AM2302 – Adafruits , 2016, https://cdn-
shop.adafruit.com/datasheets/Digital+humidity+and+temperature+sensor+AM230
3.pdf tanggal akses 28 Desember 2016
[10] Maxdetect “Digital relative humidity & temperature sensor RHT03”
http://cdn.sparkfun.com/RHT03.pdf tanggal akses 30 Oktober 2016
[11] 2013, Bosch Sensortec, “BMP180 Digital Pressure Sensor”,
https://www.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf , tanggal akses
30 September 2016.
[12] id.aliexpress.com
http://g02.a.alicdn.com/kf/HTB1X4JuIXXXXXbhXpXXq6xXFXXXq/-font-b-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
UV-b-font-font-b-sensor-b-font-Ultraviolet-Detection-Module-tester-for.jpg
tanggal akses 22 Januari 2017
[13] https://sites.google.com/site/myterrarium23/domotique/uvm-30a-uva-uvb-sensor,
tanggal akses 10 Desember 2016.
[14] 2011, Roithner Laser Technik “GUVA-S12SD” https://cdn-
shop.adafruit.com/datasheets/1918guva.pdf , tanggal akses 30 September 2016.
[15] http://www.electroschematics.com/11509/guva-s12sd-uv-sensor-module-circuit/
tanggal akses 10 Februari 2017
[16] http://www.theremino.com/wp-content/uploads/2013/11/UV-table.jpg tanggal
akses 22 Desember 2016.
[17] http://www.sparkfun.com/products/13678 tanggal akses 10 Februari 2017
[18] http://fabacademy.org/archives/2015/doc/image/esp-01.jpg, tanggal akses 10
Februari 2017
[19] http://data.bmkg.go.id/share/Dokumen/deskripsisensorlintek.pdf tanggal akses 13
Oktober 2016
[20] Dallas Semicondutor, 2008,
http://www.sparkfun.com/datasheets/Components/DS1307.pdf “DS1307 64 x 8,
Serial, I2C Real-Time Clock” tanggal akses 3 Februari 2017
[21] http://www.emartee.com/Image/websites/emartee.com/back-1.jpg tanggal akses
10 Februari 2017
[22] https://cdn-shop.adafruit.com/1200x900/198-10.jpg tanggal akses 10 Februari
2017
[23] Digi-Key US Corporation (US),
https://www.digikey.com/catalog/en/partgroup/standard-lcd-20x4-plus-extras-
white-on-blue-board/59402 tanggal akses 10 Februari 2017
[24] Tinsharp Industrial Co., Ltd., 2009, https://cdn-
shop.adafruit.com/datasheets/TC2004A-01.pdf tanggal akses 10 Februari 2017
[25] Hobby Components, 2012, http://hobbycomponents.com/development-
boards/863-wemos-d1-r2-esp8266-development-board tanggal akses 1 Agustus
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN 1
TABEL PENGAMBILAN DATA AWAL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L1-1
Sampel pengujian suhu sensor DHT-22
Waktu Suhu error Keterangan
(hh:mm) LCD alat ukur LCD
5:30 27.1 27.3 0.73%
6:00 24.5 25.3 3.16%
6:30 25.4 26.2 3.05%
7:00 28.7 28.5 0.70% berawan
7:30 32.3 30.5 5.90% berawan
8:00 29.8 29.5 1.02%
8:30 30.4 32.9 7.60%
9:00 31.4 32.6 3.68%
9:30 31.4 32.5 3.38%
10:00 30.7 32.3 4.95% berawan
10:30 32.4 34.1 4.99%
11:00 34.1 36.1 5.54% berawan
11:30 33.5 35.2 4.83%
12:00 36.5 38.7 5.68% berawan
12:30 37.5 40.2 6.72%
13:00 34.2 37.2 8.06% berawan
13:30 34.3 36.8 6.79% berawan
14:00 32.6 35.5 8.17% berawan
14:30 31 33.8 8.28% berawan
15:00 30.6 31.4 2.55% hujan
15:30 30.5 31.1 1.93% berawan
16:00 31 32.1 3.43%
16:30 32.1 33.4 3.89% berawan
17:00 32 33.2 3.61% berawan
17:30 30.5 31.6 3.48% berawan
rerata 4.49%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L1-2
Sampel pengujian kelembaban sensor DHT-22
Waktu Kelembaban error Keterangan
(hh:mm) %RH alat ukur LCD
5:30 83.4 73 14.25%
6:00 99.9 85 17.53%
6:30 97.6 88 10.91%
7:00 75.4 82 8.05% berawan
7:30 76.5 77 0.65% berawan
8:00 67 73 8.22%
8:30 65 62 4.84%
9:00 59.2 61 2.95%
9:30 61.7 65 5.08%
10:00 60.3 62 2.74% berawan
10:30 52.6 54 2.59%
11:00 46.1 49 5.92% berawan
11:30 49.6 49 1.22%
12:00 41.5 44 5.68% berawan
12:30 38 40 5.00%
13:00 44.9 42 6.90% berawan
13:30 45.1 42 7.38% berawan
14:00 56.8 50 13.60% berawan
14:30 60.4 54 11.85% berawan
15:00 71.5 77 7.14% hujan
15:30 77.5 81 4.32% berawan
16:00 70.2 74 5.14%
16:30 59.7 60 0.50% berawan
17:00 60.2 60 0.33% berawan
17:30 68 67 1.49% berawan
rerata 6.17%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L1-3
Sampel pengujian tekanan sensor BMP-180
Waktu Tekanan Keterangan
(hh:mm)
5:30 1011.96
6:00 1012.52
6:30 1012.41
7:00 1012.97 berawan
7:30 1013.28 berawan
8:00 1013.7
8:30 1013.53
9:00 1013.35
9:30 1013.25
10:00 1013.1 berawan
10:30 1012.64
11:00 1012.31 berawan
11:30 1011.66
12:00 1011.29 berawan
12:30 1011.12
13:00 1010.59 berawan
13:30 1010.39 berawan
14:00 1009.94 berawan
14:30 1009.96 berawan
15:00 1010.41 hujan
15:30 1010.41 berawan
16:00 1009.84
16:30 1010.22 berawan
17:00 1010.62 berawan
17:30 1011.15 berawan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L1-4
Sampel pengujian Indeks UV
Waktu UV error Keterangan
(hh:mm) index LCD alat ukur LCD
5:30 0 5 4 25.00%
6:00 0 15 13 15.38%
6:30 0 59 55 7.27%
7:00 0 108 104 3.85% berawan
7:30 1 230 221 4.07% berawan
8:00 1 249 238 4.62%
8:30 2 344 352 2.27%
9:00 4 555 543 2.21%
9:30 5 660 632 4.43%
10:00 4 567 551 2.90% berawan
10:30 7 831 809 2.72%
11:00 6 758 709 6.91% berawan
11:30 8 909 851 6.82%
12:00 7 797 730 9.18% berawan
12:30 3 474 438 8.22%
13:00 1 249 228 9.21% berawan
13:30 0 225 216 4.17% berawan
14:00 0 171 158 8.23% berawan
14:30 0 98 91 7.69% berawan
15:00 0 15 13 15.38% hujan
15:30 0 54 49 10.20% berawan
16:00 1 259 235 10.21%
16:30 0 152 144 5.56% berawan
17:00 0 83 74 12.16% berawan
17:30 0 73 68 7.35% berawan
rerata 7.84%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN 2
TABEL PENGUJIAN SISTEM
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2-1
Sampel pengujian suhu sensor DHT-22
Waktu Suhu Selisih error
(hh:mm) LCD Web alat ukur
LCD dan
Alat
Ukur
Web dan
Alat Ukur
LCD dan
Alat Ukur
Web dan
Alat
Ukur
5:30 24.3 23.4 26 1.7 2.6 6.54% 10.00%
6:00 24 24.5 25.4 1.4 0.9 5.51% 3.54%
6:30 24 24 25.4 1.4 1.4 5.51% 5.51%
7:00 24.5 24.5 25.7 1.2 1.2 4.67% 4.67%
7:30 24.9 24.8 26.2 1.3 1.4 4.96% 5.34%
8:00 25.5 25.5 26.9 1.4 1.4 5.20% 5.20%
8:30 26.1 26.2 27.5 1.4 1.3 5.09% 4.73%
9:00 26.6 27 28.2 1.6 1.2 5.67% 4.26%
9:30 27.6 27.5 28.8 1.2 1.3 4.17% 4.51%
10:00 28.5 28.7 29.6 1.1 0.9 3.72% 3.04%
10:30 29 28.9 30.1 1.1 1.2 3.65% 3.99%
11:00 28.9 28.9 30.5 1.6 1.6 5.25% 5.25%
11:30 28.8 28.7 30.5 1.7 1.8 5.57% 5.90%
12:00 29.2 29.2 30.5 1.3 1.3 4.26% 4.26%
12:30 30 29.9 31.4 1.4 1.5 4.46% 4.78%
13:00 29.8 29.6 31.1 1.3 1.5 4.18% 4.82%
13:30 29.8 29.8 31.2 1.4 1.4 4.49% 4.49%
14:00 29.1 29 30.5 1.4 1.5 4.59% 4.92%
14:30 30.2 30.2 31.6 1.4 1.4 4.43% 4.43%
15:00 29.2 29.2 30.7 1.5 1.5 4.89% 4.89%
15:30 28.2 28.2 29.9 1.7 1.7 5.69% 5.69%
16:00 27.9 27.9 29.4 1.5 1.5 5.10% 5.10%
16:30 27.2 27.2 28.6 1.4 1.4 4.90% 4.90%
17:00 26.9 26.9 28.2 1.3 1.3 4.61% 4.61%
17:30 26.3 26.2 27.5 1.2 1.3 4.36% 4.73%
rerata 1.4 1.4 4.86% 4.94%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2-2
Sampel pengujian kelembaban sensor DHT-22
Waktu Kelembaban Selisih Error
(hh:mm) LCD Web Alat ukur
LCD dan
Alat
Ukur
Web dan
Alat Ukur
LCD dan
Alat Ukur
Web
dan Alat
Ukur
5:30 99.9 99.9 81 -18.9 -18.9 23.33% 23.33%
6:00 99.9 99.9 88 -11.9 -11.9 13.52% 13.52%
6:30 99.9 99.9 88 -11.9 -11.9 13.52% 13.52%
7:00 99.9 99.9 89 -10.9 -10.9 12.25% 12.25%
7:30 99.9 99.9 88 -11.9 -11.9 13.52% 13.52%
8:00 97.1 98.2 86 -11.1 -12.2 12.91% 14.19%
8:30 94 94.2 83 -11 -11.2 13.25% 13.49%
9:00 89.6 90.8 78 -11.6 -12.8 14.87% 16.41%
9:30 82.9 84.2 74 -8.9 -10.2 12.03% 13.78%
10:00 77.4 81.1 71 -6.4 -10.1 9.01% 14.23%
10:30 80.4 75.6 70 -10.4 -5.6 14.86% 8.00%
11:00 77.8 75.6 67 -10.8 -8.6 16.12% 12.84%
11:30 86.8 78.9 68 -18.8 -10.9 27.65% 16.03%
12:00 70 71.3 65 -5 -6.3 7.69% 9.69%
12:30 64.7 66 63 -1.7 -3 2.70% 4.76%
13:00 73.5 71.3 65 -8.5 -6.3 13.08% 9.69%
13:30 69.6 64.5 63 -6.6 -1.5 10.48% 2.38%
14:00 75.7 69.3 64 -11.7 -5.3 18.28% 8.28%
14:30 64 66.2 63 -1 -3.2 1.59% 5.08%
15:00 73.4 68.9 63 -10.4 -5.9 16.51% 9.37%
15:30 76.6 77.3 67 -9.6 -10.3 14.33% 15.37%
16:00 73.6 72.9 66 -7.6 -6.9 11.52% 10.45%
16:30 78.3 77.7 68 -10.3 -9.7 15.15% 14.26%
17:00 86.6 85.3 70 -16.6 -15.3 23.71% 21.86%
17:30 86.6 85.6 74 -12.6 -11.6 17.03% 15.68%
rerata -10.24 -9.30 13.96% 12.48%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2-3
Sampel pengujian tekanan BMP-180
Waktu Tekanan (mb) Selisih
(hh:mm) LCD Web LCD dan Web
5:30 1015.33 1015.26 0.07
6:00 1015.6 1015.42 0.18
6:30 1015.59 1015.56 0.03
7:00 1015.77 1015.8 0.03
7:30 1015.97 1016.08 0.11
8:00 1016.28 1016.32 0.04
8:30 1016.11 1016.13 0.02
9:00 1016.18 1016.18 0
9:30 1015.91 1015.88 0.03
10:00 1015.8 1015.87 0.07
10:30 1015.61 1015.6 0.01
11:00 1015.31 1015.28 0.03
11:30 1014.99 1014.95 0.04
12:00 1014.72 1014.76 0.04
12:30 1014.3 1014.37 0.07
13:00 1013.9 1013.9 0
13:30 1013.54 1013.58 0.04
14:00 1013.17 1013.09 0.08
14:30 1012.99 1013.06 0.07
15:00 1012.91 1012.92 0.01
15:30 1013.04 1013.01 0.03
16:00 1013.16 1013.21 0.05
16:30 1013.44 1013.5 0.06
17:00 1013.96 1013.84 0.12
17:30 1014.18 1014.23 0.05
rerata 0.0512
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2-4
Sampel pengujian Indeks UV
Waktu alat
ukur
(mv)
UV UV error
(hh:mm) LCD
Index
LCD
(mv)
web
index
web
(mv)
LCD dan
Alat Ukur
Web dan
Alat Ukur
5:30 9 0 0 0 24 100% 167%
6:00 29 0 0 0 54 100% 86%
6:30 70 0 73 0 59 4% 16%
7:00 200 0 195 0 152 3% 24%
7:30 230 1 225 1 239 2% 4%
8:00 320 2 323 2 347 1% 8%
8:30 825 7 860 8 924 4% 12%
9:00 958 9 997 10 1124 4% 17%
9:30 1093 11 1461 11 1437 34% 31%
10:00 1306 11 1359 11 1290 4% 1%
10:30 684 6 738 6 787 8% 15%
11:00 541 4 567 2 396 5% 27%
11:30 1714 11 1808 11 1852 5% 8%
12:00 1721 11 1799 11 1984 5% 15%
12:30 1665 11 1730 11 1950 4% 17%
13:00 1548 11 1618 11 1334 5% 14%
13:30 1380 11 1461 11 1735 6% 26%
14:00 619 5 665 7 836 7% 35%
14:30 973 9 1017 10 1134 5% 17%
15:00 706 6 723 7 860 2% 22%
15:30 587 5 630 6 709 7% 21%
16:00 375 2 393 3 464 5% 24%
16:30 168 0 181 1 230 8% 37%
17:00 109 0 103 0 142 6% 30%
17:30 17 0 10 0 24 41% 41%
rerata 14.95% 28.60%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN 3
LISTING PROGRAM ARDUINO MEGA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3-1
//===========================
#include <SFE_BMP180.h>
#define ALTITUDE 170.0
#include <Wire.h>
SFE_BMP180 pressure;
//===========================
#include <DHT.h>
#define DHTPIN 22
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
//==========================
#include "RTClib.h"
RTC_DS1307 rtc;
char daysOfTheWeek[7][12] = "Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday";
//===========================
const int TippingPin1 = 2;
const int TippingPin2 = 3;
int TipCounter1 = 0;
int TipCounter2 = 0;
int TipState1 = 0;
int TipState2 = 0;
int lastTipState1 = 0;
int lastTipState2 = 0;
//==========================
int totalTip;
#include <LiquidCrystal.h>
LiquidCrystal lcd(9, 8, 4, 5, 6, 7);
int ledpin = 13;
void setup ()
pinMode(ledpin, OUTPUT);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3-2
pinMode(TippingPin1, INPUT);
pinMode(TippingPin2, INPUT);
lcd.begin(20,4);
byte degrees[8]=
0b00111,
0b00101,
0b00111,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
;
lcd.createChar(0,degrees);
dht.begin();
Wire.begin();
Serial.begin(57600);
if (! rtc.begin())
Serial.println("Couldn't find RTC");
while (1);
if (! rtc.isrunning())
Serial.println("RTC is NOT running!");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
if (pressure.begin())
Serial.println("BMP180 connected");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3-3
else
Serial.println("BMP180 failed\n\n");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("BMP180 Disconnected");
lcd.setCursor(0,1);
lcd.print("Check Connection");
while(1); // Pause forever.
void loop ()
//========================================
digitalWrite(ledpin, HIGH);
DateTime now = rtc.now();
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(" ");
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.print(" ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println(" ");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3-4
//==========================================
float temp;
float hum;
temp = dht.readTemperature();
hum = dht.readHumidity();
Serial.print("Temperature: ");
Serial.print(temp,1);
Serial.print(char(176));
Serial.print("C");
Serial.print(" Humidity: ");
Serial.print(hum,1);
Serial.print(" % ");
//==========================================
TipState1 = digitalRead(TippingPin1);
if (TipState1 != lastTipState1)
if (TipState1 == HIGH)
TipCounter1++;
lastTipState1 = TipState1;
TipState2 = digitalRead(TippingPin2);
if (TipState2 != lastTipState2)
if (TipState2 == HIGH)
TipCounter2++;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3-5
lastTipState2 = TipState2;
totalTip = TipCounter1+TipCounter2-1;
Serial.print("Rain Gauge: ");
Serial.print(totalTip);
Serial.println("mm ");
//==========================================
float index;
int sensorValue = 0;
sensorValue = analogRead(A0);
float voltage = (sensorValue * (5.0 / 1023.0))*1000;
if(voltage<50)
(index = 0);
else if (voltage>50 && voltage<=227)
(index = 0);
else if (voltage>227 && voltage<=318)
(index = 1);
else if (voltage>318 && voltage<=408)
(index = 2);
else if (voltage>408 && voltage<=503)
(index = 3);
else if (voltage>503 && voltage<=606)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3-6
(index = 4);
else if (voltage>606 && voltage<=696)
(index = 5);
else if (voltage>696 && voltage<=795)
(index = 6);
else if (voltage>795 && voltage<=881)
(index = 7);
else if (voltage>881 && voltage<=976)
(index = 8);
else if (voltage>976 && voltage<=1079)
(index = 9);
else if (voltage>1079 && voltage<=1170)
(index = 10);
else if (voltage>1170)
(index = 11);
Serial.print("UV index: ");
Serial.print(index,0);
Serial.print(" voltage: ");
Serial.print(voltage,0);
Serial.println(" mV");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3-7
//==========================================
char status;
double T,P,p0,a;
Serial.print("Altitude: ");
Serial.print(ALTITUDE,0);
Serial.println(" meters, ");
status = pressure.startTemperature();
if (status != 0)
delay(status);
status = pressure.getTemperature(T);
if (status != 0)
Serial.print("temperature: ");
Serial.print(T,2);
Serial.print(char(176));
Serial.println("C");
status = pressure.startPressure(3);
if (status != 0)
delay(status);
status = pressure.getPressure(P,T);
if (status != 0)
Serial.print("absolute pressure: ");
Serial.print(P,2);
Serial.println(" mb, ");
p0 = pressure.sealevel(P,ALTITUDE);
Serial.print("sea-level pressure: ");
Serial.print(p0,2);
Serial.println(" mb, ");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3-8
a = pressure.altitude(P,p0);
Serial.print("computed altitude: ");
Serial.print(a,0);
Serial.println(" meters ");
Serial.println(" ");
else Serial.println("error retrieving pressure measurement\n");
else Serial.println("error starting pressure measurement\n");
else Serial.println("error retrieving temperature measurement\n");
else Serial.println("error starting temperature measurement\n");
//==========================================
//Date and Time
lcd.clear();
lcd.setCursor(0,0);
lcd.print(now.day(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print("/");
lcd.print(now.year(), DEC);
lcd.print(" ");
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
//Temperature
lcd.setCursor(0,1);
lcd.print("T:");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3-9
lcd.print(temp,1);
lcd.print(char(0));
lcd.print("C");
//Humidity
lcd.print(" H:");
lcd.print(hum,1);
lcd.print("%RH");
// UV
lcd.setCursor(0,2);
lcd.print("UV:");
lcd.print(index,0);
lcd.print(" V:");
lcd.print(voltage,0);
lcd.print("mV ");
//sea-level Pressure
lcd.setCursor(0,3);
lcd.print("p0:");
lcd.print(p0,2);
lcd.print("mb");
//Rain Gauge
lcd.print(" R:");
lcd.print(totalTip);
lcd.print("mm");
delay(1000);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN 4
LISTING PROGRAM WEMOS D1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4-1
include <ESP8266WiFi.h>
const char* ssid = "Galaxy V Plus";
const char* password = "";
// Create an instance of the server
// specify the port to listen on as an argument
WiFiServer server(80);
//===============================================
#include <DHT.h>
#define DHTTYPE DHT22
#define DHTPIN 0
DHT dht(DHTPIN, DHTTYPE);
float hum, temp;
//===============================================
#include <SFE_BMP180.h>
#include <Wire.h>
SFE_BMP180 pressure;
#define ALTITUDE 170.0
//==============================================
const int Pin1 = 12;
const int Pin2 = 13;
int Counter1 = 0;
int Counter2 = 0;
int State1 = 0;
int State2 = 0;
int lastState1 = 0;
int lastState2 = 0;
int totalTip;
void setup()
dht.begin();
Wire.pins(4,5);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4-2
Wire.begin(4,5);
Serial.begin(115200);
delay(10);
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
delay(500);
Serial.print(".");
Serial.println("");
Serial.println("WiFi connected");
// Start the server
server.begin();
Serial.println("Server started");
// Print the IP address
Serial.println(WiFi.localIP());
//pin for analog
void loop()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4-3
// Check if a client has connected
WiFiClient client = server.available();
if (!client)
return;
// Wait until the client sends some data
Serial.println("new client");
while(!client.available())
delay(1);
// Read the first line of the request
String req = client.readStringUntil('\r');
Serial.println(req);
client.flush();
//reading
temp = dht.readTemperature();
hum = dht.readHumidity();
//====================================
int sensorValue = analogRead(A0);
float voltage;
int uv;
voltage = (sensorValue * (5.0 / 1023.0))*1000;
Serial.print(" ADC: ");
Serial.println(sensorValue);
if(voltage<50)
(uv = 0);
else if (voltage>50 && voltage<=227)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4-4
(uv = 0);
else if (voltage>227 && voltage<=318)
(uv = 1);
else if (voltage>318 && voltage<=408)
(uv = 2);
else if (voltage>408 && voltage<=503)
(uv = 3);
else if (voltage>503 && voltage<=606)
(uv = 4);
else if (voltage>606 && voltage<=696)
(uv = 5);
else if (voltage>696 && voltage<=795)
(uv = 6);
else if (voltage>795 && voltage<=881)
(uv = 7);
else if (voltage>881 && voltage<=976)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4-5
(uv = 8);
else if (voltage>976 && voltage<=1079)
(uv = 9);
else if (voltage>1079 && voltage<=1170)
(uv = 10);
else if (voltage>1170)
(uv = 11);
char status;
double T,P,p0,a;
if (pressure.begin())
Serial.println("BMP180 connnected");
else
Serial.println("BMP180 failed");
while(1); // Pause forever.
status = pressure.startTemperature();
if (status != 0)
delay(status);
status = pressure.getTemperature(T);
if (status != 0)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4-6
status = pressure.startPressure(3);
if (status != 0)
delay(status);
status = pressure.getPressure(P,T);
if (status != 0)
p0 = pressure.sealevel(P,ALTITUDE);
a = pressure.altitude(P,p0);
//====================================================
State1 = digitalRead(Pin1);
if (State1 != lastState1)
if (State1 == HIGH)
Counter1++;
lastState1 = State1;
State2 = digitalRead(Pin2);
if (State2 != lastState2)
if (State2 == HIGH)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4-7
Counter2++;
lastState2 = State2;
totalTip = Counter1+Counter2-1;
//=========================================================
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); // the connection will be closed after completion of the response
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<title>");
client.println("Weather Station");
client.println("</title>");
client.println("<meta http-equiv=\"refresh\" content=\"5\">");
client.println("<h2>Weather Forecast</h2>");
client.println("Temperature: ");
client.println(temp);
client.println(char(176));
client.println("C");
client.println("<br>");
client.println("Humidity: ");
client.println(hum);
client.println("% RH");
client.println("<br>");
client.println("Pressure: ");
client.println(p0);
client.println(" mb");
client.println("<br>");
client.println("UV: ");
client.println(uv);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4-8
client.println(" UV Sensor Voltage: ");
client.println(voltage,0);
client.println("<br>");
client.println("Rain: ");
client.println(totalTip);
client.println(" mm");
client.println("</html>");
delay(1);
Serial.println("Client disonnected");
// The client will actually be disconnected
// when the function returns and 'client' object is detroyed
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN 5
RANCANGAN PCB SHIELD
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L5-1
SCHEMATIC PCB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L5-2
PRINT-OUT PCB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI