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:
Then Download the Below library and Add it to your Arduino IDE by clicking Sketch->Include Library-> Add .Zip Library in file menu
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); }
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); }
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...