{"id":590,"date":"2026-10-27T23:50:37","date_gmt":"2026-10-27T23:50:37","guid":{"rendered":"https:\/\/kuliahelektro.org\/?p=590"},"modified":"2026-10-27T23:50:38","modified_gmt":"2026-10-27T23:50:38","slug":"tutorial-esp32-cara-membuat-mesin-penetas-telur-otomatis-versi-2-dengan-kontrol-suhu-humidifier-blynk-iot-berbasis-sensor-dht22-pada-wokwi","status":"publish","type":"post","link":"https:\/\/kuliahelektro.org\/?p=590","title":{"rendered":"Tutorial ESP32: Cara Membuat Mesin Penetas Telur Otomatis Versi 2 dengan Kontrol Suhu, Humidifier, &amp; Blynk IoT Berbasis Sensor DHT22 pada WOKWI"},"content":{"rendered":"\n<p>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&#215;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\u00b0C &#8211; 39.0\u00b0C dan kelembapan udara ideal 50% &#8211; 60%. Apabila suhu terlalu panas (overheat > 39.0\u00b0C) 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.<\/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=JSVFuyQg67Q&amp;lc=UgyEEmRe_0yEWTgpIY94AaABAg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" loading=\"lazy\" width=\"1381\" height=\"863\" src=\"https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/10\/Screenshot-2026-07-02-075312-edited-1.png\" alt=\"\" class=\"wp-image-593\" style=\"aspect-ratio:1.600231749710313;width:686px;height:auto\" srcset=\"https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/10\/Screenshot-2026-07-02-075312-edited-1.png 1381w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/10\/Screenshot-2026-07-02-075312-edited-1-300x187.png 300w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/10\/Screenshot-2026-07-02-075312-edited-1-1024x640.png 1024w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/10\/Screenshot-2026-07-02-075312-edited-1-768x480.png 768w\" sizes=\"(max-width: 1381px) 100vw, 1381px\" \/><\/a><\/figure><\/div>\n\n\n<p class=\"has-text-align-center\"><strong>Gambar 1. Skematik rangkaian sistem<\/strong><\/p>\n\n\n\n<p><strong>List Pin:<\/strong><\/p>\n\n\n\n<ul>\n<li>Sensor Suhu &amp; Kelembapan (DHT22)<br>VCC =&gt; 3.3V \/ 5V<br>GND =&gt; GND<br>Data =&gt; GPIO 15 (DHTPIN)<\/li>\n\n\n\n<li>Display LCD 16&#215;2 I2C (Alamat: 0x27)<br>GND =&gt; GND<br>VCC =&gt; 5V \/ 3.3V<br>SDA =&gt; GPIO 21<br>SCL =&gt; GPIO 22<\/li>\n\n\n\n<li>Aktuator Relay &amp; Output Indikator (Simulasi LED \/ Relay Module)<br>HEATER_PIN (Relay 1 \/ Lampu Pemanas) =&gt; GPIO 2 (LED Kuning)<br>HUMIDIFIER_PIN (Relay 2 \/ Sprayer Uap) =&gt; GPIO 5 (LED Biru)<br>BUZZER_PIN (Alarm Peringatan Ekstrem) =&gt; GPIO 4<\/li>\n<\/ul>\n\n\n\n<p><strong>List Virtual PIN:<\/strong><\/p>\n\n\n\n<ul>\n<li>V0 =&gt; Temperature (\u00b0C) &#8211; Datastream Nilai Suhu Inkubator dari Sensor DHT22<\/li>\n\n\n\n<li>V1 =&gt; Humidity (% RH) &#8211; Datastream Nilai Kelembapan Udara dari Sensor DHT22<\/li>\n\n\n\n<li>V2 =&gt; Status Sistem (String) &#8211; Menampilkan Status Operasional Inkubator (&#8220;IKLIM IDEAL AMAN&#8221;, &#8220;SUHU DROP!&#8221;, &#8220;OVERHEAT!!&#8221;, &#8220;UDARA KERING&#8221;, &#8220;TERLALU BASAH&#8221;, atau &#8220;OFF LINE (HP)&#8221;)<\/li>\n\n\n\n<li>V3 =&gt; Heater Status (Integer 0\/1) &#8211; Indikator Widget LED Status Pemanas Aktif\/Mati<\/li>\n\n\n\n<li>V4 =&gt; Humidifier Status (Integer 0\/1) &#8211; Indikator Widget LED Status Pelembap Aktif\/Mati<\/li>\n\n\n\n<li>V5 =&gt; Manual Override Switch (Integer 0\/1) &#8211; Sakelar Tombol Kontrol Mode Manual\/Offline dari Aplikasi Blynk<\/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\/\/ Cara Membuat Mesin Penetas Telur Otomatis VERSI 2 Kontrol Suhu + Humidifier via Blynk IoT Menggunakan ESP32 Dan DHT22  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 \"DHT.h\"\r\n\r\n#define DHTPIN 15     \r\n#define DHTTYPE DHT22   \r\n#define HEATER_PIN 2     \/\/ LED Kuning (Relay Suhu)\r\n#define HUMIDIFIER_PIN 5 \/\/ LED Biru (Relay Kelembapan)\r\n#define BUZZER_PIN 4     \/\/ Alarm\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\nBlynkTimer timer;\r\n\r\n\/\/ Variabel Kontrol\r\nint manualOverride = 0; \/\/ Sekarang pindah ke V5\r\nunsigned long waktuBeep = 0;\r\nbool statusBuzzer = false;\r\nbool isNotifSent = false;\r\n\r\n\/\/ Membaca status tombol Override dari Blynk (V5)\r\nBLYNK_WRITE(V5) {\r\n  manualOverride = param.asInt();\r\n}\r\n\r\nvoid kontrolIklimInkubator() {\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  String statusSistem = \"\";\r\n\r\n  \/\/ 1. Cek Mode Manual Override dari Blynk\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    noTone(BUZZER_PIN);\r\n  } \r\n  else {\r\n    \/\/ ==================================================\r\n    \/\/ LOGIKA RELAY 1: KONTROL SUHU (Ideal: 37.0\u00b0C - 39.0\u00b0C)\r\n    \/\/ ==================================================\r\n    if (t &lt; 37.0) {\r\n      digitalWrite(HEATER_PIN, HIGH); \/\/ Jalankan Lampu Pemanas\r\n      statusSistem = \"SUHU DROP!\";\r\n    } else if (t > 39.0) {\r\n      digitalWrite(HEATER_PIN, LOW);  \/\/ Matikan Lampu Pemanas\r\n      statusSistem = \"OVERHEAT!!\";\r\n      \r\n      \/\/ Kirim Notifikasi Darurat ke Blynk jika Overheat (Hanya Sekali)\r\n      if (!isNotifSent) {\r\n        Blynk.logEvent(\"suhu_overheat\", \"Bahaya! Inkubator Terlalu Panas: \" + String(t, 1) + \"\u00b0C\");\r\n        isNotifSent = true;\r\n      }\r\n    } else {\r\n      digitalWrite(HEATER_PIN, LOW);  \/\/ Suhu aman hangat pas\r\n    }\r\n\r\n    \/\/ ==================================================\r\n    \/\/ LOGIKA RELAY 2: KONTROL KELEMBAPAN (Ideal: 50% - 60%)\r\n    \/\/ ==================================================\r\n    if (h &lt; 50.0) {\r\n      digitalWrite(HUMIDIFIER_PIN, HIGH); \/\/ Nyalakan Sprayer Uap Air\r\n      if(statusSistem == \"\") statusSistem = \"UDARA KERING\";\r\n    } else if (h > 60.0) {\r\n      digitalWrite(HUMIDIFIER_PIN, LOW);  \/\/ Matikan Sprayer\r\n      if(statusSistem == \"\") statusSistem = \"TERLALU BASAH\";\r\n    } else {\r\n      digitalWrite(HUMIDIFIER_PIN, LOW);  \/\/ Kelembapan pas\r\n    }\r\n\r\n    \/\/ ==================================================\r\n    \/\/ LOGIKA ALARM \/ BUZZER JIKA KONDISI SANGAT EKSTREM\r\n    \/\/ ==================================================\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    \/\/ Jika semua parameter masuk rentang ideal\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 = \"IKLIM IDEAL AMAN\";\r\n    }\r\n  }\r\n\r\n  \/\/ 2. Kirim Data Ke Dashboard Blynk (Termasuk Status Real-time Relay)\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));     \/\/ Kirim 1\/0 ke LED Widget Heater\r\n  Blynk.virtualWrite(V4, digitalRead(HUMIDIFIER_PIN)); \/\/ Kirim 1\/0 ke LED Widget Humidifier\r\n\r\n  \/\/ 3. 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(\"HT:\"); lcd.print(digitalRead(HEATER_PIN) ? \"ON \" : \"OFF\");\r\n  lcd.print(\"HM:\"); lcd.print(digitalRead(HUMIDIFIER_PIN) ? \"ON \" : \"OFF\");\r\n  lcd.print(\"    \");\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(BUZZER_PIN, OUTPUT);\r\n  \r\n  dht.begin();\r\n  lcd.init();\r\n  lcd.backlight();\r\n  lcd.print(\"Inkubator Pro v2\");\r\n\r\n  Blynk.begin(auth, ssid, pass);\r\n  lcd.clear();\r\n\r\n  timer.setInterval(500L, kontrolIklimInkubator);\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=JSVFuyQg67Q&amp;lc=UgyEEmRe_0yEWTgpIY94AaABAg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"576\" src=\"https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/10\/Screenshot-2026-07-02-075312-1024x576.png\" alt=\"\" class=\"wp-image-591\" srcset=\"https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/10\/Screenshot-2026-07-02-075312-1024x576.png 1024w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/10\/Screenshot-2026-07-02-075312-300x169.png 300w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/10\/Screenshot-2026-07-02-075312-768x432.png 768w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/10\/Screenshot-2026-07-02-075312-1536x864.png 1536w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/10\/Screenshot-2026-07-02-075312-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<\/strong><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">TAG:<\/h1>\n\n\n\n<p class=\"has-text-align-left\">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&#215;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<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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&#215;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&#8230;<\/p>\n","protected":false},"author":3,"featured_media":591,"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\/590"}],"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=590"}],"version-history":[{"count":1,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/posts\/590\/revisions"}],"predecessor-version":[{"id":594,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/posts\/590\/revisions\/594"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/media\/591"}],"wp:attachment":[{"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=590"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}