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
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