MEMBUAT KUNCI LOKER BERBASIS RFID MENGGUNAKAN ARDUINO

MEMBUAT KUNCI RFID MENGGUNAKAN ARDUINO


Hay gays...
ketemu lagi di blog sederhana ane...kali ini saya akan share cara membuat kunci loker/lemari/pintu (sesuai penempatan kunci anda) menggunakan sensor RFID....apa itu RFID...intinya RFID adalah kartu yang di dalam nya sudah ada chip nya yang memunculkan kode kode tersendiri setiap kartu nya...bentuk nya bisa seperti kartu atm atau gantungan kunci..  bisa juga menggunakan kartu E-KTP agan agan...tapi untuk ktp sensor nya harus yang berwarna merah....

untuk display saya menggunakan lcd 16x2 yang biasa (bukan yang i2c)

oke langsung saja bahan yang di perlukan

  1. ARDUINO UNO
  2. MODUL RFID RC 522 (INGAT !!! JIKA INGIN MENGGUNAKAN UNTUK E-KTP GUNAKAN YANG WARNA MERAH)
  3. SELENOID DOOR LOCK 12 V
  4. ADAPTOR 12 V
  5. KABEL JUMPER SECUKUP NYA
  6. LCD 16x2
  7. RELAY 12 V
  8. TRANSISTOR BD 140
  9. RESISTOR 1K 
  10. DIODA IN4002 2 BUAH
  11. VR 10K


Jika sudah tersedia bahan tersebut silahkan WIRING rakit seperti ini

WIRING MODUL RFID KE ARDUINO
  • MOSI : PIN D11
  • MISO : PIN D12
  • SCK : PIN D13
  • SDA/SS : PIN D10
  • RST : PIN D9
  • RQ : -
  • 3.3V : DI HUBUNGKAN KE 3.3V ARDUINO..AWAS SALAH 5V Y GAN
  • GND : PIN GND
WIRING DOORLOCK SELENOID
PIN D8 arduino di hubungkan ke resistor

WIRING LCD 16x2 KE ARDUINO
  • 1 GND ke GND
  • 2 VCC ke 5V
  • 3 COTRAST dari vr (potensiometer)
  • 4 RS ke PORT D7
  • 5 RW ke GND
  • 6 EN ke PORT D6
  • 7 0 tidak di pakai
  • 8 1 tidak di pakai
  • 9 2 tidak di pakai
  • 10 3 tidak di pakai
  • 11 4 ke PORT D5 ARDUINO
  • 12 5 ke port D4 ARDUINO
  • 13 6 ke PORT D3 ARDUINO
  • 14 7 ke PORT D2 ARDUINO
  • 15 +backlight ke +5v
  • 16 -backlight ke GND
 Selanjut nya masukkan program seperti ini
Program saya copy dari web belajarduino.com tapi di ubah dikit source kode nya...terima kasih buat www.belajarduino.com telah membagikan ilmu nya...



#include <RFID.h>

#include <LiquidCrystal.h>

#include <Wire.h>

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

#include <SPI.h>
#define SS_PIN 10
#define RST_PIN 9



RFID rfid(SS_PIN,RST_PIN);

const int buzzer = 1;
const int doorLock = 8;

int serNum[5];
int cards[][5]= {      //ID KARTU YG BOLEH MASUK
  {52,80,74,255,209},{22,163,98,139,92}
  
  
};

bool access = false;




int alarm = 0;
uint8_t alarmStat = 0;
uint8_t maxError = 5;


//gariss

void setup(){
    lcd.begin(16, 2);
       Serial.begin(9600);
    SPI.begin();
    rfid.init();

     pinMode(doorLock, OUTPUT);
    digitalWrite(doorLock, HIGH);

  tone (buzzer,1200);
  lcd.setCursor (0,0);
  lcd.print(F(" +RFID System+  "));
  lcd.setCursor (0,1);
  lcd.print(F("   by farid  "));
  delay (5000);
  lcd.clear();
  noTone (buzzer);
}

void loop(){
  if (alarm >= maxError){
    alarmStat = 1;    }
  
  if (alarmStat == 0){
  lcd.setCursor (0,0);
  lcd.print(F(" -System Ready- "));
  lcd.setCursor (0,1);
  lcd.print(F(" Scan Your Card "));

if(rfid.isCard()){
  
if(rfid.readCardSerial()){
   if(rfid.readCardSerial()){
            Serial.print(rfid.serNum[0]);
            Serial.print(" ");
            Serial.print(rfid.serNum[1]);
            Serial.print(" ");
            Serial.print(rfid.serNum[2]);
            Serial.print(" ");
            Serial.print(rfid.serNum[3]);
            Serial.print(" ");
            Serial.print(rfid.serNum[4]);
            Serial.println("");

for(int x = 0; x < sizeof(cards); x++){
for(int i = 0; i < sizeof(rfid.serNum); i++ ){
if(rfid.serNum[i] != cards[x][i]) {
access = false;
break;
} else {
access = true;
}
}
if(access) break;
}
}


if(access){
          Serial.println("Welcome!");
          lcd.setCursor (0,0);
          lcd.print(F(" Akses diterima "));
          lcd.setCursor (0,1);
          lcd.print("ID:");
          lcd.print(rfid.serNum[0]); lcd.print(rfid.serNum[1]);
          lcd.print(rfid.serNum[2]); lcd.print(rfid.serNum[3]);
          lcd.print(rfid.serNum[4]);
         digitalWrite(doorLock, LOW);
           tone (buzzer,900);
           delay(100);
           tone (buzzer,1200);
           delay(100);
           tone (buzzer,1800);
           delay(200);
           noTone(buzzer);  
           delay(600);
           lcd.setCursor (0,0);
           lcd.print(F(" Silahkan Masuk "));
           lcd.setCursor (0,1);
           lcd.print(F("AutoLock after "));
           for(int i=5; i>0; i--){
            lcd.setCursor (15,1); lcd.print(i);
            delay (1000);
           }
           digitalWrite(doorLock, HIGH);
           lcd.clear();
           
  }else {
           alarm = alarm+1;
           Serial.println("Not allowed!"); 
           lcd.setCursor (0,0);
           lcd.print(F(" Akses ditolak  "));
           lcd.setCursor (0,1);
           lcd.print("ID:");
           lcd.print(rfid.serNum[0]); lcd.print(rfid.serNum[1]);
           lcd.print(rfid.serNum[2]); lcd.print(rfid.serNum[3]);
           lcd.print(rfid.serNum[4]);
           tone (buzzer,900);
           delay(200);
           noTone(buzzer);
           delay(200);
           tone (buzzer,900);
           delay(200);
           noTone (buzzer);  
           delay(500);
           lcd.clear();  
       }  
}      

}
  }
}



-----------------------------------------------------------------

Untuk library silahkan download di sini

jika sudah di upload silahkan di coba ...dan pasti akan ada error tidak bisa masuk karena id kartu salah
untuk memasukkan id kartu anda cara nya sebagai berikut

pertama hubungkan arduino dengan usb ke pc...stelah itu buka program arduino...tekan tombol pencarian di pojok kanan bawah nya close


sekarang tempelkan kartu rfid anda ke sensor RFID dan lihat di layar pc anda akan keluar kode kartu anda...catat kode itu dan masukkan ke program

sekarang masuk ke program arduino di atas dan hapus program kode yang lama dengan sesuai kode anda tadi...( spasi adalah , )

ok sekian tutorial sederhana ane gan...berikut foto foto nya











terima kasih telah melihat blog ane gan...salam elektronika

thanks for 
-www.belajarduino.com
-grup facebook kumpulan skema,gambar,rangkaian elektronika


12 Responses to "MEMBUAT KUNCI LOKER BERBASIS RFID MENGGUNAKAN ARDUINO"

  1. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  2. Bos bisa minta no wanya
    Saya mau belajar masih pemula

    BalasHapus
  3. RFID RC522 warna biru juga bisa buat scan ID e-KTP, Kartu ATM gan. Udah nyoba soal nya.

    BalasHapus
    Balasan
    1. Saya pakai yg biru kk ngak bisa baca e ktp gan.. Tutor

      Hapus
    2. Coba tutornya dong mas dan source codenya agar bisa scan eKTP. Saya nyoba gagal terus

      Hapus
  4. Tan'ks bro sangat membantu saya//

    BalasHapus
  5. Maaf dulu ya gan,soalnya ane amatir.ini bisa buat pintu gak min?.

    BalasHapus

wdcfawqafwef