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 Berbasis Arduino – Kode Sumber & Desain Rangkaian

Sistem Pemantauan Banjir Dini – Rangkaian & Kode Sumber Proyek

Di negara berkembang maupun non berkembang, banjir adalah bencana alam massakala yang menyebabkan kerugian nyawa manusia dan hewan serta properti. Banjir karena gempa bumi di laut, ribut, hujan lebat dan bencana alam lainnya terjadi di banyak bagian dunia setiap tahun.

Selama hujan, sistem drainase yang tidak terkelola di berbagai wilayah geografis mengakibatkan banjir dan banyak nyawa hilang. Jika kita memiliki sistem yang dapat memberikan peringatan dini tentang banjir maka kita dapat menyelamatkan nyawa orang. Sistem yang menggunakan teknologi untuk mendeteksi kenaikan tingkat air dan memberi peringatan kepada orang sebelumnya sehingga banyak orang dapat dievakuasi.

Jadi dalam proyek ini kami membawa Anda prototipe yang dapat digunakan untuk mendeteksi tingkat air di beberapa kolam, bendung atau waduk dan kemudian mengirim peringatan menggunakan buzzer. Ini hanyalah prototipe skala kecil di mana kami akan menggunakan Arduino UNO, sensor ultrasonik, buzzer, LCD dan beberapa kabel penghubung.

Proyek Terkait:

Diagram Rangkaian untuk Deteksi Banjir Dini

Sistem Deteksi Dini Banjir Berbasis Arduino – Kode Sumber & Desain Rangkaian

Komponen yang Diperlukan

Proyek Terkait:

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

Arduino UNO

Arduino adalah platform open source yang digunakan untuk mengembangkan proyek elektronika. Ini dapat dengan mudah diprogram, dihapus dan diprogram ulang kapan saja. Ada banyak papan Arduino yang tersedia di pasaran seperti Arduino UNO, Arduino Nano, Arduino Mega, Arduino lilypad, dll. dengan spesifikasi yang berbeda menurut penggunaannya.

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

Papan ini biasanya diprogram menggunakan perangkat lunak Arduino IDE menggunakan kabel micro USB. ATmega328 dilengkaki dengan boot loader onboard yang terprogram sebelumnya yang memudahkan pengunggahan kode tanpa bantuan perangkat keras eksternal. Papan ini memiliki aplikasi luas dalam pembuatan proyek atau produk elektronika. Bahasa C dan C++ digunakan untuk memprogram papan ini yang sangat mudah untuk dipelajari dan digunakan.

Proyek Terkait:

Arduino IDE memudahkan pemrograman. Ini memisahkan kode menjadi dua bagian yaitu void setup() dan void loop(). Fungsi void setup() hanya berjalan satu kali dan digunakan terutama untuk memulai beberapa proses sementara void loop() terdiri dari bagian kode yang harus dieksekusi secara berkelanjutan.

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

Papan ini dapat di daya menggunakan kabel USB yang beroperasi pada 5 volt atau melalui jack DC yang beroperasi antara 7 hingga 20 volt. Ada regulator tegangan onboard untuk menghasilkan 3,3 volt untuk mengoperasikan perangkat daya rendah.

Karena ATmega328 bekerja pada protokol komunikasi USART, SPI dan I2C, memiliki pin 0 (Rx) dan 1(Tx) untuk komunikasi USART, pin SDA (A4) dan SCL (A5) untuk I2C dan pin 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. Ini bekerja berdasarkan prinsip yang sama seperti RADAR dan SONAR dan memberikan 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.

Sistem Deteksi Dini Banjir Berbasis Arduino – Kode Sumber & Desain Rangkaian

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

Jarak = Kecepatan x Waktu

Pemancar sensor HC-SR04 mengirimkan gelombang ultrasonik ke udara. Jika gelombang ini dipantulkan oleh 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 gelombang ultrasonik universal sekitar 330 m/s. Waktu diukur oleh rangkaian yang dibangun pada mikrokontroler. Pin echo akan bernilai tinggi selama periode waktu yang dibutuhkan gelombang ultrasonik untuk kembali ke penerima. Dengan cara ini kita dapat menghitung jarak antara objek dan sensor ultrasonik HC-SR04.

Proyek Terkait:

Interfacing HC-SR04 dengan Arduino UNO

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

Kami menyuplidan daya modul HC-SR04 dengan 5 volt dan GND ke Arduino UNO. Pin trigger dan pin echo adalah pin input dan output sehingga harus dihubungkan ke pin input dan output Arduino UNO. Jadi untuk mengukur jarak kita pertama-tama mengatur pin trigger menjadi “tinggi” selama 10 mikrodetik dan kemudian mengatur menjadi “rendah”.

Ini akan menghasilkan gelombang ultrasonik dengan frekuensi 40 kHz yang pergi ke objek dan dipantulkan kembali ke penerima modul. Jika gelombang mendeteksi objek itu segera kembali ke bagian penerima modul dan pin echo akan bernilai “tinggi” selama periode waktu yang dibutuhkan untuk kembali ke sensor.

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

Posting Terkait:

Layar LCD 16×2

Interfacing layar 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 16×2 yang berarti memiliki dua baris dan di setiap baris kita dapat menampilkan 16 karakter.

Modul ini memiliki driver HD44780 dari Hitachi yang membantu untuk menghubungkan dan berkomunikasi dengan mikrokontroler. LCD ini dapat bekerja dalam mode 4 bit dan 8 bit. Dalam mode 4 bit hanya 4 pin data yang diperlukan untuk membangun koneksi antara LCD dan mikrokontroler sementara dalam mode 8 bit 8 pin data yang diperlukan.

Di sini kami akan menggunakannya dalam mode 4 bit karena memerlukan jumlah kabel yang lebih sedikit dan membuat rangkaian menjadi lebih sederhana. Mari kita lihat deskripsi pin layar LCD 16×2.

Sistem Deteksi Dini Banjir Berbasis Arduino – Kode Sumber & Desain Rangkaian

Deskripsi Pin Modul Layar LCD 16×2:
Pin pada LCD Deskripsi
VSS Pin Grounding
VCC Suplidan daya +5V
VEE Pin untuk mengubah kontras LCD
RS Register Select: Mode Data atau Mode Perintah
RW Mode Membaca atau Menulis
E Aktifkan LCD
DB0-DB7 Data dan perintah diinput menggunakan pin ini
LED+ Anoda lampu belakang LED
LED- Katoda lampu belakang LED

Layar LCD ini tidak memiliki lampu sendiri jadi ada LED di balik layar yang berfungsi sebagai lampu belakang untuk tampilan. Interfacing layar 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 pada layar. Fungsi layar LCD yang kami gunakan terutama dalam proyek ini adalah:

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

Cara Kerja Sistem Deteksi Banjir Dini & Kode Sumber

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

Layar LCD akan mencetak jarak antara keduanya. Kami akan menetapkan beberapa tolak ukur untuk tingkat banjir dan saat air mencapai tolak ukur tersebut kami akan mengatur buzzer menjadi ‘tinggi’ dan layar LCD akan mencetak teks peringatan tentang banjir.

Penjelasan Kode

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

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

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

Pin 18 dan 20 diatur sebagai pin output untuk trigger dan buzzer masing-masing dan pin 19 diatur sebagai input untuk pin echo.

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

Variabel waktu ‘t’ mendeteksi jumlah waktu sampai pin trigger diatur tinggi yang kemudian 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 kami telah menetapkan kondisi banjar sebagai jarak antara tingkat air dan sensor ultrasonik menjadi 40cm. Jadi saat tingkat air mencapai 40 cm atau kurang dari itu buzzer akan diatur HIGH untuk memberikan peringatan dan layar 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. Menguasai Pernyataan Using C#: Impor, Alias, dan Direktif Statis
  2. Symphony Link: Deteksi Kebocoran Air yang Andalan untuk Data Center
  3. Sistem Kontrol Suhu Berbasis LM35 dengan Mikrokontroler AT89S52
  4. Membangun DTMF Decoder Hanya Menggunakan Arduino – Tidak Perlu IC Tambahan
  5. Sistem Absensi RFID berbasis Arduino yang Andalkan dengan Python
  6. Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
  7. SERENA: Sistem Alarm Kustom Arduino Mega 2560 dengan Layar Sentuh TFT LCD
  8. Sistem Pemantauan Kebakaran Hutan Real-Time dengan Peringatan SMS
  9. Sistem Deteksi Jatuh Canggih dengan Arduino, Windows IoT, dan Azure Cloud
  10. Mengapa Deteksi Kebocoran Air IoT Biz4intellia Meningkatkan Efisiensi Industri – 5 Keuntungan Utama