Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Rabu, 09 September 2020

Alat Pengukur Ketinggian dan Aliran Air sebagai Pendeteksi Dini Banjir di Sungai Berbasis Arduino Uno

Indonesia merupakan daerah dengan 2 musim di setiap tahunnya. Musim tersebut adalah musim kemarau dan musim penghujan. Saat musim hujan tiba, biasanya akan banyak sungai yang meluap dan menyebabkan Banjir. Untuk melakukan mitigasi, maka kami mencoba membuat Alat Pengukur Ketinggian dan Aliran Air sebagai Pendeteksi Dini Banjir di Sungai Berbasis Arduino Uno


Alat ini mengukur Ketinggian dan Kecepatan Aliran Sungai yang kemudian apabila melebihi ambang batas tertentu akan mengirimkan notifikasi peringatan melalui SMS. Sehingga dapat menghindari kerugian dan korban jiwa, karena banjir bisa di deteksi secara Dini sebelum benar-benar meluap ke permukaan.


Baca Juga : Cara Program dan Akses Modul GSM SIM800L V.1 Menggunakan Arduino Nano/Uno .


Berikut ini adalah gambar Schematics Diagram Alat Pengukur Ketinggian dan Aliran Air sebagai Pendeteksi Dini Banjir di Sungai Berbasis Arduino Uno :


Berikut ini adalah Hardware yang dibutuhkan :

1. Arduino Uno R3 >>> BELI DISINI
2. Sensor Ultrasonic >>> BELI DISINI
3. Module SIM800L >>> BELI DISINI
4. Water Flow Sensor >>> BELI DISINI
5. Kabel Jumper Secukupnya >>> BELI DISINI
6. Dioda 1N4007 >>> BELI DISINI
7. Elco 470uF/16V >>> BELI DISINI


Berikut ini adalah Code Programnya :

/***************************

Alat Pengukur Ketinggian dan Aliran Air sebagai Pendeteksi Dini Banjir di Sungai Berbasis Arduino Uno

Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com

Copyright @2020

****************************/

//Declare GSM
#include "SIM900.h"
#include "sms.h"
SMSGSM sms;
char smsbuffer[160];
char n[20];
boolean started=false;
#include <SoftwareSerial.h>

//Declare Sensor Ultrasonic
#define triger 8 //mendefinisikan trigger pada pin 8
#define echo 9 //mendeklarasikan echo pada pin 9

//Declare Sensor Water Flow
byte sensorInt = 0;
byte flowSensor_pin = 5;
float konst = 4.5;
float debit_air;
volatile byte count;
unsigned int flow_mlt;
unsigned long total_volume;
unsigned long oldTime;
unsigned int frac;

void setup()
{
  Serial.begin(9600);
  pinMode (triger, OUTPUT); //trigger sebagai output
  pinMode (echo, INPUT); //echo sebagai input
 
  pinMode(flowSensor_pin, INPUT);
  digitalWrite(flowSensor_pin, HIGH);
 
  if (gsm.begin(9600))
  {
    Serial.println("\nstatus=READY");
    started=true;
  }
  else Serial.println("\nstatus=IDLE");
 
  if (started)
  {
    sms.SendSMS("0857xxxxxxxxxx", "Sistem Monitoring READY!!!");
  }

  count        = 0;
  debit_air    = 0.0;
  flow_mlt     = 0;
  total_volume = 0;
  oldTime      = 0;

  attachInterrupt(sensorInt, countPulse, FALLING);
  Serial.println("Menggunakan Water Flow Sensor");
}

void waterflow()
{
  if ((millis() - oldTime) > 1000)
  {
    detachInterrupt(sensorInt);
    debit_air = ((1000.0 / (millis() - oldTime)) * count) / konst;
    oldTime = millis();
    flow_mlt = (debit_air / 60) * 1000;
    total_volume += flow_mlt;

    frac;

    Serial.print("Debit air: ");
    Serial.print(int(debit_air));
    Serial.println(" L/min");

    Serial.print("Volume air: ");
    Serial.print(total_volume);
    Serial.println(" mL");

    count = 0;

    attachInterrupt(sensorInt, countPulse, FALLING);
  }
}

void loop()
{
  digitalWrite (triger, HIGH); //mengirim suara
  delayMicroseconds(10); //selama 10 mikro detik
  digitalWrite (triger, LOW); //berhenti mengirim suara

  float jarak = pulseIn(echo, HIGH); //membaca data dan di masukkan ke variabel jarak
  jarak=jarak/1000000; //konversi mikro detik ke detik
  jarak=jarak*330/2; //data mentah di ubah ke dalam meter
  jarak=jarak*100; //mengubah data ke dalam centi meter
  Serial.println(jarak); //menampilkan nilai jarak pada serial

  if(started)
  {
    sms.GetSMS(1,n,20,smsbuffer,100);
    if(jarak <= 10.00)
    {
      sms.SendSMS("Nomor HP Anda","Ketinggian Berbahaya");
    }
    if(jarak > 10.00 && jarak <=20.00)
    {
      sms.SendSMS("Nomor HP Anda","Ketinggian Waspada");
    }
    if(jarak > 20.00)
    {
      sms.SendSMS("Nomor HP Anda","Ketinggian Normal");
    }
  }
  delay(5000);
 
  waterflow();
  if(started)
  {
    if(debit_air <=1 ) //Liter/Jam
    {
      sms.SendSMS("Nomor HP Anda","Debit Normal");
    }
    if(debit_air > 1 && debit_air <= 3) //Liter/Jam
    {
      sms.SendSMS("Nomor HP Anda","Debit Waspada");
    }
    if(debit_air > 3) //Liter/Jam
    {
      sms.SendSMS("Nomor HP Anda","Debit Berbahaya");
    }
  }
  delay(5000);           
}

void countPulse()
{
  count++;
}


Selamat Mencoba !!!





1 on: "Alat Pengukur Ketinggian dan Aliran Air sebagai Pendeteksi Dini Banjir di Sungai Berbasis Arduino Uno"