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
-
Bagaimana cara membaca tingkat kelembapan tanah menggunakan soil moisture sensor pada mikrokontroler ESP32?
-
Bagaimana merancang sistem kontrol pompa air otomatis berdasarkan hasil pembacaan sensor kelembapan tanah?
-
Bagaimana menampilkan data kelembapan tanah dan status pompa secara real-time melalui LCD I2C?
-
Bagaimana mengirimkan data sensor ke platform IoT cloud ThingSpeak menggunakan protokol HTTP?
1.3 Tujuan Laporan
-
Memahami prinsip kerja sensor soil moisture pada mikrokontroler ESP32.
-
Mengimplementasikan sistem kontrol otomatis (pompa air) berdasarkan pembacaan sensor.
-
Menampilkan data sensor secara real-time melalui LCD I2C.
-
Mengirimkan data sensor ke platform IoT cloud (ThingSpeak) menggunakan protokol HTTP.
-
Melakukan simulasi rangkaian IoT menggunakan platform Wokwi.
1.4 Manfaat Penulisan
-
Bagi penulis, laporan ini menjadi sarana penerapan konsep IoT secara langsung melalui simulasi rangkaian dan pemrograman mikrokontroler ESP32.
-
Bagi pembaca, laporan ini dapat menjadi referensi dalam merancang sistem monitoring dan kontrol otomatis berbasis sensor untuk keperluan pertanian atau kebutuhan sejenis.
-
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
-
ESP32 melakukan koneksi ke jaringan WiFi bawaan Wokwi ("Wokwi-GUEST") saat inisialisasi.
-
Sensor soil moisture membaca nilai analog tanah pada GPIO 34, kemudian dikonversi menjadi persentase 0-100% menggunakan fungsi map().
-
Jika persentase kelembapan < 40%, pompa (disimulasikan LED) diaktifkan (HIGH); jika ≥ 40%, pompa dimatikan (LOW).
-
LCD I2C menampilkan nilai kelembapan tanah dan status pompa secara real-time.
-
Setiap 15 detik, ESP32 mengirim data kelembapan (field1) dan status pompa (field2) ke ThingSpeak melalui HTTP GET request menggunakan API Key channel.
-
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(0x27, 16, 2); // 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(0, 0); 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, 0, 4095, 0, 100); int pumpStatus = 0; lcd.setCursor(0, 0); lcd.print("Tanah: "); lcd.print(moisturePercent); lcd.print("% "); lcd.setCursor(0, 1); 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
-
Sistem monitoring kelembapan tanah berbasis ESP32 berhasil disimulasikan menggunakan Wokwi dengan hasil pembacaan sensor dan kontrol pompa yang sesuai logika program.
-
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