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
- ARDUINO UNO
- MODUL RFID RC 522 (INGAT !!! JIKA INGIN MENGGUNAKAN UNTUK E-KTP GUNAKAN YANG WARNA MERAH)
- SELENOID DOOR LOCK 12 V
- ADAPTOR 12 V
- KABEL JUMPER SECUKUP NYA
- LCD 16x2
- RELAY 12 V
- TRANSISTOR BD 140
- RESISTOR 1K
- DIODA IN4002 2 BUAH
- 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
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
Komentar ini telah dihapus oleh pengarang.
BalasHapuskontak gmna gan
BalasHapusBos bisa minta no wanya
BalasHapusSaya mau belajar masih pemula
082236510032
Hapusmaaf telat gan....hp rusak buat akun ini
Mas mnta nmor wa nya
HapusRFID RC522 warna biru juga bisa buat scan ID e-KTP, Kartu ATM gan. Udah nyoba soal nya.
BalasHapusBohong !!
HapusSaya pakai yg biru kk ngak bisa baca e ktp gan.. Tutor
HapusCoba tutornya dong mas dan source codenya agar bisa scan eKTP. Saya nyoba gagal terus
HapusTan'ks bro sangat membantu saya//
BalasHapusMaaf dulu ya gan,soalnya ane amatir.ini bisa buat pintu gak min?.
BalasHapusLaporkan woi
BalasHapus