
Cara Membuat Mesin Penetas Telur Otomatis IoT Menggunakan ESP32 & DHT22 (Simulasi Wokwi)
Cara Membuat Mesin Penetas Telur Otomatis IoT Menggunakan ESP32 & DHT22 (Simulasi Wokwi)
Pada bagian ini akan dibahas pembuatan sistem mesin penetas telur otomatis berbasis mikrokontroler ESP32, sensor suhu dan kelembapan DHT22, pemanas (heater), pelembap (humidifier), kipas pembuang udara (exhaust fan), motor servo penggerak pemutar telur, buzzer alarm, serta layar LCD 16×2 I2C menggunakan software simulasi WOKWI. Skematik rangkaian ditunjukkan pada Gambar 1, program Arduino pada Kode 1, dan video pembuatan pada tautan Video 1. Suhu dan kelembapan inkubator diukur secara otomatis untuk menjaga kondisi ideal penetasan. Ketika parameter menyimpang, sistem akan mengaktifkan kontrol pemanas, pelembap, exhaust fan, serta memutar rak telur menggunakan motor servo secara berkala.
Gambar 1. Skematik rangkaian sistem
- LCD 16×2 I2C
GND => GND
VCC => 5V
SDA => 21
SCL => 22 - Sensor Suhu & Kelembapan (DHT22)
VCC => 3.3V / 5V
Data => 15
GND => GND - Heater (Pemanas)
Signal => 2 - Humidifier (Pelembap)
Signal => 5 - Exhaust Fan (Kipas Pembuang)
Signal => 18 - Motor Servo (Pemutar Telur)
Signal => 19 - Buzzer Alarm
Positive => 4
*semua VCC dihubungkan ke 5 volt dan GND dihubungkan ke GND*
Kode Arduino 1. Kode Program
// =============================
// ALFIAN CENTER
// SUBSCRIBE
// Membuat Mesin Penetas Telur Otomatis Versi 4 IoT Kontrol 3 Kondisi dan Servo Pemutar Otomatis 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 <ESP32Servo.h>
#include "DHT.h"
#define DHTPIN 15
#define DHTTYPE DHT22
#define HEATER_PIN 2
#define HUMIDIFIER_PIN 5
#define EXHAUST_PIN 18
#define SERVO_PIN 19 // Servo Motor
#define BUZZER_PIN 4
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo eggServo;
BlynkTimer timer;
// Variabel Kontrol
int manualOverride = 0;
unsigned long waktuBeep = 0;
bool statusBuzzer = false;
bool isNotifSent = false;
// Variabel Servo Pemutar Telur
int posisiServo = 0; // Mulai dari 0 derajat
unsigned long waktuTerakhirPutar = 0;
// 3 Jam = 3 * 60 * 60 * 1000 milidetik = 10800000
const unsigned long INTERVAL_PUTAR_TELUR = 10800000;
BLYNK_WRITE(V6) {
manualOverride = param.asInt();
}
// Tombol Demo / Manual Test Putar Telur dari HP (V8)
BLYNK_WRITE(V8) {
int buttonState = param.asInt();
if (buttonState == 1) { // Jika tombol di aplikasi ditekan
putarTelur();
}
}
void putarTelur() {
if (posisiServo == 0) {
posisiServo = 90; // Putar ke posisi 90 derajat
} else {
posisiServo = 0; // Kembalikan ke posisi 0 derajat
}
eggServo.write(posisiServo);
// Update info ke Blynk & LCD
Blynk.virtualWrite(V7, posisiServo);
Blynk.virtualWrite(V2, "PEMUTARAN TELUR");
lcd.setCursor(0, 1);
lcd.print("SRV MOVE TO: "); lcd.print(posisiServo); lcd.print("deg ");
delay(1500); // Beri jeda visual di LCD
}
void kontrolSistemInkubator() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
lcd.setCursor(0, 0);
lcd.print("Sensor Error! ");
return;
}
// ---- Logika Timer Otomatis Tiap 3 Jam ----
if (millis() - waktuTerakhirPutar >= INTERVAL_PUTAR_TELUR) {
waktuTerakhirPutar = millis();
putarTelur();
}
String statusSistem = "";
bool exhaustActive = false;
if (manualOverride == 1) {
statusSistem = "OFF LINE (HP)";
digitalWrite(HEATER_PIN, LOW);
digitalWrite(HUMIDIFIER_PIN, LOW);
digitalWrite(EXHAUST_PIN, LOW);
noTone(BUZZER_PIN);
}
else {
// ---- KONTROL HEATER ----
if (t < 37.0) {
digitalWrite(HEATER_PIN, HIGH);
statusSistem = "SUHU DINGIN";
} else if (t > 39.0) {
digitalWrite(HEATER_PIN, LOW);
exhaustActive = true;
statusSistem = "OVERHEAT!!";
if (!isNotifSent) {
Blynk.logEvent("suhu_overheat", "Bahaya! Inkubator Overheat: " + String(t, 1) + "°C");
isNotifSent = true;
}
} else {
digitalWrite(HEATER_PIN, LOW);
}
// ---- KONTROL HUMIDIFIER ----
if (h < 50.0) {
digitalWrite(HUMIDIFIER_PIN, HIGH);
if(statusSistem == "") statusSistem = "UDARA KERING";
} else if (h > 65.0) {
digitalWrite(HUMIDIFIER_PIN, LOW);
exhaustActive = true;
if(statusSistem == "") statusSistem = "TERLALU BASAH";
} else {
digitalWrite(HUMIDIFIER_PIN, LOW);
}
// ---- KONTROL EXHAUST ----
if (exhaustActive) digitalWrite(EXHAUST_PIN, HIGH);
else digitalWrite(EXHAUST_PIN, LOW);
// ---- KONTROL ALARM ----
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;
}
if (t >= 37.0 && t <= 39.0 && h >= 50.0 && h <= 60.0) {
statusSistem = "KONDISI IDEAL";
}
}
// Kirim Data Ke Dashboard Blynk
Blynk.virtualWrite(V0, t);
Blynk.virtualWrite(V1, h);
Blynk.virtualWrite(V2, statusSistem);
Blynk.virtualWrite(V3, digitalRead(HEATER_PIN));
Blynk.virtualWrite(V4, digitalRead(HUMIDIFIER_PIN));
Blynk.virtualWrite(V5, digitalRead(EXHAUST_PIN));
Blynk.virtualWrite(V7, posisiServo);
// 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("R:");
lcd.print(digitalRead(HEATER_PIN) ? "1" : "0");
lcd.print(digitalRead(HUMIDIFIER_PIN) ? "1" : "0");
lcd.print(digitalRead(EXHAUST_PIN) ? "1" : "0");
lcd.print(" SV:"); lcd.print(posisiServo); lcd.print("deg ");
}
void setup() {
Serial.begin(115200);
pinMode(HEATER_PIN, OUTPUT);
pinMode(HUMIDIFIER_PIN, OUTPUT);
pinMode(EXHAUST_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
eggServo.attach(SERVO_PIN);
eggServo.write(posisiServo); // Set posisi awal (0 derajat)
dht.begin();
lcd.init();
lcd.backlight();
lcd.print("Inkubator Final");
Blynk.begin(auth, ssid, pass);
lcd.clear();
timer.setInterval(500L, kontrolSistemInkubator);
}
void loop() {
Blynk.run();
timer.run();
}

Video 1. Video tutorial pembuatan simulasi di WOKWI
TAG:
mesin penetas telur esp32, penetas telur otomatis iot, inkubator telur esp32, dht22 esp32 penetas telur, simulasi wokwi penetas telur, tutorial esp32 penetas telur, pemutar telur otomatis servo, kontrol suhu penetas telur, kontrol kelembapan penetas telur, lcd 16×2 i2c esp32, heater penetas telur esp32, humidifier penetas telur, exhaust fan penetas telur, buzzer alarm penetas telur, iot smart incubator, penetas telur ayam otomatis, penetas telur bebek esp32, sistem otomasi penetas telur, proyek iot esp32, tutorial wokwi indonesia, koding esp32 penetas telur, library dht22 esp32, library servo esp32, library liquidcrystal i2c, sensor dht22 wokwi, pengatur suhu inkubator, pengatur kelembapan inkubator, servo penggerak rak telur, alarm suhu inkubator, smart egg incubator esp32, proyek teknik elektro iot, mekatronika penetas telur, tugas akhir penetas telur iot, skripsi iot penetas telur, ide proyek esp32 iot, skematik penetas telur esp32, diagram rangkaian inkubator, source code penetas telur esp32, program arduino penetas telur, simulasi iot tanpa hardware, platform simulasi wokwi, wokwi esp32 egg incubator, sistem pemantau inkubator nirkabel, telemetry data penetas telur, proyek sains iot elektro, portofolio iot esp32, praktikum mikrokontroler esp32, modul esp32 wroom 32, pinout esp32 dht22, gpio esp32 servo heater, penetas telur berbasis mikrokontroler, indikator suhu menetas, grafik suhu kelembapan penetas, egg incubator temperature control, smart farming esp32, panduan iot penetas telur, belajar mikrokontroler online, simulator komponen elektronik, wokwi custom chip esp32, internet of things indonesia, iot smk elektro, iot universitas elektro, prototipe penetas telur otomatis, alat pemutar telur otomatis, iot smart agriculture, esp32 arduino ide, tutorial iot pemula, proyek elektro penetas telur, panduan lengkap wokwi esp32, deteksi suhu penetas telur, sistem kendali pemanas esp32, logika kontrol kelembapan, sistem peringatan suhu abnormal, tampilan lcd inkubator, otomatisasi peternakan iot, kontrol rak telur servo, proyek mekatronika pertanian, simulasi hardware inkubator, sistem otomatisasi inkubator, proyek iot pertanian, kodingan penetas telur, sensor dht22 presisi, rangkaian pemanas dan kipas, tutorial mikrokontroler iot, wawasan iot teknik elektro, aplikasi iot peternakan, otomatisasi mesin penetas, penetas telur cerdas esp32, koding kontrol pemutar telur, pemantauan penetas telur real time, iot egg hatching system
