Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
OLEH:
| Suci Mailanisafitri | 607062330008 |
| Alip Lizal | 607062300031 |
Sistem keamanan merupakan salah satu bidang penting dalam perkembangan teknologi embedded system dan Internet of Things (IoT) yang terus mengalami inovasi dari waktu ke waktu. Kebutuhan akan sistem keamanan yang lebih praktis, cepat, dan efisien mendorong munculnya berbagai inovasi seperti smart lock. Smart lock merupakan sistem penguncian elektronik yang menggantikan kunci konvensional dengan metode autentikasi digital seperti PIN atau password. Sistem ini banyak digunakan pada brankas digital, pintu otomatis, hingga perangkat keamanan modern lainnya. Oleh karena itu, pengembangan sistem smart lock sederhana menjadi salah satu media pembelajaran yang relevan dalam bidang mikrokontroler.
Pada proyek ini, dikembangkan sebuah prototipe smart lock sederhana berbasis Arduino yang mengintegrasikan beberapa komponen elektronik. Komponen yang digunakan meliputi keypad sebagai perangkat input untuk memasukkan PIN, LCD I2C sebagai media tampilan informasi, serta buzzer sebagai indikator suara. Sistem ini dirancang untuk dapat menerima input dari pengguna, memproses data PIN yang dimasukkan, dan memberikan umpan balik berupa tampilan status serta bunyi alarm. Setiap interaksi pengguna akan ditampilkan secara real-time pada LCD sehingga memudahkan proses monitoring. Dengan demikian, sistem ini dapat mensimulasikan mekanisme kerja smart lock secara sederhana namun tetap informatif.
Selain itu, sistem ini juga dirancang untuk memberikan pemahaman dasar mengenai integrasi antara perangkat input dan output dalam sistem embedded. Proses autentikasi PIN digunakan sebagai simulasi keamanan dasar yang umum diterapkan pada sistem digital modern. Jika PIN yang dimasukkan sesuai, maka sistem akan memberikan akses dengan notifikasi berhasil, sedangkan jika salah akan memicu alarm sebagai bentuk peringatan. Kombinasi antara tampilan visual pada LCD dan sinyal suara dari buzzer memberikan pengalaman interaksi yang lebih nyata. Dengan adanya sistem ini, diharapkan dapat menjadi media pembelajaran dalam memahami konsep dasar sistem keamanan berbasis mikrokontroler.
Adapun tujuan dari pembuatan sistem smart lock sederhana ini adalah sebagai berikut:


1. Arduino Uno

Arduino Uno adalah papan mikrokontroler berbasis ATmega328P yang sangat populer bagi pemula. Memiliki 14 pin digital dan 6 input analog, papan ini berfungsi sebagai otak untuk mengendalikan sensor serta aktuator. Sifatnya yang open-source dan kemudahan pemrograman menggunakan Arduino IDE menjadikannya standar utama dalam pembuatan prototipe robotika dan perangkat IoT.
2. Keypad 4×4

Keypad adalah perangkat input berupa tombol yang disusun dalam matriks baris dan kolom. Pada rangkaian brankas digital ini, kamu menggunakan keypad jenis 4×4. Artinya, alat ini memiliki empat baris dan empat kolom, menghasilkan total enam belas tombol yang terdiri dari angka, huruf, serta simbol untuk memasukkan kombinasi kode PIN rahasiamu.
3. LCD I2C

LCD I2C adalah modul layar karakter yang dilengkapi dengan modul konverter PCF8547, sehingga hanya membutuhkan dua kabel data (SDA dan SCL) untuk berkomunikasi dengan mikrokontroler. Teknologi ini sangat efisien karena menghemat penggunaan pin I/O pada papan seperti Arduino.
Modul ini biasanya tersedia dalam ukuran 16×2 atau 20×4 karakter. Keunggulan utamanya adalah kemudahan instalasi serta adanya potensiometer bawaan untuk mengatur kontras layar secara manual. Dengan pustaka (library) pendukung, pengguna dapat menampilkan teks, angka, hingga simbol khusus untuk antarmuka proyek elektronik dengan lebih praktis dan rapi.
4. Buzzer

Buzzer adalah komponen elektronika yang berfungsi mengubah sinyal listrik menjadi gelombang suara. Dalam proyek brankas digital ini, buzzer bertindak sebagai indikator audio. Ia memberikan umpan balik berupa bunyi “klik” pendek saat tombol ditekan, serta menghasilkan nada peringatan khusus untuk menandakan apakah PIN yang dimasukkan benar atau salah.
5. Kabel Jumper

Kabel jumper adalah kabel konduktor berukuran kecil yang memiliki pin konektor di ujungnya (bisa berupa pin jantan/male atau lubang betina/female). Kabel ini sangat penting dalam pembuatan prototipe elektronik karena memungkinkanmu menghubungkan berbagai komponen—seperti Arduino, keypad, LCD, dan buzzer—secara langsung pada breadboard tanpa memerlukan proses penyolderan, sehingga memudahkan perakitan dan modifikasi rangkaian.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
// --- KONFIGURASI LCD I2C ---
// Alamat I2C: 0x27 (Jika layar kosong/error, coba ganti jadi 0x3F)
LiquidCrystal_I2C lcd(0x27, 16, 2);
// --- KONFIGURASI KEYPAD 4x4 ---
const byte ROWS = 4;
const byte COLS = 4; // Berubah jadi 4 kolom
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
// --- KONFIGURASI BUZZER & LOGIKA PIN ---
#define BUZZER_PIN 12
String pinBenar = "543210"; // <-- Ganti PIN rahasiamu di sini
String pinInput = "";
void setup() {
pinMode(BUZZER_PIN, OUTPUT);
// Menyalakan LCD
lcd.init();
lcd.backlight();
// Tampilan awal
tampilkanMenuUtama();
}
void loop() {
char key = keypad.getKey();
if (key) {
// Bunyikan suara klik
bunyiKlik();
// Proses input karakter
if (pinInput.length() < 6) {
pinInput += key;
lcd.print("*"); // Samarkan input dengan bintang
}
// Pengecekan setelah 6 karakter dimasukkan
if (pinInput.length() == 6) {
delay(400); // Jeda agar bintang ke-4 terlihat sebentar
if (pinInput == pinBenar) {
aksesDiterima();
} else {
aksesDitolak();
}
// Reset input dan kembali ke menu utama
pinInput = "";
tampilkanMenuUtama();
}
}
}
// --- FUNGSI TAMPILAN LCD ---
void tampilkanMenuUtama() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Masukkan PIN:");
lcd.setCursor(0, 1);
}
// --- FUNGSI SUARA & STATUS ---
void bunyiKlik() {
tone(BUZZER_PIN, 1000);
delay(50);
noTone(BUZZER_PIN);
}
void aksesDiterima() {
lcd.clear();
lcd.setCursor(1, 0);
lcd.print("AKSES DITERIMA");
lcd.setCursor(2, 1);
lcd.print("KUNCI TERBUKA");
// Nada ceria
tone(BUZZER_PIN, 1500); delay(150); noTone(BUZZER_PIN); delay(100);
tone(BUZZER_PIN, 1500); delay(150); noTone(BUZZER_PIN);
delay(2000);
}
void aksesDitolak() {
lcd.clear();
lcd.setCursor(3, 0);
lcd.print("PIN SALAH!");
lcd.setCursor(1, 1);
lcd.print("AKSES DITOLAK!");
// Nada peringatan panjang
tone(BUZZER_PIN, 300);
delay(1500);
noTone(BUZZER_PIN);
delay(1000);
}

Jika PIN benar :

Jika PIN salah :

Sistem smart lock sederhana ini berhasil mengimplementasikan konsep keamanan digital berbasis Arduino dengan kombinasi input (keypad), output visual (LCD I2C), dan output audio (buzzer). Sistem ini dapat dikembangkan lebih lanjut menjadi pintu otomatis atau sistem keamanan rumah pintar.