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 (Atmega 328P)

Gambar 1. Arduino Uno (Atmega 328P)

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 I2C 16x2

Gambar 2. LCD I2C 16x2

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

Gambar 3. Keypad 3x4

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

Gambar 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

        Gambar 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.    DIAGRAM BLOK

 Gambar 6. Diagram Blok

C.   DIAGRAM ALIR SISTEM

Gambar 7. Diagram Alir Sistem

 

D.   RANGKAIAN SKEMATIK SISTEM

Gambar 8. 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

Gambar 9. Tampak Depan

Gambar 10. Tampak Samping


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 11. Brankas Terkunci

                    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

https://www.canva.com/design/DAGZIhH_VYs/CrvtZTF42Bo8C4Ym3rG8gg/view?utm_content=DAGZIhH_VYs&utm_campaign=designshare&utm_medium=link2&utm_source=uniquelinks&utlId=h66327bc044


G.    LINK YOUTUBE

https://youtu.be/SDwZSgnhuoE

 

 

Komentar

Postingan populer dari blog ini

SISTEM LAMPU PENERANGAN JALAN OTOMATIS DENGAN SENSOR LDR BERBASIS ATMega8535

SISTEM PEMANTAUAN SUHU DAN KELEMBABAN PADA SUATU RUANGAN MENGGUNAKAN SENSOR DHT22 BERBASIS MIKROKONTROLLER ARDUINO UNO ATMEGA328P

ATAP OTOMATIS DENGAN SENSOR HUJAN BERBASIS ATMEGA 8535