Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Sistem Deteksi Dini Banjir Menggunakan Arduino – Source Code

Awal Banjir Pemantauan Sistem – Sirkuit &Kode Sumber Proyek

Baik di negara berkembang maupun tidak berkembang, banjir adalah bencana alam masif yang menyebabkan hilangnya nyawa dan harta benda manusia dan hewan. Banjir akibat gempa bumi di lautan, angin topan, curah hujan, dan bencana alam lainnya terjadi di berbagai belahan dunia setiap tahun.

Selama hujan, sistem drainase yang tidak dikelola di berbagai wilayah geografis menyebabkan banjir dan banyak nyawa melayang. Jika kita memiliki beberapa sistem yang dapat memberi kita peringatan dini tentang banjir maka kita dapat menyelamatkan nyawa orang. Sebuah sistem yang menggunakan teknologi untuk mendeteksi kenaikan ketinggian air dan memperingatkan orang-orang sebelumnya sehingga banyak orang dapat dievakuasi.

Jadi dalam proyek ini kami membawakan Anda sebuah prototipe yang dapat digunakan untuk mendeteksi ketinggian air di beberapa kolam, bendungan atau waduk dan kemudian mengirimkan peringatan menggunakan bel. Ini hanyalah prototipe skala kecil di mana kita akan menggunakan Arduino UNO, sensor ultrasonik, buzzer, LCD dan beberapa kabel penghubung.

Proyek Terkait:

Diagram Sirkuit untuk Deteksi Dini Banjir

Komponen yang Diperlukan

Proyek Terkait:

Sekarang, mari kita pelajari komponen yang digunakan dalam rangkaian dasar ini satu per satu.

Arduino UNO

Arduino adalah platform open source yang digunakan untuk mengembangkan proyek elektronik. Itu dapat dengan mudah diprogram, dihapus, dan diprogram ulang kapan saja. Papan Arduino yang tersedia di pasaran sangat banyak seperti Arduino UNO, Arduino Nano, Arduino Mega, Arduino lilypad dll dengan spesifikasi yang berbeda-beda sesuai dengan penggunaannya.

Dalam proyek ini kita akan menggunakan Arduino UNO untuk mengontrol peralatan rumah tangga secara otomatis. Ini memiliki IC mikrokontroler ATmega328 di atasnya yang berjalan pada kecepatan clock 16MHz. Ini sangat kuat yang dapat bekerja pada protokol komunikasi USART, I2C dan SPI.

Board ini biasanya diprogram menggunakan software Arduino IDE menggunakan kabel micro USB. ATmega328 hadir dengan boot loader onboard yang telah diprogram sebelumnya yang membuatnya lebih mudah untuk mengunggah kode tanpa bantuan perangkat keras eksternal. Ini memiliki aplikasi yang luas dalam membuat proyek atau produk elektronik. Bahasa C dan C++ digunakan untuk memprogram papan yang sangat mudah dipelajari dan digunakan.

Proyek Terkait:

Arduino IDE membuatnya lebih mudah untuk diprogram. Ini memisahkan kode dalam dua bagian yaitu void setup() dan void loop(). Fungsi void setup() hanya berjalan satu kali dan digunakan terutama untuk memulai beberapa proses sedangkan void loop() terdiri dari bagian kode yang harus dijalankan terus menerus.

Model ini terdiri dari 6 pin input analog dan 14 pin GPIO digital yang dapat digunakan sebagai input output 6 diantaranya menyediakan output PWM dan analog menggunakan pinMode(), digitalWrite(), fungsi digitalRead() dan analogRead(). 6 saluran input analog berasal dari pin A0 hingga A5 dan memberikan resolusi 10 bit.

Papan dapat diberi daya baik dari menggunakan kabel USB yang beroperasi pada 5 volt atau dengan jack DC yang beroperasi antara 7 hingga 20 volt. Terdapat regulator tegangan terpasang untuk menghasilkan 3,3 volt untuk mengoperasikan perangkat berdaya rendah.

Karena ATmega328 bekerja pada protokol komunikasi USART, SPI dan I2C, memiliki pin 0 (Rx) dan 1(Tx) untuk komunikasi USART, SDA (A4) dan SCL (A5) pin untuk pin I2C dan SS (10), MOSI (11), MISO (12) dan SCK (13) untuk protokol komunikasi SPI.

Proyek Terkait:

Sensor Ultrasonik HC-SR04

HC-SR04 adalah sensor ultrasonik yang membantu mengukur jarak di banyak tempat tanpa kontak manusia. Ia bekerja pada prinsip yang sama seperti RADAR dan SONAR dan menyediakan cara yang efisien untuk mengukur jarak dengan cara yang sangat tepat.

Secara teoritis dapat mengukur jarak hingga 450 cm tetapi secara praktis dapat mengukur jarak dari 2 cm hingga 80 cm dengan akurasi 3 mm. Ini dioperasikan pada 5 volt, arus kurang dari 15mA dan frekuensi 40 Hertz.

HC-SR04 memiliki satu pemancar dan satu penerima terpasang di dalamnya. Jarak dihitung dengan rumus dasar kecepatan, jarak dan waktu yang kita semua pelajari di sekolah kita yaitu,

Jarak =Kecepatan x Waktu

Pemancar sensor HC-SR04 mentransmisikan gelombang ultrasonik di udara. Jika gelombang ini dipantulkan oleh beberapa objek dalam jangkauan sensor maka gelombang yang dipantulkan di udara diterima oleh penerima sensor. Jadi untuk menghitung jarak menggunakan rumus di atas kita harus mengetahui kecepatan dan waktu.

Kita tahu bahwa kecepatan universal gelombang ultrasonik adalah sekitar 330 m/s. Waktu diukur dengan rangkaian yang dibangun pada mikrokontroler. Pin gema menjadi tinggi selama periode waktu yang dibutuhkan oleh gelombang ultrasonik untuk kembali ke penerima. Dengan cara ini kita dapat menghitung jarak antara objek dan sensor ultrasonik HC-SR04.

Proyek Terkait:

Menghubungkan HC-SR04 dengan Arduino UNO

Senor ultrasonik HC-SR04 dapat digunakan dengan semua mikrokontroler seperti Arduino, PIC, Raspberry Pi, dll. Dalam proyek ini kita akan menghubungkan sensor ultrasonik HC-SR04 dengan Arduino UNO . Modul HC-SR04 memiliki empat pin:VCC, GND, Trig dan Echo.

Kami memberi daya modul HC-SR04 dengan 5 volt dan GND ke Arduino UNO. Pin trigger dan pin Echo merupakan pin input dan output sehingga harus dihubungkan dengan pin input dan output Arduino UNO. Jadi untuk mengukur jarak, pertama-tama setel pin pemicu ke "tinggi" selama 10 mikro detik, lalu setel ke "rendah".

Ini akan menghasilkan gelombang ultrasonik berfrekuensi 40 kHz yang menuju objek dan dipantulkan kembali ke penerima modul. Jika gelombang mendeteksi beberapa objek, gelombang akan segera kembali ke bagian penerima modul dan pin gema menjadi "tinggi" untuk jangka waktu saat gelombang kembali ke sensor.

Sekarang periode waktu ini dikalikan dengan kecepatan gelombang yaitu 330 m/s memberi kita jarak antara modul HC-SR04 dan objek.

Posting Terkait:

Layar LCD 16×2

Menghubungkan LCD 16 X 2 dengan Arduino UNO cukup mudah. Ada berbagai jenis LCD yang tersedia di pasaran tetapi yang kami gunakan dalam proyek ini adalah 16x2 yang berarti memiliki dua baris dan di setiap baris kami dapat menampilkan 16 karakter.

Modul ini memiliki driver HD44780 dari Hitachi yang membantu antarmuka dan komunikasi dengan mikrokontroler. LCD ini dapat bekerja dalam mode 4 bit dan mode 8 bit. Dalam mode 4 bit hanya diperlukan 4 pin data untuk membuat koneksi antara LCD dan mikrokontroler sedangkan dalam mode 8 bit diperlukan 8 pin data.

Di sini kita akan menggunakannya dalam mode 4 bit karena membutuhkan lebih sedikit jumlah kabel dan membuat rangkaian disederhanakan. Mari kita lihat deskripsi pin LCD 16×2.

Deskripsi Pin dari modul LCD 16×2:
Sematkan pada LCD Deskripsi
VSS Pin Tanah
VCC catu daya +5V
VEE Sematkan untuk mengubah kontras LCD
RS Pilih Daftar:Mode Data atau Mode Perintah
RW Mode Baca atau Tulis
E Aktifkan LCD
DB0-DB7 Data dan perintah dimasukkan menggunakan pin ini
LED+ Anoda lampu latar LED
LED- Katoda lampu latar LED

LCD ini tidak memiliki lampu sendiri sehingga ada LED di belakang layar yang berfungsi sebagai lampu latar untuk tampilan. Menghubungkan LCD ini dengan Arduino UNO cukup mudah karena Arduino IDE menyediakan perpustakaan LiquidCrystal yang memiliki banyak fungsi bawaan untuk memudahkan inisialisasi dan mencetak apa pun di layar. Fungsi LCD yang terutama akan kita gunakan dalam proyek ini adalah:

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
lcd.begin()
lcd.clear()
lcd.print()

Bekerja Sistem Deteksi Dini Banjir &Source Code

Sebuah sensor ultrasonik akan ditempatkan pada beberapa tingkat dasar sehingga pemancar dan penerima akan menghadap ke permukaan air. Arduino UNO akan mengukur jarak antara sensor dan ketinggian air.

LCD akan mencetak jarak antara keduanya. Kami akan menetapkan beberapa tolok ukur untuk tingkat banjir dan saat air akan mencapai tolok ukur, kami akan mengatur bel ke 'tinggi' dan LCD akan mencetak teks peringatan tentang banjir.

Penjelasan Kode

#include 
LiquidCrystal lcd(2,3,4,5,6,7);
lcd.begin(16,2);

Library bawaan untuk tampilan LCD disertakan. Fungsi LiquidCrystal lcd() mengambil nomor pin data yang terhubung ke Arduino UNO. Lcd.begin() memulai LCD 16×2.

pinMode(18,OUTPUT); //trigger pin
pinMode(19,INPUT);  //echo pin
pinMode(20,OUTPUT); //buzzer

Pin 18 dan 20 masing-masing ditetapkan sebagai pin output untuk pemicu dan buzzer dan pin 19 ditetapkan sebagai input untuk pin gema.

t=pulseIn(19,HIGH);
dist=t*340/20000;

variabel waktu 't' mendeteksi jumlah waktu hingga pin pemicu disetel tinggi yang selanjutnya digunakan untuk menghitung waktu dalam sentimeter dan menyimpan nilai dalam variabel 'dist'.

if(dist<40)
{
 digitalWrite(20,HIGH);
 lcd.clear();
 lcd.setCursor(0,1);
 lcd.print("Water level is rising. Kindly evacuate");
 delay(2000);
}
else
{
 digitalWrite(20,LOW);
 delay(2000);
}

Dalam kode ini kita telah mengatur kondisi kondisi banjir karena jarak antara ketinggian air dan sensor ultrasonik menjadi 40cm. Sehingga saat ketinggian air mencapai 40 cm atau kurang dari itu, bel akan disetel HIGH untuk memberikan peringatan dan LCD akan mencetak dan menampilkan pesan peringatan banjir.

Kode Sumber Lengkap:

#include 
LiquidCrystal lcd(2,3,4,5,6,7);

float t = 0;
float dist = 0;

void setup()
{
 lcd.begin(16,2);
 pinMode(18,OUTPUT); //trigger pin
 pinMode(19,INPUT);  //echo pin
 pinMode(20,OUTPUT); //buzzer
 lcd.setCursor(0,1);
 lcd.print(" Water Level Detector");
 delay(2000);
}

void loop()
{
 lcd.clear();
 digitalWrite(20,LOW);
 digitalWrite(18,LOW);
 delayMicroseconds(2);
 digitalWrite(18,HIGH);
 delayMicroseconds(10);
 digitalWrite(18,LOW);
 delayMicroseconds(2);

 t=pulseIn(19,HIGH);
 dist=t*340/20000;

 lcd.clear();
 lcd.setCursor(0,1);
 lcd.print("Distance : ");
 lcd.print(dist/100);
 lcd.print(" m");
 delay(1000);

if(dist<40)
{
 digitalWrite(20,HIGH);
 lcd.clear();
 lcd.setCursor(0,1);
 lcd.print("Water level is rising. Kindly evacuate");
 delay(2000);
}
else
{
 digitalWrite(20,LOW);
 delay(2000);
}
}

Proyek Terkait:


Teknologi Industri

  1. C# menggunakan
  2. Menggunakan Symphony Link Sebagai Sistem Deteksi Kebocoran Air Untuk Pusat Data
  3. Perangkat berbasis suhu Sistem kontrol menggunakan LM35
  4. Decoder DTMF Hanya Menggunakan Arduino
  5. Sistem Kehadiran Menggunakan Arduino dan RFID dengan Python
  6. Sistem Robotika Deteksi Manusia Menggunakan Arduino Uno
  7. Sistem Alarm Arduino:SERENA
  8. Sistem Pemantauan &Deteksi Kebakaran Hutan (dengan Peringatan SMS)
  9. Sistem deteksi jatuh berdasarkan Arduino, Windows dan Azure
  10. 5 Keuntungan Menggunakan Sistem Deteksi Kebocoran Air Bertenaga Biz4intellias IoT di Industri