Vasanth Vasee
Published © GPL3+

RFID-based security system for PC

This project uses RFID to log in or out of a Windows PC using Arduino Pro Micro and MFRC522 module.

IntermediateProtip4 hours5,962
RFID-based security system for PC

Things used in this project

Hardware components

Arduino Micro
Arduino Micro
×1
SparkFun Arduino Pro Micro
×1
NXP rfid
×1
USB-A to Micro-USB Cable
USB-A to Micro-USB Cable
×1
Adafruit perfboard
×1

Software apps and online services

Arduino IDE
Arduino IDE
Arduino Web Editor
Arduino Web Editor

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
assorted handtools- plyers
Adafruit Multi-size wire stripper & cutter

Story

Read more

Schematics

connect as shown in pro micro and rfc522

ckt digram

Code

RF_PC_PASS

Arduino
I used the Arduino library for MFRC522 by Miguel Balboa , so you will need to add this library to arduino.
Please note this is only a very basic example and the password is stored in plain text in your arduino document , so this is very much proof of concept and has just been thrown together.

How it works:
When the chosen cards is presented the arduino will act as a keyboard and simply type the stored password in followed by a carriage return .
#include <Keyboard.h>
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 5
#define KEY_RETURN 0xB0
 
MFRC522 mfrc522 ( SS_PIN, RST_PIN ) ;
char ctrlKey = KEY_RETURN;
 
void setup ( ) {
Serial. begin ( 9600 ) ;
Keyboard. begin ( ) ;
SPI. begin ( ) ;
mfrc522. PCD_Init ( ) ;
}
 
void loop ( ) {
if ( ! mfrc522.PICC_IsNewCardPresent ( ) ) {
return ;
}
 
if ( ! mfrc522.PICC_ReadCardSerial ( ) ) {
return ;
}
 
mfrc522. PICC_DumpToSerial ( & ( mfrc522.uid ) ) ; // serial monitor
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('l');
Keyboard.releaseAll();
 delay (300) ;
Keyboard. press (ctrlKey) ;
Keyboard. release (ctrlKey) ;
delay (300) ;
 
// You can add another character like '@' here.
//Keyboard.print('@ ');
//Keyboard.print('# ');
 
for (byte i = 0 ; i < 4 ; i ++) {
Keyboard. print ( mfrc522. uid . uidByte [ i ] , HEX ) ; // eg C4AD6FB2
}
 
// You can add another character like '@' here.
//Keyboard.print('3 ');
//Keyboard.print('4 ');
 
Keyboard. releaseAll ( ) ;
delay ( 200 ) ;
 
Keyboard. press ( ctrlKey ) ;
Keyboard. releaseAll ( ) ;
}

Credits

Vasanth Vasee
2 projects • 19 followers
HOBBYIST ,QUICK LEARNER , EAGER TO LEARN AND EXPLORE A LOT IN ELECTRONICS TECHNOLOGY AND AI SYSTEMS.......
Thanks to Muhamed musthafa M, Ragesh R V, and My beloved parents... And Friends.

Comments