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