Selasa, 19 April 2022

Detektor Kebakaran Menggunakan Node Mcu Dengan Alarm Dan Notifikasi Pesan Telegram

Detektor Kebakaran Menggunakan Node Mcu 
Dengan Alarm Dan Notifikasi Pesan Telegram
Mata Kuliah Organisasi Dan Arsitektur Komputer
Prodi S1 Pendidikan Teknologi Informasi
Universitas Negeri Surabaya


Dosen Pengampu :
Aditya Prapanca

Disusun Oleh :
Kelompok 5B

Awwalia Arofatun Nikmah    (21050974030)
Irva Nuraida Lestari               (21050974032)
Moh. Rifki Darmawan           (21050974034)
Moh. Ginanjar Shomat I. S    (21050974052)


BAB I
PENDAHULUAN


1.1 Latar Belakang
Revolusi industri 4.0 merupakan salah satu alasan terjadinya perubahan dalam segala aspek kehidupan yang dialami oleh manusia, terutama dalam aspek perkembangan teknologi manusia. Aspek yang mendominasi revolusi industri 4.0 adalah teknologi dan mesin. Banyak hal yang saat ini terjadi dipengaruhi oleh teknologi, baik dalam perkembangan media pembelajaran, perkembangan sistem perkantoran dan banyak hal lagi. Namun di balik kemudahan yang ditawarkan oleh teknologi, keamanan manusia satu-satunya yang tidak dapat dijamin oleh teknologi. Salah satu contoh permasalahan yang tidak dapat diselesaikan oleh teknologi adalah angka kebakaran di Indonesia.
Menurut KBBI, kebakaran merupakan suatu peristiwa terbalarnya sesuatu, baiku itu rumah, hutan dan sebagainya(KBBI, n.d.).  Sedangkan menurut Mustika dan kawan-kawan, kebakaran merupakan salah satu jenis bencana yang disebabkan oleh api dan dpat terjadi dimana saja dan kapan saja (Mustika et al., 2018). Kebakaran dapat terjadi dikarenakan banyak faktor, baik akibat perbuatan manusia maupun faktor alam. Mengutip dari data Dinas Penanggulangan Kebakaran dan penyelamatan Provinsi DKI Jakarta tercatat terdapar 5.043 kasus kebakaran pada tahun 2020 di Provinsi DKI Jakarta (Pamungkas, 2021). Dari data tersebut, kebakaran terjadi akibat gangguan listrik, kebocoran gas, lilin, punting rokok, membakar sampah dan faktor lainnya. 
 Oleh karena itu, penulis ingin mengmbangkan suatu alat menggunakan teknologi terbarukan untuk mengurangi angka kebakaran di Indonesia dengan cara kerja alat sebagai alat identifikasi dini terjadinya kebakaran di Indonesia.

1.2 Rumusan Masalah
Berdasarkan latar belakang tersebut dapat dirumuskan masalah berupa:
  1. Apa saja alat yang akan digunakan dalam pembuatan alat pendeteksi kebakaran?
  2.   Apa yang menjadi tolak ukur untuk alat pendeteksi kebakaran?
  3. Bagaimana kerja dari alat pendeteksi kebakaran?

1.3 Tujuan Laporan
Tujuan dibuatnya laporan ini adalah sebagai berikut:
  1. Untuk memenuhi tugas akhir semester mata kuliah arsitektur dan organisasi computer
  2. Untuk menguji keefektivan alat pendeteksi kebakaran

1.4 Manfaat penulisan
Manfaat dibuatnya laporan ini adalah
  1. Sebagai wadah pengetahuan mengenai kebakaran di Indonesia.
  2. Sebagai salah satu tindakan untuk mengurangi angka kebakaran yang terjadi di Indonesia


BAB II 
TINJAUAN PUSTAKA

2.1 Dasar Teori

NodeMCU adalah sebuah board elektronik yang berbasis chip ESP8266 dengan kemampuan menjalankan fungsi mikrokontroler dan juga koneksi internet (WiFi). Terdapat beberapa pin I/O sehingga dapat dikembangkan menjadi sebuah aplikasi monitoring maupun controlling pada proyek IOT. NodeMCU ESP8266 dapat diprogram dengan compiler-nya Arduino, menggunakan Arduino IDE.

2.2 Komponen
a. Node MCU
NodeMCU ESP8266


NodeMCU adalah sebuah platform IoT yang bersifat opensource. Terdiri dari perangkat keras berupa System On Chip ESP8266 dari ESP8266 buatan Espressif System, juga firmware yang digunakan, yang menggunakan bahasa pemrograman scripting Lua. Istilah NodeMCU secara default sebenarnya mengacu pada firmware yang digunakan dari pada perangkat keras development kit (Artiyasa, Marina, Aidah Nita Rostini, 2020).
NodeMCU adalah sebuah board elektronik yang berbasis chip ESP8266 dengan kemampuan menjalankan fungsi mikrokontroler dan juga koneksi internet (WiFi). Terdapat beberapa pin I/O sehingga dapat dikembangkan menjadi sebuah aplikasi monitoring maupun controlling pada proyek IOT. NodeMCU ESP8266 dapat diprogram dengan compiler-nya Arduino, menggunakan Arduino IDE. Bentuk fisik dari NodeMCU ESP 8266, terdapat port USB (mini USB) sehingga akan memudahkan dalam pemrogramannya. NodeMCU ESP8266 merupakan modul turunan pengembangan dari modul platform IoT (Internet of Things) keluarga ESP8266 tipe ESP-12. Secara fungsi modul ini hampir menyerupai dengan platform modul arduino, tetapi yang membedakan yaitu dikhususkan untuk “Connected to Internet“ .


b. Flame Sensor
 
Flame sensor

Flame sensor merupakan sensor yang mempunyai fungsi sebagai pendeteksi nyala api yang dimana api tersebut memiliki panjang gelombang antara 760nm – 1100nm. Sensor ini menggunakan infrared sebagai tranduser dalam mensensing kondisi nyala api.
Cara kerja sensor ini yaitu dengan mengidentifikasi atau mendeteksi nyala api dengan menggunakan metode optik. Pada sensor ini menggunakan tranduser yang berupa infrared (IR) sebagai sensing sensor. Tranduser ini digunakan untuk mendeteksi akan penyerapan cahaya pada panjang gelombang tertentu.
Yang dimana memungkinkan alat ini untuk membedakan antara spectrum cahaya pada api dengan spectrum cahaya lainnya seperti spectrum cahaya lampu.

c. LED
 
LED

LED merupakan lampu terbaru yang merupakan sumber cahaya yang efisien energinya. Ketika lampu LED memancarkan cahaya nampak pada gelombang spektrum yang sangat sempit, mereka dapat memproduksi “cahaya putih”. Hal ini sesuai dengan kesatuan susunan merah-biruhijau atau lampu LED biru berlapis fospor. Lampu LED bertahan dari 40.000 hingga 100.000 jam tergantung pada warna. Walaupun masih dalam masa perkembangan, teknologi lampu LED sangat cepat mengalami kemajuan dan dapat menjadi lampu penangkap ikan yang lebih efisien.
LED adalah salah satu jenis dioda yang memiliki 2 kutub yaitu anoda dan katoda. Dalam hal ini LED akan menyala bila ada arus listrik mengalir dari anoda menuju katoda. Karena Pemasangan kutub LED tidak boleh terebalik karena apabila terbalik kutubnya maka LED tersebut tidak akan menyala.

d. Buzzer
 
Buzzer

Buzzer merupakan komponen pembangkit suara. Buzzer membawa sinyal elektrik dan mengubahnya kembali menjadi getaran untuk membuat gelombang suara. Buzzer menghasilkan getaran yang hampir sama dengan yang dihasilkan oleh mikrofon yang direkam pada tape, CD dan lain-lain. Dalam setiap sistem penghasil suara, penentuan kualitas suara terbaik tergantung dari buzzer. Sistem pada buzzer adalah suatu komponen yang membawa sinyal elektronik, menyimpannya dalam CD, tapes dan DVD, lalu mengembalikannya lagi ke dalam bentuk suara aktual yang dapat kita dengar. Berikut adalah gambar buzzer.


e. Breadboard
 
Breadboard 

Breadboard Arduino adalah sejenis papan roti yang biasanya digunakan untuk membuat prototype rangkaian elektronik. Beberapa orang kadang menyebutnya project board atau bahkan  protoboard (prototype board). Pada dasarnya breadboard adalah board yang digunakan untuk membuat rangkaian elektronik tanpa harus merepotkan pengguna untuk menyolder.
Biasanya papan breadboard ini digunakan untuk membuat rangkaian elektronik sementara untuk tujuan uji coba atau prototype.
Salah satu kelebihan tersendiri dari penggunaan breadboard adalah komponen-komponen yang telah dirakit tak akan rusak dan mudah untuk dibongkar pasang. Ini karena papan breadboard merupakan papan tanpa solder (solderless).

f. Kabel Jumper
Kabel jumper

 
Kabel jumper adalah kabel elektrik yang memiliki pin konektor di setiap ujungnya dan memungkinkanmu untuk menghubungkan dua komponen yang melibatkan Arduino tanpa memerlukan solder. Biasanya kabel jamper digunakan pada breadboard atau alat prototyping lainnya agar lebih mudah untuk mengutak-atik rangkaian. Konektor yang ada pada ujung kabel terdiri atas dua jenis yaitu konektor jantan (male connector) dan konektor betina (female connector).
Pada dasarnya semua fungsi kabel jumper itu sama. Tidak ada fungsi khusus untuk tipa warna. Perbedaan warna tersebut hanya untuk memudahkan kamu saat membuat rangkaian.



BAB III
PEMBAHASAN


3.1 Penjelasan simulasi
Rangkaian Simulasi


Penjelasan 1 : cari dan rangkai komponen sesuai gambar diatas. Setelah komponen selesai dirakit masukkan program yang telah dibuat ke dalam Arduino
Penjelasan 2 : Program yang telah dimasukkan dalam Arduino akan membuat arduino aktif. Adapun penjelasannya yaitu pin pada Arduino merupakan tempat menyambung kabel jumper antara pin Arduino dan perangkat imput dan output yang dihubungkan dengan breadboard. Selanjutnya menghubungkan program yang ditulis dengan thinger.io. Apabila terdapat api maka akan berbunyi alarm, dan akan mengirim pesan notifikasi pada email/thinger.io. serta tambahan lampu led untuk melihat apakah Arduino terhubung dengan wifi atau tidak.  

3.2 Program
#include <ThingerESP8266.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#define USE_ARDUINO_INTERRUPTS false

//konfigurasi untuk Thinger IO
#define USERNAME "dwihapsari"
#define DEVICE_ID "Deteksi_Kebakaran"
#define DEVICE_CREDENTIAL "Y0G5IWGrf3-M"

//buat variabel untuk thinger IO
ThingerESP8266 thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL);

//konfigurasi wifi
const char* ssid = "hapsari";
const char* password = "11111111";

String kondisi = "";

#define FLAME_PIN 5 //pin D1
#define BUZZER_PIN 2 //pin D4
#define LED_PIN 4 //pin D2

//konfigurasi millis, sbg pengganti delay
Unsigned long previousMillis = 0;
const long interval = 3000;

void setup(){
  Serial.begin(9600);
  pinMode(FLAME_PIN, INPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  pinMode(LED_PIN, OUTPUT);

  //koneksi wifi
  WiFi.begin(ssid, password);
  //cek koneksi wifi
  while(WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    digitalWrite(LED_PIN, LOW);
  }

  //apabila terkoneksi
  digitalWrite (LED_PIN, HIGH);
  //hubungkan nodemcu ke thinger io
  thing.add_wifi(ssid, password);

  //data yang akan dikirim ke thinge.io
  thing["Dataku"] >> [] (pson & out)
  {
    out["kondisi"] = kondisi;
  };
}

void loop(){
  unsigned long currentMillis = millis(); //baca waktu millis saat ini
  if(currentMillis - previousMillis >= interval)
  {
      //update previousMillis
      previousMillis = currentMillis;

      //baca nilai sensor api/ flamesensor
      int api = digitalRead(FLAME_PIN);
      if(api == 0)
      {
        digitalWrite(BUZZER_PIN, HIGH);
        kondisi = "Ada Api!";
        //kirim email
        thing.call_endpoint("Deteksi_Api");
      }
      else
      {
        digitalWrite(BUZZER_PIN, LOW);
        kondisi = "Aman";
      }
    thing.handle(); //untuk memicu koneksi nodemcu ke thinger io
  }
}

Penjelasan:

1. #include <ThingerESP8266.h>
Penjelasan : Menginclude Library thinger.io
2. #include <ESP8266WiFi.h>
Penjelasan : Menginclude library WiFi untuk menguji apakah program sudah connect dengan wifi atau tidak yang ditentukan oleh hidup atau tidaknya lampu LED.
3. #define USERNAME “koper”
Penjelasan : konfigurasi Thinger.io dengan username
4. #define DEVICE_ID “”
Penjelasan : konfigurasi Thinger.io dengan device_id
5. #define DEVICE_CREDENTIAL “”
Penjelasan : konfigurasi Thinger.io dengan device_credential
6. ThingerESP8266 Thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL);
Penjelasan : variable untuk Thinger.io menggunakan username, device id, dan device predential.
7. Const char* ssid = “”
Penjelasan : konfigurasi wifi dengan ssid wifi
8. Const char* password = “”
Penjelasan : konfigurasi wifi dengan password wifi
9. String kondisi = “”;
Penjelasan : variable untuk kondisi deteksi api
10. #define FLAME_PIN 5 //pin D1
Penejelasan : mengidentifikasikan letak sensor api yang berada pada pin D1 yang bernilai 5.
11. #define BUZZER_PIN 2 //pin D4
Penjelasan : mengidentifikasikan letak buzzer yang berada pada pin D4 yang bernilai 2.
12. #define LED_PIN 4 //pin D2
 Penjelasan : mengidentifikasikan letak Lampu LED yang berada pada pin D2 yang bernilai 4.
13. Unsigned long previous millis = 0
Penjelasan : Pengecekan millis sebelumnya
14. Const long interval = 3000; //3 detik 
Penjelasan : jeda pengecekan nilai sensor api setiap 3 detik
15. Void setup ()
Penjelasan : program yang dijalankan sekali saja Ketika board Arduino reset.
16. Serial.begin(9600);
Penjelasan : Nilai deteksi api yang nanti akan ditamplikan di serial monitor.
17. pinMode(FLAME_PIN, INPUT);
Penjelasan : Set pin untuk sensor api sebagai input
18. pinMode(BUZZER_PIN, OUTPUT);
Penjelasan : Set pin untuk buzzer sebagai output
19. pinMode(LED_PIN, OUTPUT);
Penjelasan : Set pin untuk lampu LED sebagai output
20. WiFi.begin(ssid, password);
Penjelasan : set koneksi WiFi menggunakan variable ssid dan password
21. while(WiFi.Status() != WL_CONNECTED)
Penjelasan : cek koneksi wifi, jika tidak terkoneksi kode mcu nya akan terus mencoba untuk koneksi
22. delay(500);
Penjelasan : semakin cepat semakin sulit sehingga diberi delay 0,5 detik sehingga dapat terhubung dengan baik.
23. digitalWrite(LED_PIN, LOW)
Penjelasan : lampu LED mati atau belum terkoneksi wifi
24. digitalWrite (LED_PIN HIGH)
Penjelasan : lampu LED hidup atau sudah terhubung ke wifi
25. thing.add_wifi(ssid, password);
Penjelasan : menghubungkan nodemcu ke thinger.io
26. thing[“Dataku”] >> [](pson & out)
Penjelasan : mengirm data ke dalam thinger.io
27. out[“kondisi”] = kondisi;
Penjelasan : data yang akan dikeluarkan untuk diteruskan ke thinger.io yaitu variable kondisi
28. void loop ()
Penjelasan : Program yang dijalankan berulang ulang oleh Arduino secara berkala.
29. unsigned long currentmillis = millis();
penjelasan : membaca waktu millis saat ini.
30. If(currentMillis – previousMillis >= interval)
Penjelasan : jika waktu millis saat ini dikurangi waktu sebelumnya nilainya lebih besar dari 3000 / 3 detik
31. previousMillis = currentMillis;
penjelasan : update waktu millis sebelumnya sama dengan millis saat ini.
32. int api = digitalRead(FLAME_PIN);
Penjelasan :  membaca nilai sensor api secara digital (0/1) dari pin sensor api
33. if(api == 0)
Penjelasan : jika api sama dengan 0 maka akan dianggap ada api
34. digitalWrite(BUZZER_PIN, HIGH);
Penjelasan : apabila ada api maka buzzer akan menyala/berbunyi
35. kondisi =”Ada Api”;
Penjelasan : variabel kondisi apabila terdeteksi api
36. Else 
Penjelasan : jika tidak bertemu api
37. digitalWrite(BUZZER_PIN, LOW);
Penjelasan : apabila tidak ada api buzzer akan mati/tidak berbunyi.
38. Kondisi =”Aman” 
Penjelasan : variabel kondisi jika tidak terdeteksi api
39. thing.handle();
Penjelasan : untuk memicu koneksi nodemcu  ke thinger.io yang akan diulang terus menerus agar tetap terhubung

Program ketika mendeteksi Api

Lampu akan menyala dan buzzer akan berbunyi ketika flame sensor mendeteksi api.

BAB IV
PENUTUP


4.1 Kesimpulan
Berdasarkan pembuatan proyek akhir di atas dapat ditarik kesimpulan sebagai berikut:
  1. Salah satu jenis Mikrokontroler Arduino yaitu Node MCU dapat digunakan sebagai deteksi kebakaran dengan merangkai beberapa komponen seperti flame sensor, LED, dan Buzzer 5V.
  2. Sistem kerja dari detektor kebakaran ini adalah flame sensor akan mendeteksi kebakaran dan buzzer akan berbunyi, kemudian akan mengirimkan pesan ke nomor telegram yang sudah dimasukan di thinger.io.
4.2 Saran
Saran yang dapat diberikan untuk proyek ini  adalah sebagai berikut:
  1. Perlu penyempurnaan lebih lanjut untuk setiap komponen
  2. Dibutuhkannya wadah yang sesuai agar detektor kebakarn ini mudah ditempatkan dimana saja, dan mudah dijangkau.

DAFTAR
PUSTAKA


KBBI. (n.d.). Kebakaran. https://kbbi.kemdikbud.go.id/entri/kebakaran

Mustika, S. W., Wardani, R. S., & Prasetio, D. B. (2018). Penilaian Risiko Kebakaran Gedung Bertingkat. PENILAIAN RISIKO KEBAKARAN GEDUNG BERTINGKAT Sika, 13(1), 18–25. https://jurnal.unimus.ac.id/index.php/jkmi/article/view/3440

Pamungkas, B. (2021). KEJADIAN KEBAKARAN DI DKI JAKARTA TAHUN 2020. https://statistik.jakarta.go.id/kejadian-kebakaran-di-dki-jakarta-tahun-2020/



Tidak ada komentar:

Posting Komentar