Alat Pemantau Suhu, Kelembaban, Kebocoran Gas, Dan Potensi Kebakaran Untuk Ruang Dapur Berbasis IoT

by daffahmuchsin in Circuits > Arduino

545 Views, 3 Favorites, 0 Comments

Alat Pemantau Suhu, Kelembaban, Kebocoran Gas, Dan Potensi Kebakaran Untuk Ruang Dapur Berbasis IoT

Atas.jpg
UiUx.jpg
Samping.jpg

Dibuat oleh:

  • Daffa Hanifah Muchsin
  • Tegar Fadhillah Nugroho Putra
  • Athallah Affan Marsha

Video Tugas Rancang: https://drive.google.com/drive/folders/15uUVG5Qz0v2eVHtjcYXjfouIfBdO0j5N?usp=share_link


Latar Belakang

Belakangan ini sering terjadi kecelakaan aktivitas yang terduga disebabkan ketika ingin melakukan pemantauan keadaan iklim di suatu tempat dalam ruangan, khususnya di dapur. Ruang tersebut ketika beroperasi memang terdapat manusia yang bekerja didalamnya, sehingga dapat memantau langsung terkait keamanan dan keadaan suhu maupun kelembaban baik secara langsung atau bantuan alat yang tersedia. Namun tak bisa dipungkiri bahwa ruang tersebut terkadang ditinggal oleh manusia pada waktu tertentu. Sehingga aktivitas pemantauan tidak dapat dilakukan, mengingat segala macam potensi bahaya dan resiko dapat terjadi pada waktu yang tidak dapat diprediksi. Sehingga dibutuhkan alat untuk melakukan pemantauan tanpa dibatasi waktu dan tempat.

Abstrak

Untuk mengatasi permasalahan tersebut diperlukan alat untuk pemantauan yang dapat diakses anytime, tanpa dibatasi jarak, dan dapat menampilkan data secara Real-Time. Pada kasus ini kami menggunakan basis IoT untuk menjalankannya selama 24 jam penuh. Alat IoT yang terintegrasi dengan Wi-Fi dan Cloud melalui Mikrokontroller ESP32 Doit Devkit-V1 yang sangat kompatibel, sehingga dapat dengan mudah didapatkan, dijalankan, dan diintegrasikan dengan ekosistem yang serba digital pada era revolusi 4.0 saat ini. Selain itu kami juga membuat Case yang kokoh dengan material PLA hasil 3D Print yang kemudian dilapisi oleh2 lapis cat. Cat pertama merupakan Cat Hi-Temp berwarna Silver yang diklaim dapat menahan suhu hingga 400 derajat celcius dan lapisan kedua dengan cat metallic premium berwarna Chilli Red agar posisi benda dapat terlihat dengan jelas. Kami juga menggunakan aplikasi mobile yang multi-platform dan firebase yang dapat mengirimkan data secara Real-Time dari Mikrokontoller ke perangkat mobile.

Supplies

DitonRed.jpg
DitonSilver.jpg
Plastik akrilik.jpg
jaring.jpg
Gluegun.jpg

Alat:

  1. Solder
  2. 3D Printer
  3. Gun Glue

Bahan:

  1. Timah
  2. Papan PCB Polos
  3. Cairan untuk Etching (H2O2, HCL, H2O/20:20:80)
  4. PLA Filament
  5. Pilox Diton Premium Red Chilli 400cc
  6. Pilox Diton Hi Temp Silver 150 cc
  7. Plastik Akrilik 6x10 cm
  8. Jaring pagar tanaman


Komponen:

  1. ESP32 DOIT Devkit V1
  2. DHT11–Temperature and Humidity Sensor
  3. MQ2 Gas Sensor
  4. KY-026 FLAME SENSOR
  5. Male Header 1 set
  6. Female Heder 2 set
  7. Kabel Jumper Female 9 buah
  8. Batterai Li-Po 1100 MAh 3.7 V

Software:

  1. Visual Studio Code-Flutter
  2. Arduino IDE
  3. Firebase
  4. EasyEDA
  5. Autodesk Fusion 360
  6. Cura

Skematik Dan Blok Diagram

Blockdiagram.drawio.png
fritzing.png

Penjelasan Masing-Masing Komponen

  • ESP32 DOIT Devkit V1: ESP32 DOIT Devkit V1 merupakan Mikrokontroller (termasuk di dalamnya I/O, Chip, dan Memori) bagian dari jenis Arduino IDE yang dapat dioperasikan secara wireless melalui bluetooth dan Wi-Fi, sehingga sangat mendukung basis IoT. 
  • DHT11–Temperature and Humidity Sensor: DHT11–Temperature and Humidity Sensor merupakan sensor suhu dan kelembaban melalui Data serial. Sensor ini dilengkapi dengan NTC khusus untuk mengukur suhu dan mikrokontroler 8-bit untuk menampilkan nilai suhu dan kelembaban sebagai data serial. Sensor ini juga dikalibrasi dari pabrik dan karenanya mudah dihubungkan dengan mikrokontroler lain. Sensor dapat mengukur suhu dari 0 °C hingga 50 °C dan kelembaban dari 20% hingga 90% dengan akurasi ±1 °C dan ±1%. 
  • MQ2 Gas Sensor: MQ2 Gas Sensor merupakan sensor yang dapat mendeteksi dapat mendeteksi atau mengukur gas seperti LPG, Alkohol, Propana, Hidrogen, CO, dan bahkan metana. Versi modul dari sensor ini dilengkapi dengan Pin Digital yang membuat sensor ini beroperasi bahkan tanpa mikrokontroler dan sangat berguna ketika Anda hanya mencoba mendeteksi satu gas tertentu. Ketika mengukur gas dalam ppm, pin analog harus digunakan, pin analog juga digerakkan oleh TTL dan bekerja pada 5V dan karenanya dapat digunakan dengan mikrokontroler yang paling umum. 
  • KY026: KY-026 FLAME SENSOR merupakan sensor yang dapat mendeteksi cahaya inframerah yang dipancarkan oleh api. Modul ini memiliki output digital dan analog dan potensiometer untuk menyesuaikan sensitivitas. Biasa digunakan dalam sistem deteksi kebakaran.
  • Kabel Jumper: berfungsi sebagai penghubung antara sensor dan dan ESP32 melalui pin Header yang tersambung ke PCB.

Untuk mengirim dan menerima data dari ESP32 ke Firebase Realtime, Anda perlu melakukan tiga hal utama:

  1. Menyiapkan proyek Firebase: Buat proyek Firebase dan dapatkan API key dan URL database Firebase Realtime.
  2. Mengkonfigurasi ESP32: Instal Library ESP32 Firebase dan konfigurasikan ESP32 untuk terhubung ke jaringan Wi-Fi dan ke database Firebase Realtime.
  3. Pengiriman: Pengiriman data ke database Firebase Realtime dengan menggunakan fungsi API Firebase, dan membaca data dari database Firebase Realtime dengan memonitor perubahan pada data.

Secara umum, ESP32 bisa terhubung ke Firebase Realtime melalui HTTP request dengan menggunakan biblioteka ESP32 Firebase yang tersedia.

Untuk menghubungkan Firebase ke aplikasi Flutter, Anda perlu melakukan beberapa langkah:

  1. Buat proyek Firebase: Buat proyek Firebase dan dapatkan API key dan URL database Firebase Realtime.
  2. Instal pustaka Flutter Firebase: Tambahkan dependensi Flutter Firebase ke file pubspec.yaml Anda dan jalankan perintah flutter pub get untuk menginstal pustaka.
  3. Konfigurasi Flutter: Konfigurasikan aplikasi Flutter untuk terhubung ke Firebase dengan menambahkan kode inisialisasi Firebase ke file main.dart.
  4. Menulis dan membaca data: Gunakan fungsi API Firebase untuk menulis dan membaca data dari database Firebase Realtime dalam aplikasi Flutter.

Secara umum, proses menghubungkan Firebase ke aplikasi Flutter membutuhkan pemahaman tentang Library Flutter Firebase dan bagaimana menggunakan API Firebase untuk menulis dan membaca data.

Mengupload Program Arduino IDE Ke ESP32

Berikut Link untuk mendapat program:

https://drive.google.com/drive/folders/1DxrbfN3HqWCV_9_mk0dy03iOeg0nLlLE?usp=share_link

Untuk membuat program ESP32 dengan sensor DHT11, KY-026, dan MQ-2 yang terhubung ke Firebase Realtime Database menggunakan Arduino IDE, Anda perlu melakukan beberapa langkah berikut:

  1. Instal library: Unduh dan instal library untuk sensor DHT11, KY-026, dan MQ-2, serta library Firebase Realtime Database melalui Arduino Library Manager atau mengunduh file library dari internet dan memasukkannya ke direktori library Arduino IDE.
  2. Persiapkan peralatan: Pastikan bahwa Anda memiliki ESP32 dan sensor DHT11, KY-026, dan MQ-2 yang terpasang dan terhubung dengan benar, serta memiliki akses ke Firebase Realtime Database.
  3. Buka Arduino IDE: Buka Arduino IDE dan buat proyek baru.
  4. Include library: Include library yang diperlukan pada program dengan menambahkan baris kode berikut:
c

Copy code
#include <DHT.h>
#include <KY-026.h>
#include <MQ-2.h>
#include <FirebaseArduino.h>

Inisialisasi sensor: Inisialisasi sensor DHT11, KY-026, dan MQ-2 dengan menambahkan baris kode berikut:

scss

Copy code
DHT dht(DHT_PIN, DHT_TYPE);
KY_026 flameSensor(KY_026_PIN);
MQ2 gasSensor(MQ2_PIN);

Konfigurasi Firebase: Konfigurasi Firebase dengan menambahkan baris kode berikut dan Baca data sensor: Baca data dari sensor DHT11, KY-026, dan MQ-2 dengan menambahkan baris kode berikut:

c

Copy code
#define FIREBASE_HOST "your-firebase-project.firebaseio.com"
#define FIREBASE_AUTH "your-firebase-secret"
void setup()
{ dht.begin();
flameSensor.begin();
gasSensor.begin();
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); } Baca data sensor: Baca data dari sensor DHT11, KY-026, dan MQ-2 dengan menambahkan baris kode berikut:
scss

Copy code
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
int flame = flameSensor.read();
int gas = gasSensor.readGasPercentage();
Firebase.setFloat("sensor/dht11/temperature", t);
Firebase.setFloat("sensor/dht11/humidity", h);
Firebase.setInt("sensor/ky-026/flame", flame);
Firebase.setInt("sensor/mq-2/gas", gas); }

Upload program: Upload program ke ESP32 dengan menggunakan tombol upload pada Arduino IDE.


Mebuat Database Di Firebase-realtime Database

Firebase.png

Untuk membuat Firebase Realtime Database, Anda perlu melakukan beberapa langkah berikut:

  1. Daftar Firebase: Buat akun Firebase melalui halaman web Firebase dan masuk ke Console Firebase.
  2. Buat proyek Firebase: Klik tombol "Create a project" dan isi informasi yang dibutuhkan untuk membuat proyek baru.
  3. Buka database Firebase Realtime: Buka halaman database Firebase Realtime dari menu hamburger di pojok kiri atas Console Firebase.
  4. Konfigurasi database Firebase Realtime: Pilih opsi Realtime Database dan atur aturan kebijakan database untuk memastikan bahwa data yang diterima dan dikirim hanya dapat dibaca dan ditulis oleh aplikasi yang sah.
  5. Tambahkan data: Klik tombol "Start collection" dan tambahkan data ke database Firebase Realtime dengan mengklik tombol "Add document". Anda dapat menambahkan data dalam bentuk JSON atau menggunakan formulir sederhana untuk memasukkan data.

Setelah mengikuti langkah-langkah ini, Anda akan memiliki database Firebase Realtime yang siap digunakan. Anda dapat mengirim dan menerima data dari aplikasi Anda ke database Firebase Realtime dengan menggunakan API Firebase.

Menjalankan Program Flutter Di Visual Studio Code

Flutter.png
UiUx.jpg

Berikut Link untuk mendapatkan program:

https://drive.google.com/drive/folders/1Blzv9N4QJKNG_DTxfp235QuWzIUo5SUI?usp=share_link

Untuk debug aplikasi Flutter menggunakan Visual Studio Code, Anda perlu melakukan beberapa langkah berikut:

  1. Dowloah seluruh file pada GDrive kemudian jadikan dalam satu folder
  2. Instal ekstensi Dart dan Flutter: Buka Visual Studio Code dan instal ekstensi Dart dan Flutter melalui Visual Studio Code Marketplace.
  3. Buka proyek Flutter: Buka proyek Flutter yang ingin Anda debug.
  4. Buat file launch.json: Buka folder ".vscode" dalam proyek Flutter dan buat file baru dengan nama "launch.json". Ini akan mengkonfigurasi perintah debug yang digunakan Visual Studio Code.
  5. Konfigurasi perintah debug: Tambahkan perintah debug ke file launch.json yang baru dibuat. Ini akan memastikan bahwa Visual Studio Code mengetahui bagaimana melakukan debug pada aplikasi Flutter.
  6. Mulai debug: Klik ikon depan belakang di sisi kiri bawah Visual Studio Code untuk membuka panel Debug. Pilih perintah debug yang sudah dikonfigurasikan dari daftar drop-down dan klik tombol "Start Debugging".
  7. Pilih proses debug: Setelah proses debug dimulai, Anda akan melihat daftar proses yang dapat didebug. Pilih proses yang sesuai dengan aplikasi Flutter yang ingin Anda debug dan klik tombol "Attach".
  8. Set breakpoint: Set breakpoint pada baris kode yang ingin Anda debug. Ini akan memastikan bahwa eksekusi aplikasi berhenti pada baris kode yang ditentukan saat debug sedang berjalan.
  9. Anda dapat mendebugnya di browser, emulator, atau langsung ke perangkat mobile anda.

Dengan mengikuti langkah-langkah ini, Anda akan dapat melakukan debug aplikasi Flutter dengan sukses menggunakan Visual Studio Code. Anda dapat menggunakan fitur-fitur seperti watch, call stack, dan console untuk membantu Anda menganalisa dan memperbaiki masalah dalam aplikasi Flutter.

Mendesain PCB

31486.jpg
31488.jpg
buttomlay.png

Menyambungkan Rangakaian

31490.jpg
31491.jpg
  1. Pasangkan ESP32 pada PCB
  2. Pasangkan Flame Sensor pada PCB dan hubungkan pin Flame Sensor ke ESP32 :

VCC ke pin 3V3

GND ke GND

DO ke D13

3.Pasangkan MQ 2 Sensor pada PCB dan hubungkan pin Flame Sensor ke ESP32

VCC ke pin 3V3

GND ke GND

AO ke D34

4.Pasangkan DHT11 Sensor pada PCB dan hubungkan pin Flame Sensor ke ESP32 :

VCC ke pin 3V3

GND ke GND

DAT ke D4

5.Hubungkan Baterai Li-Po pada PCB dan hubungkan pada Pin VIn dan GND

Mendesain 3D

Untuk mendesain objek 3D menggunakan Fusion 360 dan mencetaknya dengan mesin 3D printing, Anda perlu melakukan beberapa langkah berikut:

  1. Buka Fusion 360: Buka Fusion 360 dan buat proyek baru.
  2. Mulai mendesain: Mulailah mendesain objek 3D yang diinginkan dengan menggunakan alat-alat modeling seperti sketch, extrude, revolve, dan lain-lain.
  3. Periksa model: Periksa model Anda untuk memastikan bahwa model tersebut memiliki ukuran dan bentuk yang sesuai dengan apa yang Anda inginkan.
  4. Tambahkan detail: Tambahkan detail seperti alur, lubang, dan lain-lain sesuai dengan kebutuhan Anda.
  5. Ekspor model: Ekspor model Anda ke format STL atau format lain yang didukung oleh mesin 3D printing Anda.
  6. Persiapkan mesin 3D printing: Persiapkan mesin 3D printing Anda dengan memasang material dan mengkonfigurasi software mesin 3D printing.
  7. Cetak model: Impor model yang diekspor dari Fusion 360 ke software mesin 3D printing dan lakukan proses cetak.
  8. Selesaikan: Setelah proses cetak selesai, Anda dapat mengeluarkan objek 3D yang sudah jadi dan membersihkan sisa material yang belum terpakai.

Dengan mengikuti langkah-langkah ini, Anda akan dapat membuat desain 3D menggunakan Fusion 360 dan mencetaknya dengan mesin 3D printing.

Proyek ini kami menggunakan material PLA, PLA memiliki karakteristik diantaranya:

Material PLA (Polilaktik Asam) memiliki beberapa kelebihan, di antaranya:

  1. Ramah lingkungan: PLA adalah bahan biodegradabel dan ramah lingkungan, sehingga tidak merusak lingkungan setelah dibuang.
  2. Mudah dicetak: PLA memiliki viskositas yang lebih rendah dibandingkan dengan bahan cetak lainnya, sehingga mudah dicetak dan memiliki hasil cetak yang baik.
  3. Stabil warna: PLA memiliki stabilitas warna yang baik dan memiliki pilihan warna yang banyak.
  4. Kekuatan: Meskipun tidak sekuat ABS, PLA memiliki kekuatan yang cukup untuk beberapa aplikasi.



Pengecatan Lapisan Pertama

31493.jpg
DitonSilver.jpg

Pada pengecatan ini, kami menggunakan cat Pilox Diton Hi Temp Silver 150 cc yang diklaim dapat tahan hingga suhu 400 derajat Celcius, sehingga dapat membuat alat ini cocok untuk bertahan pada penempatan seperti dapur yang memiliki suhu yang tinggi. Biarkan hingga mengering selama 24 jam.

Pengecatan Lapisan Kedua

31492.jpg
  • Pilox Diton Premium Red Chilli 400cc berwaran metalik untuk memberi kejelasan visual terkait keberadaan alat tersebut. Biarkan hingga mengering selama 24 jam.

Pemasangan Jaring

31495_0.jpg

Potong jaring tadi:

  • 1 buah 5x3 cm
  • 1 buah 4x3 cm

Kemudian rekatkan di tutup Casing dengan Gun Glue

Finishing Alat

31497.jpg
31498.jpg
Atas.jpg
  • Potong plastik akrilik seukuan 10x4 cm
  • Letakkan sensor seperti gambar di atas

Hasil Pengujian Dan Kesimpulan & Saran

Screenshot 2023-02-02 161433.png

Kesimpulan

Berdasarkan hasil percobaan tersebut, alat tersebut dapat bekerja sebagaimana semestinya. Api dan Gas yang menjadi objek dapat terdeteksi, maupun Suhu dan Kelembaban data tersebut dapat tampil melalui aplikasi Mobile.

Saran

Alat ini seharusnya dilengkapi dengan alarm atau buzzer agar pengguna dapat diberi peringatan secara langsung apabila alat ini mendeteksi api ataupun gas, selain itu pada aplikasi Flutter dapat ditambahkan dengan fitur notifikasi, dimana notifikasi ini dapat berupa pesan yang tertuju ke aplikasi pada smartphone pengguna sehingga ketika pengguna jauh atau tidak berada di rumah atau ruangan yang dipasangi alat ini, pengguna dapat menyadarinya melalui notifikasi yang dikirim apabila mendeteksi gas atau api. Terakhir pada aplikasi tersebut terdapat fitu penambahan alat dan penambahan akun, sehingga pengguna dapat memonitoring lebih dari satu alat.

Daftar Pustaka

  • Alexander Kossiakoff, Samuel J. Seymour, David A. Flanigan, Steven M. Biemer (2020). SYSTEMS
  • ENGINEERING PRINCIPLES AND PRACTICE. Hoboken, NJ: John Wiley & Sons.Bryden, Douglas (2014). CAD and Rapid Prototyping for product Design. London, UK: Laurence King Publishing.
  • Neil Cameron (2021). Electronics Projects with the ESP8266 and ESP32_ Building Web Pages, Applications, and WiFi Enabled Devices. Edinburgh: Apress.
  • Vedat Ozan Oner (2021). Developing IoT Projects with ESP32: Automate your home or business with inexpensive Wi-Fi devices. Birmingham: Packt Publishing.
  • William H. Hayt, Jr., Jack E. Kemmerly, Jamie D. Phillips, and Steven M. Durbin (2018). Engineering Circuit Analysis. New York, NY 10121: McGraw-Hill Higher Education.
  • Flutter documentation | Flutter