24
BAB III PEMBAHASAN
3.1. Tinjauan Umum Alat
Alat yang penulis buat secara umum terdiri dari beberapa komponen perangkat keras (hardware), serta perangkat lunak (software) yang saling berubungan satu sama lain.
Komponen dalam alat ini meliputi NodeMCU ESP866 sebagai alat kendali utama alat ini. Input dari alat ini berupa sensor DS18B20 sebagai pembaca atau pengukur suhu ruangan dan sensor MQ-2 sebagai pendeteksi adanya asap di ruangan. Dan relay yang berfungsi seagai saklar otomatis dari kipas dan pompa air. Sedangkan outputnya dikirim dan ditampilkan pada web platform IoT yaitu Thinger.Io sebagai media informasi keadaan suhu dan asap ruangan, dan juga sebagai media kendali jarak jauh dari kipas dan pompa air. Selain itu terdapat juga komponen elektronika lain sebagai pendukung rangkaian sehingga alat berfungsi dengan baik.
Sensor-sensor akan dibaca oleh mikrokontroler yang kemudian dikirim melaui internet ke platform IoT Thinger.Io sehingga dapat menampilkan keadaan ruangan dari jarak jauh melalui internet. Kemudian untuk perintah untuk menyalakan kipas atau pompa air dapat melalui jarak jauh juga yaitu melalui platform IoT Thinger.Io tersebut.
3.2. Blok Diagram Alat
Sumber: Penulis
Gambar III.1. Blok Diagram Alat
Penjelasan dari blok diagram alat adalah sebagai berikut:
1. Input
Komponen input merupakan komponen masukan yang akan diproses. Komponen input ini terdiri dari:
a. Sensor DB18S20
Sensor ini berfungsi sebagai pembaca atau pengukur perubahan suhu ruangan.
b. Sensor MQ-2
Sensor ini berfungsi sebagai pendeteksi asap pada ruangan server.
2. Proses
Proses merupakan komponen utama yang berfungsi sebagai pengelola data yang diterima dari input yang kemudian dikirimkan ke output. Dalam proses ini penulis menggunaan NodeMCU V3 ESP8266.
3. Ouput
Output adalah keluaran yang didapat dari proses yang telah dijalankan. Output yang dihasilkan yaitu:
a. Platform Internet of Things (IoT)
Platform Internet of Things yang penulis pakai adalah Thinger.Io yang berfungsi sebagai interface data sekaligus pengendali jarak jauh menggunakan jaringan internet.
b. Relay
Relay berfungsi sebagai saklar untuk menghidupkan atau mematikan kipas dan pompa air yang dikendalikan melalui Platform internet of Things.
3.3. Skema Rangkaian Alat
Sumber: Penulis
Gambar III.2. Skema Rangkaian
Kaki kaki sensor DS18B20 dihubungkan pada pin input digital D2, pin VU, dan pin GND sesuai keterangan pada sensor tersebut. Yang masuk ke input digital D2 adalah kaki DQ dari sensor DS18B20 yang ditambahkan resistor 4,7k secara paralel dengan jalur 5V dari pin VU NodeMCU sebagai resistor pull-up.
Modul MQ-2 terdapat 3 pin yang digunakan yaitu pin A0, VCC, dan GND. Sesuai dengan namanya pin A0 dihubungkan dengan pin A0, pin VCC pada VU, kemudian
pin GND pada GND NodeMCU. Pin analog MQ-2 mengirimkan data ke pin analog NodeMCU untuk diolah lebih lanjut.
Pin pin modul Relay terdiri dari GND, IN1, IN2, dan VCC yang kemudian dihubungkan ke NodeMCU yaitu GND ke pin GND, IN1 ke pin D5, IN2 ke pin D6, lalu VCC ke pin VU pada NodeMCU.
3.4. Cara Kerja Alat
Cara kerja Alat Monitoring Suhu dan Asap Ruang Server adalah ketika alat sudah diberikan daya oleh adaptor sebesar 5v maka NodeMCU ESP8266 aktif dan akan mengoneksikan ke jaringan WiFi yang telah diatur sebelumnya untuk terhubung ke internet. Jika belum terhubung maka alat akan terus mencari WiFi yang telah diatur sampai terkoneksi.
Setelah alat dalam keadaan menyala, sensor akan memulai membaca nilai dari suhu dan indikasi adanya asap. Setiap perubahan yang diterima mikrokontroler dari sensor akan dikirimkan ke web platform Internet of Thing (IoT) Thinger.Io melalui koneksi WiFi yang memiliki koneksi internet. Secara realtime setiap 2 detik perubahan yang terjadi di ruangan dapat dipantau melalui web. Bila kondisi suhu ruangan melebihi 34°C maka tampilan interface pada Thinger.Io akan menampilkan warna merah yang mengindikasikan bahwa suhu ruangan server telah melampaui batas maksimum yang telah diatur. Lalu bila dalam ruangan terdeteksi terdapat asap yang mengindikasikan adanya kebakaran maka tampilan interface pada Thinger.Io akan menampilkan konsentrasi asap yang terdapat pada ruangan.
Dari Thinger.Io juga dapat melakukan perintah ke relay di ruangan untuk menyalakan kipas ketika suhu ruangan mengalami kenaikan sehingga diharapkan dapat mengatasi overheat pada ruangan server dari jarak jauh tanpa mendatangi lokasi
ruangan tersebut. Kemudian bisa juga melakukan perintah ke relay kedua di ruangan untuk menyalakan pompa air dan memadamkan api ketika konsentrasi asap terlalu tinggi sehingga dikhawatirkan kebakaran dapat menyebar ke ruangan lain karena sudah dipastikan komponen sudah rusak, atau jika konsentrasi asap tidak terlalu tinggi maka dapat sebagai peringatan untuk administrator ruangan untuk segera mengecek ruangan agar dapat menyelamatkan komponen server yang masih berfungsi tanpa menyalakan pompa air.
3.5. Flowchart Program
Sumber: Penulis
Gambar III.3. Flowchart Program
3.6. Konstruksi Sistem 3.6.1. Initialisasi
#include <ESP8266WiFi.h>
#include <ThingerESP8266.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 4
#define USERNAME "barayoga"
#define DEVICE_ID "suhutugasakhir"
#define DEVICE_CREDENTIAL "-@gFcbk7fS-m"
#define SSID "p"
#define password "salamini"
#define RELAY1_PIN 14
#define RELAY2_PIN 12
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
ThingerESP8266 thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL);
float celsius = 0;
String kondisi = "";
Pada blok kode ini dilakukan proses initialisasi untuk memasukkan library dari ESP8266WiFi yaitu library WiFi dari nodeMCU yang menggunakan ESP8266, library ThingerESP8266 yaitu library platform IoT untuk koneksi ke WiFi, library OneWire dan library DallasTemperature yaitu untuk sensor suhu DS18B20.
Kemudian definisikan pin pin yang akan dipakai oleh sensor-sensor pada NodeMCU yang terdiri dari sensor DS18B20 yang terhubung ke pin D2 pada NodeMCU yang memiliki nilai 4. Selanjutnya pin relay 1 ke pin D5 NodeMCU yang memiliki nilai 14 dan relay 2 ke D6 yang memiliki nilai 12.
3.6.2. Input void setup()
{
sensors.begin(); // memulai library DallasTemperature Serial.begin(9600);
pinMode(RELAY1_PIN, OUTPUT); // definisikan pin relay 1 menjadi pin output pinMode(RELAY2_PIN, OUTPUT); // definisikan pin relay 2 menjadi pin output
digitalWrite (RELAY1_PIN, HIGH); // perintah agar relay mati pada posisi awal digitalWrite (RELAY2_PIN, HIGH);
thing.add_wifi(SSID, password); //perintah untuk mengoneksikan WiFi
thing["Asap MQ-2"] >> outputValue(analogRead(A0));// membaca sensor MQ-2 thing["Suhu"] >> outputValue(celsius); //untuk output ke Thinger.Io
thing["Relay 1"] << digitalPin(RELAY1_PIN); //untuk input dari Thinger.Io thing["Relay 2"] << digitalPin(RELAY2_PIN);
thing["Kondisi"] >> outputValue(kondisi); //untuk output ke Thinger.Io
}
Penjelasan barisnya penulis tulis melalui komentar pada sketchnya.
3.6.3. Main Program
void loop() {
sensors.requestTemperatures(); //perintah membaca sensor DS18B20
celsius = sensors.getTempCByIndex(0); // perintah membaca nilai suhu Celsius if(celsius >= 32) //ketika suhu celsius lebihbesar sama dengan 32
{
digitalWrite(RELAY1_PIN, LOW); // maka relay1 akan menyala }
else {
digitalWrite(RELAY1_PIN, HIGH); //jika tidak relay1 tetap akan mati }
if(analogRead(A0) >= 800) //jika nilai MQ-2 lebih besar sama dengan 800 {
kondisi = "Ada Asap!!!"; // maka mengirimkan kondisi peringatan thing.call_endpoint("ada_asap"); // peringatan dikirim lewat Thinger.Io }
else {
kondisi = "Aman"; //jika tidak kondisi web tertulis Aman }
delay(1000); // perintah delay selama 1 detik
thing.handle(); // perintah untuk terkoneksi dengan Thinger.Io }
Pada main program dibuat kondisi dimana ketika suhu lebih dari atau sama dengan 32 derajat celsius maka relay1 atau kipas akan menyala otomatis, dan ketika konsentrasi asap lebih dari atau sama dengan 800 maka akan mengirim email peringatan.
3.6.4. Program Web IoT
Pada platform IoT Thinger.Io pertama-tama kita harus mendaftarkan akun. Lalu agar dapat terkoneksi ke Thinger.Io maka diperlukan beberapa hal yaitu USERNAME, DEVICE_ID, DEVICE_CREDENTIAL. USERNAME adalah nama akun yang dipakai saat pendaftaran akun Thinger.Io pertama kali. Kemudian DEVICE_ID dan DEVICE_CREDENTIAL didapat dengan menambahkan device ke dalam web Thinger.Io.
Sumber: Penulis
Gambar III.4. Menambahkan Device ke Thinger.Io Pada koding diperlukan pada saat initialisasi sistem, yaitu:
#define USERNAME "barayoga"
#define DEVICE_ID "suhutugasakhir"
#define DEVICE_CREDENTIAL "-@gFcbk7fS-m"
Kemudian pada dashboaard kita mengatur data sensor yang diperlukan, pada koding sistem diketik:
thing["Asap MQ-2"] >> outputValue(analogRead(A0));
thing["Suhu"] >> outputValue(celsius);
thing["Relay 1"] << digitalPin(RELAY1_PIN);
thing["Relay 2"] << digitalPin(RELAY2_PIN);
thing["Kondisi"] >> outputValue(kondisi);
Sumber: Penulis
Gambar III.5. Mengatur sensor Asap MQ-2
Sumber: Penulis
Gambar III.6. Mengatur sensor Suhu DS18B20
Sumber: Penulis
Gambar III.7. Mengatur Kondisi Asap
Kemudian berikut adalah tampilan output dari koding sistem yang tampil pada web platform IoT Thinger.Io.
Sumber: Penulis
Gambar III.8. Tampilan Ouput pada Thinger.Io
3.7. Hasil Percobaan
Berikut adalah hasil percobaan yang penulis lakukan tentang pembuatan alat monotoring suhu dan asap ruang server berbasis internet of things, terdapat tiga bagian yaitu:
3.7.1. Hasil Input
Tabel III.1. Pembacaan Sensor DS18B20
Suhu Kondisi
19 °C Terbaca
29 °C Terbaca
32 °C Terbaca
39 °C Terbaca
Sumber: Penulis
Pembacaan suhu oleh sensor DS18B20 cukup cepat dalam membaca perbedaan suhu yang terjadi, pada saat suhu ruangan normal bisa mendeteksi sebesar 29°C-34°C.
Kemudian saat suhu ruangan meningkat dengan memberi udara panas, sensor juga dapat membaca perubahan dengan cepat. Menandakan sensor dapat bekerja dengan baik dalam kondisi dingin maupun panas.
Tabel III.2. Pendeteksian Asap Sensor MQ-2
Jarak Kondisi
0-5 cm Terdeteksi
5-10 cm Terdeteksi
10-15 cm Terdeteksi
>15 cm Tidak Terdeteksi
Sumber: Penulis
Pada pembacaan sensor MQ-2 sensor tidak dapat mendeteksi asap yang terdapat lebih dari 15cm dari sensor jika sumber api ataupun asap tersebut hanya sedikit mengeluarkan konsentrasi asapnya. Membutuhkan konsentrasi asap yang tinggi hingga dapat terdeteksi oleh sensor MQ-2. Konsentrasi udara bersih dalam keadaan normal berkisar 400-500 jika dibaca oleh sensor MQ-2.
Tabel III.3. Percobaan Tombol On/Off Pompa dari WEB
Percobaan ke- Kondisi Delay
1 On 1 detik
2 Off 3 detik
3 On 2 detik
4 Off 4 detik
Sumber: Penulis
Kemudian hasil percobaan Tombol On Off pada Pompa yang terdapat di web IoT menunjukan hasil yang bagus dengan hanya memiliki delay berkisar 3 detik saja.
Delay yang terdapat di alat ini dikarenakan alat menggunakan koneksi internet untuk saling berkomunikasi jarak jauh. Selain itu, nodeMCU tidak dapat mengirimkan data terus menerus ke paltform IoT dikarenakan dapat mengakibatkan perangkat tersebut mengalami restart, sehingga penulis melakukan penambahan delay pada sistem untuk menghindari hal tersebut.
3.7.2. Hasil Output
Selanjutnya penulis melakukan percobaan ouput dalam hal berikut ini:
Tabel III.4. Percobaan Output ke Website IoT
Percobaan ke- Kondisi Web Delay
1 Menampilkan 3 detik
2 Menampilkan 3 detik
3 Menampilkan 2 detik
4 Menampilkan 2 detik
Sumber: Penulis
Percobaan ouput data sensor yang dikirimkan ke website IoT Thinger.Io cukup bagus, karena dapat menampilkan data suhu dan asap yang dibaca oleh alat dalam delay yang singkat.
Tabel III.5. Percobaan Output On/Off Kipas
Suhu Kondisi Kipas
32 °C Menyala
35 °C Menyala
40 °C Menyala
29 °C Mati
Sumber: Penulis
Percobaan perubahan suhu dengan on/off kipas menunjukan kondisi yang stabil sesuai keadaan yang telah dirancang.
Tabel III.6. Percobaan Notifikasi Email
Percobaan ke- Konsentrasi Asap Notifikasi Email
1 600 Tidak ada Email
2 800 Ada Email
3 1000 Ada Email
4 900 Ada Email
Sumber: Penulis
Notifikasi sudah sesuai dengan pengaturan yang dibuat yaitu ketika terdeteksi konentrasi asap lebih besar sama dengan 800 maka akan mengirim email ke email yang telah terdaftarkan.
3.7.3. Hasil Percobaan Keseluruhan
Berdasarkan percobaan input dan output dapat disimpulkan alat monitoring suhu dan asap ruang server berbasis Internet of Things dapat befungsi sesuai dengan keinginan dari penulis. Pembacaan dari sensor Suhu DS18B20 berhasil dan dapat dikirim ke web Thinger.Io, begitu juga sensor MQ-2 yang dapat mendeteksi adanya asap walaupun dengan jarak yang tidak terlalu jauh dari sensor tersebut tetapi sensor dapat mendeteksi dan mengirim ke web Thinger.Io. Lalu tombol on/off untuk menyalakan maupun mematikan pompa dapat berfungsi dengan baik saat dilakukan percobaan beberapa kali. Begitupun notifikasi email yang selalu berhasil didapatkan ketika keadaan sesuai seperti yang diatur sebelumnya.