fbpx
Logo Kecil Indobot
  • Pelatihan

    Belajar Mandiri

    Paket Elektronika Hebat
    Paket IoT Dasar Lanjutan
    Paket IoT Smart Farming
    Paket IoT Smart Home
    Paket IoT Smart City
    Paket IoT Smart Device
    Paket IoT Smart Monitoring

    Bootcamp

    IoT Master Class
    IoT Engineer Camp

    Kelas Zoom

    Belajar Desain PCB
    Reparasi Elektronika
    AI Computer Vision
    IoT Smart Metering
    IoT Smart City
    Belajar PLC HMI

    Sertifikasi

    Sertifikasi BNSP IoT
    Sertifikasi CertNexus
    Sertifikasi Lainnya
  • Program

    Program

    Afiliasi Komisi Menarik
    Promo Diskon Spesial
    Indobot Virtual Event
    Download Ebook

    Jasa IoT

    Jasa Buat Alat IoT Murah
    Jasa Arduino IoT Terbaik

    Bantuan

    Panduan Dasar
    Rekomendasi Kelas
    Cara Pembayaran

    Kerjasama

    Studi Independen Kemdikbud
    Digitalent PROA Kominfo
    KiDi IoT Antares Telkom
  • Perusahaan

    Tentang Kami

    Indobot Academy adalah salah satu brand yang menyediakan pelatihan dan training IoT dibawah naungan PT Ozami Inti Sinergi. PT Ozami Inti Sinergi adalah Badan Hukum yang berdiri pada dengan Nomor AHU-00802.AH.02.01-Tahun 2016.

    Kontak Kami

    Alamat : Jl. Affandi No 5, Kec. Depok Kab. Sleman, D.I Yogyakarta 55281

    No WA: 085731636408
    Email: office@indobot.co.id

    Daftar Karir

    Internship
    HR Generalist
    SPV Sales
    SPV Marketing
    Pengembang Kurikulum

    Review

    Ribuan orang sudah mereview layanan Indobot Academy.

  • Blog
Indobot Academy
  • Pelatihan
  • Program
  • Perusahaan
  • Blog
Menu
  • Pelatihan
  • Program
  • Perusahaan
  • Blog
Logo Kecil Indobot
Search
Close this search box.
Sertifikasi BNSP IoT Indobot Academy
Home Internet of Things Display

Pembersih Udara dalam Ruangan berbasis IoT

Indobot Academy by Indobot Academy
13/08/2021
in Display
Reading Time: 3 mins read
0
Pembersih Udara dalam Ruangan berbasis IoT
Share on FacebookShare on Twitter

Kondisi udara pada ruangan terkadang cukup kotor dikarenakan banyaknya aktivitas diruangan tersebut, untuk mengatasi hal itu pembersihan udara perlu dilakukan secara berkala. Kali ini kita akan mencoba membuat alat pembersih udara dalam ruangan yang dapat diopersikan melalui smartphone.

1. Alat / Bahan
  • Arduino IDE                                     Download disini
  • Library: Blynk                                  Download disini
  • Library: ESP8266                            Download disini
  • NodeMCU                                        1 Buah
  • Sensor MQ-2                                  1 Buah
  • Relay 1 channel                              1 Buah
  • Motor DC                                          1 Buah
  • Adapter 5V DC                                 1 Buah
  • Project Board                                  1 Buah
  • Kabel Jumper                                  Secukupnya
  • Smartphone                                     1 Buah

Untuk mendapatkan komponen elektronik di atas silahkan temukan disini.

2. Skema Rangkaian

Gambar Rangkaian Pembersih Udara dalam Ruangan berbasis IoT

Keterangan:

  • VU – VCC MQ-2, VCC Relay
  • GND – GND MQ-2, GND Relay
  • A0 – Pin Data MQ-2
  • D4 – Pin Data Relay
  • (+) 5V DC – Com Relay
  • (-) 5V DC – Kabel Motor DC 1
  • NO Relay – Kabel Motor DC 2
3. Layout Blynk

Keterangan:

  • Kalibrasi (LED)
    • Input V1
  • Kipas (LED)
    • Input V2
  • Konsentrasi Asap (Gauge)
    • Input V0, Low = 0, High = 1000
    • Label = /pin.#/ppm
    • Design Text = Red
  • Kipas (Button)
    • Input V3, Low = 0, High = 1
    • Mode = Switch
4. Langkah Kerja
  1. Siapkan alat dan bahan yang akan digunakan
  2. Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
  3. Buka software Arduino IDE yang telah terinstal pada laptop/komputer
  4. Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library 
  5. Ketikkan sketch program pada halaman Arduino IDE
  6. Sesuaikan Auth Tokens dengan proyek aplikasi Blynk. Cara setting dan mendapatkan Auth Tokens dapat dilihat pada tutorial berikut:
    Setting Blynk untuk NodeMCU ESP8266
  7. Ganti ssid dan pass dengan nama wifi dan password wifi yang kalian gunakan
  8. Lakukan proses uploading program
  9. Buka aplikasi Blynk
  10. Buat layout Blynk seperti gambar di atas.
  11. Tekan tombol Play pada aplikasi Blynk lalu tunggu hingga proyek kalian terhubung dengan aplikasi Blynk
5. Sketch Program

Dapatkan puluhan ebook gratis dengan registrasi melalui tombol di bawah!

 
/* Program Pembersih Udara dalam Ruangan berbasis IoT dibuat oleh Indobot */

#include <ESP8266WiFi.h>              //Library ESP8266
#include <BlynkSimpleEsp8266.h>       //Library Blynk

char auth[] = "HoP9z23_PbWp-iEyMBYFGnnALYBvvcXS"; //Token
char ssid[] = "Wifi.id";                          //Nama wifi
char pass[] = "alam oye";                         //Password wifi

BlynkTimer timer;

WidgetLED ledkalibrasi (V1);          //Deklarasi led indikator blynk pada pin V1
WidgetLED ledkipas (V2);

#define kipas 2                       //Kipas pada pin D4

BLYNK_WRITE(V3){                      //Baca pin V3
  int tombolkipas = param.asInt();
  if (tombolkipas == 0){
    digitalWrite(kipas, HIGH);
    Blynk.setProperty(V2, "color", "#ff0000");      //Warna merah
    ledkipas.on();
  }
  else{
    digitalWrite(kipas, LOW);
    Blynk.setProperty(V2, "color", "#15ff00");      //Warna hijau    
    ledkipas.on();
  }
}

/************************Hardware Related Macros************************************/
const int MQ_PIN=A0;                                //define which analog input channel you are going to use
int RL_VALUE=5;                                     //define the load resistance on the board, in kilo ohms
float RO_CLEAN_AIR_FACTOR=9.83;                     //RO_CLEAR_AIR_FACTOR=(Sensor resistance in clean air)/RO,
                                                    //which is derived from the chart in datasheet

/***********************Software Related Macros************************************/
int CALIBARAION_SAMPLE_TIMES=50;                    //define how many samples you are going to take in the calibration phase
int CALIBRATION_SAMPLE_INTERVAL=500;                //define the time interal(in milisecond) between each samples in the
                                                    //cablibration phase
int READ_SAMPLE_INTERVAL=50;                        //define how many samples you are going to take in normal operation
int READ_SAMPLE_TIMES=5;                            //define the time interal(in milisecond) between each samples in 
                                                    //normal operation

/**********************Application Related Macros**********************************/
#define         GAS_LPG             0   
#define         GAS_CO              1   
#define         GAS_SMOKE           2  

/*****************************Globals***********************************************/
float           LPGCurve[3]  =  {2.3,0.21,-0.47};   //two points are taken from the curve. 
                                                    //with these two points, a line is formed which is "approximately equivalent"
                                                    //to the original curve. 
                                                    //data format:{ x, y, slope}; point1: (lg200, 0.21), point2: (lg10000, -0.59) 
float           COCurve[3]  =  {2.3,0.72,-0.34};    //two points are taken from the curve. 
                                                    //with these two points, a line is formed which is "approximately equivalent" 
                                                    //to the original curve.
                                                    //data format:{ x, y, slope}; point1: (lg200, 0.72), point2: (lg10000,  0.15) 
float           SmokeCurve[3] ={2.3,0.53,-0.44};    //two points are taken from the curve. 
                                                    //with these two points, a line is formed which is "approximately equivalent" 
                                                    //to the original curve.
                                                    //data format:{ x, y, slope}; point1: (lg200, 0.53), point2: (lg10000,  -0.22)                                                     
float           Ro           =  10;                 //Ro is initialized to 10 kilo ohms

//Pilih jenis gas yang akan dideteksi dengan menghilangkan komentar "//"
  
//long iPPM_LPG = 0;
//long iPPM_CO = 0;
long iPPM_Smoke = 0;

void setup() {
  Blynk.begin(auth, ssid, pass);          //Inisialisasi token, wifi dan password
  timer.setInterval(1000L, sendSensor);   //Kirim data sensor

  pinMode(kipas, OUTPUT);                 //Setting I/O
  digitalWrite(kipas, HIGH);              //Set kondisi awal
  
  Blynk.setProperty(V1, "color", "#ff0000");          //Warna merah
  ledkalibrasi.on();
  
  Ro = MQCalibration(MQ_PIN);                         //Calibrating the sensor. Please make sure the sensor is in clean air                      
}

void loop() {
  Blynk.run();                                        //Jalankan pembacaan Blynk
  timer.run();
  
  Blynk.setProperty(V1, "color", "#15ff00");          //Warna hijau
  ledkalibrasi.on();
  //iPPM_LPG = MQGetGasPercentage(MQRead(MQ_PIN)/Ro,GAS_LPG);
  //iPPM_CO = MQGetGasPercentage(MQRead(MQ_PIN)/Ro,GAS_CO);
  iPPM_Smoke = MQGetGasPercentage(MQRead(MQ_PIN)/Ro,GAS_SMOKE);
}

float MQResistanceCalculation(int raw_adc)
{
  return ( ((float)RL_VALUE*(1023-raw_adc)/raw_adc));
}

float MQCalibration(int mq_pin)
{
  int i;
  float val=0;

  for (i=0;i<CALIBARAION_SAMPLE_TIMES;i++) {            //take multiple samples
    val += MQResistanceCalculation(analogRead(mq_pin));
    delay(CALIBRATION_SAMPLE_INTERVAL);
  }
  val = val/CALIBARAION_SAMPLE_TIMES;                   //calculate the average value
  val = val/RO_CLEAN_AIR_FACTOR;                        //divided by RO_CLEAN_AIR_FACTOR yields the Ro                                        
  return val;                                                      //according to the chart in the datasheet 

}

float MQRead(int mq_pin)
{
  int i;
  float rs=0;
 
  for (i=0;i<READ_SAMPLE_TIMES;i++) {
    rs += MQResistanceCalculation(analogRead(mq_pin));
    delay(READ_SAMPLE_INTERVAL);
  }
 
  rs = rs/READ_SAMPLE_TIMES;
 
  return rs;  
}

long MQGetGasPercentage(float rs_ro_ratio, int gas_id)
{
  if ( gas_id == GAS_LPG ) {
     return MQGetPercentage(rs_ro_ratio,LPGCurve);
  } else if ( gas_id == GAS_CO ) {
     return MQGetPercentage(rs_ro_ratio,COCurve);
  } else if ( gas_id == GAS_SMOKE ) {
     return MQGetPercentage(rs_ro_ratio,SmokeCurve);
  }    
 
  return 0;
}

long  MQGetPercentage(float rs_ro_ratio, float *pcurve)
{
  return (pow(10,( ((log(rs_ro_ratio)-pcurve[1])/pcurve[2]) + pcurve[0])));
}

void sendSensor(){                  //Kirim data sensor
  Blynk.virtualWrite(V0, iPPM_Smoke);  //Asap ke pin V0
}

Kesimpulan:

Hasil proyek ini ketika konsentrasi asap dalam ruangan terdeteksi tinggi/sangat tinggi kita dapat membersihkan udara dengan menekan button kipas, maka kipas akan mulai berputar dan mulai membersihkan serta menganti udara diruangan tersebut.

Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!

Webinar Gratis Indobot Academy
Previous Post

Jam Digital Display LCD 16×2 RTC DS1307

Next Post

Olimpiade Ahmad Dahlan ke-VI , SMA Muh 2 Surakarta menyabet penghargaan bergengsi lomba robot

RelatedPosts

Smart Farming dengan Cloud Computing
Display

Smart Farming dengan Cloud Computing

Smart farming pastinya sudah menjadi hal yang sering didengar ya Fanbot? nah, kali ini Minbot mau kasih tahu kalau cloud...

by Indobot Update
26/05/2023
7
Digitalisasi Smart City Pada Ekonomi E-Commerce
Display

Digitalisasi Smart City Pada Ekonomi E-Commerce

Hai Fanbot! Dalam era digital yang terus berkembang, konsep smart city telah menjadi fokus utama bagi banyak kota di seluruh...

by Indobot Update
17/05/2023
23
5 Framework yang Kerap Digunakan Front-End Developer
Display

5 Framework yang Kerap Digunakan Front-End Developer

5 Framework yang Kerap Digunakan Front-End Developer ini perlu kamu ketahui untuk menjadi expert di bidang IT. Bikin website itu...

by Indobot Update
10/05/2023
16
Nikmati Paket Baru Dari Indobot Premium!
Display

Nikmati Paket Baru Dari Indobot Premium!

Indobot Premium hadir sebagai jawaban kegundahan kalian untuk belajar IoT dengan praktis dan ekonomis! Bersama Indobot Academy, kamu pasti bisa!...

by Indobot Update
08/05/2023
31
Jasa Arduino Internet of Things Bergaransi Kepuasan dan Konsultasi Arduino IoT
Display

Jasa Arduino Internet of Things Bergaransi Kepuasan dan Konsultasi Arduino IoT

Kami Melayani Jasa Arduino dan Proyek IoT Jasa Pembuatan Arduino dan Proyek IoT. Jasa Pembuatan Alat Internet Of Things....

by Indobot Academy
06/04/2023
2.7k
Penggaris Digital Tampilan LCD
Display

Penggaris Digital Dengan Tampilan LCD 16×2

Sensor HC-SR04 dapat digunakan untuk membuat penggaris digital. Penggaris digital dari HC-SR04 akan mengukur jarak kemudian menampilkan hasilnya pada layar...

by Indobot Academy
09/04/2023
3.5k
Next Post
Piala dunia sepakbola robot ? Emang ada ya ?

Olimpiade Ahmad Dahlan ke-VI , SMA Muh 2 Surakarta menyabet penghargaan bergengsi lomba robot

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

sertifikasi iot BNSP

Artikel Populer

  • Aturan Mengambil Gambar

    Aturan Mengambil Gambar dan Cara Mencantumkan Sumbernya

    0 shares
    Share 0 Tweet 0
  • 5 Projek Arduino Sederhana dan Keren yang Mudah Dibuat

    0 shares
    Share 0 Tweet 0
  • Datasheet NodeMCU ESP8266 Lengkap dengan Pin dan Cara Akses

    0 shares
    Share 0 Tweet 0
  • Mengenal ESP32-Cam dan bagaimana cara menggunakannya

    0 shares
    Share 0 Tweet 0
  • Project Blynk IoT Terbaru: Tutorial Pengoperasian Blynk IoT

    0 shares
    Share 0 Tweet 0

Indobot Academy

Visi menjadi perusahaan yang terbaik, terpercaya dan unggul dalam bidang edukasi IoT skill 4.0 bagi mitra dan konsumen.

Kantor Pusat Yogyakarta
Jl. Affandi No 5, Kec. Depok  Kab. Sleman, D.I Yogyakarta 55281

Email: office@indobot.co.id

Pelatihan

  • Belajar Mandiri
  • Kelas Zoom
  • Bootcamp
  • Sertifikasi Profesi
  • Kelas IoT Terbaik
  • Training IoT Terbaik
  • Pelatihan IoT Terbaik
  • Webinar IoT Gratis
  • Indobot Premium

Jasa IoT

  • Jasa Buat Alat IoT Murah
  • Jasa Arduino IoT Terbaik

Belajar Mandiri

  • Paket Elektronika Hebat
  • Paket IoT Dasar Lanjutan
  • Paket IoT Smart Farming
  • Paket IoT Smart Home
  • Paket IoT Smart City
  • Paket IoT Smart Device
  • Paket IoT Smart Monitoring

Kelas Zoom

Bootcamp

  • IoT Master Class
  • IoT Engineer Camp

Sertifikasi

  • Sertifikasi BNSP IoT
  • Sertifikasi CertNexus
  • Sertifikasi Lainnya

Program

  • Afiliasi Komisi Menarik
  • Promo Diskon Spesial
  • Indobot Virtual Event
  • Download Ebook

Perusahaan

  • Tentang Indobot
  • Kontak Kami
  • Daftar Karir
  • Review Pelanggan

Bantuan

  • Panduan Dasar
  • Rekomendasi Kelas
  • Cara Pembayaran

Kerjasama

  • Studi Independen Kemdikbud
  • Digitalent PROA Kominfo
Copyright ©2023 Indobot Academy | PT Ozami Inti Sinergi | Perusahaan Training IoT Terbaik.
  • Syarat dan Ketentuan
  • Kebijakan Privasi
whatsapp
sertifikasi iot BNSP