{"id":455,"date":"2026-09-20T08:39:50","date_gmt":"2026-09-20T07:39:50","guid":{"rendered":"https:\/\/kuliahelektro.org\/?p=455"},"modified":"2026-09-20T08:39:50","modified_gmt":"2026-09-20T07:39:50","slug":"cara-membuat-mesin-penetas-telur-otomatis-iot-menggunakan-esp32-dht22-simulasi-wokwi","status":"publish","type":"post","link":"https:\/\/kuliahelektro.org\/?p=455","title":{"rendered":"Cara Membuat Mesin Penetas Telur Otomatis IoT Menggunakan ESP32 &amp; DHT22 (Simulasi Wokwi)"},"content":{"rendered":"\n<p><strong>Cara Membuat Mesin Penetas Telur Otomatis IoT Menggunakan ESP32 &amp; DHT22 (Simulasi Wokwi)<\/strong><\/p>\n\n\n\n<p>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&#215;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.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/www.youtube.com\/watch?v=Q2F0VMORcuc&amp;lc=Ugwn_ThlLLyX6Bb7Ial4AaABAg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"676\" src=\"https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/09\/image-18-1024x676.png\" alt=\"\" class=\"wp-image-456\" style=\"aspect-ratio:1.514792899408284;width:520px;height:auto\" srcset=\"https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/09\/image-18-1024x676.png 1024w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/09\/image-18-300x198.png 300w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/09\/image-18-768x507.png 768w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/09\/image-18.png 1225w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<p class=\"has-text-align-center\"><strong>Gambar 1. Skematik rangkaian sistem<\/strong><\/p>\n\n\n\n<ul>\n<li>LCD 16&#215;2 I2C<br>GND =&gt; GND<br>VCC =&gt; 5V<br>SDA =&gt; 21<br>SCL =&gt; 22<\/li>\n\n\n\n<li>Sensor Suhu &amp; Kelembapan (DHT22)<br>VCC =&gt; 3.3V \/ 5V<br>Data =&gt; 15<br>GND =&gt; GND<\/li>\n\n\n\n<li>Heater (Pemanas)<br>Signal =&gt; 2<\/li>\n\n\n\n<li>Humidifier (Pelembap)<br>Signal =&gt; 5<\/li>\n\n\n\n<li>Exhaust Fan (Kipas Pembuang)<br>Signal =&gt; 18<\/li>\n\n\n\n<li>Motor Servo (Pemutar Telur)<br>Signal =&gt; 19<\/li>\n\n\n\n<li>Buzzer Alarm<br>Positive => 4<br><br>*semua VCC dihubungkan ke 5 volt dan GND dihubungkan ke GND*<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-align-center\"><strong>Kode Arduino 1. Kode Program<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ ============================= \r\n\/\/ ALFIAN CENTER \r\n\/\/ SUBSCRIBE \r\n\/\/ Membuat Mesin Penetas Telur Otomatis Versi 4 IoT Kontrol 3 Kondisi dan Servo Pemutar Otomatis Simulasi Wokwi\r\n\/\/ PROGRAM BAKAL AKU KIRIM DENGAN SYARAT DIBAWAH \r\n\/\/ LIKE 50, KOMEN 30 DAN * WAJIB SUBSCRIBE *\r\n\/\/ PROGRAM DIKIRIM VIA KOMENTAR \r\n\/\/ =============================\r\n\r\n#define BLYNK_TEMPLATE_ID \"ID\"\r\n#define BLYNK_TEMPLATE_NAME \"NAME\"\r\n#define BLYNK_AUTH_TOKEN \"TOKEN\"\r\n\r\n#include &lt;WiFi.h>\r\n#include &lt;BlynkSimpleEsp32.h>\r\n#include &lt;LiquidCrystal_I2C.h>\r\n#include &lt;ESP32Servo.h>\r\n#include \"DHT.h\"\r\n\r\n#define DHTPIN 15     \r\n#define DHTTYPE DHT22   \r\n#define HEATER_PIN 2     \r\n#define HUMIDIFIER_PIN 5 \r\n#define EXHAUST_PIN 18   \r\n#define SERVO_PIN 19     \/\/ Servo Motor\r\n#define BUZZER_PIN 4     \r\n\r\nchar auth&#91;] = BLYNK_AUTH_TOKEN;\r\nchar ssid&#91;] = \"Wokwi-GUEST\";\r\nchar pass&#91;] = \"\";\r\n\r\nDHT dht(DHTPIN, DHTTYPE);\r\nLiquidCrystal_I2C lcd(0x27, 16, 2);\r\nServo eggServo;\r\nBlynkTimer timer;\r\n\r\n\/\/ Variabel Kontrol\r\nint manualOverride = 0; \r\nunsigned long waktuBeep = 0;\r\nbool statusBuzzer = false;\r\nbool isNotifSent = false;\r\n\r\n\/\/ Variabel Servo Pemutar Telur\r\nint posisiServo = 0; \/\/ Mulai dari 0 derajat\r\nunsigned long waktuTerakhirPutar = 0;\r\n\/\/ 3 Jam = 3 * 60 * 60 * 1000 milidetik = 10800000\r\nconst unsigned long INTERVAL_PUTAR_TELUR = 10800000; \r\n\r\nBLYNK_WRITE(V6) {\r\n  manualOverride = param.asInt();\r\n}\r\n\r\n\/\/ Tombol Demo \/ Manual Test Putar Telur dari HP (V8)\r\nBLYNK_WRITE(V8) {\r\n  int buttonState = param.asInt();\r\n  if (buttonState == 1) { \/\/ Jika tombol di aplikasi ditekan\r\n    putarTelur();\r\n  }\r\n}\r\n\r\nvoid putarTelur() {\r\n  if (posisiServo == 0) {\r\n    posisiServo = 90; \/\/ Putar ke posisi 90 derajat\r\n  } else {\r\n    posisiServo = 0;  \/\/ Kembalikan ke posisi 0 derajat\r\n  }\r\n  eggServo.write(posisiServo);\r\n  \r\n  \/\/ Update info ke Blynk &amp; LCD\r\n  Blynk.virtualWrite(V7, posisiServo);\r\n  Blynk.virtualWrite(V2, \"PEMUTARAN TELUR\");\r\n  \r\n  lcd.setCursor(0, 1);\r\n  lcd.print(\"SRV MOVE TO: \"); lcd.print(posisiServo); lcd.print(\"deg \");\r\n  delay(1500); \/\/ Beri jeda visual di LCD\r\n}\r\n\r\nvoid kontrolSistemInkubator() {\r\n  float h = dht.readHumidity();\r\n  float t = dht.readTemperature();\r\n\r\n  if (isnan(h) || isnan(t)) {\r\n    lcd.setCursor(0, 0);\r\n    lcd.print(\"Sensor Error!   \");\r\n    return;\r\n  }\r\n\r\n  \/\/ ---- Logika Timer Otomatis Tiap 3 Jam ----\r\n  if (millis() - waktuTerakhirPutar >= INTERVAL_PUTAR_TELUR) {\r\n    waktuTerakhirPutar = millis();\r\n    putarTelur();\r\n  }\r\n\r\n  String statusSistem = \"\";\r\n  bool exhaustActive = false;\r\n\r\n  if (manualOverride == 1) {\r\n    statusSistem = \"OFF LINE (HP)\";\r\n    digitalWrite(HEATER_PIN, LOW);\r\n    digitalWrite(HUMIDIFIER_PIN, LOW);\r\n    digitalWrite(EXHAUST_PIN, LOW);\r\n    noTone(BUZZER_PIN);\r\n  } \r\n  else {\r\n    \/\/ ---- KONTROL HEATER ----\r\n    if (t &lt; 37.0) {\r\n      digitalWrite(HEATER_PIN, HIGH);\r\n      statusSistem = \"SUHU DINGIN\";\r\n    } else if (t > 39.0) {\r\n      digitalWrite(HEATER_PIN, LOW);  \r\n      exhaustActive = true;           \r\n      statusSistem = \"OVERHEAT!!\";\r\n      \r\n      if (!isNotifSent) {\r\n        Blynk.logEvent(\"suhu_overheat\", \"Bahaya! Inkubator Overheat: \" + String(t, 1) + \"\u00b0C\");\r\n        isNotifSent = true;\r\n      }\r\n    } else {\r\n      digitalWrite(HEATER_PIN, LOW);\r\n    }\r\n\r\n    \/\/ ---- KONTROL HUMIDIFIER ----\r\n    if (h &lt; 50.0) {\r\n      digitalWrite(HUMIDIFIER_PIN, HIGH); \r\n      if(statusSistem == \"\") statusSistem = \"UDARA KERING\";\r\n    } else if (h > 65.0) { \r\n      digitalWrite(HUMIDIFIER_PIN, LOW);\r\n      exhaustActive = true;               \r\n      if(statusSistem == \"\") statusSistem = \"TERLALU BASAH\";\r\n    } else {\r\n      digitalWrite(HUMIDIFIER_PIN, LOW);\r\n    }\r\n\r\n    \/\/ ---- KONTROL EXHAUST ----\r\n    if (exhaustActive) digitalWrite(EXHAUST_PIN, HIGH);\r\n    else digitalWrite(EXHAUST_PIN, LOW);\r\n\r\n    \/\/ ---- KONTROL ALARM ----\r\n    if (t > 39.0 || h &lt; 40.0) { \r\n      if (millis() - waktuBeep > 300) {\r\n        waktuBeep = millis();\r\n        statusBuzzer = !statusBuzzer;\r\n        if (statusBuzzer) tone(BUZZER_PIN, 1500);\r\n        else noTone(BUZZER_PIN);\r\n      }\r\n    } else {\r\n      noTone(BUZZER_PIN);\r\n      isNotifSent = false; \r\n    }\r\n\r\n    if (t >= 37.0 &amp;&amp; t &lt;= 39.0 &amp;&amp; h >= 50.0 &amp;&amp; h &lt;= 60.0) {\r\n      statusSistem = \"KONDISI IDEAL\";\r\n    }\r\n  }\r\n\r\n  \/\/ Kirim Data Ke Dashboard Blynk\r\n  Blynk.virtualWrite(V0, t);\r\n  Blynk.virtualWrite(V1, h);\r\n  Blynk.virtualWrite(V2, statusSistem);\r\n  Blynk.virtualWrite(V3, digitalRead(HEATER_PIN));     \r\n  Blynk.virtualWrite(V4, digitalRead(HUMIDIFIER_PIN)); \r\n  Blynk.virtualWrite(V5, digitalRead(EXHAUST_PIN));    \r\n  Blynk.virtualWrite(V7, posisiServo);\r\n\r\n  \/\/ Update LCD 16x2 Lokal\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(\"T:\"); lcd.print(t, 1); lcd.print(\"C \");\r\n  lcd.print(\"H:\"); lcd.print(h, 0); lcd.print(\"%   \");\r\n  \r\n  lcd.setCursor(0, 1);\r\n  lcd.print(\"R:\"); \r\n  lcd.print(digitalRead(HEATER_PIN) ? \"1\" : \"0\");\r\n  lcd.print(digitalRead(HUMIDIFIER_PIN) ? \"1\" : \"0\");\r\n  lcd.print(digitalRead(EXHAUST_PIN) ? \"1\" : \"0\");\r\n  lcd.print(\" SV:\"); lcd.print(posisiServo); lcd.print(\"deg   \");\r\n}\r\n\r\nvoid setup() {\r\n  Serial.begin(115200);\r\n  pinMode(HEATER_PIN, OUTPUT);\r\n  pinMode(HUMIDIFIER_PIN, OUTPUT);\r\n  pinMode(EXHAUST_PIN, OUTPUT);\r\n  pinMode(BUZZER_PIN, OUTPUT);\r\n  \r\n  eggServo.attach(SERVO_PIN);\r\n  eggServo.write(posisiServo); \/\/ Set posisi awal (0 derajat)\r\n\r\n  dht.begin();\r\n  lcd.init();\r\n  lcd.backlight();\r\n  lcd.print(\"Inkubator Final\");\r\n\r\n  Blynk.begin(auth, ssid, pass);\r\n  lcd.clear();\r\n\r\n  timer.setInterval(500L, kontrolSistemInkubator);\r\n}\r\n\r\nvoid loop() {\r\n  Blynk.run();\r\n  timer.run();\r\n}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.youtube.com\/watch?v=Q2F0VMORcuc&amp;lc=Ugwn_ThlLLyX6Bb7Ial4AaABAg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"576\" src=\"https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/09\/Screenshot-2026-07-13-204251-1024x576.png\" alt=\"\" class=\"wp-image-457\" srcset=\"https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/09\/Screenshot-2026-07-13-204251-1024x576.png 1024w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/09\/Screenshot-2026-07-13-204251-300x169.png 300w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/09\/Screenshot-2026-07-13-204251-768x432.png 768w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/09\/Screenshot-2026-07-13-204251-1536x864.png 1536w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/09\/Screenshot-2026-07-13-204251-2048x1152.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><strong>Video 1. Video tutorial pembuatan simulasi di WOKWI<\/strong><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">TAG:<\/h1>\n\n\n\n<p>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&#215;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<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cara Membuat Mesin Penetas Telur Otomatis IoT Menggunakan ESP32 &amp; 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&#215;2 I2C menggunakan software simulasi WOKWI. Skematik rangkaian ditunjukkan&#8230;<\/p>\n","protected":false},"author":3,"featured_media":458,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/posts\/455"}],"collection":[{"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=455"}],"version-history":[{"count":1,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/posts\/455\/revisions"}],"predecessor-version":[{"id":459,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/posts\/455\/revisions\/459"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/media\/458"}],"wp:attachment":[{"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}