AI Assistant
Detail Karya Portofolio

Sistem Monitoring Suhu dan Kelembaban Berbasis IoT

Rizki Mulyadi Oleh: Rizki Mulyadi

Ringkasan Portofolio

Project ini merupakan sistem cerdas yang dapat memantau kondisi lingkungan, khususnya suhu dan kelembaban secara otomatis. Sistem ini memanfaatkan teknologi IoT (Internet of Things) dengan menggunakan mikrokontroler ESP32 dan platform Blynk. Data yang diperoleh dari sensor DHT22 akan ditampilkan secara real-time pada aplikasi smartphone melalui Blynk. Jika kondisi lingkungan melampaui batas yang telah ditentukan, sistem akan memberikan peringatan berupa suara alarm dan juga dapat mengendalikan lampu secara otomatis.

Deskripsi & Detail Proyek

Project ini adalah implementasi sistem IoT yang menggunakan mikrokontroler ESP32 untuk memonitor suhu dan kelembaban lingkungan secara real-time menggunakan sensor DHT22. Sistem ini terintegrasi dengan platform Blynk, memungkinkan pengguna untuk memantau data melalui aplikasi smartphone dan mengontrol lampu secara jarak jauh. Selain itu, sistem dilengkapi dengan buzzer yang memberikan peringatan otomatis jika suhu atau kelembaban melebihi batas yang telah ditentukan.  

Tujuan Project 
1. Memantau suhu dan kelembaban lingkungan secara real-time.  
2. Memberikan peringatan otomatis melalui buzzer jika suhu atau kelembaban melampaui batas aman.  
3. Memberikan kontrol lampu secara jarak jauh melalui aplikasi Blynk.  
4. Menggunakan konsep IoT untuk kemudahan pengawasan lingkungan.  

Fitur Utama
- Monitoring suhu dan kelembaban menggunakan sensor DHT22.
- Alarm otomatis menggunakan buzzer jika melebihi batas suhu/kelembaban.
- Kontrol lampu menggunakan aplikasi Blynk.
- Tampilan real-time data pada dashboard Blynk.

Cara Kerja Sistem  
Sistem ini bekerja melalui beberapa tahap yang terintegrasi dengan baik. Pertama, sensor DHT22 mengumpulkan data suhu dan kelembaban lingkungan. Selanjutnya, data yang diterima diproses oleh ESP32. Setelah pengolahan, informasi suhu dan kelembaban tersebut dikirim ke dashboard aplikasi Blynk melalui koneksi Wi-Fi. Terakhir, jika suhu atau kelembaban melebihi ambang batas yang telah ditentukan, sistem akan mengaktifkan buzzer dan lampu indikator sebagai respon alarm. Serta ada kontrol lampu yang membuat pengguna dapat menghidupkan atau mematikan lampu melalui aplikasi Blynk.  

 

Langkah-Langkah Pembuatan project ini


1. Alat dan Bahan  
  - ESP32  
  - Sensor DHT22  
  - Active Buzzer  
  - LED  
  - Resistor 330Ω (untuk LED)  
  - Kabel jumper dan breadboard  

2. Rangkaiannya  
  - Hubungkan DHT22 ke ESP32:  
    - VCC → 3.3V  
    - GND → GND  
    - Data → GPIO4  
  - Hubungkan LED ke GPIO18 dengan resistor.  
  - Hubungkan buzzer ke GPIO19.  

3. Langkah langkah pada Wokwi:    
  - Install library:  
    - DHT sensor library
    - Blynk  
    - ESP32 board  
  - Salin kode program ke Wokwi dan sesuaikan kredensial Wi-Fi serta token Blynk.Berikut ini sketch kode program pada ESP32

 

#define BLYNK_TEMPLATE_ID "TMPL698i-NGsT"

#define BLYNK_TEMPLATE_NAME "ROOM CONTROL"

#define BLYNK_AUTH_TOKEN "h77GTdPuTSu4MqZwQJfd1WtDOe3kiNgy"


 

#include <DHT.h>

#include <BlynkSimpleEsp32.h>


 

// WiFi credentials

char ssid[] = "Wokwi-GUEST"; // Default Wokwi Wi-Fi

char pass[] = "";


 

// DHT Sensor settings

#define DHTPIN 4       // Pin where the DHT sensor is connected

#define DHTTYPE DHT22  // DHT11 or DHT22

DHT dht(DHTPIN, DHTTYPE);


 

// Virtual pins

#define VIRTUAL_TEMP V0

#define VIRTUAL_HUM V1

#define VIRTUAL_LED V2


 

// LED and Buzzer pins

const int LED_PIN = 18;    // GPIO pin for LED

const int BUZZER_PIN = 19; // GPIO pin for Buzzer


 

// Thresholds

const float TEMP_THRESHOLD = 30.0; // Temperature threshold in °C

const float HUM_THRESHOLD = 70.0;  // Humidity threshold in %


 

BlynkTimer timer;


 

void sendSensorData() {

  float temperature = dht.readTemperature();

  float humidity = dht.readHumidity();


 

  if (isnan(temperature) || isnan(humidity)) {

    Serial.println("Failed to read from DHT sensor!");

    return;

  }


 

  // Send data to Blynk

  Blynk.virtualWrite(VIRTUAL_TEMP, temperature);

  Blynk.virtualWrite(VIRTUAL_HUM, humidity);


 

  Serial.print("Temperature: ");

  Serial.print(temperature);

  Serial.println(" °C");


 

  Serial.print("Humidity: ");

  Serial.print(humidity);

  Serial.println(" %");


 

  // Check thresholds and trigger buzzer/LED

  if (temperature > TEMP_THRESHOLD || humidity > HUM_THRESHOLD) {

    digitalWrite(BUZZER_PIN, HIGH);

    digitalWrite(LED_PIN, HIGH);

  } else {

    digitalWrite(BUZZER_PIN, LOW);

    digitalWrite(LED_PIN, LOW);

  }

}


 

BLYNK_WRITE(VIRTUAL_LED) {

  int pinValue = param.asInt(); // Get value from Blynk app

  digitalWrite(LED_PIN, pinValue);

}


 

void setup() {

  // Debug console

  Serial.begin(115200);


 

  // Initialize DHT sensor

  dht.begin();


 

  // Initialize LED and Buzzer pins

  pinMode(LED_PIN, OUTPUT);

  pinMode(BUZZER_PIN, OUTPUT);

  digitalWrite(LED_PIN, LOW);

  digitalWrite(BUZZER_PIN, LOW);


 

  // Connect to Blynk

  Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);


 

  // Setup a timer to send data periodically

  timer.setInterval(2000L, sendSensorData);

}


 

void loop() {

  Blynk.run();

  timer.run();

}


 

 

 

 

4. Pembuatan Pada Blynk  
  - Buat proyek di aplikasi Blynk.  
  - Tambahkan widget:  
    - Gauge untuk suhu dan kelembaban.  
    - Button untuk kontrol lampu.  
  - Ambil Auth Token dari project Blynk dan masukkan ke kode Arduino. berikut ini contoh Auth Token dari Blynk

#define BLYNK_TEMPLATE_ID "TMPL698i-NGsT"

#define BLYNK_TEMPLATE_NAME "ROOM CONTROL"

#define BLYNK_AUTH_TOKEN "h77GTdPuTSu4MqZwQJfd1WtDOe3kiNgy"

 

Kesimpulan

Sistem monitoring suhu dan kelembaban berbasis IoT ini menawarkan solusi praktis dan efisien untuk memantau kondisi lingkungan. Dengan integrasi antara perangkat keras (ESP32, sensor, aktuator) dan perangkat lunak (Blynk), sistem ini memungkinkan pengguna untuk mengakses data secara real-time dan melakukan kontrol dari jarak jauh. Penerapan sistem ini dapat memberikan manfaat dalam berbagai bidang, seperti rumah pintar, pertanian, industri, dan lainnya, untuk meningkatkan efisiensi dan kenyamanan.