• 082226375801
  • alfianmaarif@ee.uad.ac.id
  • Yogyakarta
Materi
Tutorial ESP32: Cara Membuat Sistem Pengering Teh & Food Dehydrator Otomatis Menggunakan Sensor Suhu & Kelembapan DHT22, Relay Heater, Fan Exhaust, Layar LCD I2C, & Blynk IoT pada WOKWI

Tutorial ESP32: Cara Membuat Sistem Pengering Teh & Food Dehydrator Otomatis Menggunakan Sensor Suhu & Kelembapan DHT22, Relay Heater, Fan Exhaust, Layar LCD I2C, & Blynk IoT pada WOKWI

Pada bagian ini akan dibahas pembuatan sistem pengering daun teh dan makanan otomatis pintar (Automated Food & Tea Dehydrator System) berbasis mikrokontroler ESP32, sensor suhu dan kelembapan DHT22, modul relay pemanas (heater) dan kipas exhaust (fan), indikator LED, buzzer alarm selesai, layar LCD 16×2 I2C, serta platform Blynk IoT pada software simulasi WOKWI. Skematik rangkaian ditunjukkan pada Gambar 1, program Arduino pada Kode 1, dan video pembuatan pada tautan Video 1. Sistem dirancang untuk menjaga proses pengeringan optimal dengan memonitor kelembapan dan suhu secara real-time. Jika kelembapan masih tinggi (>10%), pemanas diaktifkan. Jika suhu melebihi batas proteksi aman (>50°C), kipas exhaust menyala untuk mendinginkan ruangan. Ketika kelembapan mencapai target (<=10%), sistem otomatis mematikan pemanas dan kipas, membunyikan alarm melodi, serta mengirimkan log peringatan ke dashboard Blynk.

Gambar 1. Skematik rangkaian sistem

List Pin:

  • Sensor Suhu & Kelembapan (DHT22)
    VCC => 3.3V / 5V
    GND => GND
    Data Pin => GPIO 15 (DHTPIN)
  • Aktuator Relay Heater, Fan Exhaust, LED Indikator & Buzzer
    Relay Pemanas (RELAY_HEATER) => GPIO 19
    Relay Kipas (RELAY_FAN) => GPIO 18
    LED Indikator Heater (LED_YELLOW) => GPIO 4 (via Resistor 220 Ohm ke GND)
    Buzzer Alarm Selesai => GPIO 13 (BUZZER_PIN)
  • Layar LCD 16×2 I2C (Alamat: 0x27)
    GND => GND
    VCC => 5V / 3.3V
    SDA => GPIO 21
    SCL => GPIO 22

List Virtual PIN:

  • V0 => Kelembapan Udara (% RH) – Datastream Grafik Real-Time Tingkat Kelembapan Ruang Pengering dari Sensor DHT22
  • V1 => Temperatur Suhu (°C) – Datastream Grafik Real-Time Suhu Ruang Pengering dari Sensor DHT22
  • V2 => Status Proses Dehydrator (String) – Menampilkan Status Operasional (“SYSTEM OFF”, “HEATING PROCESS”, “COOLING & DRYING”, atau “DONE / DRY”)
  • V3 => Status Relay Heater (Integer 0/255) – Indikator Widget LED Status Pemanas Aktif/Mati
  • V4 => Status Relay Fan Exhaust (Integer 0/255) – Indikator Widget LED Status Kipas Pendingin Aktif/Mati
  • V5 => Tombol Power Sistem (Integer 0/1) – Sakelar Tombol ON/OFF Kontrol Utama Dehydrator dari Aplikasi Blynk
// ============================================================================
// PROYEK: SISTEM PENGERING TEH & FOOD DEHYDRATOR OTOMATIS ESP32 BLYNK WOKWI
// PLATFORM: ESP32 / SIMULATOR WOKWI
// ============================================================================

#define BLYNK_TEMPLATE_ID "TMPLxxxxxx"
#define BLYNK_TEMPLATE_NAME "Food Dehydrator"
#define BLYNK_AUTH_TOKEN "Your_Auth_Token"

#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <LiquidCrystal_I2C.h>
#include "DHT.h"

// Definisi Pin Sensor dan Aktuator
#define DHTPIN 15          // Pin data sensor DHT22
#define DHTTYPE DHT22      // Jenis sensor DHT

#define RELAY_HEATER 19    // Pin kontrol relay pemanas (heater)
#define RELAY_FAN 18       // Pin kontrol relay kipas exhaust (fan)
#define LED_YELLOW 4       // Pin LED indikator pemanas menyala
#define BUZZER_PIN 13      // Pin buzzer alarm tanda pengeringan selesai

// Konfigurasi WiFi dan Autentikasi Blynk
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";  // SSID khusus simulasi Wokwi
char pass[] = "";             // Password dikosongkan untuk Wokwi

// Inisialisasi Objek Sensor, LCD, dan Timer Blynk
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
BlynkTimer timer;

// Variabel Status Sistem
bool systemPower = true;   // Status utama sistem aktif/mati dari Blynk
bool isFinished = false;   // Status penanda siklus pengeringan telah selesai

// Fungsi callback Blynk untuk tombol sakelar Power Utama di Virtual Pin V5
BLYNK_WRITE(V5) {
  systemPower = param.asInt() == 1;
}

// Fungsi utama pengecekan dan otomatisasi Dehydrator
void checkDehydrator() {
  float hum = dht.readHumidity();      // Membaca kelembapan (% RH)
  float temp = dht.readTemperature();  // Membaca suhu (°C)

  // Validasi pembacaan sensor jika terjadi error
  if (isnan(hum) || isnan(temp)) {
    lcd.setCursor(0, 0);
    lcd.print("Sensor Error!!  ");
    return;
  }

  String processStatus = "";

  // 1. Kondisi Jika Sistem Dimatikan via Blynk (Power OFF)
  if (!systemPower) {
    digitalWrite(RELAY_HEATER, LOW);
    digitalWrite(RELAY_FAN, LOW);
    digitalWrite(LED_YELLOW, LOW);
    noTone(BUZZER_PIN);
    processStatus = "SYSTEM OFF";
  } 
  else {
    // 2. Logika Utama: Pengeringan Selesai jika Kelembapan Mencapai Target (<= 10%)
    if (hum <= 10.0) {
      digitalWrite(RELAY_HEATER, LOW);
      digitalWrite(RELAY_FAN, LOW);
      digitalWrite(LED_YELLOW, LOW);
      
      if (!isFinished) {
        tone(BUZZER_PIN, 1500, 1000); // Bunyikan alarm selesai selama 1 detik
        Blynk.logEvent("dehydrator_alert", "✅ Pengeringan Selesai! Kelembapan mencapai target (<=10%).");
        isFinished = true;
      }
      processStatus = "DONE / DRY";
    } 
    else {
      isFinished = false;
      
      // Logika Kontrol Heater (Menyalakan pemanas jika kelembapan masih tinggi > 10%)
      if (hum > 10.0) {
        digitalWrite(RELAY_HEATER, HIGH);
        digitalWrite(LED_YELLOW, HIGH);
      } else {
        digitalWrite(RELAY_HEATER, LOW);
        digitalWrite(LED_YELLOW, LOW);
      }

      // Logika Proteksi Overheat: Kipas Exhaust Menyala jika Suhu > 50°C
      if (temp > 50.0) {
        digitalWrite(RELAY_FAN, HIGH); // Nyalakan kipas untuk membuang panas berlebih
        processStatus = "COOLING & DRYING";
      } else {
        digitalWrite(RELAY_FAN, LOW);
        processStatus = "HEATING PROCESS";
      }
    }
  }

  // 3. Mengirimkan Data Telemetri secara Real-Time ke Dashboard Blynk IoT
  Blynk.virtualWrite(V0, hum);
  Blynk.virtualWrite(V1, temp);
  Blynk.virtualWrite(V2, processStatus);
  Blynk.virtualWrite(V3, digitalRead(RELAY_HEATER) ? 255 : 0);
  Blynk.virtualWrite(V4, digitalRead(RELAY_FAN) ? 255 : 0);

  // 4. Memperbarui Tampilan pada Layar LCD 16x2 I2C
  lcd.setCursor(0, 0);
  lcd.print("H:"); lcd.print(hum, 0); lcd.print("% ");
  lcd.print("T:"); lcd.print(temp, 1); lcd.print("C  ");

  lcd.setCursor(0, 1);
  lcd.print("ST:"); lcd.print(processStatus); lcd.print("        ");
}

void setup() {
  Serial.begin(115200);

  // Konfigurasi pin aktuator sebagai OUTPUT
  pinMode(RELAY_HEATER, OUTPUT);
  pinMode(RELAY_FAN, OUTPUT);
  pinMode(LED_YELLOW, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);

  // Kondisi awal relay dimatikan
  digitalWrite(RELAY_HEATER, LOW);
  digitalWrite(RELAY_FAN, LOW);

  // Inisialisasi sensor dan layar LCD
  dht.begin();
  lcd.init();
  lcd.backlight();

  // Tampilkan pesan sambutan di LCD
  lcd.print("Smart Dehydrator");
  lcd.setCursor(0, 1);
  lcd.print("Green Tea/Food  ");
  delay(1500);

  // Memulai koneksi ke server Blynk & Wi-Fi Wokwi
  Blynk.begin(auth, ssid, pass);
  lcd.clear();

  // Menjalankan fungsi pengecekan otomatis setiap 2 detik menggunakan Timer
  timer.setInterval(2000L, checkDehydrator);
}

void loop() {
  Blynk.run();   // Menjalankan proses komunikasi Blynk
  timer.run();   // Menjalankan fungsi pewaktuan timer
}

Kode Arduino 1. Kode Program

Video 1. Video tutorial pembuatan

TAG:

sistem pengering teh esp32, food dehydrator otomatis, pengering makanan iot esp32, sensor dht22 esp32 blynk, blynk iot food dehydrator, kontrol heater relay esp32, simulasi wokwi dehydrator, tutorial esp32 blynk, iot pertanian dan industri, mesin pengering teh otomatis, relay heater fan exhaust esp32, dht22 humidity target 10 persen, buzzer alarm pengeringan selesai, lcd 16×2 i2c esp32, blynk logevent dehydrator alert, kontrol kelembapan ruang pengering, tutorial blynk iot esp32, library dht sensor esp32, library liquidcrystal i2c, gpio 15 dht22 esp32, gpio 19 18 relay heater fan, gpio 4 led indikator, gpio 13 buzzer alarm, proyek iot esp32 smart agriculture, tutorial wokwi indonesia, simulasi iot food dehydrator, pemantauan pengeringan jarak jauh, blynk app smart dehydrator, datastream blynk dht22 relay, virtual pin blynk dehydrator v5, smart industrial appliances, proyek teknik elektro iot, mekatronika pengering makanan, tugas akhir iot food dehydrator, skripsi iot smart dehydrator, ide proyek esp32 iot, skematik dehydrator esp32, diagram rangkaian relay heater fan dht22 lcd, source code dehydrator esp32, program arduino blynk dehydrator, simulasi iot tanpa hardware, platform simulasi wokwi, wokwi esp32 food dehydrator, blynk auth token esp32, alat pengering teh berbasis iot, telemetry data dht22 relay, proyek sains iot elektro, portofolio iot esp32, praktikum mikrokontroler esp32, modul esp32 wroom 32, pinout esp32 dht22 relay fan, gpio esp32 sensor display, indikator status blynk, grafik kelembapan suhu blynk, smart dehydrator esp32, efisiensi pengeringan teh hijau, panduan iot dehydrator esp32, belajar mikrokontroler online, simulator komponen elektronik, wokwi custom chip esp32, blynk iot platform smart industry, internet of things indonesia, iot smk teknik elektro, iot universitas teknik, prototipe pengering teh esp32, alat pengatur suhu kelembapan otomatis, iot smart factory, esp32 arduino ide blynk, tutorial iot pemula, proyek elektro smart dehydrator, panduan lengkap wokwi blynk, sensor dht22 akurat, sistem proteksi overheat 50 derajat, logika kontrol heater fan, notifikasi blynk logevent dehydrator, sistem pengaman kualitas teh, otomatisasi pengeringan cerdas, proyek mekatronika elektro, simulasi hardware food dehydrator, sistem pengeringan teh esp32, proyek iot populer, kodingan dehydrator otomatis, sensor dht22 digital esp32, rangkaian dht22 dan relay, tutorial mikrokontroler iot, wawasan teknik elektro, aplikasi iot smart industry, pengering makanan cerdas esp32, koding logika kelembapan 10 persen, pemantauan pengeringan real time, iot dehydrator management system

Leave a Reply

Your email address will not be published. Required fields are marked *