Showing posts with label RC522. Show all posts
Showing posts with label RC522. Show all posts

Wednesday, August 10, 2016

Door Access Control With Arduino And RFID RC522

Hello world! Today i made a RFID door lock. The lamp acts as a Electric door lock because i don't have a electrical lock, you simply add the door lock to the relay instead of the lamp. I could not find much about the module, i have the RFID-RC522 in blue color, so this might be useful for the ones who have the same problem as me because the red one has the pins different...

Ok, let's get started!!


Step 1: What You Need?

1 x Arduino UNO
1 x USB Type-B Cable 

1 x RFID RC522 Card Reader Detector Module Kit

1 x 1 Channel Relay (KY-019) 
1 x KY-004 Button Module (To clear the database) (Can be Found in 37 Types Sensor in 1 Starter Learning Sensor Kit) or PushButton 
1 x Mini Breadboard (for RFID module stands vertical) or PCB Donut board 
Female-to-Male Jumper Wires
1 x Computer with Arduino IDE installed

Optional

Electrical Door Lock 
Male-to-Male Jumper Wires 
Arduino Compatible UNO Ultimate Starter Kit / Learning Kit (All the component can be found in this EXCEPT Door lock)
USB To Power Jack Cable

Soldering Iron and Solder (in case use PCB board)


Don't have components? Don't worry. Just click the component's name. 


Step 2: Build Your Circuit.

Connect wire like the schematic above.



Step 3: Upload The Code.


You can uncomment this line below (line 68) in the code it will increase reading distance : 
mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max);


Step 4: Test!


There is a button to clear the database. How this works is simple, Just hold the button and reset Arduino. Hold it for 6 second and it will clear all cards added. After that you need to add the new master card and key cards.

The video should explain enough.



You also can refer to this Security Access Using RFID Reader. (You also can refer this if you don't have the library for RFID)


1 way channel relay Arduino UNO R3 door lock Intermediate lock project RC522 Relay RFID

Monday, August 08, 2016

Security Access Using RFID Reader

This tutorial will illustrate the working of an RFID reader.

What is an RFID reader?


RFID tagging is an ID system that uses small radio frequency identification devices for identification and tracking purposes. An RFID tagging system includes the tag itself, a read/write device, and a host system application for data collection, processing, and transmission.

In simple words an RFID uses electromagnetic fields to transfer data over short distances. You can use an RFID system to open a door. For example, only the person with the right information on his card is allowed to enter.



Step 1: What You Need?

1 x Arduino UNO
1 x USB Type-B Cable 

1 x RFID RC522 Card Reader Detector Module Kit

Female-to-Male Jumper Wires
1 x Computer with Arduino IDE installed

Optional
Arduino Compatible UNO Ultimate Starter Kit / Learning Kit
USB To Power Jack Cable



Don't have components? Don't worry. Just click the component's name. 


Step 2: Build Your Circuit.



PinWiring to Arduino Uno


SDA------------------------Digital 10

SCK------------------------Digital 13

MOSI----------------------Digital 11

MISO----------------------Digital 12

IRQ------------------------unconnected

GND-----------------------GND

RST------------------------Digital 9

3.3V------------------------3.3V (DO NOT CONNECT TO 5V)




Step 3: Upload The Code.

After having the circuit ready, go to File > Examples > MFRC522 > DumpInfo and upload the code. 

In case you don't have, go to Sketch > Include Library > Manage Libraries.. 
Then, search MFRC 522 and click install.



/*
 * --------------------------------------------------------------------------------------------------------------------
 * Example sketch/program showing how to read data from a PICC to serial.
 * --------------------------------------------------------------------------------------------------------------------
 * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid
 *
 * Example sketch/program showing how to read data from a PICC (that is: a RFID Tag or Card) using a MFRC522 based RFID
 * Reader on the Arduino SPI interface.
 *
 * When the Arduino and the MFRC522 module are connected (see the pin layout below), load this sketch into Arduino IDE
 * then verify/compile and upload it. To see the output: use Tools, Serial Monitor of the IDE (hit Ctrl+Shft+M). When
 * you present a PICC (that is: a RFID Tag or Card) at reading distance of the MFRC522 Reader/PCD, the serial output
 * will show the ID/UID, type and any data blocks it can read. Note: you may see "Timeout in communication" messages
 * when removing the PICC from reading distance too early.
 *
 * If your reader supports it, this sketch/program will read all the PICCs presented (that is: multiple tag reading).
 * So if you stack two or more PICCs on top of each other and present them to the reader, it will first output all
 * details of the first and then the next PICC. Note that this may take some time as all data blocks are dumped, so
 * keep the PICCs at reading distance until complete.
 *
 * @license Released into the public domain.
 *
 * Typical pin layout used:
 * -----------------------------------------------------------------------------------------
 *             MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino
 *             Reader/PCD   Uno           Mega      Nano v3    Leonardo/Micro   Pro Micro
 * Signal      Pin          Pin           Pin       Pin        Pin              Pin
 * -----------------------------------------------------------------------------------------
 * RST/Reset   RST          9             5         D9         RESET/ICSP-5     RST
 * SPI SS      SDA(SS)      10            53        D10        10               10
 * SPI MOSI    MOSI         11 / ICSP-4   51        D11        ICSP-4           16
 * SPI MISO    MISO         12 / ICSP-1   50        D12        ICSP-1           14
 * SPI SCK     SCK          13 / ICSP-3   52        D13        ICSP-3           15
 */
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN         9          // Configurable, see typical pin layout above
#define SS_PIN          10         // Configurable, see typical pin layout above
MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance
void setup() {
Serial.begin(9600); // Initialize serial communications with the PC
while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522
mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader details
Serial.println(F("Scan PICC to see UID, type, and data blocks..."));
}
void loop() {
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
// Dump debug info about the card; PICC_HaltA() is automatically called
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}

Step 4: Test & Upload The Code.

Then, open the serial monitor. 


You should see something like the figure below:



Approximate the RFID card or the keychain to the reader. Let the reader and the tag closer until all the information is displayed.



This is the information that you can read from the card, including the card UID that is highlighted in yellow. The information is stored in the memory that is divided into segments and blocks as you can see in the previous picture.

You have 1024 bytes of data storage divided into 16 sectors and each sector is protected by two different keys, A and B.

Write down your UID card because you’ll need it later.

Upload the Arduino code that has been suffixed here.


/*
 * 
 * All the resources for this project: https://www.hackster.io/Aritro
 * Modified by Aritro Mukherjee
 * 
 * 
 */
 
#include <SPI.h>
#include <MFRC522.h>
 
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.
 
void setup() 
{
  Serial.begin(9600);   // Initiate a serial communication
  SPI.begin();      // Initiate  SPI bus
  mfrc522.PCD_Init();   // Initiate MFRC522
  Serial.println("Approximate your card to the reader...");
  Serial.println();

}
void loop() 
{
  // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent()) 
  {
    return;
  }
  // Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  {
    return;
  }
  //Show UID on serial monitor
  Serial.print("UID tag :");
  String content= "";
  byte letter;
  for (byte i = 0; i < mfrc522.uid.size; i++) 
  {
     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
     content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Message : ");
  content.toUpperCase();
  if (content.substring(1) == "BD 31 15 2B") //change here the UID of the card/cards that you want to give access
  {
    Serial.println("Authorized access");
    Serial.println();
    delay(3000);
  }
 
 else   {
    Serial.println(" Access denied");
    delay(3000);
  }
} 

Demonstration



Approximate the card you’ve chosen to give access and you’ll see:

If you approximate another tag with another UID, the denial message will show up:




Arduino UNO R3 Intermediate project RC522 RFID

 

  • Copyright © Arduino Tutorial ™ is a registered trademark.
    Designed by Templateism. Hosted on Blogger Templates.