Rainfall Information System



//
Posted on November 12, 2015 at 2:11 PM

//

Rainfall Information System merupakan sistem informasi yang dapat digunakan untuk mengetahui area yang terkena hujan sehingga pengguna jalan dan pengendara kendaraan bermotor dapat menghindari area yang terkena hujan.




Overview Proyek

Musim penghujan seringkali membuat mobilitas manusia dari satu tempat ke tempat lain menurun. Terlebih bagi pengendara sepeda motor dan kendaraan yang tidak dilengkapi pelindung untuk berteduh dari hujan. Hal tersebut tentu menjadi kendala bagi mereka karena apabila tidak menerobos hujan maka waktunya akan terbuang percuma, tetapi apabila tetap bertekad menerobos hujan maka kemungkinan akan terjadinya kecelakaan semakin meningkat. Resiko terjebak kecelakaan saat musim penghujan lebih besar karena jalanan menjadi licin dan konsentrasi terganggu karena penurunan suhu udara dan jarak pandang terganggu oleh air hujan yang turun. Selain itu, penyebab terjadinya kecelakaan juga dapat bersumber dari genangan air hujan yang menutupi pandangan pengguna jalan untuk mengintepretasikan kedalaman jalan.

Bencana lain yang juga dapat disebabkan oleh turunnya hujan meliputi banjir, tanah longsor, dan gempa bumi. Melihat banyaknya kemungkinan terjadinya bencana yang disebabkan akibat berkah turunnya hujan menimbulkan sebuah masalah yang membutuhkan penyelesaian dengan segera. Salah satu pokok masalah yang perlu segera ditangani adalah mengenai mobilitas masyarakat di kala hujan turun. Jika terdapat sebuah system yang dapat memberitahukan kondisi hujan di jalanan beserta intensitasnya, maka masyarakat akan lebih nyaman berkendara.

Untuk menjawab permasalahan tersebut, kami merancang sebuah system pendeteksi turunnya hujan yang akan dipasang di beberapa titik. Sistem tersebut terdiri atas sensor curah hujan, sistem mikroprosesor yang berfungsi mengolah datanya, dan sebuah modul komunikasi untuk menyampaikan data tersebut ke web server melalui jaringan wifi. Sistem ini dapat memberitahukan sedang ada atau tidaknya hujan di suatu daerah beserta intensitasnya. Informasi yang akan diberikan ke pengguna berupa peta jalan seperti peta yang menunjukkan titik-titik kemacetan. Dengan demikian diharapkan mobilitas masyarakat tidak menurun meski sedang terjadi hujan dan kewaspadaan terhadap kecelakaan bisa lebih ditingkatkan.

1. Tujuan Proyek

Tujuan pengerjaan proyek kami terangkum pada poin di bawah sebagai berikut.

  • Mendeteksi terjadinya hujan di suatu daerah beserta intensitasnya
  • Memberikan informasi kepada user khususnya pengguna jalan agar dapat menemukan jalur berkendara yang paling aman dari hujan

2. Metodologi

2.1 Alat dan Bahan

  1. Satu buah Sistem Mikroporsessor berupa Arduino Uno R3
  2. Satu buah modul Wi-Fi ESP8266
  3. Satu buah Water Drop Rain Sensor (Sensor Curah Hujan)
  4. Satu buah wadah stainless penampung hujan
  5. Satu buah SG90 Tower Pro 9g Micro Servo

Berikut skematik rangkaian yang digunakan pada sistem informasi yang kami buat.

Gambar 2-1 Rangkaian Sistem Pendeteksi Hujan

 

Berikut keterangan fungsi masing-masing komponen.

  • Sistem Mikroprosesor berperan sebagai otak utama dalam pengoperasian sistem informasi yang kami rancang. Sistem Mikroprosesor digunakan untuk melakukan pembacaan output dari sensor dan memberikan respon yang sesuai, yaitu mengirimkan data hasil pembacaan dan mengirim perintah pada motor servo untuk membuang sisa air yang tertampung pada wadah.
  • Modul wi-fi ESP8266 diperlukan sebagai perangkat keras yang dapat menghubungkan sistem mikroprosesor kepada website geeknesia. Dengan bantuan ESP8266 maka sistem mikroprosesor yang kami gunakan dapat mengirimkan data menuju cloud milik Geeknesia.
  • Sensor curah hujan diperlukan untuk melakukan pembacaan keberadaan hujan dan curah hujan pada suatu area.
  • Wadah penampung hujan diperlukan untuk menampung curah hujan yang akan dideteksi. Wadah yang diperlukan berukuran sekitar 6x6 cm.
  • Micro Servo diperlukan untuk membuka lubang pada wadah agar ketika pembacaan curah hujan telah selesai maka air hujan yang ditampung akan dibuang dengan pembukaan jalur pembuagan air hujan oleh Micro Servo. Pemilihan komponen MicroServo versi SG90 Tower Pro didasarkan pada motor servo paling murah dan memiliki fungsi yang sesuai dengan kebutuhan.

 

2.2 Ilustrasi Proyek

Program akan berjalan apabila semua persiapan inisialisasi alat di awal pengerjaan telah selesai seperti download kode program pada sistem mikroporosesor dan pembacaan alat. Berikut model fisik dan penempatan produk.

Gambar 2-2 Ilustrasi Penempatan Produk

Sistem kerja produk adalah sebagai berikut.

  1. Produk yang dipasang siap untuk membaca curah hujan dan keberadaan hujan.
  2. Apabila produk mendeteksi adanya hujan, maka produk akan langsung memasuki mode pembacaan curah hujan.
  3. Setelah melakukan pembacaan curah hujan selama lima detik, produk akan menyimpan data berupa nilai curah hujan rata-rata saat itu dan akan membuang air hujan berlebih yang ditampung untuk melakukan pembacaan berikutnya.
  4. Selagi melakukan pembuangan air hujan berlebih yang ditampung, produk akan mengirimkan mengirimkan informasi pembacaan curah hujan pada cloud Geeknesia
  5. Produk akan melakukan langkah 2-4 secara berulang dan berurutan selama produk masih mendeteksi adanya hujan.
  6. Setelah hujan berhenti dan produk tidak lagi melakukan pembacaan, produk akan memasuki kondisi 1 kembali dan akan siap untuk pembacaan keberadaan dan curah hujan berikutnya.

 

2.3 Flowchart dan kode program

Pada perancangannya kami telah membuat implementasi flowchart dan source code yang dapat digunakan untuk mengimplementasikan produk kami. Berikut flowchart yang digunakan untuk menjalankan sistem informasi yang kami gunakan.

Gambar 2-3 Diagram Alir Sistem Pendeteksi Hujan

Berikut merupakan kode program yang digunakan untuk menjalankan sistem informasi yang kami gunakan.

 

/* Internet of Things Innovation Contest 2015 */

/* Program code to be implemented on Arduino  */

/* Dates:   November 12, 2015 */

/* Member's Name (1):Gusti Arif Hanifah Pawitan (13212033)    */

/* Member's Name (2):Giovani Ellisa Puspaningtyas (13212034)      */

/* Member's Name (3):Kalam Adhiansyah Lutfie (13212090)  */

/* Name of File:  iotic2015.ino*/

 

#include

 

int val_init;

float val_after = 0;

float centi = 0;

float volt = 0;

 

Servo gate;

 

int pos = 0;

 

#define red 2

#define blue 3

#define green 4

#define ReadyState 0

#define CountingState 1

#define ThirdState 2

 

uint8_t     state = ReadyState;

 

/* Function when the product is ready to count */

void ready_state(void){

  digitalWrite(blue, LOW);

  digitalWrite(red, LOW);

  digitalWrite(green, HIGH);

  Serial.println("State 1");

  val_init = analogRead(0);

  if(val_init > 33)

  {

    state = CountingState;

  }

}

 

/* Function to measure the rainfall */

void count_rainfall(void){

  int count_blue = 0;

 

  digitalWrite(blue, HIGH);

  digitalWrite(red, LOW);

  digitalWrite(green, LOW);

  Serial.println("State 2");

 

  val_init = analogRead(0);

  val_after = (float)val_init;

  volt = ((val_after + 1) / 1024) * 5;

  centi = volt * 8 / 5;

  delay(1000);

  count_blue++;

  Serial.println(centi);

  if (count_blue == 3600 || centi >= 3)

  {

    state = ThirdState;

  }

}

 

/* Function to take out water inside product */

void throw_and_send(void){

  int value_init;

  int open_once = 1;

 

  digitalWrite(blue, LOW);

  digitalWrite(red, LOW);

  digitalWrite(green, HIGH);

  Serial.println("State 3");

  if (open_once == 1)

  {

    for(pos = 0; pos <= 90; pos += 1)

    {                                

      gate.write(pos);              

      delay(15);                      

    }

    open_once++;

  }

 

  value_init = analogRead(0);

 

  if (value_init <= 33)

  {

    for(pos = 90; pos >= 0; pos -= 1)

    {                                 

      gate.write(pos);             

      delay(15);                      

    }

    state = ReadyState;

  }

}

 

 

void setup() {

  // put your setup code here, to run once:

  pinMode(2, OUTPUT);

  pinMode(3, OUTPUT);

  pinMode(4, OUTPUT);

  gate.attach(9);

  Serial.begin(9600);

}

 

void loop() {

  // put your main code here, to run repeatedly:

  switch(state)

  {

    case ReadyState:

            ready_state();

          break;

    case CountingState:

          count_rainfall();

          break;

    case ThirdState:

          throw_and_send();

          break;

  } 

}

Tabel 3.1 Implementasi kode program pada produk

 

3. Model Proyek

Berikut merupakan permodelan kerja produk kami secara grafis.

 

Gambar 3‑1 Alur Kerja Alat

 

Video untuk menggambarkan permodelan proyek kami berada pada link berikut https://youtu.be/dQbSY04rTg8

4. Time Frame

Tabel I – Timeline  Kerja Pembuatan Sistem Pendeteksi Hujan

NO

WAKTU

KEGIATAN

1

16-20 November 2015

Pengujian komponen

2

21-25 November 2015

Perancangan sistem

3

26-30 November 2015

Implementasi produk

 

5. Budget

Tabel II – Rancangan Anggaran Biaya Sistem Pendeteksi Hujan

NO

NAMA BENDA

JUMLAH KEBUTUHAN

HARGA SATUAN

1

Sensor curah hujan

1

Rp 30.000,00

2

ESP8266

1

Rp 60.000,00

3

Arduino

1

Rp 350.000,00

4

Wadah stainless

1

Rp 50.000,00

5

SG90 Tower Pro Micro Servo

1

Rp 45.000,00

Total

Rp  535.00,00

 


Leave a Comment:

Please Sign in First