TUGAS BESAR





SISTEM KONTROL PENANGANAN BANJIR 




REFERENSI :
Referensi :
Andreas, Sony (2020). Sistem Penanganan Banjir Otomatis Berbasis Mikrokontroler Menggunakan Sensor Raindrop. Universitas Andalas. Padang

Riana, Eri. Perancangan Alat Penanggulangan Dini Bencana Banjir Berbasis Inframerah Dengan Mikrokontroller Atmega16, Pompa Air, Dan Calling. MEDIA INFORMATIKA BUDIDARMA, Vol 2, No 3, Juli 2018.

William H.S. molle. Rancang Bangun Sistem Kendali Pompa Air Bersih Bertenaga Surya Di Kawasan Relokasi Korban Banjir Pandu. Jurnal Teknik Informatika vol 15 no 2 April-Juni 2020, hal. 119-126

Haryanto, Denni. RANCANG BANGUN POMPA AIR OTOMATIS ANTISIPASI BANJIR DAN PINTU AIR OTOMATIS DENGAN MONITORING KETINGGIAN AIR MELALUI DATABASE THINGSPEAK BERBASIS ARDUINO. Universitas Semarang

Septryanti, Ade. Sistem Pendeteksi Banjir dengan Sensor Ultrasonic berbasis Mikrokontroller di kota Pangkalpinang. Jurnal TRANSFORMATIKA, Vol.15, No.1, Juli 2017, pp. 1 - xxx

https://berita.99.co/mencegah-banjir-masuk-rumah/
https://www.ruparupa.com/blog/10-cara-mencegah-banjir-yang-bisa-kamu-lakukan/
https://www.rumah.com/panduan-properti/cara-mengatasi-banjir-57048
https://www.pinhome.id/blog/tips-rumah-anti-banjir/
https://kiaton.kontan.co.id/news/5-cara-mencegah-banjir-agar-tidak-masuk-rumah?page=all


1. Pendahuluan
[Kembali]

Pada alat ini Sensor Raindrop terdapat lapisan module yang mempunyai sifat anti oksidasi sehingga tahan terhadap korosi terhadap air hujan. Sensor Raindrop tersebut akan berfungsi mendeteksi air diwadah permukaan permukaan. Jika tidak ada air maka alat tidak akan berfungsi dan sebaliknya jika permukaan tersebut terdapat air maka alat akan berfungsi. Pompa DC akan aktif lalu menyedot air yang berada dipermukaan jalan menuju wadah penampung. Untuk membatasi kecepatan air yang masuk kedalam selang maka digunakan Sensor Waterflow sebagai pendeteksi kecepatan air dan Motor Driver L298 sebagai pengatur PWM pada Pompa DC. Sensor Ultrasonik digunakan untuk mendeteksi ketinggian air pada wadah penampung.

2. Tujuan [Kembali]
  • Membuat Sistem Penanganan Banjir Otomatis Berbasis Mikrokontroler dengan menggunakan sensor rain, sensor ultrasonik, dan waterflow sensor.
  • Mengetahui codingan pada program arduino


3. Alat dan Bahan [Kembali]
1. Arduino

Arduino merupakan sebuah perangkat elektronik yang bersifat open source dan sering digunakan untuk merancang dan membuat perangkat elektronik serta software yang mudah untuk digunakan. Arduino ini dirancang sedemikian rupa untuk mempermudah penggunaan perangkat elektronik di berbagai bidang.

Arduino ini memiliki beberapa komponen penting di dalamnya, seperti pin, mikrokontroler, dan konektor yang nanti akan dibahas lebih dalam selanjutnya. Selain itu, Arduino juga sudah menggunakan bahasa pemrograman Arduino Language yang sedikit mirip dengan bahasa pemrograman C++. 

2. Potensiometer 

 

Potensiometer adalah salah satu jenis resistor tiga terminal yang berfungsi untuk mengatur tegangan, arus dan resistensi listrik dalam sebuah rangkaian. Rangkaian potensiometer umumnya dibuat dengan menggunakan tiga komponen dasar, yakni elemen resistif, penyapu (wiper), dan terminal.

Elemen resistif sendiri bentuknya dibuat menjadi jalur melingkar. Terbuat juga dari bahan yang sifatnya resistif, biasanya grafit, plastik partikel karbon, kawat resistansi.

Cara kerja potensiometer adalah dengan mengendalikan besar hambatan atau resistansi pada sebuah rangkaian elektronika. Semakin besar hambatan yang diterima, maka besar tegangan yang dikeluarkan semakin kecil. Begitu pun sebaliknya.

3. Resistor


Resistor merupakan komponen penting dan sering dijumpai dalam sirkuit Elektronik. Boleh dikatakan hampir setiap sirkuit Elektronik pasti ada Resistor. Tetapi banyak diantara kita yang bekerja di perusahaan perakitan Elektronik maupun yang menggunakan per an Elektronik tersebut tidak mengetahui cara membaca kode warna ataupun kode angka yang ada ditubuh Resistor itu sendiri.

4. Sensor Ultrasonik 

Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran fisis (bunyi) menjadi besaran listrik dan sebaliknya. Cara kerja sensor ini didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu. Disebut sebagai sensor ultrasonik karena sensor ini menggunakan gelombang ultrasonik (bunyi ultrasonik). 

5. LCD


LCD 16×2 (Liquid Crystal Display) merupakan modul penampil data yang mepergunakan kristal cair sebagai bahan untuk penampil data yang berupa tulisan maupun gambar.
Adapun fitur – fitur yang tersedia antara lain :

      • Terdiri dari 16 kolom dan 2 baris
      • Dilengkapi dengan back light
      • Mempunyai 192 karakter tersimpan
      • Dapat dialamati dengan mode 4-bit dan 8-bit
      • Terdapat karakter generator terprogram
6. Sensor Rain

Sensor HL-83 adalah sensor yang peka terhadap air, ketika ada cairan yang mendekati PCB maka sensor ini dapat mendeteksinya.

7. LED 

 

LED (Light Emitting Diode) adalah Sebuah lampu kecil yang digunakan sebagai penanda atau pointer. Light Emitting Diode adalah salah satu komponen elektronika yang terbuat dari bahan semi konduktor jenis dioda yang mempu mengeluarkan cahaya. Strukturnya juga sama dengan dioda, tetapi pada LED elektron menerjang sambungan P-N (Positif-Negatif). Untuk mendapatkan emisi cahaya pada semikonduktor, doping yang pakai adalah galium, arsenic dan phosporus. Jenis doping yang berbeda menghasilkan warna cahaya yang berbeda pula.

8. Baterai

Baterai (Battery) adalah sebuah alat yang dapat merubah energi kimia yang disimpannya menjadi energi Listrik yang dapat digunakan oleh suatu perangkat Elektronik. Hampir semua perangkat elektronik yang portabel seperti Handphone, Laptop, Senter, ataupun Remote Control menggunakan Baterai sebagai sumber listriknya. Dengan adanya Baterai, kita tidak perlu menyambungkan kabel listrik untuk dapat mengaktifkan perangkat elektronik kita sehingga dapat dengan mudah dibawa kemana-mana. Dalam kehidupan kita sehari-hari, kita dapat menemui dua jenis Baterai yaitu Baterai yang hanya dapat dipakai sekali saja (Single Use) dan Baterai yang dapat di isi ulang (Rechargeable).

9. Buzzer
 

Buzzer atau bunyi bip adalah perangkat sinyal audio.  

10. Motor
 

Digunakan untuk output dari rangkaian dan berjalan jika sensor infrared berlogika 1

Grafik Motor DC :


11. Signal Generator
 

Generator sinyal adalah salah satu kelas perangkat elektronik yang menghasilkan sinyal listrik dengan sifat amplitudo, frekuensi, dan bentuk gelombang yang ditetapkan. Sinyal yang dihasilkan ini digunakan sebagai stimulus untuk pengukuran elektronik, biasanya digunakan dalam perancangan, pengujian, pemecahan masalah, dan perbaikan perangkat elektronik atau elektroakustik, meskipun seringkali juga memiliki kegunaan artistik

12. Driver L293D

IC L293D adalah IC yang didesain khusus sebagai driver motor DC dan dapat dikendalikan dengan rangkaian TTL maupun mikrokontroler. Motor DC yang dikontrol dengan driver IC L293D dapat dihubungkan ke ground maupun ke sumber tegangan positif karena di dalam driver L293D sistem driver yang digunakan adalah totem pool. Dalam 1 unit chip IC L293D terdiri dari 4 buah driver motor DC yang berdiri sendiri sendiri dengan kemampuan mengalirkan arus 1 Ampere tiap drivernya. Sehingga dapat digunakan untuk membuat driver H-bridge untuk 2 buah motor DC. 
 
13. Waterflow Sensor


Water Flow sensor adalah sensor yang mempunyai fungsi sebagai penghitung debit air yang mengalir yang dimana terjadi pergerakan motor yang akan dikonversi kedalam nilai satuan Liter. Sensor ini terdiri dari beberapa bagian yaitu  katup plastik, rotor air, dan sensor hall efek.

Motor yang ada di module akan bergerak dengan kecepatan yang berubah-ubah sesuai dengan kecepatan aliran air yang mengalir.

Sedangkan pada sensor hall efek yang terdapat pada sensor ini akan membaca sinyal yang berupa tegangan yang diubah menjadi pulsa dan dikirim ke mikrokontroler dalam hal ini Arduino Uno dan diolah sebagai data laju akan debit air yang mengalir.


4. Dasar Teori [Kembali]

1. Sensor Rain 


Rain sensor merupakan sensor yang berfungsi untuk mendeteksi hujan turun atau tidak. Intinya sensor ini jika terkena air pada papan sensornya maka resistansinya akan berubah, semakin banyak semakin kecil dan sebaliknya. Untuk pengaplikasiannya sensor ini dapat digunakan untuk jemuran otomatis jadi ketika hujan turun sensor mendeteksi dan akan memberikan peringatan atau untuk tambahan dapat digunakan penutup yang dapat melindungi jemuran pada saat hujan. Untuk jenisnya di pasaran terdapat FC-37 dan YL-83.

GRAFIK RESPON RAIN SENSOR


Prinsip kerja sensor ini yaitu pada saat ada air hujan turun dan mengenai panel sensor maka akan terjadi proses elektrolisasi oleh air hujan. Dan karena air hujan termasuk dalam golongan cairan elektrolit yang dimana cairan tersebut akan menghantarkan arus listrik.
 
Berdasarkan grafik di atas kita tahu bahwa semakin banyak intensitas hujan maka semakin kecil resistansi yang dihasilkan. 

 

2. Sensor Ultrasonik

Sensor ultrasonik bekerja berdasarkan pada prinsip pantulan suatu gelombang bunyi sehingga gelombang pantul tersebut dapat digunakan untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu. Disebut dengan sensor ultrasonik karena sensor ini menggunakan gelombang ultrasonik dalam pengoperasiannya. 
Secara detail, cara kerja sensor ultrasonik adalah sebagai berikut:
    • Sinyal dipancarkan oleh pemancar ultrasonik dengan frekuensi tertentu dan dengan durasi waktu tertentu. Sinyal tersebut berfrekuensi diatas 20kHz. Untuk mengukur jarak benda (sensor jarak), frekuensi yang umum digunakan adalah 40kHz.
    • Sinyal yang dipancarkan akan merambat sebagai gelombang bunyi dengan kecepatan sekitar 340 m/s. Ketika menumbuk suatu benda, maka sinyal tersebut akan dipantulkan oleh benda tersebut.
    • Setelah gelombang pantulan sampai di alat penerima, maka sinyal tersebut akan diproses untuk menghitung jarak benda tersebut. Jarak benda dihitung berdasarkan rumus :
      1. S = 340.t/2 

       Grafik sensor ultrasonik terhadap jarak:


      3. Waterflow sensor

      Water Flow sensor adalah sensor yang mempunyai fungsi sebagai penghitung debit air yang mengalir yang dimana terjadi pergerakan motor yang akan dikonversi kedalam nilai satuan Liter. Sensor ini terdiri dari beberapa bagian yaitu  katup plastik, rotor air, dan sensor hall efek.


      5. Percobaan [Kembali]

      A. Prosedur [Kembali]

      1) Download library yang diperlukan (dapat dilihat pada bagian download dalam blog)     
      2) Buka proteus yang sudah diinstal untuk membuat rangkaian.
      3) Tambahkan komponen seperti Arduino, sensor, dan perangkat lainnya lalu susun menjadi rangkaian.
      4) Buka Arduino IDE yang sudah diinstal.
      5) Di Arduino IDE, pergi ke menu "File" > "Preferences".
      6) Pastikan opsi "Show verbose during compile" dicentang untuk mendapatkan informasi detail saat kompilasi.
      7) Salin kode program Arduino pada blog kemudian tempelkan program tadi ke Arduino IDE.
      8) Kompilasikan kode dengan menekan tombol "Verify" di Arduino IDE.
      9) Cari dan salin path file HEX yang dihasilkan selama proses kompilasi.
      10) Kembali ke Proteus dan pilih Arduino yang telah Anda tambahkan di rangkaian.
      11) Buka opsi "Program File" dan tempelkan path HEX yang telah Anda salin dari Arduino IDE.
      l2) Jalankan simulasi di Proteus

      B. Hardware dan Diagram Blok [Kembali]


      C. Rangkaian Simulasi dan Prinsip Kerja [Kembali]


      Prinsip Kerja

      Arduino akan memproses data dari semua sensor tersebut. Jika ketinggian air mencapai batas tertentu, atau jika terjadi hujan dengan intensitas tertentu, atau jika debit air mencapai batas tertentu, maka Arduino akan memberikan perintah kepada motor servo untuk membuka pintu.

      Pintu yang dibuka dapat berupa pintu air, pintu penyelamatan, atau pintu lainnya yang diperlukan. Pembukaan pintu ini akan membantu mengurangi dampak banjir.

      • Sensor ultrasonik akan terus mengukur ketinggian air. Data ketinggian air ini akan dikirimkan ke Arduino dalam bentuk sinyal digital. Arduino akan memproses data ini dan membandingkannya dengan batas ketinggian air yang telah ditentukan. Pada kasus ini dikondisikan dalam 2 kategori, yaitu kategori aman yaitu <55c m dan siaga >=55 cm.
      • Sensor hujan akan terus mendeteksi hujan. Data intensitas hujan ini akan dikirimkan ke Arduino dalam bentuk sinyal digital. Arduino akan memproses data ini dan membandingkannya dengan batas intensitas hujan yang telah ditentukan. Jika intensitas hujan mencapai batas tersebut, maka Arduino akan memberikan perintah kepada motor servo untuk membuka pintu.
      • Sensor water flow akan terus mengukur debit air. Data debit air ini akan dikirimkan ke Arduino dalam bentuk sinyal digital. Arduino akan memproses data ini dan membandingkannya dengan batas debit air yang telah ditentukan. data ini akan ditampilkan pada LCD
      • Sensor vibration akan terus mendeteksi getaran/gempa. Data amplitudo getaran/gempa ini akan dikirimkan ke Arduino dalam bentuk sinyal digital. Arduino akan memproses data ini dan membandingkannya dengan batas amplitudo getaran/gempa yang telah ditentukan. Jika amplitudo getaran/gempa mencapai batas tersebut maka buzzer/speaker akan berbunyi.
      • Sound sensor akan terus mendeteksi buzzer yang berbunyi. Data amplitudo suara ini akan dikirimkan ke Arduino dalam bentuk sinyal digital. Arduino akan memproses data ini dan membandingkannya dengan batas amplitudo suara yang telah ditentukan. Jika amplitudo suara mencapai batas tersebut, maka Arduino akan memberikan perintah kepada motor servo untuk membuka pintu pada ruang kontrol.


      D. Flowchart dan Listing Program [Kembali]

      a). Flowchart



      b). Listing Program 

      #include <LiquidCrystal.h>

      int water = 3;
      int trigpin = 13;
      int echopin = 12;
      int led1 = 10;
      int led2 = 9;
      int led3 = 8;  
      int Vs = 7;
      int buz = 6;
      int Ss = 5;
      int mot = 4;  
      int val;  
      long duration;
      int distance;  
      float vol = 0.0,l_minute;
      unsigned char flowsensor = 2; // Sensor Input
      unsigned long currentTime; //
      unsigned long cloopTime; //
      unsigned long flow_frequency; //
      LiquidCrystal lcd(9, 2, A0, A1, A2, A3); //

      void flow () // Interrupt function to increment flow
      {
         flow_frequency++;
      }

      void setup() {

        Serial.begin(9600);
        pinMode(flowsensor, INPUT);//
        digitalWrite(flowsensor, HIGH); // Optional Internal Pull-Up //
        attachInterrupt(digitalPinToInterrupt(flowsensor), flow, RISING); //
        pinMode(water,INPUT); //
        pinMode(trigpin, OUTPUT);
        pinMode(echopin, INPUT);
        pinMode(Vs, INPUT);
        pinMode(Ss, INPUT);  
        pinMode(led1, OUTPUT);
        pinMode(led2, OUTPUT);
        pinMode(led3, OUTPUT);
        pinMode(buz, OUTPUT);
        pinMode(mot, OUTPUT);

        lcd.begin(16, 2);
        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print("Water FlowMeter");
        lcd.setCursor(0,1);
        lcd.print("   sensing...  ");
        delay(500);
        currentTime = millis();
        cloopTime = currentTime;
      }


      void loop() {

        digitalWrite(trigpin, LOW);
        delayMicroseconds(2);
        // Sets the trigPin on HIGH state for 10 micro seconds
        digitalWrite(trigpin, HIGH);
        delayMicroseconds(10);
        digitalWrite(trigpin, LOW);
        // Reads the echoPin, returns the sound wave travel time in microseconds
        duration = pulseIn(echopin, HIGH);
        // Calculating the distance
        distance = duration * 0.0034 / 2;
        // Prints the distance on the Serial Monitor
        Serial.print("Distance: ");
        Serial.println(distance);

        int val = digitalRead(water);

        currentTime = millis();
         // Every second, calculate and print litres/hour
         if(currentTime >= (cloopTime + 1000))
         {
          cloopTime = currentTime; // Updates cloopTime
          if(flow_frequency != 0)
          {
            l_minute = (flow_frequency / 7.5); // (Pulse frequency x 60 min) / 7.5Q = flowrate in L/hour
            lcd.clear();
            lcd.setCursor(0,0);
            lcd.print("Rate: ");
            lcd.print(flow_frequency);
            lcd.print(" m^3/s");
            l_minute = l_minute/60;
            lcd.setCursor(0,1);
            vol = vol +l_minute;
            lcd.print("Vol:");
            lcd.print(vol);
            lcd.print(" L");
            flow_frequency = 0; // Reset Counter
            Serial.print(l_minute, DEC); // Print litres/hour
            Serial.println(" L/Sec");
          }
          else {
            Serial.println(" flow rate = 0 ");
            lcd.clear();
            lcd.setCursor(0,0);
            lcd.print("Rate: ");
            lcd.print( flow_frequency );
            lcd.print(" m^3/s");
            lcd.setCursor(0,1);
            lcd.print("Vol:");
            lcd.print(vol);
            lcd.print(" L");
          }
         }

        if (distance <= 100 && distance > 75 ) {           // check if the sensor is HIGH
            digitalWrite(led1, HIGH); // turn LED OFF
            digitalWrite(led2, LOW); // turn LED OFF
            digitalWrite(led3, LOW); // turn LED OFF

         
        }
        else if (distance <= 75 && distance > 50 ) {
            digitalWrite(led1, LOW); // turn LED OFF
            digitalWrite(led2, HIGH); // turn LED OFF
            digitalWrite(led3, LOW); // turn LED OFF

        }
        else if (distance < 50 ) {
            digitalWrite(led1, LOW); // turn LED OFF
            digitalWrite(led2, LOW); // turn LED OFF
            digitalWrite(led3, HIGH); // turn LED OFF
        }
         // Touch Sensor
        int VValue = digitalRead(Vs);
         if (VValue == HIGH) {
          digitalWrite(buz, HIGH);
        } else {
          digitalWrite(buz, LOW);
        }
          int SValue = digitalRead(Ss);
         if (SValue == HIGH) {
          digitalWrite(mot, HIGH);
        } else {
          digitalWrite(mot, LOW);
        }
      }


      E. Kondisi [Kembali]

      F. Video Simulasi [Kembali]


      G. Download File [Kembali]








      0 komentar:

      Posting Komentar