SISTEM MONITORING SUHU RUANG BERBASIS IOT

Sistem Monitoring Suhu Ruang Berbasis IoT  

 Giga Fajar Septanto1, Nisrina Mayla Wibowo2
Program Studi D-3 Teknik Elektronika, Politeknik Negeri Semarang
Jl. Prof. H. Soedarto, SH, Tembalang, Semarang, Indonesia

1 gigafajar26@gmail.com

2nisrinamayla18@gmail.com

Abstrak - Suhu ruangan memiliki peran penting dalam menciptakan fungsi ruangan yang optimal. Oleh karena itu suhu ruangan penting untuk dijaga sesuai dengan kegunaannya. Suhu ruangan standar bagi manusia akan menyebabkan manusia tersebut dapat beraktivitas dengan baik.  Tujuan dari pembuatan sistem monitoring suhu ruang adalah untuk menciptakan alat yang dapat mengatur suhu ruangan agar tetap stabil serta dapat memahami cara kerja alat tersebut. Tahapan dari pembuatan sistem monitoring suhu ruang yaitu melakukan studi literatur dengan melakukan kajian berdasarkan data yang relevan dari sumber-sumber yang ada. Selanjutnya dilakukan perancangan alat dengan proses menyiapkan komponen yang dibutuhkan, membuat diagram alir, membuat diagram skematik, menyusun program, perangkaian, dan uji coba. Sistem ini menggunakan Node MCU ESP 8266 sebagai pemroses. Cara kerja alat ini adalah dengan mendeteksi suhu ruang, ketika suhu telah di atas 28°C maka kipas akan menyala dan ketika di bawahnya akan mati. Namun kipas hanya akan menyala ketika di dalam ruangan terdapat orang, begitu juga dengan nyala lampu. Lalu melalui website dapat dipantau suhu, kelembapan, dan kondisi ruangan berupa nyala lampu dan kipas. Berdasarkan uji coba kesimpulan bahwa sistem monitoring suhu ruang ini dapat bekerja sesuai yang diharapkan.

Kata kunci :  Suhu, Kelembapan, NodeMCU ESP8266, Iot

Abstract - Room temperature has an important role in creating optimal room function. Therefore it is important to maintain the room temperature according to its use. Standard room temperature for humans will cause these humans to be able to move properly. The purpose of making a room temperature monitoring system is to create a tool that can regulate room temperature so that it remains stable and can understand how the tool works. The stages of making a room temperature monitoring system are conducting a literature study by conducting a study based on relevant data from existing sources. Furthermore, the design of the tool is carried out by the process of preparing the required components, making flowcharts, making schematic diagrams, compiling programs, assembling, and testing. This system uses NodeMCU ESP 8266 as the processor. The way this tool works is by detecting the room temperature, when the temperature is above 28°C the fan will turn on and when it is below it will turn off. But the fan will only turn on when there are people in the room, as well as the lights. Then through the website you can monitor temperature, humidity, and room conditions in the form of lights and fans. Based on the trial, the conclusion is that this room temperature monitoring system can work as expected..

Keywords: Temperature, Humidity, NodeMCU ESP8266, Iot

I.     PENDAHULUAN

1.1     LATAR BELAKANG

Suhu ruangan penting untuk dijaga sesuai dengan penggunaannya, misalnya suhu ruang penyimpanan obat, ruang penyimpanan alat kesehatan, ruang server, termasuk tempat tinggal. Suhu ruangan yang baik akan menyebabkan fungsi ruangan tersebut menjadi optimal. Suhu ruangan standar bagi manusia akan menyebabkan manusia tersebut dapat beraktivitas dengan baik. Oleh sebab itu, perlu dilakukan pemantauan suhu ruangan. Salah satu upaya untuk mewujudkannya adalah dengan menggunakan kipas angin untuk menjaga sirkulasi udara dalam ruangan sehingga suhu ruangan optimal dapat tercapai. Kipas angin tersebut dikontrol menggunakan mikrokontroler NodeMCU ESP8266 agar bekerja pada suhu yang telah ditentukan. Lalu agar dapat dipantau dari jarak jauh, suhu ruangan yang terdeteksi dan kondisi kipas angin ditampilkan pada website yang telah dibuat.

1.2     RUMUSAN MASALAH

Dari latar belakang tersebut diperoleh rumusan masalah sebagai berikut:

1.     Sensor apa yang digunakan pada projek akhir ini?

2.      Bagaimana cara kerja projek akhir yang sudah dibuat?

1.3    TUJUAN

Tujuan dari pembuatan sistem monitoring ini adalah sebagai berikut:

1.      Membuat alat yang dapat mengatur suhu ruangan agar tetap stabil.

2.      Memahami cara kerja alat yang telah dibuat.

1.4 BATASAN MASALAH

Pada projek akhir yang kami rancang terdapat beberapa batasan masalah :

1.      Website masih local host.

2.      Tidak dapat diatur dengan saklar mekanis karena semua dikontrol secara otomatis.

2.      Tidak dapat mengontrol kecepatan pendingin.

II.     TINJAUAN PUSTAKA

Penjelasan dan uraian teori penunjang yang digunakan dalam membuat alat ini diperlukan untuk mempermudah pemahaman tentang cara kerja rangkaian maupun dasar-dasar perencanaan pembuatan alat.

A. Sensor DHT11

Sensor DHT11 adalah module sensor yang berfungsi untuk mensensing objek suhu dan kelembaban yang memiliki output tegangan analog yang dapat diolah lebih lanjut menggunakan mikrokontroler. Module sensor ini tergolong kedalam elemen resistif seperti perangkat pengukur suhu seperti contohnya yaitu NTC. Kelebihan dari module sensor ini dibanding module sensor lainnya yaitu dari segi kualitas pembacaan data sensing yang lebih responsif yang memliki kecepatan dalam hal sensing objek suhu dan kelembaban, dan data yang terbaca tidak mudah terinterverensi. [1]

Sensor DHT11 pada umumya memiliki fitur kalibrasi nilai pembacaan suhu dan kelembaban yang cukup akurat dengan kemampuan mengukur suhu 0°C – 50°C ±1°C dan kelembapan 20% – 90% ±1%. Sensor ini digunakan untuk mendeteksi suhu ruangan. Berikut adalah gambar sensor DHT11, dapat dilihat pada Gambar 1.

Gambar 1. Sensor DHT11

B.   Sensor Ultrasonik

Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran fisis (bunyi) menjadi besaran listrik dan sebaliknya. Cara kerja sensor ini didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu. Disebut sebagai sensor ultrasonik karena sensor ini menggunakan gelombang ultrasonik (bunyi ultrasonik). [2]

Gambar 2. Sensor ultrasonik

C.   NodeMCU ESP8266

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 deprogram 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“. [3]

Gambar 3. NodeMCU ESP8266

D.   Lampu LED

Lampu LED yang digunakan berdaya 5W yang menyala ketika di dalam ruang terdapat orang. Mendapat catu daya 220 VAC dengan kontrol relay.

Gambar 4. Lampu LED

E.   Kipas Angin DC

Bekerja dengan kontrol relay pada suhu di atas suhu ruang. Berfungsi menjaga sirkulasi udara dalam ruang.

Gambar 5. Kipas angin DC

F.  Website Node-Red

Node-RED adalah suatu alat pemograman untuk menghubungkan perangkat-perangkat keras, API, dan layanan online dengan cara yang baru dan menarik. Node-RED memberikan editor berbasis browser yang memudahkan pengguna untuk menghubungkan flow dengan penggunaan node yang luas di dalam palette yang dapat langsung diterapkan dengan satu klik.

Gambar 6. Tampilan dashboard Node-Red

G.   Webcam

Webcam adalah kependekan dari web camera yang merupakan perangkat kamera digital untuk dihubungkan ke komputer atau laptop. Pada alat ini, webcam berfungsi untuk menangkap gambar dalam ruangan selain itu agar dapat memantau kerja lampu dan kipas apakah sudah bekerja sesuai dengan fungsinya

Gambar 7. Webcam

III.     PERANCANGAN ALAT

3.1   KOMPONEN YANG DIGUNAKAN

Masukan: sensor DHT11, sensor ultrasonic, webcam

Pemroses: NodeMCU ESP8266

Luaran: lampu LED, kipas angin DC, website

Lainnya: modul relay, terminal blok, papan sirkuit

3.2   DIAGRAM ALIR



3.3     DIAGRAM BLOK

3.4     DIAGRAM SKEMATIK

3.5     DIAGRAM PENGAWATAN

3.6     PROGRAM

#include <ArduinoJson.h>

#include <ESP8266WiFi.h>

#include <ESP8266HTTPClient.h>

#include <WiFiClient.h>

#include <DHT.h>

#include <PubSubClient.h>

WiFiClient espClient;

PubSubClient client(espClient);

#define e_echoPin1 D7 //echo pin 11

#define t_trigPin1 D8 //Trigger pin 10

#define e_echoPin2 D5 //echo pin 9

#define t_trigPin2 D6 //Trigger pin 8

#define Relay1 D0     //Pendingin

#define Relay2 D1     //Lampu

#define DEBUG_SW 1

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16,2);

long data_a=0,data_b=0;

int jumlah1=0, jumlah2=0;

int hasil = 0;

String kipas, lampu;

 

 

DHT dht(D4, DHT11);

 

const char* ssid = "gg";

const char* password = "qwertyuiop";

 

const char* mqtt_server = "192.168.43.206";

const char* serverName = "http://192.168.43.206:1880/update-sensor";

unsigned long lastTime = 0;

unsigned long timerDelay = 30;

 

#define sub1 "device1/reset"

#define pub1 "device1/reset/pub"

 

unsigned long lastMsg = 0;

#define MSG_BUFFER_SIZE  (50)

char msg[MSG_BUFFER_SIZE];

 

void ultra_read(int pin_t,int pin_e,long &ultra_time){

long time;

pinMode(pin_t,OUTPUT);

pinMode(pin_e,INPUT);

digitalWrite(pin_t,LOW);

delayMicroseconds(2);

digitalWrite(pin_t,HIGH);

delayMicroseconds(10);

digitalWrite(pin_t,LOW);

 

time=pulseIn (pin_e,HIGH);

ultra_time =  time / 29 / 2;

}

 

void setup_wifi() {

 

  delay(10);

  Serial.println();

  Serial.print("Connecting to ");

  Serial.println(ssid);

 

  WiFi.mode(WIFI_STA);

  WiFi.begin(ssid, password);

 

  while (WiFi.status() != WL_CONNECTED) {

    delay(500);

    Serial.print(".");

  }

 

  randomSeed(micros());

 

  Serial.println("");

  Serial.println("WiFi connected");

  Serial.println("IP address: ");

  Serial.println(WiFi.localIP());

}

 

void callback(char* topic, byte* payload, unsigned int length)

{

  Serial.print("Message arrived [");

  Serial.print(topic);

  Serial.print("] ");

  

  if (strstr(topic, sub1))

  {

    for (int i = 0; i < length; i++)

    {

      Serial.print((char)payload[i]);

    }

    Serial.println();

    // Tombol Reset Jumlah Orang

    if ((char)payload[0] == '1')

    {

      hasil = 0;

    }

  }

}

void reconnect() {

 

  while (!client.connected()) {

    Serial.print("Attempting MQTT connection...");

    if (client.connect("ESP8266_11")) {

      Serial.println("connected");

      client.subscribe(sub1);

    } else {

      Serial.print("failed, rc=");

      Serial.print(client.state());

      Serial.println(" try again in 5 seconds");

      delay(5000);

    }

  }

}

void setup() {

  Serial.begin(9600);

  lcd.init();

  lcd.backlight();

  pinMode(Relay1, OUTPUT);

  digitalWrite(Relay1, HIGH);

  pinMode(Relay2, OUTPUT);

  digitalWrite(Relay2, HIGH);

  setup_wifi();

  client.setServer(mqtt_server, 1883);

  client.setCallback(callback);

}

void loop() {

 

  if ((millis() - lastTime) > timerDelay) {

    if (!client.connected())

  {

    reconnect();

  }

  client.loop();

    if(WiFi.status()== WL_CONNECTED){

      WiFiClient client;

      HTTPClient http;

      http.begin(client, serverName);

ultra_read(t_trigPin1,e_echoPin1,data_a);delay(5);

ultra_read(t_trigPin2,e_echoPin2,data_b);delay(5);

Serial.print("da:");Serial.println(data_a);

Serial.print("db:");Serial.println(data_b);   

 

if(data_a<8 && jumlah1==0){jumlah1=1;

if(jumlah2==0){hasil = hasil+1;}

}

 

if(data_b<8 && jumlah2==0){jumlah2=1;

if(jumlah1==0){hasil = hasil-1;}

}

 

if(data_a>8 && data_b>8 && jumlah1==1 && jumlah2==1){

jumlah1=0, jumlah2=0;

}

Serial.print("Jumlah Orang: ");

Serial.print(hasil);

Serial.println(" ");

  

      float temperature = dht.readTemperature();

      float humidity = dht.readHumidity();

      int gas = analogRead(A0);

      String dataSend;

      //-------Json Command Goes Here----------

      StaticJsonDocument<128> doc;

 

      doc["api_key"] = "19489*jj)@41gj";

      doc["sensor"] = "Laboratorium Mikrokontroler 2";

      doc["value1"] = temperature;

      doc["value2"] = humidity;

      doc["value3"] = hasil;

      doc["value4"] = kipas;

      doc["value5"] = lampu;

 

      serializeJson(doc, dataSend);

      //---------------------------------------

      delay(100);      

      http.addHeader("Content-Type", "application/json");

      int httpResponseCode = http.POST(dataSend);

     

      Serial.print("HTTP Response code: ");

      Serial.println(httpResponseCode);

        

      http.end();

    }

    else {

      Serial.println("WiFi Disconnected");

    }

    float temperature = dht.readTemperature();

    

    if(hasil>=1 && temperature>=28){

    digitalWrite(Relay1, LOW);

    digitalWrite(Relay2, LOW);

    kipas= "HIDUP";

    lampu= "HIDUP";

  }

    if(hasil>=1 && temperature<28 ){

    digitalWrite(Relay1, HIGH);

    digitalWrite(Relay2, LOW);

    kipas= "MATI";

    lampu= "HIDUP";

  }

  if(hasil<1) {

    digitalWrite(Relay1, HIGH);

    digitalWrite(Relay2, HIGH);

    hasil=0;

    kipas= "MATI";

    lampu= "MATI";

  }

    if(hasil>=1) {

    digitalWrite(Relay2, LOW);

    lampu= "HIDUP";

  }

    lastTime = millis();

  }

}   

 

IV.   CARA KERJA

-   Sensor ultrasonik mendeteksi jumlah orang yang berada di ruangan. Ketika terdeteksi ada orang dalam ruangan maka lampu LED akan menyala.

-   Sensor DHT 11 mendeteksi suhu ruang setiap beberapa waktu. Saat suhu ruang berada di atas 28°C maka kipas akan menyala dan akan mati ketika suhu telah turun.

-     Jumlah orang, suhu, dan kelembapan dapat dipantau melalui website.

V.     KESIMPULAN

Setelah melakukan perancangan, pembuatan dan uji coba alat, maka didapatkan kesimpulan yaitu sebagai berikut:

1.    Alat ini dapat bekerja sesuai yang diharapkan yaitu mengatur suhu ruangan agar tetap stabil dengan menyalakan pendingin ketika suhu ruang telah tinggi.

2.   Alat ini bekerja dengan mendeteksi keberadaan orang dalam ruang. Ketika terdeteksi ada orang maka lampu akan menyala, dan ketika suhu telah di atas 28°C pendingin akan menyala. Sebagai pengatur suhu ruangan alat ini bekerja dengan menghidupkan dan mematikan pendingin agar suhu tetap stabil. Untuk dapat mengetahui kondisi ruangan berupa nyala lampu dan kipas dapat dipantau melalui website. Suhu dan kelembapan ruangan juga tertera pada website.

DAFTAR PUSTAKA

[1]         A. Faudin, “Cara mengakses sensor DHT11 menggunakan Arduino.” https://www.nyebarilmu.com/cara-mengakses-sensor-dht11/ (accessed Dec. 15, 2022).

[2]         “Cara Kerja Sensor Ultrasonik, Rangkaian, & Aplikasinya - Elang Sakti.” https://www.elangsakti.com/2015/05/sensor-ultrasonik.html (accessed Dec. 15, 2022).

[3]         N. H. L. Dewi, M. F. Rohmah, and S. Zahara, “Prototype smart home dengan modul nodemcu esp8266 berbasis internet of things(iot)”, Accessed: Dec. 15, 2022. [Online]. Available: http://repository.unim.ac.id/265/2/JURNAL%205.14.04.11.0.097%20NURUL%20HIDAYATI%20LUSITA%20DEWI.pdf

 

Lampiran: 

FILE POWER POINT

PROGRAM ARDUINO IDE

PROGRAM NODE-RED

JURNAL PDF

VIDEO SIMULASI ALAT

Komentar