SAFE-DEPOSIT BOX MENGGUNAKAN KEYPAD 3x4 BERBASIS MIKROKONTROLER ARDUINO UNO (ATMEGA 328P)
SAFE-DEPOSIT BOX MENGGUNAKAN KEYPAD 3x4 BERBASIS MIKROKONTROLER ARDUINO UNO (ATMEGA 328P)
Ahmad Irfan Fardani1, Andika Bramanto2, Cindy Carmelita
Amanda3, Yanchen Youga
Christoper4
Jurusan Teknik
Elektro, Prodi Teknik Elektronika, Politeknik Negeri Semarang
Jl. Prof. Soedarto, Tembalang,
Kec, Tembalang, Kota Semarang, Jawa Tengah, 50275
1fardaniirfan@gmail.com
2andika.bramanto871@gmail.com
3cindycarmelita8@gmail.com
4markuncen0123@gmail.com
Intisari- Jurnal
ini membahas mengenai perancangan prototype sebuah system safe-deposit box yang menggunakan Arduino
Uno (ATmega 328P) sebagai pengendali utamanya bertujuan untuk
mengembangkan sistem keamanan penyimpanan barang berharga yang lebih efisien
dan dapat diakses dengan mudah. Dalam jurnal ini, penulis mengkaji penerapan
teknologi mikroprosesor Arduino Uno dalam menciptakan sebuah safe-deposit box
yang dapat dioperasikan menggunakan berbagai metode pengaman seperti PIN
(Personal Identification Number) dan kunci mekanik elektronik.
Arduino Uno, yang berbasis pada chip ATmega 328P, dipilih karena kemudahan
dalam pemrograman dan integrasi dengan berbagai sensor serta modul tambahan,
seperti keypad, servo motor, dan LCD
display. Keamanan sistem ini diperkuat dengan penggunaan PIN yang
harus dimasukkan melalui keypad untuk membuka kunci deposit box, serta servo
motor yang berfungsi untuk mengendalikan mekanisme pembukaan pintu box secara
otomatis serta membantu memantau keamanan dan mencegah upaya pembobolan. Selain
itu, pengontrol Arduino Uno memungkinkan penyesuaian sistem, seperti penambahan
alarm, untuk meningkatkan tingkat kewaspadaan terhadap potensi ancaman. Hasil
pengujian menunjukkan bahwa penggunaan Arduino Uno dalam proyek ini dapat
menghasilkan safe-deposit box yang terjangkau namun efektif, dengan
pengoperasian yang stabil dan mudah dikendalikan oleh pengguna. Sistem ini
menjadi solusi yang praktis bagi individu yang membutuhkan metode penyimpanan
yang lebih aman tanpa memerlukan biaya tinggi atau perangkat keras yang rumit.
Kata Kunci-
Safe-Deposit Box, Arduino Uno, ATMega 328P, Mikrokontroller, Keamanan, Sistem
Otomatis
I.
PENDAHULUAN
A. LATAR BELAKANG
Seiring dengan perkembangan teknologi,
metode penyimpanan konvensional seperti brankas atau safe-deposit box yang
bergantung pada kunci fisik mulai dirasa kurang efisien dan rawan terhadap
ancaman keamanan, seperti pembobolan atau kehilangan kunci. Oleh karena itu,
muncul kebutuhan untuk merancang sistem penyimpanan yang lebih aman, modern,
dan mudah diakses oleh pemiliknya.
Arduino Uno
(ATmega 328P), sebuah platform mikrokontroler yang populer, menawarkan solusi
yang terjangkau dan fleksibel untuk membangun sistem otomasi dan kontrol yang
dapat digunakan dalam aplikasi keamanan. Arduino Uno dikenal dengan kemudahan
dalam pemrograman dan kemampuan untuk berintegrasi dengan berbagai perangkat
keras tambahan, seperti keypad, servo motor, dan alarm. Hal ini menjadikannya
pilihan yang tepat untuk merancang safe-deposit box yang dapat
dikendalikan secara elektronik, sehingga mengurangi ketergantungan pada kunci
mekanik tradisional.
Penggunaan
Arduino Uno dalam desain safe-deposit box memberikan potensi
untuk meningkatkan sistem keamanan dengan menggunakan teknologi PIN (Personal
Identification Number), di mana pengguna dapat mengakses penyimpanan dengan
memasukkan kode yang benar melalui keypad. Sistem ini juga dapat dilengkapi
dengan fitur tambahan seperti alarm keamanan yang dapat meningkatkan tingkat
kewaspadaan terhadap kemungkinan upaya pembobolan.
Latar belakang
penelitian ini berfokus pada penerapan teknologi mikrokontroler untuk
menciptakan solusi penyimpanan yang lebih aman, efektif, dan praktis, dengan
biaya yang lebih terjangkau dibandingkan sistem keamanan tradisional. Dengan
memanfaatkan Arduino Uno sebagai pengendali utama, penelitian
ini bertujuan untuk merancang safe-deposit box yang dapat
memberikan keamanan yang lebih baik bagi pengguna dan mengurangi risiko
kehilangan atau pencurian barang berharga.
B. RUMUSAN
MASALAH
Berdasarkan
uraian diatas, terdapat beberapa perumusan masalah yang harus diperhatikan
yaitu:
1. Bagaimana merancang sistem pengaman yang efektif dan efisien untuk
safe-deposit box menggunakan Arduino Uno (ATmega 328P)?
2. Apa saja komponen yang diperlukan dalam merancang safe-deposit box
berbasis Arduino Uno (ATmega 328P) untuk memastikan keamanan dan kemudahan
penggunaan?
3. Bagaimana cara implementasi dan integrasi teknologi PIN (Personal
Identification Number) dalam sistem untuk membuka safe-deposit box secara aman
dan otomatis?
C. TUJUAN
1.
Menciptakan sistem penyimpanan
yang dapat melindungi barang berharga dengan menggunakan teknologi
mikroprosesor yang mudah diakses dan efektif dalam menjaga keamanan.
2.
Meningkatkan sistem pengamanan
dengan menggunakan PIN sebagai metode autentikasi, serta mengontrol mekanisme
penguncian secara otomatis melalui perangkat elektronik seperti keypad dan
servo motor.
3.
Menciptakan sistem yang tidak
hanya aman, tetapi juga terjangkau, memungkinkan penggunaan teknologi yang
lebih luas di kalangan individu atau organisasi dengan anggaran terbatas.
II.
METODOLOGI
Dimulai dengan tahap perancangan sistem, yang mencakup pemilihan komponen utama seperti Arduino Uno sebagai mikrokontroler, keypad untuk input PIN, servo motor untuk membuka pintu, dan alarm untuk mendeteksi upaya pembobolan. Pada tahap ini, desain skematik rangkaian yang menghubungkan semua komponen juga dilakukan. Setelah itu, dilakukan pengembangan perangkat keras dan perangkat lunak, di mana komponen-komponen dipasang dan diprogram menggunakan bahasa pemrograman assembly untuk mengendalikan mekanisme pengoperasian sistem, termasuk autentikasi PIN, pengendalian servo motor, serta tampilan status pada LCD display. Uji coba kemudian dilakukan untuk memastikan fungsionalitas sistem, meliputi tes keamanan PIN, mekanisme pembukaan pintu, dan pengujian alarm. Tahap terakhir adalah evaluasi tingkat keamanan sistem, untuk memastikan bahwa sistem ini tidak hanya efektif dalam hal perlindungan barang berharga, tetapi juga lebih terjangkau dibandingkan dengan solusi tradisional lainnya. Dengan mengikuti metodologi ini, penelitian bertujuan untuk menciptakan safe-deposit box yang aman, efisien, dan mudah digunakan.
III.
KAJIAN
PUSTAKA
Pembahasan dalam bagian
ini meliputi perancangan dan komponen apa saja yang digunakan dalam projek ini.
A.
KOMPONEN
1.
Arduino Uno adalah board mikrokontroler berbasis ATMega328P. Memiliki 14 pin input dari output digital. Dimana 6 pin input tersebut digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.
Mikrokontroler AVR (Alf and Vegaard’s Risc
Processor) ATMega328P merupakan seri mikrokontroler Complementary
Metal Oxide Semiconductor (CMOS) 8-bit buatan Atmel
berbasis arsitektur RISC (Reduced Instruction Set Computer). Hampir
semua instruksi pada program dieksekusi dalam satu siklus clock.
ATMega328P mempunyai 8 Kbyte in-System Programmable Flash yang
memungkinkan memori program untuk diprogram ulang (read/write) dengan
koneksi secara serial yang disebut Serial Peripheral Interface (SPI).
Gambar 1.2. Pin Atmega 328P
1) VCC merupakan pin yang berfungsi sebagai
masukan catu daya.
2) GND merupakan pin Ground.
3) Port B (PB0 – PB7) merupakan pin masukan/keluaran
dua arah (full duplex) dan masing-masing port memiliki fungsi khusus.
4) Port C (PC0 – PC6) merupakan pin
masukan/keluaran dua arah (full duplex) dan masing-masing port memiliki fungsi
khusus.
5) Port D (PD0 – PD7) merupakan pin
masukan/keluaran dua arah (full duplex) dan masing-masing port memiliki fungsi
khusus.
6) RESET merupakan pin yang digunakan untuk
mengatur atau menjalankan ulang program awal yang sudah dimasukkan ke
mikrokontroler.
7) XTAL1 dan XTAL2, merupakan pin masukan external
clock.
8) AVCC merupakan pin masukan tegangan ADC
(Analog-Digital Converter).
9) AREF merupakan pin masukan
referensi tegangan ADC.
2.
LCD adalah suatu jenis media tampilan yang
menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan di
berbagai bidang misalnya dalam alat-alat elektronik seperti televisi,
kalkulator atau layar komputerCukup 4 kabel (VCC GND SCL SDA) untuk
mengendalikan LCD 1602.
3.
Keypad 3x4 adalah modul keypad yang
memiliki ukuran 3 kolom dan 4 baris. Modul ini dapat berfungsi sebagai
input data dalam berbagai aplikasi, seperti: Pengaman digital, Absensi,
Pengendali kecepatan motor, Robotik.
Keypad merupakan saklar-saklar push button yang
disusun secara matriks. Keypad yang terdiri dari angka-angka biasanya
disebut sebagai numeric keypad. Keypad banyak digunakan pada alphanumeric
keyboard, kalkulator, telepon, kunci kombinasi, dan kunci pintu digital.
4. Motor Servo
Motor servo merupakan perangkat atau aktuator putar
(motor) yang dirancang dengan sistem kontrol feedback loop tertutup (close
loop), sehingga dapat memastikan dan menentukan posisi sudut dari poros output
motor. Daya yang dimiliki motor servo bervariasi, mulai beberapa watt sampai
ratusan watt. Motor servo digunakan untuk berbagai keperluan seperti sistem
pelacakan, peralatan mesin dan lain sebagainya. Motor servo dibagi menjadi dua,
yaitu motor serco AC dan DC.
5. Buzzer
Buzzer adalah komponen elektronik yang digunakan untuk menghasilkan
suara atau bunyi. Buzzer biasanya digunakan sebagai alat peringatan, alarm,
indikator suara, atau notifikasi dalam berbagai perangkat elektronik. Suara
yang dihasilkan buzzer berupa nada atau bip yang bisa bersifat terus-menerus
atau berulang, tergantung pada jenis dan rangkaiannya.
B.
C. DIAGRAM
ALIR SISTEM
D. RANGKAIAN SKEMATIK SISTEM
E.
PROGRAM
.include
"m328Pdef.inc" ;
========================================== ;
Definisi Konstanta dan Register ; ========================================== .equ
F_CPU = 16000000 ; Frekuensi
CPU .equ
BUZZER_PIN = 0 ; Buzzer pada
PB0 .equ
SERVO_PIN = 1 ; Servo pada
PB1 .equ
PIN_HIGH = 0x24 ; High byte
PIN (0x2234) .equ
PIN_LOW = 0x84 ; Low byte
PIN (0x2234) .equ
I2C_ADDRESS_LCD = 0x27 ; Alamat I2C
LCD ;
Register .def
rInputHigh = r16 ; Input High
byte dari keypad .def
rInputLow = r17 ; Input Low
byte dari keypad .def
rTemp = r18 ; Register
sementara ;
========================================== ;
Inisialisasi ;
========================================== .org
0x00 rjmp MAIN ; Lompat ke program utama MAIN: ; Inisialisasi perangkat keras ldi r16, (1 << BUZZER_PIN) | (1
<< SERVO_PIN) out DDRB, r16 ; Set BUZZER_PIN dan SERVO_PIN
sebagai output ldi r16, 0x00 out PORTB, r16 ; Pastikan semua output mati rcall LCD_INIT ; Inisialisasi LCD rcall LCD_CLEAR rcall LCD_PRINT_INIT_MSG ; Tampilkan pesan "OPEN WITH
CODE:" MAIN_LOOP: rcall READ_PIN ; Baca PIN dari keypad rcall VERIFY_PIN ; Verifikasi PIN rjmp MAIN_LOOP ; Ulangi loop utama ;
========================================== ;
Subrutin: Inisialisasi LCD ;
========================================== LCD_INIT: ; Inisialisasi LCD (menggunakan protokol
I2C) rcall I2C_START ldi r16, I2C_ADDRESS_LCD rcall I2C_WRITE ldi r16, 0x33 ; Perintah inisialisasi rcall I2C_WRITE rcall I2C_STOP ret LCD_CLEAR: ; Bersihkan layar LCD ldi r16, 0x01 ; Perintah clear display rcall LCD_SEND_COMMAND ret LCD_PRINT_INIT_MSG: ; Cetak "OPEN WITH CODE:" ke
LCD ldi r16, HIGH(TEXT_OPEN_WITH_CODE) rcall LCD_PRINT_STRING ret ;
========================================== ;
Subrutin: Membaca PIN ;
========================================== READ_PIN: clr rInputHigh ; Reset input High byte clr rInputLow ; Reset input Low byte ; Logika membaca keypad 3x4 ; Implementasi pembacaan keypad di sini ; Simpan hasil pada rInputHigh dan
rInputLow ret ; ========================================== ;
Subrutin: Verifikasi PIN ;
========================================== VERIFY_PIN: ; Bandingkan rInputHigh dengan PIN_HIGH ldi rTemp, PIN_HIGH cp rInputHigh, rTemp brne PIN_ERROR ; Jika tidak cocok, lompat ke
PIN_ERROR ; Bandingkan rInputLow dengan PIN_LOW ldi rTemp, PIN_LOW cp rInputLow, rTemp brne PIN_ERROR ; Jika tidak cocok, lompat ke
PIN_ERROR ; PIN benar rcall LCD_LOCK_OPENED_MSG ; Tampilkan pesan "LOCK OPENED" rcall OPEN_LOCK ; Buka brankas ret PIN_ERROR: rcall BUZZER_LONG ; Bunyi buzzer panjang ret ;
========================================== ;
Subrutin: Menampilkan "LOCK OPENED" dan "PRESS # TO
CLOSE" ;
========================================== LCD_LOCK_OPENED_MSG: rcall LCD_CLEAR ldi r16, HIGH(TEXT_LOCK_OPENED) rcall LCD_PRINT_STRING ; Tampilkan "LOCK OPENED" ldi r16, HIGH(TEXT_PRESS_TO_CLOSE) rcall LCD_PRINT_STRING ; Tampilkan "PRESS # TO CLOSE"
pada baris kedua ret ;
========================================== ;
Subrutin: Kontrol Servo dan Buzzer ;
========================================== BUZZER_LONG: sbi PORTB, BUZZER_PIN ; Nyalakan buzzer rcall DELAY_MS cbi PORTB, BUZZER_PIN ; Matikan buzzer ret OPEN_LOCK: sbi PORTB, SERVO_PIN ; Servo membuka brankas rcall DELAY_MS cbi PORTB, SERVO_PIN ; Servo terkunci kembali ret ;
========================================== ;
Subrutin I2C ;
========================================== I2C_START: ; Implementasi I2C start ret I2C_WRITE: ; Implementasi I2C write ret I2C_STOP: ; Implementasi I2C stop ret LCD_SEND_COMMAND: ; Mengirim perintah ke LCD melalui I2C ret LCD_PRINT_STRING: ; Mengirim string ke LCD ret ;
========================================== ;
Subrutin: Menampilkan "CLOSING LOCK..." dan "LOCK CLOSED" ;
========================================== CLOSING_LOCK: rcall LCD_CLEAR ldi r16, HIGH(TEXT_CLOSING_LOCK) rcall LCD_PRINT_STRING ; Tampilkan "CLOSING LOCK..." rcall CLOSE_LOCK ; Servo bergerak ke posisi terkunci rcall LCD_CLEAR ldi r16, HIGH(TEXT_LOCK_CLOSED) rcall LCD_PRINT_STRING ; Tampilkan "LOCK CLOSED" ret CLOSE_LOCK: cbi PORTB, SERVO_PIN ; Servo kembali ke posisi terkunci (0
derajat) rcall DELAY_MS ; Delay untuk memastikan posisi
terkunci ret ;
========================================== ;
Tabel String ;
========================================== TEXT_OPEN_WITH_CODE: .db "OPEN WITH CODE:", 0 TEXT_LOCK_OPENED: .db " LOCK OPENED", 0 TEXT_PRESS_TO_CLOSE: .db "PRESS # TO CLOSE", 0 TEXT_CLOSING_LOCK: .db "CLOSING LOCK...", 0 TEXT_LOCK_CLOSED: .db "LOCK CLOSED", 0 DELAY_MS: ldi r18, 250 ; Nilai iterasi luar (misalnya 250
untuk 1 ms) DELAY_MS_LOOP1: ldi r19, 250 ; Nilai iterasi dalam DELAY_MS_LOOP2: nop ; Tidak melakukan apa-apa
(1 siklus) dec r19 ; Kurangi nilai r19 brne DELAY_MS_LOOP2 ; Jika r19 belum nol, ulangi loop dalam dec r18 ; Kurangi nilai r18 brne DELAY_MS_LOOP1 ; Jika r18 belum nol, ulangi loop luar ret ; Kembali setelah delay
selesai |
IV.
HASIL
DAN PEMBAHASAN
A. GAMBAR PROTOTYPE
B.
CARA KERJA
Dimulai dengan
pengguna memasukkan PIN melalui keypad yang
terhubung ke Arduino (ATmega 328P). Kemudian Arduino (ATmega 328P) memproses
dan membandingkan PIN yang dimasukkan dengan data yang telah diprogram. Jika
PIN benar, Arduino mengirimkan sinyal ke servo motor untuk
membuka mekanisme pengunci pintu, memungkinkan akses ke safe-deposit box.
Status akses ditampilkan pada LCD display untuk memberi umpan
balik kepada pengguna. Selain itu, sistem dilengkapi dengan alarm
untuk mendeteksi upaya pembobolan, jika PIN yang dimasukkan salah alarm
berbunyi. Dengan cara kerja ini, sistem memberikan keamanan yang efisien dan
mudah diakses oleh pengguna yang sah.
C.
HASIL
Gambar 12. Brankas Terbuka
D.
KESIMPULAN
Sistem ini dapat memberikan
solusi keamanan yang efektif dan terjangkau untuk penyimpanan barang berharga.
Dengan menggunakan Arduino Uno (ATmega 328P) sebagai pengendali utama, sistem
ini berhasil mengintegrasikan teknologi PIN, keypad, servo motor, dan LCD
display untuk mengendalikan akses secara otomatis dan aman. Selain itu,
penambahan fitur seperti alarm memberikan lapisan keamanan ekstra untuk
mencegah pembobolan. Implementasi sistem ini tidak hanya mudah diakses oleh
pengguna yang sah, tetapi juga memiliki biaya yang lebih rendah dibandingkan
dengan sistem pengamanan tradisional. Dengan demikian, safe-deposit box
berbasis Arduino Uno (ATmega 328P) merupakan solusi praktis, efisien, dan aman
untuk menjaga barang berharga.
E.
REFERENSI
S. R. S. N. M. T.
Yohanes C Saghoa, "Kotak Penyimpan Uang Berbasis Mikrokontroller Arduino
Uno," Jurnal Teknik Elektro dan Komputer Vol. 7 No.2 (2018), ISSN :
2301-8402, vol. Vol. 7 No.2, pp. 167-174, 2018.
Fikri, Khairul.
(2019). Automatic Safety Electronic Safe Box. Surakarta: Tugas Akhir,
Universitas Muhammadiyah Surakarta.
Muhammad, Rayendra. (2018). Prototipe Keamanan Brankas Berbasis Arduino Dan Android. Surakarta: Tugas Akhir, Universitas Muhammadiyah Surakarta.
F.
LINK PPT
G.
LINK YOUTUBE
Komentar
Posting Komentar