Senin, 14 September 2026

Sistem Monitoring Kelembapan Tanah dan Kontrol Pompa Otomatis Berbasis ESP32 dengan Simulasi Wokwi

 

LAPORAN PRAKTIKUM INTERNET OF THINGS (IOT)

Sistem Monitoring Kelembapan Tanah dan Kontrol Pompa Otomatis Berbasis ESP32 dengan Simulasi Wokwi


Disusun Oleh:

Revalina Natasya Sinaga 24051204123

Muchammad Ainur Rizal 24051204127

M. Mazidannur Jibril Murtadlo 24051204130

Akhmad Furqon Al Farid 24051204134

 

FAKULTAS TEKNIK

PROGRAM STUDI S1 TEKNIK INFORMATIKA

UNIVERSITAS NEGERI SURABAYA

2026


BAB 1
PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi Internet of Things (IoT) memungkinkan berbagai perangkat elektronik terhubung ke internet dan saling bertukar data secara otomatis. Salah satu penerapannya adalah pada bidang pertanian, yaitu sistem penyiraman tanaman otomatis berdasarkan tingkat kelembapan tanah. Sistem ini penting untuk menjaga efisiensi penggunaan air sekaligus memastikan tanaman mendapatkan kadar air yang sesuai tanpa harus dipantau secara manual.

Pada praktikum ini, dikembangkan sebuah sistem monitoring kelembapan tanah dan kontrol pompa otomatis menggunakan mikrokontroler ESP32 yang disimulasikan melalui platform Wokwi. Data hasil pembacaan sensor juga dikirimkan ke platform IoT cloud ThingSpeak agar dapat dipantau secara real-time dari jarak jauh.

1.2 Rumusan Masalah

  1. Bagaimana cara membaca tingkat kelembapan tanah menggunakan soil moisture sensor pada mikrokontroler ESP32?

  2. Bagaimana merancang sistem kontrol pompa air otomatis berdasarkan hasil pembacaan sensor kelembapan tanah?

  3. Bagaimana menampilkan data kelembapan tanah dan status pompa secara real-time melalui LCD I2C?

  4. Bagaimana mengirimkan data sensor ke platform IoT cloud ThingSpeak menggunakan protokol HTTP?

1.3 Tujuan Laporan

  1. Memahami prinsip kerja sensor soil moisture pada mikrokontroler ESP32.

  2. Mengimplementasikan sistem kontrol otomatis (pompa air) berdasarkan pembacaan sensor.

  3. Menampilkan data sensor secara real-time melalui LCD I2C.

  4. Mengirimkan data sensor ke platform IoT cloud (ThingSpeak) menggunakan protokol HTTP. 

  5. Melakukan simulasi rangkaian IoT menggunakan platform Wokwi.


1.4 Manfaat Penulisan

  1. Bagi penulis, laporan ini menjadi sarana penerapan konsep IoT secara langsung melalui simulasi rangkaian dan pemrograman mikrokontroler ESP32.

  2. Bagi pembaca, laporan ini dapat menjadi referensi dalam merancang sistem monitoring dan kontrol otomatis berbasis sensor untuk keperluan pertanian atau kebutuhan sejenis.

  3. Bagi pengembangan lebih lanjut, hasil praktikum ini dapat menjadi dasar untuk penelitian atau proyek IoT yang lebih kompleks, misalnya penambahan fitur notifikasi atau kontrol jarak jauh.


BAB 2
TINJAUAN PUSTAKA

2.1 Dasar Teori

2.1.1 Internet of Things (IoT)

Internet of Things (IoT) merupakan konsep menghubungkan perangkat fisik ke internet sehingga dapat saling bertukar data secara otomatis. Pada praktikum ini, ESP32 digunakan sebagai mikrokontroler karena telah memiliki modul WiFi terintegrasi, sehingga memudahkan proses pengiriman data ke server cloud tanpa perangkat tambahan.

2.1.2 Soil Moisture Sensor

Soil moisture sensor bekerja dengan mengukur tingkat kelembapan tanah melalui perubahan nilai resistansi atau kapasitansi, yang kemudian dibaca sebagai nilai analog oleh ESP32 (0-4095) dan dikonversi menjadi persentase (0-100%). Berdasarkan nilai tersebut, sistem menentukan apakah pompa air perlu diaktifkan atau tidak, sehingga proses penyiraman tanaman dapat berjalan otomatis tanpa campur tangan manusia.

2.1.3 ThingSpeak

ThingSpeak adalah platform analitik IoT berbasis cloud yang memungkinkan pengumpulan, penyimpanan, dan visualisasi data sensor melalui protokol HTTP (GET request) dengan menyertakan API Key sebagai identitas channel.

2.2 Komponen

Komponen yang digunakan dalam simulasi sistem ini beserta fungsinya adalah sebagai berikut.

Komponen

Fungsi

ESP32 DevKit V1

Mikrokontroler utama yang menjalankan program dan terhubung ke WiFi

Soil Moisture Sensor (Capacitive)

Sensor pembaca tingkat kelembapan tanah, dihubungkan ke pin analog GPIO 34

LED + Resistor

Mensimulasikan aktuator pompa air (menyala saat pompa ON)

LCD I2C 16x2

Menampilkan persentase kelembapan tanah dan status pompa secara real-time

Wokwi Simulator

Platform simulasi rangkaian dan kode ESP32 secara online

ThingSpeak

Platform cloud IoT untuk menyimpan dan memvisualisasikan data sensor



BAB 3
PEMBAHASAN

3.1 Penjelasan Simulasi

3.1.1 Rangkaian Simulasi

Rangkaian disusun pada platform Wokwi dengan konfigurasi sebagai berikut.

  • Soil Moisture Sensor: pin SIG terhubung ke GPIO 34 (analog input), VCC ke 3V3, GND ke GND.

  • LED (simulasi pompa) dengan resistor pembatas arus, terhubung ke GPIO 5.

  • LCD I2C 16x2 terhubung melalui jalur SDA dan SCL ESP32 untuk komunikasi I2C.

Gambar 3.1. Tampilan simulasi rangkaian pada Wokwi

3.1.2 Cara Kerja Sistem

  1. ESP32 melakukan koneksi ke jaringan WiFi bawaan Wokwi ("Wokwi-GUEST") saat inisialisasi.

  2. Sensor soil moisture membaca nilai analog tanah pada GPIO 34, kemudian dikonversi menjadi persentase 0-100% menggunakan fungsi map().

  3. Jika persentase kelembapan < 40%, pompa (disimulasikan LED) diaktifkan (HIGH); jika ≥ 40%, pompa dimatikan (LOW).

  4. LCD I2C menampilkan nilai kelembapan tanah dan status pompa secara real-time.

  5. Setiap 15 detik, ESP32 mengirim data kelembapan (field1) dan status pompa (field2) ke ThingSpeak melalui HTTP GET request menggunakan API Key channel.

  6. Hasil pengiriman data (kode HTTP response) ditampilkan pada Serial Monitor sebagai indikator keberhasilan.

3.1.3 Hasil dan Pembahasan

Berdasarkan hasil simulasi, sistem berhasil membaca nilai kelembapan tanah sebesar 95%, sehingga status pompa ditampilkan dalam kondisi OFF karena nilai tersebut berada di atas ambang batas 40% yang ditentukan pada program.

Pada Serial Monitor, data berhasil terkirim ke ThingSpeak dengan kode HTTP response 200, yang menandakan permintaan (request) diterima dan diproses dengan baik oleh server. Hal ini membuktikan bahwa integrasi antara ESP32, sensor, aktuator, LCD, dan platform cloud ThingSpeak telah berjalan sesuai dengan yang diharapkan.

3.2 Program

Berikut kode program (Arduino/ESP32) yang digunakan pada simulasi ini.

#include <WiFi.h>

#include <HTTPClient.h>

#include <Wire.h>

#include <LiquidCrystal_I2C.h>


#define SOIL_MOISTURE_PIN 34

#define PUMP_PIN 5


LiquidCrystal_I2C lcd(0x27162);


// Konfigurasi WiFi bawaan Wokwi

const char* ssid = "Wokwi-GUEST";

const char* password = "";


// API KEY DARI THINGSPEAK:

String apiKey = "KJ4WOEVXO7A8E7S3";

String serverName = "http://api.thingspeak.com/update";


unsigned long lastTime = 0;

// ThingSpeak butuh jeda 15 detik setiap kirim data

unsigned long timerDelay = 15000;


void setup() {

  Serial.begin(115200);

  pinMode(SOIL_MOISTURE_PIN, INPUT);

  pinMode(PUMP_PIN, OUTPUT);

 

  lcd.init();

  lcd.backlight();

  lcd.setCursor(00);

  lcd.print("Koneksi WiFi...");


  // Proses menghubungkan ESP32 ke Internet Wokwi

  WiFi.begin(ssid, password);

  while(WiFi.status() != WL_CONNECTED) {

    delay(500);

    Serial.print(".");

  }

  lcd.clear();

  lcd.print("WiFi Terhubung!");

  delay(1000);

  lcd.clear();

}


void loop() {

  int analogValue = analogRead(SOIL_MOISTURE_PIN);

  int moisturePercent = map(analogValue, 040950100);

  int pumpStatus = 0;


  lcd.setCursor(00);

  lcd.print("Tanah: ");

  lcd.print(moisturePercent);

  lcd.print("%   ");


  lcd.setCursor(01);

  if (moisturePercent < 40) {

    digitalWrite(PUMP_PIN, HIGH);

    pumpStatus = 1// 1 = Menyala

    lcd.print("Pompa: ON ");

  } else {

    digitalWrite(PUMP_PIN, LOW);

    pumpStatus = 0// 0 = Mati

    lcd.print("Pompa: OFF");

  }


  // Bagian ini mengirim data ke Internet setiap 15 detik

  if ((millis() - lastTime) > timerDelay) {

    if(WiFi.status() == WL_CONNECTED){

      HTTPClient http;

      String serverPath = serverName + "?api_key=" + apiKey + "&field1=" + String(moisturePercent) + "&field2=" + String(pumpStatus);

     

      http.begin(serverPath);

      int httpResponseCode = http.GET();

     

      if (httpResponseCode > 0) {

        Serial.print("Data sukses terkirim! Kode: ");

        Serial.println(httpResponseCode);

      } else {

        Serial.println("Gagal mengirim data.");

      }

      http.end();

    }

    lastTime = millis();

  }

}



BAB 4
PENUTUP

4.1 Kesimpulan

  1. Sistem monitoring kelembapan tanah berbasis ESP32 berhasil disimulasikan menggunakan Wokwi dengan hasil pembacaan sensor dan kontrol pompa yang sesuai logika program.

  2. Pengiriman data ke ThingSpeak berjalan dengan baik, ditandai dengan respons HTTP 200 pada Serial Monitor.

4.2 Saran

  • Sistem ini dapat menjadi dasar pengembangan lebih lanjut, misalnya penambahan notifikasi, kontrol jarak jauh melalui aplikasi, atau penjadwalan penyiraman otomatis.

  • Pengujian dengan sensor dan pompa fisik (bukan simulasi) disarankan untuk memvalidasi performa sistem pada kondisi nyata.


DAFTAR PUSTAKA

Espressif Systems. (2024). ESP32 Series Datasheet. Diakses dari https://www.espressif.com/en/products/socs/esp32

MathWorks. (2024). ThingSpeak IoT Analytics Documentation. Diakses dari https://www.mathworks.com/help/thingspeak/

Wokwi. (2024). Wokwi Documentation - ESP32 Simulator. Diakses dari https://docs.wokwi.com/

Arduino. (2024). HTTPClient Library Reference. Diakses dari https://www.arduino.cc/reference/en/libraries/httpclient/

Arduino. (2024). LiquidCrystal_I2C Library Reference. Diakses dari https://github.com/johnrickman/LiquidCrystal_I2C



Tidak ada komentar:

Posting Komentar