Introduction: Interfacing RFID-RC522 With Arduino MEGA a Simple Sketch
Hai there in this tutorial i'm going to help you with interfacing RFID-RC522 with Arduino Mega 2560 to read the RFID and Display the Data on the Serial Monitor. so you can able to extend it on your own
You Need:
- Arduino Mega or Arduino Uno (I used Mega)
- RFID-RC522
- 7 male to female jumper wires
- Some ID cards (optional)
- RFID Library (Must , Link Below)
Then Download the Below library and Add it to your Arduino IDE by clicking Sketch->Include Library-> Add .Zip Library in file menu
Step 1: Physical Connection Detail
simply connect the arduino with RFID-RC522 as shown in the above image .
Warning : supply only 3.3V otherwise module will burn out
Pin Out for Uno/Nano and Mega
RC522 MODULE Uno/Nano MEGA
SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A N/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V
Step 2: Simple Code to Read and Print RFID Tags Value
Copy the Below code then upload it on your Arduino
/*
PINOUT: RC522 MODULE Uno/Nano MEGA SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A N/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V */ /* Include the standard Arduino SPI library */ #include <SPI.h> /* Include the RFID library */ #include <RFID.h>/* Define the DIO used for the SDA (SS) and RST (reset) pins. */ #define SDA_DIO 9 #define RESET_DIO 8 /* Create an instance of the RFID library */ RFID RC522(SDA_DIO, RESET_DIO);
void setup() { Serial.begin(9600); /* Enable the SPI interface */ SPI.begin(); /* Initialise the RFID reader */ RC522.init(); }
void loop() { /* Has a card been detected? */ if (RC522.isCard()) { /* If so then get its serial number */ RC522.readCardSerial(); Serial.println("Card detected:"); for(int i=0;i<5;i++) { Serial.print(RC522.serNum[i],DEC); //Serial.print(RC522.serNum[i],HEX); //to print card detail in Hexa Decimal format } Serial.println(); Serial.println(); } delay(1000); }
Step 3: Simple Code for Super Market Application Using RFID
Copy the Below code then upload it on your Arduino. in the below the total purchase value will incremented when reading the card first time then decremented when reading the same for second time...
/*
PINOUT:
RC522 MODULE Uno/Nano MEGA SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A N/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V
*
* Include the standard Arduino SPI library */ #include /* Include the RFID library */ #include
/* Define the DIO used for the SDA (SS) and RST (reset) pins. */ #define SDA_DIO 9 #define RESET_DIO 8 int productname[5]={228,18,37,75,24}; int product[5]={100,120,230,125,70}; int token[5]={0,0,0,0,0}; int Total; /* Create an instance of the RFID library */ RFID RC522(SDA_DIO, RESET_DIO);
void setup() { Serial.begin(9600); /* Enable the SPI interface */ SPI.begin(); /* Initialise the RFID reader */ RC522.init(); }
void loop() { /* Temporary loop counter */ byte i=0; byte j=0; byte k=0; int ID;
/* Has a card been detected? */ if (RC522.isCard()) { /* If so then get its serial number */ RC522.readCardSerial(); Serial.print(RC522.serNum[i],DEC);
//Serial.println("Card detected:");
/* Output the serial number to the UART */ ID=RC522.serNum[0]; //Serial.print(ID); Serial.println(" "); for(i=0;i<5;i++) { if(productname[i]==ID) { Serial.println("Total Purchase"); if(token[i]==0) { Total=Total+product[i]; token[i]=1; } else { Total=Total-product[i]; token[i]=0; } Serial.println(Total); break; } else if(i==5) { Serial.println("Access Denied"); break; } } Serial.println(); Serial.println(); } delay(1000); }
Step 4: Conclusion.,
I would like to thank you for reading my tutorial. I would appreciate if you found it useful and drop a like (favorite) or ask me anything as it keeps me motivated to do these instructables. feel free to ask any questions that you need to know...
Happy Coding Arduino...
8 People Made This Project!
- Romanovich0195 made it!
- Romanovich0195 made it!
- SteveS98 made it!
- EndermanČ made it!
See 4 More
81 Comments
10 days ago
Hi, I am facing difficulty to install the library. Can u please help me to install it
Reply 10 days ago
Can you tell me what error you are getting during library install?
Reply 9 days ago
No brother it is not showing in the library section. Can u please tell me the location where I can paste the library file?
Reply 9 days ago
Extract the zip file and then copy paste the extracted folder on MyDocuments->Arduino->Library folder
If its not helping ... Take screenshot and upload it here. I will take a look😁
Reply 9 days ago
Thank u brother. Now it is working.
9 months ago
Reply 5 months ago
Check the board rate...
Serial.begin(9600);
the same should be in serial monitor.
Question 7 months ago on Step 4
Hi, can you please explain how to set up multiple RFID readers, say 4, using uno, 522 rfid type. Please include if any hardware required to make all 4 rfid work together. I have set this up 1 works fine, 2 or more all stop working. Thanks
Answer 5 months ago
may be using dedicated lines for signal will work. i'm not sure about that either... let me try it for you and back to soon..
Question 2 years ago on Introduction
hi,
Can you help me how to connect 4 rfid senzors? i have arduino mega adk but when i looking for how to connect and which code i need use i didnt find it or it didnt function. (sorry for my english)
Answer 1 year ago
Actually you can't connect 4 at once on Mega as it has only two SPI on a single board. actually i'm not sure 3 or 2 SPI in Mega search for SPI on MEGA hope it helps sorry for late response
Reply 7 months ago
But i thought you can common Moso, miso, sdk rest and then have dedicated lines for signal?
Reply 5 months ago
mmmmm yep seems u are right. i may be mistaken.. let me try it out and back to you.... thanks for the suggession bro
1 year ago
CIAO Johnson, il progetto di questa pagina è stata fatta con arduino mega, si può fare con arduino uno?
Reply 1 year ago
yes, any arduino board with SPI bus will work just you need to find out which pin to connect.
Question 1 year ago
Hello I am have issus reading any rfid tags I have the modeul RC522 and ELEGOO MEGA2560 R3. Can anyone plese help me ? Thank You
Answer 1 year ago
yaeh what kind of help you need on that... seems the code will run on your kit perfectly...
Reply 1 year ago
Thank you for replying I got it figured out. My rc522 was a broken module
Reply 1 year ago
ha ha hope you will find good module soon
Reply 1 year ago
thank you