2.2.10 MFRC522 RFID Module

Introduction

Radio Frequency Identification (RFID) refers to technologies that use wireless communication between an object (or tag) and interrogating device (or reader) to automatically track and identify such objects.

Some of the most common applications for this technology include retail supply chains, military supply chains, automated payment methods, baggage tracking and management, document tracking and pharmaceutical management, to name a few.

In this project, we will use RFID for reading and writing.

Required Components

In this project, we need the following components.

../_images/list_2.2.7.png

It’s definitely convenient to buy a whole kit, here’s the link:

Name

ITEMS IN THIS KIT

LINK

Raphael Kit

337

Raphael Kit

You can also buy them separately from the links below.

COMPONENT INTRODUCTION

PURCHASE LINK

GPIO Extension Board

BUY

Breadboard

BUY

Jumper Wires

BUY

MFRC522 Module

BUY

Schematic Diagram

../_images/image331.png

Experimental Procedures

Step 1: Build the circuit.

../_images/image232.png

Step 2: Set up SPI (refer to SPI Configuration for more details. If you have set SPI, skip this step.)

Step 3: Go to the folder of the code.

cd ~/raphael-kit/c/2.2.10/

Step 4: Compile the code.

make read
make write

Step 5: After running ./write, enter the information, such as the name of the person, and then put the tag or card on the MRC522 module and wait for the writing to be completed.

sudo ./write

Step 6: Now run ./read to read the information of the tag or card you have written.

sudo ./read

Note

If it does not work after running, or there is an error prompt: "wiringPi.h: No such file or directory", please refer to Install and Check the WiringPi.

Code Explanation

InitRc522();

This function is used to initialize the RFID RC522 module.

uint8_t read_card_data();

This function is used to read the data of the card, and if the read is successful, it will return “1”.

uint8_t write_card_data(uint8_t *data);

This function is used to write the data of card and returns “1” if the write is successful. *data is the information that will be written to the card.

Phenomenon Picture

../_images/image233.jpeg