
Tutorial ESP32: Cara Membuat Mesin Penetas Telur Otomatis Versi 2 dengan Kontrol Suhu, Humidifier, & Blynk IoT Berbasis Sensor DHT22 pada WOKWI
Pada bagian ini akan dibahas pembuatan sistem otomatisasi mesin penetas telur pintar versi 2 (Egg Incubator Version 2) berbasis mikrokontroler ESP32, sensor suhu dan kelembapan DHT22, layar LCD 16×2 I2C, modul relay pemanas (heater), relay pelembap (humidifier), 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 kestabilan suhu inkubator secara presisi pada rentang ideal 37.0°C – 39.0°C dan kelembapan udara ideal 50% – 60%. Apabila suhu terlalu panas (overheat > 39.0°C) atau kelembapan turun drastis, sistem secara otomatis mengaktifkan alarm buzzer dan mengirimkan notifikasi darurat ke aplikasi Blynk. Sistem juga dilengkapi fitur override manual melalui virtual pin V5 pada dashboard Blynk.
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 / Lampu Pemanas) => GPIO 2 (LED Kuning)
HUMIDIFIER_PIN (Relay 2 / Sprayer Uap) => GPIO 5 (LED Biru)
BUZZER_PIN (Alarm Peringatan Ekstrem) => 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 (“IKLIM IDEAL AMAN”, “SUHU DROP!”, “OVERHEAT!!”, “UDARA KERING”, “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 => Manual Override Switch (Integer 0/1) – Sakelar Tombol Kontrol Mode Manual/Offline dari Aplikasi Blynk
Kode Arduino 1. Kode Program
// =============================
// ALFIAN CENTER
// SUBSCRIBE
// Cara Membuat Mesin Penetas Telur Otomatis VERSI 2 Kontrol Suhu + Humidifier via Blynk IoT Menggunakan ESP32 Dan DHT22 Simulasi Wokwi
// PROGRAM BAKAL AKU KIRIM DENGAN SYARAT DIBAWAH
// LIKE 50, KOMEN 30 DAN * WAJIB SUBSCRIBE *
// PROGRAM DIKIRIM VIA KOMENTAR
// =============================
#define BLYNK_TEMPLATE_ID "ID"
#define BLYNK_TEMPLATE_NAME "NAME"
#define BLYNK_AUTH_TOKEN "TOKEN"
#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 Suhu)
#define HUMIDIFIER_PIN 5 // LED Biru (Relay Kelembapan)
#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; // Sekarang pindah ke V5
unsigned long waktuBeep = 0;
bool statusBuzzer = false;
bool isNotifSent = false;
// Membaca status tombol Override dari Blynk (V5)
BLYNK_WRITE(V5) {
manualOverride = param.asInt();
}
void kontrolIklimInkubator() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
lcd.setCursor(0, 0);
lcd.print("Sensor Error! ");
return;
}
String statusSistem = "";
// 1. Cek Mode Manual Override dari Blynk
if (manualOverride == 1) {
statusSistem = "OFF LINE (HP)";
digitalWrite(HEATER_PIN, LOW);
digitalWrite(HUMIDIFIER_PIN, LOW);
noTone(BUZZER_PIN);
}
else {
// ==================================================
// LOGIKA RELAY 1: KONTROL SUHU (Ideal: 37.0°C - 39.0°C)
// ==================================================
if (t < 37.0) {
digitalWrite(HEATER_PIN, HIGH); // Jalankan Lampu Pemanas
statusSistem = "SUHU DROP!";
} else if (t > 39.0) {
digitalWrite(HEATER_PIN, LOW); // Matikan Lampu Pemanas
statusSistem = "OVERHEAT!!";
// Kirim Notifikasi Darurat ke Blynk jika Overheat (Hanya Sekali)
if (!isNotifSent) {
Blynk.logEvent("suhu_overheat", "Bahaya! Inkubator Terlalu Panas: " + String(t, 1) + "°C");
isNotifSent = true;
}
} else {
digitalWrite(HEATER_PIN, LOW); // Suhu aman hangat pas
}
// ==================================================
// LOGIKA RELAY 2: KONTROL KELEMBAPAN (Ideal: 50% - 60%)
// ==================================================
if (h < 50.0) {
digitalWrite(HUMIDIFIER_PIN, HIGH); // Nyalakan Sprayer Uap Air
if(statusSistem == "") statusSistem = "UDARA KERING";
} else if (h > 60.0) {
digitalWrite(HUMIDIFIER_PIN, LOW); // Matikan Sprayer
if(statusSistem == "") statusSistem = "TERLALU BASAH";
} else {
digitalWrite(HUMIDIFIER_PIN, LOW); // Kelembapan pas
}
// ==================================================
// LOGIKA ALARM / BUZZER JIKA KONDISI 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 semua parameter masuk rentang ideal
if (t >= 37.0 && t <= 39.0 && h >= 50.0 && h <= 60.0) {
statusSistem = "IKLIM IDEAL AMAN";
}
}
// 2. Kirim Data Ke Dashboard Blynk (Termasuk Status Real-time Relay)
Blynk.virtualWrite(V0, t);
Blynk.virtualWrite(V1, h);
Blynk.virtualWrite(V2, statusSistem);
Blynk.virtualWrite(V3, digitalRead(HEATER_PIN)); // Kirim 1/0 ke LED Widget Heater
Blynk.virtualWrite(V4, digitalRead(HUMIDIFIER_PIN)); // Kirim 1/0 ke LED Widget Humidifier
// 3. Update LCD 16x2 Lokal
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) ? "ON " : "OFF");
lcd.print("HM:"); lcd.print(digitalRead(HUMIDIFIER_PIN) ? "ON " : "OFF");
lcd.print(" ");
}
void setup() {
Serial.begin(115200);
pinMode(HEATER_PIN, OUTPUT);
pinMode(HUMIDIFIER_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
dht.begin();
lcd.init();
lcd.backlight();
lcd.print("Inkubator Pro v2");
Blynk.begin(auth, ssid, pass);
lcd.clear();
timer.setInterval(500L, kontrolIklimInkubator);
}
void loop() {
Blynk.run();
timer.run();
}

Video 1. Video tutorial pembuatan
TAG:
mesin penetas telur v2 esp32, inkubator telur otomatis v2, pengontrol suhu penetas telur, dht22 esp32 blynk, blynk iot egg incubator v2, 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, buzzer alarm penetas telur, lcd 16×2 i2c esp32, 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 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 v5, 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 v2, 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 v2, proyek iot populer, kodingan penetas telur otomatis, sensor dht22 digital esp32, rangkaian relay dan lcd, tutorial mikrokontroler iot, wawasan teknik elektro, aplikasi iot smart farming, mesin penetas cerdas esp32, koding logika pemanas humidifier, pemantauan kondisi telur real time, iot incubator management system
