• 082226375801
  • alfianmaarif@ee.uad.ac.id
  • Yogyakarta
Materi
Tutorial ESP32: Cara Membuat Mesin Penetas Telur Otomatis Versi 3 dengan Kontrol Suhu, Humidifier, dan Kipas Exhaust via Blynk IoT pada WOKWI

Tutorial ESP32: Cara Membuat Mesin Penetas Telur Otomatis Versi 3 dengan Kontrol Suhu, Humidifier, dan Kipas Exhaust via Blynk IoT pada WOKWI

Pada bagian ini akan dibahas pembuatan sistem otomatisasi mesin penetas telur pintar (Egg Incubator Version 3) berbasis mikrokontroler ESP32, sensor suhu dan kelembapan DHT22, layar LCD 16×2 I2C, modul relay pemanas (heater), pelembap (humidifier), kipas pembuang panas/udara (exhaust), buzzer alarm peringatan, 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 mengontrol suhu inkubator secara presisi pada rentang ideal 37.0°C – 39.0°C dan kelembapan ideal 50% – 60%. Apabila suhu terlalu panas (overheat > 39.0°C) atau kelembapan terlalu tinggi, kipas exhaust akan otomatis menyala untuk sirkulasi udara sekaligus mengirimkan notifikasi darurat ke aplikasi Blynk. Sistem juga dilengkapi fitur override manual via aplikasi Blynk melalui virtual pin V6.

Gambar 1. Skematik rangkaian sistem

List Pin:

  • Sensor Suhu & Kelembapan (DHT22)
    VCC => 3.3V / 5V
    GND => GND
    Data => GPIO 15 (DHTPIN)
  • Display LCD 16×2 I2C (Alamat: 0x27)
    GND => GND
    VCC => 5V / 3.3V
    SDA => GPIO 21
    SCL => GPIO 22
  • Aktuator Relay & Output Indikator (Simulasi LED / Relay Module)
    HEATER_PIN (Relay 1 / Pemanas) => GPIO 2 (LED Kuning)
    HUMIDIFIER_PIN (Relay 2 / Pelembap) => GPIO 5 (LED Biru)
    EXHAUST_PIN (Relay 3 / Kipas Sirkulasi) => GPIO 18 (LED Hijau)
    BUZZER_PIN (Alarm Peringatan) => GPIO 4

List Virtual PIN:

  • V0 => Temperature (°C) – Datastream Nilai Suhu Inkubator dari Sensor DHT22
  • V1 => Humidity (% RH) – Datastream Nilai Kelembapan Udara dari Sensor DHT22
  • V2 => Status Sistem (String) – Menampilkan Status Operasional Inkubator (“KONDISI IDEAL”, “SUHU DINGIN”, “OVERHEAT!!”, “KELEMBAPAN RENDAH”, “TERLALU BASAH”, atau “OFF LINE (HP)”)
  • V3 => Heater Status (Integer 0/1) – Indikator Widget LED Status Pemanas Aktif/Mati
  • V4 => Humidifier Status (Integer 0/1) – Indikator Widget LED Status Pelembap Aktif/Mati
  • V5 => Exhaust Status (Integer 0/1) – Indikator Widget LED Status Kipas Exhaust Aktif/Mati
  • V6 => Manual Override Switch (Integer 0/1) – Sakelar Kontrol Mode Manual/Offline dari Aplikasi Blynk

Kode Arduino 1. Kode Program

// ============================= 
// ALFIAN CENTER 
// SUBSCRIBE 
// Cara Membuat Mesin Penetas Telur Otomatis VERSI 3 Kontrol Suhu + Humidifier + Exhaust via Blynk IoT Menggunakan ESP32 Dan DHT22 (WOKWI)
// PROGRAM BAKAL AKU KIRIM DENGAN SYARAT DIBAWAH 
// LIKE 50, KOMEN 30 DAN * WAJIB SUBSCRIBE *
// PROGRAM DIKIRIM VIA KOMENTAR 
// =============================

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

#define DHTPIN 15     
#define DHTTYPE DHT22   
#define HEATER_PIN 2     // LED Kuning (Relay 1)
#define HUMIDIFIER_PIN 5 // LED Biru (Relay 2)
#define EXHAUST_PIN 18   // LED Hijau (Relay 3)
#define BUZZER_PIN 4     // Alarm

char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";

DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
BlynkTimer timer;

// Variabel Kontrol
int manualOverride = 0; // Pindah ke V6
unsigned long waktuBeep = 0;
bool statusBuzzer = false;
bool isNotifSent = false;

// Membaca status tombol Override dari Blynk (V6)
BLYNK_WRITE(V6) {
  manualOverride = param.asInt();
}

void kontrolSistemInkubator() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  if (isnan(h) || isnan(t)) {
    lcd.setCursor(0, 0);
    lcd.print("Sensor Error!   ");
    return;
  }

  String statusSistem = "";
  bool exhaustActive = false;

  // 1. Cek Mode Manual Override dari Blynk
  if (manualOverride == 1) {
    statusSistem = "OFF LINE (HP)";
    digitalWrite(HEATER_PIN, LOW);
    digitalWrite(HUMIDIFIER_PIN, LOW);
    digitalWrite(EXHAUST_PIN, LOW);
    noTone(BUZZER_PIN);
  } 
  else {
    // ==================================================
    // LOGIKA RELAY 1: HEATER (Suhu Ideal: 37.0°C - 39.0°C)
    // ==================================================
    if (t < 37.0) {
      digitalWrite(HEATER_PIN, HIGH); // Jalankan Pemanas
      statusSistem = "SUHU DINGIN";
    } else if (t > 39.0) {
      digitalWrite(HEATER_PIN, LOW);  // Matikan Pemanas karena panas berlebih
      exhaustActive = true;           // Kipas ON untuk membuang panas
      statusSistem = "OVERHEAT!!";
      
      if (!isNotifSent) {
        Blynk.logEvent("suhu_overheat", "Bahaya! Inkubator Overheat: " + String(t, 1) + "°C");
        isNotifSent = true;
      }
    } else {
      digitalWrite(HEATER_PIN, LOW);
    }

    // ==================================================
    // LOGIKA RELAY 2: HUMIDIFIER (Ideal Kelembapan: 50% - 60%)
    // ==================================================
    if (h < 50.0) {
      digitalWrite(HUMIDIFIER_PIN, HIGH); // Nyalakan Sprayer Kabut
      if(statusSistem == "") statusSistem = "KELEMBAPAN REndah";
    } else if (h > 65.0) { // Jika kelembapan terlalu tinggi / pengap
      digitalWrite(HUMIDIFIER_PIN, LOW);
      exhaustActive = true;               // Kipas ON untuk membuang kelembapan
      if(statusSistem == "") statusSistem = "TERLALU BASAH";
    } else {
      digitalWrite(HUMIDIFIER_PIN, LOW);
    }

    // ==================================================
    // LOGIKA RELAY 3: KIPAS EXHAUST (KONTROL AKTIF)
    // ==================================================
    if (exhaustActive) {
      digitalWrite(EXHAUST_PIN, HIGH); // Jalankan Kipas Sirkulasi
    } else {
      digitalWrite(EXHAUST_PIN, LOW);  // Kipas Mati jika normal
    }

    // ==================================================
    // LOGIKA ALARM / BUZZER JIKA SANGAT EKSTREM
    // ==================================================
    if (t > 39.0 || h < 40.0) { 
      if (millis() - waktuBeep > 300) {
        waktuBeep = millis();
        statusBuzzer = !statusBuzzer;
        if (statusBuzzer) tone(BUZZER_PIN, 1500);
        else noTone(BUZZER_PIN);
      }
    } else {
      noTone(BUZZER_PIN);
      isNotifSent = false; 
    }

    // Jika seluruh ekosistem dalam boks ideal
    if (t >= 37.0 && t <= 39.0 && h >= 50.0 && h <= 60.0) {
      statusSistem = "KONDISI IDEAL";
    }
  }

  // 2. Kirim Data Ke Dashboard Blynk
  Blynk.virtualWrite(V0, t);
  Blynk.virtualWrite(V1, h);
  Blynk.virtualWrite(V2, statusSistem);
  Blynk.virtualWrite(V3, digitalRead(HEATER_PIN));     // LED Widget Heater
  Blynk.virtualWrite(V4, digitalRead(HUMIDIFIER_PIN)); // LED Widget Humidifier
  Blynk.virtualWrite(V5, digitalRead(EXHAUST_PIN));    // LED Widget Exhaust

  // 3. Update LCD 16x2 Lokal (Tampilan Status 3 Relay)
  lcd.setCursor(0, 0);
  lcd.print("T:"); lcd.print(t, 1); lcd.print("C ");
  lcd.print("H:"); lcd.print(h, 0); lcd.print("%   ");
  
  lcd.setCursor(0, 1);
  lcd.print("HT:"); lcd.print(digitalRead(HEATER_PIN) ? "1" : "0");
  lcd.print(" HM:"); lcd.print(digitalRead(HUMIDIFIER_PIN) ? "1" : "0");
  lcd.print(" EX:"); lcd.print(digitalRead(EXHAUST_PIN) ? "1" : "0");
}

void setup() {
  Serial.begin(115200);
  pinMode(HEATER_PIN, OUTPUT);
  pinMode(HUMIDIFIER_PIN, OUTPUT);
  pinMode(EXHAUST_PIN, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  
  dht.begin();
  lcd.init();
  lcd.backlight();
  lcd.print("Inkubator Pro v3");

  Blynk.begin(auth, ssid, pass);
  lcd.clear();

  timer.setInterval(500L, kontrolSistemInkubator);
}

void loop() {
  Blynk.run();
  timer.run();
}

Video 1. Video tutorial pembuatan

TAG:

mesin penetas telur esp32, inkubator telur otomatis iot, pengontrol suhu penetas telur, dht22 esp32 blynk, blynk iot egg incubator, penetas telur otomatis wokwi, tutorial esp32 blynk, iot peternakan modern, mesin penetas telur blynk, dht22 kelembapan inkubator, deteksi overheat penetas telur, relay heater esp32, relay humidifier esp32, relay exhaust esp32, lcd 16×2 i2c esp32, alarm buzzer penetas telur, blynk logevent suhu overheat, kontrol suhu ideal penetas telur, tutorial blynk iot esp32, library dht sensor esp32, library liquidcrystal i2c, gpio 15 dht22 esp32, gpio 2 heater esp32, gpio 5 humidifier esp32, gpio 18 exhaust esp32, gpio 4 buzzer esp32, proyek iot esp32 peternakan, tutorial wokwi indonesia, simulasi iot mesin penetas telur, pemantauan inkubator jarak jauh, blynk iot app egg incubator, datastream blynk dht22, virtual pin blynk incubator, smart farming iot esp32, proyek teknik elektro iot, mekatronika peternakan modern, tugas akhir iot penetas telur, skripsi iot egg incubator, ide proyek esp32 iot, skematik mesin penetas esp32, diagram rangkaian dht22 relay lcd, source code penetas telur esp32, program arduino blynk incubator, simulasi iot tanpa hardware, platform simulasi wokwi, wokwi esp32 egg incubator, blynk auth token esp32, penetas telur otomatis berbasis iot, telemetry data dht22 incubator, proyek sains iot elektro, portofolio iot esp32, praktikum mikrokontroler esp32, modul esp32 wroom 32, pinout esp32 dht22 relay, gpio esp32 sensor lcd, indikator relay blynk, grafik suhu kelembapan blynk, smart incubator esp32, efisiensi penetasan telur, panduan iot penetas telur esp32, belajar mikrokontroler online, simulator komponen elektronik, wokwi custom chip esp32, blynk iot platform livestock, internet of things indonesia, iot smk peternakan, iot universitas elektro, prototipe penetas telur esp32, alat pengontrol suhu kelembapan otomatis, iot smart agriculture, esp32 arduino ide blynk, tutorial iot pemula, proyek elektro smart farming, panduan lengkap wokwi blynk, sensor dht22 suhu kelembapan, sistem alarm overheat, logika kontrol relay inkubator, notifikasi blynk logevent, sistem mikroklimat telur, otomatisasi peternakan modern, proyek mekatronika elektro, simulasi hardware smart incubator, sistem mesin penetas esp32, proyek iot populer, kodingan penetas telur otomatis, sensor dht22 digital esp32, rangkaian relay dan lcd, tutorial mikrokontroler iot, wawasan iot teknik elektro, aplikasi iot smart farming, mesin penetas cerdas esp32, koding logika pemanas exhaust, pemantauan kondisi telur real time, iot incubator management system

Leave a Reply

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