LAPORAN PRAKTIKUM INTERNET OF THINGS (IOT)
SMART DOOR LOCK BERBASIS ESP32 MENGGUNAKAN KEYPAD, LCD I2C, SERVO, DAN BUZZER PADA WOKWI
Disusun Oleh:
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi Internet of Things (IoT) mendorong pemanfaatan mikrokontroler untuk membangun sistem elektronik yang dapat bekerja secara otomatis dan saling terhubung. Salah satu penerapannya adalah sistem keamanan pintu digital atau smart door lock. Sistem ini menggunakan kode PIN sebagai metode autentikasi sehingga akses pintu dapat dikendalikan tanpa menggunakan kunci konvensional.
Pada praktikum ini dibuat simulasi Smart Door Lock menggunakan mikrokontroler ESP32 pada platform Wokwi. Sistem dilengkapi keypad 4x4 sebagai media input PIN, LCD 16x2 berbasis komunikasi I2C untuk menampilkan instruksi dan status akses, servo motor sebagai simulasi mekanisme kunci, serta buzzer sebagai indikator suara. PIN yang digunakan pada program adalah “1234”.
Ketika pengguna memasukkan PIN dan menekan tombol pagar (#), ESP32 akan memeriksa kesesuaian PIN. Jika PIN benar, LCD menampilkan pesan akses diterima dan servo bergerak ke posisi 90 derajat selama beberapa detik sebelum kembali ke posisi awal. Jika PIN salah, LCD menampilkan akses ditolak dan buzzer memberikan bunyi peringatan. Tombol bintang (*) digunakan untuk menghapus satu digit terakhir.
Pembuatan simulasi ini bertujuan menerapkan penggunaan ESP32 sebagai pengendali, komunikasi I2C pada LCD, pembacaan input digital melalui keypad, serta pengendalian aktuator dan buzzer. Walaupun modul praktikum membahas konektivitas WiFi dan Bluetooth ESP32, proyek ini berfokus pada pengendalian perangkat melalui input lokal dan belum menggunakan komunikasi nirkabel.
1.2 Rumusan Masalah
Bagaimana ESP32 membaca masukan PIN dari keypad 4x4?
Bagaimana menampilkan instruksi, PIN tersamarkan, dan status akses pada LCD I2C?
Bagaimana menerapkan proses verifikasi PIN untuk menentukan akses diterima atau ditolak?
Bagaimana mengendalikan servo motor sebagai simulasi mekanisme kunci pintu?
Bagaimana menggunakan buzzer sebagai indikator saat tombol ditekan, PIN benar, dan PIN salah?
1.3 Tujuan Laporan
Tujuan dari pembuatan laporan ini adalah:
Memahami penggunaan ESP32 sebagai pengendali sistem Smart Door Lock.
Menerapkan keypad 4x4 sebagai perangkat input untuk memasukkan PIN.
Menampilkan informasi sistem menggunakan LCD 16x2 melalui komunikasi I2C.
Menerapkan logika pencocokan PIN untuk menentukan status akses.
Mengendalikan servo dan buzzer berdasarkan hasil verifikasi PIN.
Membuat dan menguji simulasi Smart Door Lock menggunakan platform Wokwi.
1.4 Manfaat Penulisan
Menambah pemahaman mengenai penerapan ESP32 pada sistem keamanan sederhana.
Memberikan pengalaman merancang rangkaian dan program mikrokontroler melalui Wokwi.
Memahami integrasi perangkat input, tampilan, dan aktuator dalam satu sistem.
Melatih penerapan logika percabangan dan pengolahan data masukan pada program embedded.
Memberikan gambaran awal pengembangan sistem kunci pintu digital.
BAB 2
TINJAUAN PUSTAKA
2.1 Dasar Teori
2.1.1 ESP32
ESP32 merupakan mikrokontroler yang memiliki kemampuan pemrosesan dan menyediakan konektivitas WiFi serta Bluetooth terintegrasi. ESP32 banyak digunakan dalam pengembangan perangkat IoT karena memiliki berbagai pin GPIO yang dapat dimanfaatkan untuk menghubungkan sensor, perangkat input, dan aktuator. Pada proyek ini, ESP32 berperan sebagai pusat pengendali yang membaca tombol keypad, memproses PIN, memperbarui tampilan LCD, serta mengatur servo dan buzzer.
2.1.2 Keypad 4x4
Keypad 4x4 merupakan perangkat input yang terdiri atas 16 tombol dalam susunan empat baris dan empat kolom. Tombol-tombol tersebut dapat digunakan untuk memasukkan angka maupun perintah. Pada proyek ini, tombol angka 0–9 digunakan untuk memasukkan PIN, tombol * digunakan untuk menghapus satu digit terakhir, sedangkan tombol # digunakan untuk mengirim PIN agar diperiksa.
2.1.3 LCD 16x2 dan Komunikasi I2C
LCD 16x2 merupakan perangkat keluaran yang dapat menampilkan informasi dalam dua baris dengan masing-masing 16 karakter. Modul I2C memungkinkan LCD dikendalikan menggunakan jalur komunikasi SDA dan SCL sehingga penggunaan pin mikrokontroler menjadi lebih efisien. Program menggunakan pustaka LiquidCrystal_I2C dengan alamat perangkat 0x27. LCD menampilkan judul sistem, kolom PIN tersamarkan, serta pesan ketika akses diterima atau ditolak.
2.1.4 Servo Motor
Servo motor merupakan aktuator yang dapat diarahkan ke posisi sudut tertentu melalui sinyal kendali. Dalam simulasi ini, servo digunakan sebagai representasi mekanisme kunci pintu. Posisi 0 derajat menunjukkan kondisi terkunci, sedangkan posisi 90 derajat menunjukkan kondisi terbuka. Setelah jeda empat detik, servo dikembalikan ke posisi 0 derajat.
2.1.5 Buzzer
Buzzer merupakan komponen keluaran yang menghasilkan suara sebagai tanda atau peringatan. Pada proyek ini, buzzer berbunyi singkat setiap tombol ditekan. Ketika PIN benar, buzzer menghasilkan dua nada dengan frekuensi berbeda sebagai indikator akses diterima. Ketika PIN salah, buzzer menghasilkan nada lebih rendah dengan durasi lebih lama.
2.1.6 Verifikasi PIN
Verifikasi PIN dilakukan dengan membandingkan teks yang dimasukkan pengguna dengan PIN rahasia yang ditentukan pada program. PIN benar disimpan dalam variabel secretPIN dengan nilai “1234”, sedangkan masukan sementara disimpan dalam inputPIN. Pemeriksaan dilakukan ketika tombol # ditekan. Sistem membatasi masukan angka hingga empat digit dan menampilkan setiap digit sebagai karakter * pada LCD agar angka PIN tidak terlihat langsung.
2.2 Komponen
Komponen yang digunakan dalam simulasi sistem ini beserta fungsinya adalah sebagai berikut.
BAB 3
PEMBAHASAN
3.1 Penjelasan Simulasi
3.1.1 Rangkaian Simulasi
Rangkaian Smart Door Lock dirancang menggunakan ESP32 DevKit V1 pada platform Wokwi. Keypad dihubungkan ke pin GPIO ESP32 melalui empat pin baris dan empat pin kolom. LCD menggunakan komunikasi I2C, servo dihubungkan ke GPIO 15, dan buzzer dihubungkan ke GPIO 12. Konfigurasi pin berdasarkan kode program adalah sebagai berikut.
Pin baris keempat keypad menggunakan GPIO 32, sesuai keterangan pada kode program. LCD diinisialisasi dengan alamat I2C 0x27 dan ukuran 16 kolom × 2 baris.
Gambar 3.1. Tampilan rangkaian Smart Door Lock pada Wokwi
3.1.2 Cara Kerja Sistem
Pada fungsi setup(), ESP32 memulai komunikasi Serial dengan baud rate 115200, mengatur pin buzzer sebagai output, menginisialisasi servo, dan mengatur servo pada posisi 0 derajat.
LCD diinisialisasi dan lampu latar diaktifkan. Fungsi resetDisplay() kemudian menampilkan tulisan “SMART DOOR LOCK” pada baris pertama dan “PIN:” pada baris kedua, sekaligus mengosongkan masukan PIN.
Pada fungsi loop(), program memeriksa apakah terdapat tombol yang ditekan melalui keypad.getKey(). Jika tombol terdeteksi, karakter tombol ditampilkan pada Serial Monitor dan buzzer berbunyi singkat.
Jika tombol yang ditekan berupa angka 0–9 dan jumlah digit belum mencapai empat, angka ditambahkan ke inputPIN. LCD menampilkan karakter * sebagai pengganti angka yang dimasukkan.
Jika tombol * ditekan, satu digit terakhir pada inputPIN dihapus. Tampilan karakter * pada LCD diperbarui sesuai jumlah digit yang tersisa.
Jika tombol # ditekan, program membandingkan inputPIN dengan secretPIN yang bernilai “1234”.
Apabila PIN sesuai, LCD menampilkan “AKSES DITERIMA!” dan “Pintu Terbuka”. Buzzer membunyikan dua nada, kemudian servo bergerak ke 90 derajat selama empat detik dan kembali ke 0 derajat.
Apabila PIN tidak sesuai, LCD menampilkan “AKSES DITOLAK!” dan “PIN Salah!”. Buzzer membunyikan nada peringatan selama 600 milidetik. Setelah dua detik, tampilan dikembalikan ke kondisi awal.
Setelah proses pemeriksaan selesai, fungsi resetDisplay() mengosongkan inputPIN dan menampilkan kembali halaman awal agar sistem siap menerima masukan berikutnya.
3.1.3 Hasil dan Pembahasan
Berdasarkan logika program, sistem memiliki dua hasil utama dari proses verifikasi, yaitu akses diterima dan akses ditolak. Pengguna memasukkan maksimal empat digit angka. Karakter PIN tidak ditampilkan secara langsung pada LCD, melainkan diganti dengan tanda *. Pemeriksaan dilakukan setelah tombol # ditekan.
Pada kondisi PIN benar, servo menjadi indikator mekanis bahwa akses telah diberikan. Servo tidak dibiarkan terbuka secara permanen, melainkan kembali ke posisi awal setelah empat detik. Pada kondisi PIN salah, servo tidak diperintahkan untuk bergerak sehingga simulasi tetap berada dalam keadaan terkunci. Buzzer membantu membedakan interaksi tombol, keberhasilan autentikasi, dan kegagalan autentikasi.
Program juga menampilkan informasi proses melalui Serial Monitor, seperti tombol yang ditekan, PIN sementara, hasil penghapusan digit, serta status PIN benar atau salah. Informasi ini membantu proses pengamatan dan pemeriksaan saat simulasi berlangsung.
Gambar 3.2 Hasil simulasi ketika PIN benar
Gambar 3.3 Hasil simulasi ketika PIN salah
3.2 Program
Program berikut merupakan kode yang digunakan untuk menjalankan simulasi Smart Door Lock berbasis ESP32. Program memanfaatkan pustaka Wire, LiquidCrystal_I2C, Keypad, dan ESP32Servo.
BAB 4
PENUTUP
4.1 Kesimpulan
Berdasarkan simulasi yang telah dibuat, ESP32 dapat digunakan sebagai pengendali sistem Smart Door Lock sederhana dengan mengintegrasikan keypad 4x4, LCD I2C, servo motor, dan buzzer. Keypad berfungsi sebagai media masukan PIN, sedangkan LCD menampilkan instruksi serta hasil verifikasi. PIN yang dimasukkan dibandingkan dengan PIN yang telah ditentukan pada program, yaitu “1234”.
Ketika PIN benar dan tombol # ditekan, sistem menampilkan akses diterima, mengaktifkan buzzer dengan dua nada, serta menggerakkan servo ke posisi 90 derajat selama empat detik sebelum kembali ke posisi 0 derajat. Ketika PIN salah, sistem menampilkan akses ditolak, membunyikan buzzer sebagai peringatan, dan tidak menggerakkan servo. Tombol * juga dapat digunakan untuk menghapus digit terakhir yang telah dimasukkan.
Melalui simulasi ini, konsep pembacaan input digital, komunikasi I2C, pengolahan logika program, dan pengendalian aktuator pada ESP32 dapat diterapkan dalam satu sistem. Proyek ini merupakan simulasi kunci digital dan belum menerapkan konektivitas WiFi maupun Bluetooth yang dibahas dalam Modul 04.
4.2 Saran
Untuk pengembangan selanjutnya, sistem dapat dilengkapi dengan fitur penggantian PIN, pembatasan jumlah percobaan ketika PIN salah, serta penyimpanan riwayat akses. Sistem juga dapat dikembangkan dengan memanfaatkan mode WiFi Access Point dan WebServer ESP32 agar status kunci dapat dipantau atau dikendalikan melalui halaman web. Pengujian menggunakan perangkat keras asli disarankan untuk memastikan kinerja servo, buzzer, keypad, dan LCD sesuai dengan hasil simulasi pada Wokwi.
DAFTAR PUSTAKA
Arduino. (n.d.). Wire Library. https://docs.arduino.cc/language-reference/en/functions/communication/wire/
Arduino. (n.d.). Keypad Library. https://github.com/Chris--A/Keypad
Espressif Systems. (n.d.). ESP32 Arduino Core Documentation. https://docs.espressif.com/projects/arduino-esp32/
ESP32Servo. (n.d.). ESP32Servo Library. https://github.com/madhephaestus/ESP32Servo
Modul Praktikum. (2026). Modul 04: Mengenal ESP32 dan Mode WiFi-Bluetooth. Materi Praktikum Internet of Things.
Rob Tillaart. (n.d.). LiquidCrystal_I2C Library. https://github.com/johnrickman/LiquidCrystal_I2C
Wokwi. (n.d.). Wokwi Documentation. https://docs.wokwi.com/
LAMPIRAN
Gambar 3.5 Dokumentasi Praktikum
Tidak ada komentar:
Posting Komentar