• Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
Rabu, Desember 6, 2023
mikroavr.com
No Result
View All Result
  • Login
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
No Result
View All Result
mikroavr
No Result
View All Result
Home Arduino

Pendeteksi Banjir Berbasis Arduino dan GSM

Jimmi Sitepu by Jimmi Sitepu
April 24, 2019
0 0
0
Pendeteksi Banjir Berbasis Arduino dan GSM
58
SHARES
6k
VIEWS
Share on FacebookShare on Twitter

Deteksi Banjir

Latar Belakang

Pendeteksi banjir sebagai deteksi level ketinggian debet sungai sangat di perlukan sebagai tindakan preventive ke pada warga yang akan kena imbas banjir. Tindakan preventif ini akan mengurangi resiko kerugian yang lebih besar. Karena warga dengan cepat tahu akan ada banjir yang akan menimpa mereka.

bisa download konten ini dalam bentuk ebook, cukup klik tombol merah di bawah ini,

Download Ebook

READ ALSO

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Pendeteksi banjir ini sering kali harus di tempatkan pada tempat yang terpencil dan jauh dar kota. Sehingga koneksi internet mungkin bukan solusi yang tepat. dengan itu, interface adalah SMS adalah solusi yang tepat.

Modul GSM yang kita gunakan di sini adalah SIM800v1, sebuah modul gsm yang murah dan mudah di dapat. Modul GSM yang sangat mudah di hubungkan dengan Arduino uno custome kita nanti nya.

Pendeteksi Banjir berbasis Arduino dan interaksi GSM ini harapanya dapat membantu tempat-tempat perkampungan warga sebagai solusi dari tindakan preventive banjir. yuk sekarang kita buat alat nya.

Rangkaian Modul

Rangkaian modul ini menggunakan mikrokontroller atmega328 yang akan kita burn dengan arduino uno dan rangkaian power supply dengan LM2596 +5v. Sengaja menggunakan power supply ini agar kita mendapat kan Ampere yang cukup. Yaitu 3A.

Rangkaian Mikrokontroller

Untuk lebih mudah memahami nya, berikut rangkaian mikrokontroller nya.

Rangkaian Sensor Level

Rangkaian sensor level ini cukup sederhana, hanya menggunakan plat besi yang mana satu terhubung ke ground controller dan yang lain nya terhubung ke pin input arduino. Rangkaian nya sebagai berikut.

pin Miso di gunakan sebagai sensor level1, pin mosi di gunakan sebagai level dua dan pin sck sebagai level terakhir. Rangkaian dan PCB nya bisa teman-teman download di link berikut ini

download deteksi banjir

Konstruksi Desain

untuk construksi nya bisa di lihat pada gambar teknik di bawah ini.

Cara kerja.

Plat hitam pada pipa kita hubungkan ke ground controller. nah ketika plat warna hijau terkena air maka plat hijau akan terhubung ke ground. Terhubung nya ke ground mengakibabkan pin ini akan menjadi logika 0. ketika air surut dan plat hitam dan hijau tidak terkena air maka pin akan logika 1.

Hal ini terjadi karena pin arduino pada controller kita set sebagai INPUT_PULLUP , artinya adalah ketika pin tidak terhubung ke apa apa maka kondisi nya HIGH, dan sebalik nya, ketika pin terhubung ke ground maka kondisi pin nya LOW.

Karena kondisi ini maka ada tabel sederhana sebagai berikut.

Pin Arduino121113
Level 1011
Level 2001
Level 3000

Pemrograman

Agar program dapat berjalan dengan baik, teman-teman bisa download library nya di link berikut ini. cukup klik aja link nya.

  1. https://github.com/cristiansteib/Sim800l
  2. https://github.com/jimmisitepu88/autoSetAddress_i2c_LCD/tree/master/Arduino-LiquidCrystal-I2C-library-master

Nah setelah ini, teman-teman pastikan semua library di atas sudah di add library arduino ide nya. Selanjut nya adalah merubah konfigurasi pin sim800 ke arduino di library sim800.h

#define RX_PIN A0
#define TX_PIN A1
#define RESET_PIN A2  // pin to the reset pin sim800l

#define LED true // used for indicator led, in case that you don want set to false .
#define LED_PIN 13 //pin to indicate states.

Perhatikan di baris #define RX_PIN A0, #define RX_PIN A1, #define RESET_PIN A2, patikan pin ini sudah di ganti. jika tidak sampe tahun jemput program dan hardware tidak akan terhubung dan jalan

tidak sampe tahun jemput program dan hardware tidak akan terhubung dan bekerja

Setelah semua step di atas sudah berjalan dengan baik. selanjut nya adalah program final, Berikut program Akhir nya

#include <Sim800l.h>
#include <SoftwareSerial.h> //is necesary for the library!! bool error;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

Sim800l Sim800l;  //to declare the library
LiquidCrystal_I2C lcd(16, 2);
bool error;

const byte s_alarm1 = 12;
const byte s_alarm2 = 11;
const byte s_alarm3 = 13;

byte dt1, dt2, dt3;
bool hold1, hold2, hold3, hold4;
int data_sensor;
char* sms_people;
char* sms;
char* n_rx = "082165062273";// ganti dengan no mu
char* number1 = "082233008222";// ganti dengan no mu
char* number2 = "";// isi no lain
char* number3 = "";// isi no lain
char* number4 = "";// isi no lain
String line2;

void setup() {
// put your setup code here, to run once:
pinMode(s_alarm1, INPUT_PULLUP);
pinMode(s_alarm2, INPUT_PULLUP);
pinMode(s_alarm3, INPUT_PULLUP);
lcd.autoAddress();
lcd.begin();
Sim800l.begin();
lcd.setCursor(0,0);
lcd.print("wait sms init");
delay(2000);
delay(2000);
delay(2000);
lcd.clear();
}

void loop() {
// put your main code here, to run repeatedly:
control();
delay(250);
}

void read_sensor(){
dt1 = digitalRead(s_alarm1);
dt2 = digitalRead(s_alarm2);
dt3 = digitalRead(s_alarm3);
data_sensor = dt1 + dt2 + dt3;
}

void control(){
read_sensor();
switch(data_sensor){
case 0:
if(hold1 == 0){
sms = "alarm3";
line2 = String(data_sensor) + (" /") + sms;
sms_people = "Kondisi Banjir level 3, SANGAT BERBAHAYA";
lcd.setCursor(0,0);
lcd.print(line2);
lcd.setCursor(0,1);
lcd.print("send sms...");
Sim800l.sendSms(n_rx,sms);
Sim800l.sendSms(number1,sms_people);
//Sim800l.sendSms(number2,sms_people);
//Sim800l.sendSms(number3,sms_people);
//Sim800l.sendSms(number4,sms_people);
hold1 = 1; hold2 = 0; hold3 = 0; hold4 = 0;
}
lcd.setCursor(0,1);
lcd.print("sms sukses.");
break;
case 1:
if (hold2 == 0){
sms = "alarm2";
sms_people = "Kondisi Banjir level 2, AWAS...";
line2 = String(data_sensor) + (" /") + sms;
lcd.setCursor(0,0);
lcd.print(line2);
lcd.setCursor(0,1);
lcd.print("send sms...");
Sim800l.sendSms(n_rx,sms);
Sim800l.sendSms(number1,sms_people);
//Sim800l.sendSms(number2,sms_people);
//Sim800l.sendSms(number3,sms_people);
//Sim800l.sendSms(number4,sms_people);
hold1 = 0; hold2 = 1; hold3 = 0; hold4 = 0;
}
lcd.setCursor(0,1);
lcd.print("sms sukses.");
break;
case 2:
if(hold3 == 0){
sms = "alarm1";
sms_people = "Kondisi Banjir level 1, WASPADA";
line2 = String(data_sensor) + (" /") + sms;
lcd.setCursor(0,0);
lcd.print(line2);
lcd.setCursor(0,1);
lcd.print("send sms...");
Sim800l.sendSms(n_rx,sms);
Sim800l.sendSms(number1,sms_people);
//Sim800l.sendSms(number2,sms_people);
//Sim800l.sendSms(number3,sms_people);
//Sim800l.sendSms(number4,sms_people);
hold1 = 0; hold2 = 0; hold3 = 1; hold4 = 0;
}
lcd.setCursor(0,1);
lcd.print("sms sukses.");
break;
case 3:
if(hold4 == 0){
sms = "alarm0";
sms_people = "Kondisi AIR aman...";
line2 = String(data_sensor) + (" /") + sms;
lcd.setCursor(0,0);
lcd.print(line2);
lcd.setCursor(0,1);
lcd.print("send sms...");
Sim800l.sendSms(n_rx,sms);
Sim800l.sendSms(number1,sms_people);
//Sim800l.sendSms(number2,sms_people);
//Sim800l.sendSms(number3,sms_people);
//Sim800l.sendSms(number4,sms_people);
hold1 = 0; hold2 = 0; hold3 = 0; hold4 = 1;
}
lcd.setCursor(0,1);
lcd.print("sms sukses.");
break;
}
}

Program di atas sudah di uji dan di coba, alhamdulillah berhasil.

Pengembangan

Pada rangkaian di atas sudah sisipkan modul bluetooth, jadi board di atas bisa di buat lebih flexible jika ingin di jadi kan sebuah product. Modul bluetooth ini fungsi nya untuk mengganti no telpon yang ingin di tuju sebagai penerima sms notifikasi.

nah, semua nya sudah lengkap, desain PCB, rangkain, program, tinggal teman-teman, apakah mau mencoba atau tidak.

Selamat mencoba, thanks

#mikroavr

#learningAndSharing

Tags: banjirgsmsim800
Share58Tweet
Previous Post

Membuat Robot Sederhana dengan Arduino dan Ultrasonik, Lengkap dengan Pengujian dan Coding nya

Next Post

Protect Arduino Sketch dengan unique code DS18b20

Jimmi Sitepu

Jimmi Sitepu

Hobbyist Embedded System, Robotic, IOT and write all about them. So we have nice quote "Learning and Sharing"

Related Posts

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega
Arduino

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32
Arduino

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
ethernet arduino
Arduino

Arduino Ethernet Tutorial, Project dengan Arduino Uno dan Mega

Februari 24, 2022
solder i2c arduino lcd
Arduino

Tutorial Program Arduino Lcd i2c dan Library nya

Februari 24, 2022
tft lcd arduino shield
Arduino

Tutorial Mudah TFT lcd Arduino untuk Membuat Jam Digital

Februari 24, 2022
jangka sorong arduino
Arduino

Sensor Pengukur Jarak dengan Jangka Sorong Digital Presisi 0.01mm

Februari 24, 2022
Next Post
Protect Arduino Sketch dengan unique code DS18b20

Protect Arduino Sketch dengan unique code DS18b20

Frekuensi Meter PLN Untuk Pembangkit dengan Akurasi

Frekuensi Meter PLN Untuk Pembangkit dengan Akurasi

Please login to join discussion

Tulisan Terbaru

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Mendapatkan Waktu Akurat dengan NTP GPS

Mendapatkan Waktu Akurat dengan NTP GPS

Mei 8, 2022
Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

April 14, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
ethernet arduino

Arduino Ethernet Tutorial, Project dengan Arduino Uno dan Mega

Februari 24, 2022

Browse by Category

  • Arduino
  • Ebook
  • ESP32
  • IOT
  • jasa
  • Komponen
  • PCB
  • Produk
  • program Arduino
  • Project
  • Rangkaian
  • Sensor
  • Tips
  • Uncategorized

Recent News

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.

No Result
View All Result
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.

Welcome Back!

Sign In with Google
OR

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist