Minggu, 27 September 2026

Sistem Kontrol Suhu Otomatis Berbasis ESP32 Menggunakan Sensor DHT22, LCD 16x2 I2C, dan Aktuator Relay


LAPORAN PRAKTIKUM
 Sistem Kontrol Suhu Otomatis Berbasis ESP32 Menggunakan Sensor DHT22, LCD 16x2 I2C, dan Aktuator Relay



Disusun oleh:

Mahdi Ghani Afriza                            24051204119

Muhammad Risqi Gemilang              24051204181

Gerizt Geovany Saragih Sumbayak   24051204117



BAB I

PENDAHULUAN

1.1 Latar Belakang

Sistem kontrol suhu otomatis merupakan salah satu penerapan sistem tertanam untuk memantau kondisi lingkungan dan mengendalikan aktuator berdasarkan data sensor. Pada praktikum ini, ESP32 digunakan sebagai pusat kendali pada simulasi Wokwi.

Sensor DHT22 membaca suhu dan kelembapan, kemudian ESP32 menampilkan hasil pengukuran pada LCD 16x2 melalui komunikasi I2C. Ketika suhu mencapai atau melebihi 30 °C, keluaran digital pada GPIO 12 digunakan untuk mengaktifkan relay sehingga kipas pendingin dapat dinyalakan. Ketika suhu turun di bawah ambang, relay dikembalikan ke kondisi mati.

Kegiatan ini melatih integrasi sensor digital, komunikasi I2C, keluaran digital, logika ambang, serta pengujian kondisi batas. Sistem masih berupa simulasi lokal di Wokwi; kemampuan konektivitas jaringan ESP32 belum digunakan pada praktikum ini.

1.2 Rumusan Masalah

Bagaimana ESP32 membaca data suhu dan kelembapan dari DHT22? Bagaimana menampilkan data tersebut pada LCD 16x2 I2C? Bagaimana mengendalikan relay dan kipas secara otomatis ketika suhu mencapai atau melebihi 30 °C serta mematikannya kembali ketika suhu turun di bawah batas?

1.3 Tujuan Praktikum

Praktikum bertujuan merancang sistem kontrol suhu pada Wokwi, memahami pembacaan DHT22 oleh ESP32, menerapkan LCD 16x2 I2C sebagai antarmuka informasi, mengendalikan relay sebagai aktuator digital, serta menguji respons sistem pada kondisi di bawah, tepat pada, dan di atas ambang 30 °C.

1.4 Ruang Lingkup

Pengujian dibatasi pada simulasi Wokwi dengan ESP32, DHT22, LCD 16x2 I2C, relay, dan kipas virtual. Nilai suhu dan kelembapan berasal dari pengaturan sensor simulasi. Pengukuran arus perangkat fisik, karakteristik termal ruangan nyata, dan pengiriman data melalui jaringan tidak dilakukan.

 

BAB II

DASAR TEORI DAN KOMPONEN

2.1 ESP32

ESP32 berperan sebagai pusat kendali yang membaca data DHT22, memperbarui LCD, dan mengatur keluaran menuju relay. Pada Arduino framework, ESP32 menyediakan banyak GPIO yang dapat digunakan sebagai input maupun output digital sesuai fungsi rangkaian [1].

Pada konfigurasi ini, GPIO 4 digunakan untuk jalur data DHT22 dan GPIO 12 digunakan sebagai keluaran digital menuju pin IN relay. Komunikasi I2C LCD menggunakan GPIO 21 sebagai SDA dan GPIO 22 sebagai SCL, yang merupakan pasangan pin I2C default pada Generic ESP32 di Arduino-ESP32 [1].

Komunikasi serial diaktifkan pada 115200 baud untuk membantu observasi nilai suhu, kelembapan, dan status kipas selama pengujian.

Program dijalankan berulang pada fungsi loop(). Setiap siklus membaca sensor, mengevaluasi ambang 30 °C, memperbarui status relay, menampilkan data pada LCD, mencetak data ke Serial Monitor, lalu menunggu sekitar dua detik sebelum pembacaan berikutnya.

2.2 DHT22

DHT22 merupakan sensor digital untuk membaca suhu dan kelembapan. Pada Wokwi, nilai suhu dan kelembapan dapat diubah ketika simulasi berjalan sehingga sensor cocok digunakan untuk menguji respons sistem pada beberapa kondisi lingkungan. Program membaca data melalui readTemperature() dan readHumidity(), kemudian memeriksa kegagalan pembacaan menggunakan isnan() [2].

2.3 LCD 16x2 I2C

LCD 16x2 menampilkan dua baris dengan masing-masing 16 karakter. Pada mode I2C, LCD membutuhkan jalur SDA dan SCL serta dapat dikendalikan menggunakan library LiquidCrystal_I2C. Alamat I2C default pada komponen LCD1602 Wokwi adalah 0x27 [3].

Baris pertama LCD digunakan untuk menampilkan suhu, sedangkan baris kedua menampilkan kelembapan dan status kipas. Penempatan status dimulai dari kolom ke-11 agar teks [OFF] tetap muat pada layar 16 karakter dan tidak terpotong.

 

2.4 Relay dan Kipas

Relay berfungsi sebagai sakelar yang dikendalikan oleh sinyal digital ESP32. Pin IN relay dihubungkan ke GPIO 12, sedangkan kontak COM dan NO/NC digunakan untuk memutus atau menghubungkan rangkaian kipas. Tingkat logika yang mengaktifkan beban harus disesuaikan dengan konfigurasi relay pada diagram Wokwi; karena itu status ON/OFF pada kode harus diverifikasi terhadap sambungan COM–NO yang digunakan [4].

2.5 Konsep Input/Output Digital

DHT22 memberikan data digital kepada ESP32 sebagai input. Setelah data diproses, GPIO 12 menghasilkan keluaran digital untuk mengendalikan relay. Secara logika, program membandingkan suhu terhadap batas 30 °C: kondisi suhu ≥ 30 °C menghasilkan perintah kipas ON, sedangkan suhu < 30 °C menghasilkan perintah kipas OFF

2.6 Alat dan Bahan

Tabel 2.1 Komponen pada proyek Wokwi.

Komponen

Jumlah

Fungsi

ESP32 DevKit

1

Pusat pemrosesan data sensor dan pengendali keluaran

DHT22

1

Membaca suhu dan kelembapan

LCD 16x2 I2C

1

Menampilkan suhu, kelembapan, dan status kipas

Relay module

1

Sakelar kendali untuk menghubungkan atau memutus beban kipas

Kipas / beban simulasi

1

Aktuator pendingin yang dikendalikan melalui relay

Kabel jumper

Secukupnya

Menghubungkan pin antar komponen pada simulasi

Sumber daya beban

1

Menyuplai kipas/beban melalui kontak relay

Komponen pada tabel digunakan untuk membentuk alur sensor–pemrosesan–tampilan–aktuator. Kipas merupakan beban yang dikendalikan melalui kontak relay, bukan langsung dari GPIO ESP32.

 

BAB III

PERANCANGAN DAN HASIL PRAKTIKUM

3.1 Konfigurasi Rangkaian

Tabel 3.1 Hubungan komponen dengan ESP32

Bagian rangkaian

Koneksi

DHT22 DATA

GPIO 4

DHT22 VCC dan GND

3.3V dan GND

LCD SDA

GPIO 21

LCD SCL

GPIO 22

LCD VCC dan GND

5V dan GND

Relay IN

GPIO 12

Relay VCC dan GND

5V dan GND

Relay COM

Sumber daya beban

Relay NO

Ke kipas/beban

Kipas/beban (+)

Melalui kontak relay NO

Kipas/beban (−)

GND sumber daya beban

 

Semua ground bagian kendali disatukan dengan ground ESP32. DHT22 menggunakan GPIO 4 sebagai jalur data, LCD memakai GPIO 21 dan GPIO 22 untuk SDA/SCL, sedangkan relay menerima sinyal kendali dari GPIO 12. Kontak relay digunakan untuk menghubungkan sumber daya beban ke kipas sesuai konfigurasi COM dan NO/NC pada simulasi.

[PLACEHOLDER SCREENSHOT WOKWI – RANGKAIAN LENGKAP ESP32 + DHT22 + LCD + RELAY + KIPAS]

Gambar 3.1 Rangkaian sistem kontrol suhu berbasis ESP32 pada Wokwi.

3.2 Alur Kerja Program

Saat sistem mulai, setup() mengaktifkan Serial Monitor pada 115200 baud, mengatur pin relay sebagai output, menempatkan relay pada kondisi awal OFF, memulai DHT22, serta menginisialisasi LCD dan backlight. LCD menampilkan pesan pembuka sebelum masuk ke proses pembacaan sensor.

Pada loop(), suhu dan kelembapan dibaca dari DHT22. Jika pembacaan gagal, relay dimatikan dan LCD menampilkan pesan kesalahan. Jika data valid, program menggunakan kondisi temp >= 30.0 untuk menentukan status kipas, memperbarui LCD dan Serial Monitor, lalu mengulang pembacaan setiap dua detik. 

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include <DHT.h>

 

#define DHTPIN 4

#define DHTTYPE DHT22

#define RELAY_PIN 12

 

const float BATAS_SUHU = 30.0;

const uint8_t RELAY_ON = HIGH;

const uint8_t RELAY_OFF = LOW;

 

DHT dht(DHTPIN, DHTTYPE);

LiquidCrystal_I2C lcd(0x27, 16, 2);

 

void setup() {

  Serial.begin(115200);

 

  pinMode(RELAY_PIN, OUTPUT);

  digitalWrite(RELAY_PIN, RELAY_OFF);

 

  dht.begin();

  lcd.init();

  lcd.backlight();

 

  lcd.setCursor(0, 0);

  lcd.print("Sistem Kontrol");

  lcd.setCursor(0, 1);

  lcd.print("Suhu Otomatis");

  delay(1500);

  lcd.clear();

}

 

void loop() {

  float temp = dht.readTemperature();

  float hum = dht.readHumidity();

 

  if (isnan(temp) || isnan(hum)) {

    digitalWrite(RELAY_PIN, RELAY_OFF);

    lcd.setCursor(0, 0);

    lcd.print("Error Sensor!   ");

    lcd.setCursor(0, 1);

    lcd.print("Cek DHT22       ");

    delay(2000);

    return;

  }

 

  bool kipasOn = temp >= BATAS_SUHU;

  digitalWrite(RELAY_PIN, kipasOn ? RELAY_ON : RELAY_OFF);

 

  lcd.setCursor(0, 0);

  lcd.print("Temp: ");

  lcd.print(temp, 1);

  lcd.print("C  ");

 

  lcd.setCursor(0, 1);

  lcd.print("Humi: ");

  lcd.print(hum, 1);

  lcd.print("%");

  lcd.setCursor(11, 1);

  lcd.print(kipasOn ? "[ON] " : "[OFF]");

 

  Serial.print("Suhu: ");

  Serial.print(temp, 1);

  Serial.print(" C | Kelembapan: ");

  Serial.print(hum, 1);

  Serial.print(" % | Kipas: ");

  Serial.println(kipasOn ? "ON" : "OFF");

 

  delay(2000);

}

 

3.3 Langkah Pelaksanaan

Proyek dibuat pada Wokwi menggunakan ESP32 DevKit, DHT22, LCD 16x2 I2C, relay, dan kipas/beban simulasi. Setelah seluruh komponen ditambahkan, koneksi pin diperiksa agar DATA DHT22 terhubung ke GPIO 4, SDA/SCL LCD ke GPIO 21/22, dan IN relay ke GPIO 12.

Kode program ditempatkan pada file sketch.ino dan library DHT.h serta LiquidCrystal_I2C.h dipastikan tersedia. Sebelum pengujian, logika aktif relay harus dicocokkan dengan konfigurasi relay dan sambungan COM–NO pada diagram agar status yang tertulis ON benar-benar menyalakan kipas.

Simulasi kemudian dijalankan untuk empat skenario: suhu di bawah 30 °C, tepat 30 °C, di atas 30 °C, dan penurunan kembali ke bawah 30 °C setelah kipas menyala. Pada setiap skenario, catat suhu, kelembapan, tampilan LCD, status relay/kipas, serta ambil screenshot sebagai bukti pengujian.

3.4 Hasil Pengujian

Tabel 3.2 Skenario dan hasil observasi simulasi Wokwi

 

Suhu (°C)

Kelembapan (%)

Tampilan LCD

Relay / Kipas

25(< 30)

60.5 

Temp: 25C 

Humi: 60.5% [OK] 

OFF (Mati) 

30.0

55.0 

Temp: 30.0C 

Humi: 55.0% [OK] 

OFF (Mati) 

34.6(> 30)

45.0 

Temp: 34.6C 

Humi: 45.0% [ON] 

ON (Menyala) 

28.4(< 30 setelah ON)

65.0 

Temp: 28.4C 

Humi: 65.0% [OK] 

OFF (Mati) 

 

Gambar 3.2 Hasil simulasi pada suhu di bawah 30 °C.

 

Gambar 3.3 Hasil simulasi tepat pada ambang 30 °C.

Gambar 3.4 Hasil simulasi pada suhu di atas 30 °C.

Gambar 3.5 Hasil simulasi setelah suhu turun kembali di bawah 30 °C.

3.5 Analisis Hasil

Analisis hasil difokuskan pada kesesuaian antara suhu yang terbaca, informasi pada LCD, dan keadaan relay/kipas. Pengujian tepat pada 30 °C menjadi titik penting karena kode menggunakan kondisi temp >= 30.0; secara rancangan, kondisi tersebut seharusnya masuk ke cabang kipas ON.

Pengujian penurunan suhu kembali ke bawah 30 °C digunakan untuk memastikan sistem tidak hanya dapat menyalakan kipas, tetapi juga mengembalikan relay ke kondisi OFF. Pernyataan keberhasilan bagian ini harus disesuaikan dengan hasil observasi simulasi yang dicatat pada Tabel 3.2.

Nilai kelembapan tidak digunakan sebagai variabel kontrol pada program; data tersebut hanya ditampilkan sebagai informasi. Setelah simulasi selesai, analisis perlu menyebutkan apakah pembacaan berlangsung stabil selama interval dua detik dan apakah status LCD konsisten dengan keadaan relay/kipas.

3.6 Keterbatasan dan Pengembangan

Simulasi belum mewakili dinamika suhu ruangan nyata, waktu respons kipas, arus beban, maupun karakteristik relay fisik. Implementasi perangkat keras perlu memperhatikan catu daya kipas, kemampuan kontak relay, dan pemisahan beban agar GPIO ESP32 tidak digunakan untuk menyuplai motor secara langsung.

Logika menggunakan satu ambang 30 °C tanpa histeresis. Jika pembacaan berfluktuasi di sekitar batas, relay dapat berganti ON/OFF berulang. Pengembangan berikutnya dapat menambahkan histeresis, misalnya menyalakan kipas pada 30 °C dan mematikannya setelah suhu turun ke nilai yang lebih rendah, serta menambahkan pemantauan jarak jauh melalui Wi-Fi.

 

BAB IV

PENUTUP

4.1 Kesimpulan

Perancangan sistem mengintegrasikan ESP32, DHT22, LCD 16x2 I2C, dan relay untuk membentuk kontrol suhu otomatis dengan ambang 30 °C. Program membaca suhu dan kelembapan, menampilkan data pada LCD, serta menentukan perintah kipas berdasarkan hasil perbandingan suhu terhadap ambang.

Kesimpulan mengenai keberhasilan simulasi belum dinyatakan sebelum pengujian Wokwi dilakukan. Setelah simulasi dijalankan, bagian ini perlu dilengkapi dengan ringkasan hasil pada kondisi di bawah 30 °C, tepat 30 °C, di atas 30 °C, dan saat suhu kembali turun di bawah ambang.

4.2 Saran

Pengujian sebaiknya dilakukan berulang di sekitar ambang 30 °C untuk memastikan perpindahan status stabil. Untuk implementasi fisik, perlu dilakukan verifikasi polaritas relay, pengujian catu daya kipas, dan pengamanan beban induktif. Fitur Wi-Fi ESP32 dapat dikembangkan untuk pencatatan data atau pemantauan jarak jauh.

4.3 Link Proyek Wokwi

Link Proyek Wokwi 

 

DAFTAR PUSTAKA

[1] Espressif Systems. “Arduino ESP32 I2C API.” Dokumentasi I2C Arduino-ESP32.

[2] Wokwi. “wokwi-dht22 Reference.” Dokumentasi sensor DHT22 pada simulator Wokwi.

[3] Wokwi. “wokwi-lcd1602 Reference.” Dokumentasi LCD 16x2 dan konfigurasi I2C pada Wokwi.

[4] Wokwi. “wokwi-relay-module Reference.” Dokumentasi modul relay pada simulator Wokwi.

 

Tidak ada komentar:

Posting Komentar