Kunci Brankas Anti Jebol

Indobot Academy

Brangkas yang ada dipasaran seringkali mudah untuk dibobol dikarenakan pengunci yang umum dan mudah diakses. Kali ini kita akan mencoba membuat kunci brangkas yang memiliki tingkat keamanan yang tinggi sehingga sulit untuk diakses oleh orang lain.

[membership level=”0,1,2,4″]

1. Alat / Bahan
  • Arduino IDE                                     Download
  • Library: LiquidCrystal_I2C            Download
  • Library: Keypad                              Download
  • Library: RFID                                   Download
  • Arduino UNO                                   1 Buah
  • LCD                                                   1 Buah
  • I2C                                                    1 Buah
  • Keypad 4×4                                     1 Buah
  • RFID tags dan reader                    1 Buah
  • Relay 1 Channel                             1 Buah
  • Solenoid                                          1 Buah
  • Adapter 12V DC                              1 Buah
  • Project Board                                  1 Buah
  • Kabel Jumper                                  Secukupnya

Untuk mendapatkan komponen elektronik di atas silahkan temukan disini.

2. Skema Rangkaian

Berikut Rangkaian Kunci Brankas Anti Jebol

Keterangan:

  • 5V – VCC LCD I2C, VCC Relay
  • GND – GND LCD I2C, GND Relay
  • SDA – SDA LCD I2C
  • SCL – SCL LCD I2C
  • D0 – C4 Keypad
  • D1 – C3 Keypad
  • D2 – C2 Keypad
  • D3 – C1 Keypad
  • D4 – R4 Keypad
  • D5 – R3 Keypad
  • D6 – R2 Keypad
  • D7 – R1 Keypad
  • D8 – RST RFID
  • D9 – Pin Data Relay
  • D10 – NSS RFID
  • D11 – MOSI RFID
  • D12 – MISO RFID
  • D13 – SCK RFID
  • (+) 12V DC – Com Relay
  • (-) 12V DC – GND solenoid
  • NO Relay – VCC Solenoid

[/membership]

3. Langkah Kerja
  1. Siapkan alat dan juga bahan yang akan digunakan
  2. kedua Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
  3. ketiga Buka software Arduino IDE yang telah terinstal pada laptop/komputer
  4. Unduh semua library di atas dan juga masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library 
  5. kemudian Ketikkan sketch program pada halaman Arduino IDE
  6. Masukan alamat I2C LCD pada sketch program, untuk mengetahui alamat I2C pelajari materi berikut:
    Mencari Tahu Alamat I2C Pada Modul I2C
  7. Ganti data tag dengan tag yang kalian miliki dengan format:
    int Data_RFID[4] = {data_ke-1,data_ke-2,data_ke-3,data_ke-4};
    Untuk mengetahui data tag dapat dilihat di sini:
    Membaca Kode Tag dengan Sensor RFID
  8. Untuk memahami cara kerja program keypad, pelajari materi berikut:
    Membaca Input Keypad 4×4
  9. terakhir Lakukan proses uploading program
4. Sketch Program

Belajar elektronika step by step dengan bantuan tangga belajar? Regitrasi dulu dan dapatkan konsultasi dari kami!

 
/* Program Kunci Brankas Anti Jebol dibuat oleh Indobot */

//----------------LCD----------------//
#include <LiquidCrystal_I2C.h>      //Library LCD I2C
LiquidCrystal_I2C lcd(0x27,16,2);   //Alamat I2C

//----------------RFID----------------//
#include <SPI.h>                      //Library komunikasi SPI
#include <RFID.h>                     //Library RFID
#define SS_PIN 10                     //Deklarasi pin ss pada D10
#define RST_PIN 8                     //Deklarasi pin rst pada D6
RFID rfid(SS_PIN,RST_PIN);            //Kenalkan pin ss dan rst pada RFID

int Data_RFID[4] = {34,188,94,52};    //Kode data tag
bool akses = true;                    //Variabel akses bernilai benar

//----------------Keypad----------------//
#include <Keypad.h>                 //Library keypad
const byte ROWS = 4;    //Jumlah baris keypad
const byte COLS = 4;    //Jumlah kolom keypad

char Keys[ROWS][COLS] = {   //Membuat array keypad
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = {7, 6, 5, 4}; //Deklarasi pin keypad
byte colPins[COLS] = {3, 2, 1, 0}; 

Keypad customKeypad = Keypad( makeKeymap(Keys), rowPins, colPins, ROWS, COLS);    //Masukkan info keypad pada library

char customKey;         //Variabel penampung input keypad
int number = 0;         //Variabel penampung nilai angka
int password = 2020;    //Password

//----------------Kunci----------------//
#define kunci 9

void setup() {
  lcd.init ();              //Mulai LCD
  lcd.setBacklight(HIGH);   //Nyalakan backlight
  SPI.begin();                        //Mulai komunikasi SPI
  rfid.init();                        //Mulai RFID
  pinMode(kunci, OUTPUT);
}

void loop() {
  set1:
  lcd.setCursor(0,0);
  lcd.print("Masukkan Kartu");
  
  if(rfid.isCard() && rfid.readCardSerial()){ //Jika ada tag dan terbaca, maka
    for( int i=0 ; i<=3 ; i++){               
      if(rfid.serNum[i] != Data_RFID[i]){     //Jika kode tag tidak sama, maka
        goto tolak_akses;                     //Lompat ke perintah tolak_akses
      }
    }
    rfid.halt();
    lcd.setCursor(0,1);
    lcd.print("<Akses Diterima>");
    delay(1000);
    lcd.clear();
    goto set2;
  }
  goto set1;


  set2:
  lcd.setCursor(0,0);
  lcd.print("Input Password");      //Tampilan pada layar LCD
  
  customKey = customKeypad.getKey();    //Baca input keypad

  //------------Prosedur jika input berupa angka------------//
  switch(customKey){
    case '0' ... '9':
      lcd.setCursor(0,1);
      number = number * 10 + (customKey - '0');
      lcd.print(number);
    break;

    //------------Jika input '#' maka cek password------------//
    case '#':
      if(number == password){           //Jika password benar, maka
        lcd.setCursor(0,1);
        lcd.print("Kunci Terbuka");  //Tampilan LCD
        digitalWrite(kunci,HIGH);
        delay(5000);
        digitalWrite(kunci,LOW);
        number = 0;
        lcd.clear();
        goto set1; 
      }
      else{                             //Jika salah, maka
        number = 0;
        goto tolak_akses;
      }
    break;

    //------------Jika input '*' maka hapus tampilan------------//
    case '*':
      number = 0;
      lcd.clear();
    break;
  }
  goto set2;


  if(akses == false){                   
    tolak_akses:                        //Lompatan perintah tolak_akses
    lcd.setCursor(0,1);
    lcd.println("Akses Ditolak!  ");
    delay(2000);
    lcd.clear();
    goto set1;
  }
}

Kesimpulan:

Hasil proyek ini yaitu brangkas yang kita gunakan memiliki doublelock berupa RFID dan Password. Ketika akan membuka brangkas kita perlu mengakses RFID terlebih dahulu, jika akses benar maka kita akan diarahkan untuk memasukan password. Namun jika akses RFID salah kita tidak akan bisa mengakes password, harus melakukan akses RFID hingga benar.

[/membership]

Bikin project tanpa ribet beli komponen sana-sini? Starter Kit Arduino/IoT bisa jadi solusi mu!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Satu pemikiran pada “Kunci Brankas Anti Jebol”

  1. MOHON PETUNJUKNYA

    Pada saat di upload tidak bisa karna ada eror

    sketch_feb06a:5:10: error: #include expects “FILENAME” or
    #include <LiquidCrystal_I2C.h> //Library LCD I2C
    ^
    sketch_feb06a:9:10: error: #include expects “FILENAME” or
    #include <SPI.h> //Library komunikasi SPI
    ^
    sketch_feb06a:10:10: error: #include expects “FILENAME” or
    #include <RFID.h> //Library RFID
    ^
    sketch_feb06a:19:10: error: #include expects “FILENAME” or
    #include <Keypad.h> //Library keypad
    ^
    exit status 1
    #include expects “FILENAME” or

    Balas

Tinggalkan komentar

whatsapp