• 082226375801
  • alfianmaarif@ee.uad.ac.id
  • Yogyakarta
Materi
Tutorial ESP32: Cara Membuat Sistem Smart Greenhouse Jamur Tiram dengan Monitoring Level Tangki Air, Sensor Cahaya LDR (Lux), Sprayer Otomatis, & Blynk IoT pada WOKWI

Tutorial ESP32: Cara Membuat Sistem Smart Greenhouse Jamur Tiram dengan Monitoring Level Tangki Air, Sensor Cahaya LDR (Lux), Sprayer Otomatis, & Blynk IoT pada WOKWI

Pada bagian ini akan dibahas pembuatan sistem otomatisasi kumbung jamur tiram pintar (Smart Mushroom Cultivation System V3) berbasis mikrokontroler ESP32, sensor suhu dan kelembapan DHT22, sensor cahaya LDR (untuk pemantauan intensitas cahaya Lux), sensor ultrasonik HC-SR04 (untuk mengukur persentase level air tangki), relay pompa sprayer, relay kipas exhaust, buzzer alarm peringatan, indikator LED status, layar LCD 16×2 I2C, 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 kelembapan udara secara presisi (idealnya 70% – 80% RH) dan suhu ruang (< 28°C), melindungi pompa dari kerusakan akibat tangki kosong (proteksi level air <= 15%), serta mendeteksi paparan cahaya berlebih yang berbahaya bagi pertumbuhan jamur tiram.

Gambar 1. Skematik rangkaian sistem

List Pin:

  • Sensor Suhu & Kelembapan (DHT22)
    VCC => 3.3V / 5V
    GND => GND
    Data => GPIO 15 (DHTPIN)
  • Sensor Ultrasonik HC-SR04 (Level Tangki Air)
    Trig Pin => GPIO 5 (TRIG_PIN)
    Echo Pin => GPIO 18 (ECHO_PIN)
    VCC => 5V / 3.3V
    GND => GND
  • Sensor Cahaya (LDR)
    Analog Output (AO) => GPIO 34 (LDR_PIN)
    VCC => 3.3V
    GND => GND
  • Display LCD 16×2 I2C (Alamat: 0x27)
    GND => GND
    VCC => 5V / 3.3V
    SDA => GPIO 21
    SCL => GPIO 22
  • Aktuator Relay, Indikator LED & Buzzer Alarm
    LED Green (Indikator Sistem Aman) => GPIO 2 (LED_GREEN)
    LED Red (Indikator Peringatan / Warning) => GPIO 4 (LED_RED)
    SPRAYER_PIN (Relay Pompa Pelembap Jamur) => GPIO 19 (SPRAYER_PIN)
    FAN_PIN (Relay Kipas Sirkulasi Udara) => GPIO 23 (FAN_PIN)
    BUZZER_PIN (Alarm Peringatan Darurat) => GPIO 13 (BUZZER_PIN)

List Virtual PIN:

  • V0 => Humidity (% RH) – Datastream Grafik Real-Time Nilai Kelembapan Udara Kumbung dari DHT22
  • V1 => Temperature (°C) – Datastream Grafik Real-Time Nilai Suhu Ruangan dari DHT22
  • V2 => System Status (String) – Menampilkan Status Operasional (“ALL SYSTEM SAFE”, “TANK EMPTY!”, “SPRAYING…”, “HOT! FAN ON”, atau “TOO BRIGHT!”)
  • V3 => Sprayer Pump Status (Integer 0/1) – Indikator Widget LED Status Pompa Penyiram Aktif/Mati
  • V4 => Exhaust Fan Status (Integer 0/1) – Indikator Widget LED Status Kipas Pendingin Aktif/Mati
  • V5 => Light Intensity (Float Lux) – Datastream Nilai Intensitas Cahaya Ruangan dari Sensor LDR
  • V6 => Water Tank Level (Integer 0-100%) – Widget Gauge / Indikator Persentase Ketersediaan Air di Tangki

Kode Arduino 1. Kode Program

// ============================= 
// ALFIAN CENTER 
// SUBSCRIBE 
// Monitoring Cahaya, Level Tangki & Penyiram Otomatis Jamur Tiram ESP32 Blynk IOT WOKWI
// PROGRAM BAKAL AKU KIRIM DENGAN SYARAT DIBAWAH 
// LIKE 50, KOMEN 30 DAN * WAJIB SUBSCRIBE *
// PROGRAM DIKIRIM VIA KOMENTAR 
// =============================

#define BLYNK_TEMPLATE_ID "TMPL6fXpWRB9k"
#define BLYNK_TEMPLATE_NAME "Smart Jamur"
#define BLYNK_AUTH_TOKEN "Be4I88wqVI3V_O9ZEv203tcLntkOjzBI"

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

#define DHTPIN 15     
#define DHTTYPE DHT22   
#define TRIG_PIN 5     // Trig Ultrasonik Tangki Air
#define ECHO_PIN 18    // Echo Ultrasonik Tangki Air
#define LDR_PIN 34     // LDR di GPIO 34
#define LED_GREEN 2    
#define LED_RED 4      
#define SPRAYER_PIN 19 // Relay Pompa Sprayer
#define FAN_PIN 23     // Relay Kipas Exhaust
#define BUZZER_PIN 13  

const float GAMMA = 0.7; 
const float RL10 = 33.0; 

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

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

// Fungsi Membaca Sensor LDR Presisi (GPIO 34)
float readLux() {
  int analogValue = analogRead(LDR_PIN);
  float voltage = analogValue / 4096.0 * 3.3;
  if (voltage >= 3.29) voltage = 3.29; 

  float resistance = 2000.0 * voltage / (1.0 - voltage / 3.3);
  float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1.0 / GAMMA));
  return lux;
}

// Fungsi Membaca Level Air Tangki (0-100%)
int readWaterTank() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);

  long duration = pulseIn(ECHO_PIN, HIGH, 30000); 
  if (duration == 0) return 100;

  int distance = duration * 0.034 / 2; // Jarak cm
  int tankLevel = map(distance, 25, 5, 0, 100);
  tankLevel = constrain(tankLevel, 0, 100);
  return tankLevel;
}

void monitorGreenhouseV3() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float lux = readLux();
  int waterLevel = readWaterTank();

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

  String statusStr = "";
  bool isWarning = false;

  // Debug Serial
  Serial.print("Lux: "); Serial.print(lux);
  Serial.print(" | Hum: "); Serial.print(h);
  Serial.print("% | Tank: "); Serial.print(waterLevel); Serial.println("%");

  // LOGIKA SISTEM
  // 1. Proteksi Tangki Air Kosong
  if (waterLevel <= 15) {
    digitalWrite(SPRAYER_PIN, LOW); // Matikan pompa paksa
    statusStr = "TANK EMPTY!";
    isWarning = true;
    tone(BUZZER_PIN, 1500, 200);
    // PERBAIKAN: Menambahkan tanda petik dua (") sebelum BAHAYA
    Blynk.logEvent("tank_kosong", "BAHAYA! Tangki Air Habis (" + String(waterLevel) + "%). Pompa Dimatikan!");
  } 
  else {
    // 2. Kontrol Penyiram Pelembab
    if (h < 70.0) {
      digitalWrite(SPRAYER_PIN, HIGH);
      statusStr = "SPRAYING...";
      isWarning = true;
    } else if (h >= 80.0) {
      digitalWrite(SPRAYER_PIN, LOW);
    }
  }

  // 3. Kontrol Kipas (Suhu)
  if (t > 28.0) {
    digitalWrite(FAN_PIN, HIGH);
    if (statusStr == "") statusStr = "HOT! FAN ON";
    isWarning = true;
  } else {
    digitalWrite(FAN_PIN, LOW);
  }

  // 4. Proteksi Intensitas Cahaya (> 50 Lux)
  if (lux > 50.0) {
    statusStr = "TOO BRIGHT!";
    isWarning = true;
    tone(BUZZER_PIN, 2000, 100);
  } 
  
  if (!isWarning && waterLevel > 15) {
    statusStr = "ALL SYSTEM SAFE";
    noTone(BUZZER_PIN);
  }

  // Indikator LED
  if (isWarning) {
    digitalWrite(LED_RED, HIGH);
    digitalWrite(LED_GREEN, LOW);
  } else {
    digitalWrite(LED_RED, LOW);
    digitalWrite(LED_GREEN, HIGH);
  }

  // Blynk Update
  Blynk.virtualWrite(V0, h);
  Blynk.virtualWrite(V1, t);
  Blynk.virtualWrite(V2, statusStr);
  Blynk.virtualWrite(V3, digitalRead(SPRAYER_PIN) ? 1 : 0);
  Blynk.virtualWrite(V4, digitalRead(FAN_PIN) ? 1 : 0);
  Blynk.virtualWrite(V5, lux);
  Blynk.virtualWrite(V6, waterLevel);

  // LCD Update
  lcd.setCursor(0, 0);
  lcd.print("H:"); lcd.print(h, 0); lcd.print("% L:"); lcd.print(lux, 0); lcd.print("Lx   ");

  lcd.setCursor(0, 1);
  lcd.print("ST:");
  lcd.print(statusStr);
  lcd.print("    ");
}

void setup() {
  Serial.begin(9600); 

  pinMode(LED_GREEN, OUTPUT);
  pinMode(LED_RED, OUTPUT);
  pinMode(SPRAYER_PIN, OUTPUT);
  pinMode(FAN_PIN, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  pinMode(LDR_PIN, INPUT);
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);

  dht.begin();

  lcd.init();
  lcd.backlight();
  lcd.print("Smart Mushroom");
  lcd.setCursor(0, 1);
  lcd.print("V3 Tank & Lux");
  delay(1500);

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

  timer.setInterval(500L, monitorGreenhouseV3);
}

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

Video 1. Video tutorial pembuatan

TAG:

smart greenhouse jamur tiram, budidaya jamur otomatis esp32, pemantauan tangki air ultrasonik, ldr lux meter esp32, blynk iot smart mushroom, dht22 esp32 blynk, simulasi wokwi jamur tiram, tutorial esp32 blynk, iot pertanian modern, penyiram otomatis jamur blynk, relay sprayer esp32, relay fan exhaust esp32, sensor level air tangki esp32, lcd 16×2 i2c esp32, blynk logevent tank kosong, kontrol suhu kelembapan jamur, tutorial blynk iot esp32, library dht sensor esp32, library liquidcrystal i2c, gpio 15 dht22 esp32, gpio 5 18 ultrasonik tangki, gpio 34 ldr lux esp32, gpio 2 4 led indikator, gpio 19 sprayer pump, gpio 23 fan exhaust, gpio 13 buzzer alarm, proyek iot esp32 smart agriculture, tutorial wokwi indonesia, simulasi iot kumbung jamur, pemantauan jamur jarak jauh, blynk app smart mushroom, datastream blynk dht22 ldr ultrasonik, virtual pin blynk jamur tiram, smart farming iot esp32, proyek teknik elektro iot, mekatronika pertanian modern, tugas akhir iot kumbung jamur, skripsi iot smart mushroom, ide proyek esp32 iot, skematik jamur tiram esp32, diagram rangkaian dht22 relay ultrasonik lcd, source code jamur tiram esp32, program arduino blynk mushroom, simulasi iot tanpa hardware, platform simulasi wokwi, wokwi esp32 smart greenhouse, blynk auth token esp32, pengontrol kumbung berbasis iot, telemetry data dht22 ldr tangki, proyek sains iot elektro, portofolio iot esp32, praktikum mikrokontroler esp32, modul esp32 wroom 32, pinout esp32 dht22 relay sensor, gpio esp32 sensor display, indikator status blynk, grafik lingkungan blynk, smart agriculture esp32, efisiensi budidaya jamur, panduan iot jamur esp32, belajar mikrokontroler online, simulator komponen elektronik, wokwi custom chip esp32, blynk iot platform agriculture, internet of things indonesia, iot smk pertanian, iot universitas teknik, prototipe kumbung jamur esp32, alat pengontrol kelembapan otomatis, iot smart farming, esp32 arduino ide blynk, tutorial iot pemula, proyek elektro smart agriculture, panduan lengkap wokwi blynk, sensor dht22 kelembapan akurat, sistem proteksi tangki kosong, logika kontrol sprayer kipas, notifikasi blynk logevent tank, sistem mikroklimat jamur tiram, otomatisasi pertanian modern, proyek mekatronika elektro, simulasi hardware smart mushroom, sistem kumbung jamur esp32, proyek iot populer, kodingan sprayer otomatis, sensor ultrasonik digital esp32, rangkaian relay dan ldr, tutorial mikrokontroler iot, wawasan teknik elektro, aplikasi iot smart farming, jamur tiram cerdas esp32, koding logika kelembapan 70 persen, pemantauan kumbung jamur real time, iot mushroom management system

Leave a Reply

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