Component: RFID (MFRC522) (Wireless)
Author | Ben Rowland and STibor |
Version | 2.0 (Release) |
Category | Wireless |
Contents
RFID (MFRC522) component
Functions designed to work with the MFRC522 contactless reader IC. The MFRC522 supports all variants of the MIFARE Mini, MIFARE 1K, MIFARE 4K, MIFARE Ultralight, MIFARE DESFire EV1 and MIFARE Plus RF identification protocols.
Examples
Here is a basic example program that shows various ways the MFRC522 RFID reader can be used.
A switch is connected to pin A0, when the switch is active the program will read the ID of the RFID tag and display it on the LCD.
When the switch is not active the program will check the ID of a RFID tag with a pre-programmed ID, if the ID bytes match then the LCD will display a Welcome message and the LED connected to pin A1 will light for two seconds. This pin could then be used to drive a solenoid and open a security door. MFRC522 Example
Downloadable macro reference
WriteBlock
Writes the contents of the 16-byte data buffer to the RFID block.
The data comes from the DataBuffer which can be set using the
WriteDataBuffer macro.
Returns 0 for a succesful write.
Parameters
- BYTE BlockAddress
Return value
ReadDataBuffer
Reads a byte from the receive data buffer.
ID locations are 0-4
Data locations are 0-15
Parameters
- BYTE Index
- Locations 0-15
Return value
AntennaOff
Switches off the RFID antenna to save power.
The antenna must be switched on again before communicating with an RFID tag.
Parameters
- This macro has no parameters
Return value
- This call does not return a value
ReadBlock
Reads the contents of the 16-byte data buffer block on the RFID.
The receive data is stored in the data buffer and read back using the ReadDataBuffer macro.
Returns 0 for a succesful read.
Parameters
- BYTE BlockAddress
Return value
SelectTag
No additional information
Parameters
- BYTE Ser0
- BYTE Ser1
- BYTE Ser2
- BYTE Ser3
- BYTE Ser4
Return value
WriteDataBuffer
Writes a value to the 16-byte data buffer
ID locations are 0-4
Data locations are 0-15
Parameters
- BYTE Index
- 0-15
- BYTE Data
Return value
- This call does not return a value
Auth
This command manages MIFARE authentication to enable a secure communication to any MIFARE Mini, MIFARE 1K and MIFARE 4K card.
All keys are set to FFFFFFFFFFFFh at chip delivery.
The authentication is described in the MFRC522 datasheet section 10.3.1.9.
Parameters
- BYTE AuthMode
- PICC_CMD_MF_AUTH_KEY_A or PICC_CMD_MF_AUTH_KEY_B
- BYTE BlockAddress
- The block number
- BYTE Key0
- Crypteo key to use - Byte 0
- BYTE Key1
- Crypteo key to use - Byte 1
- BYTE Key2
- Crypteo key to use - Byte 2
- BYTE Key3
- Crypteo key to use - Byte 3
- BYTE Key4
- Crypteo key to use - Byte 4
- BYTE Key5
- Crypteo key to use - Byte 5
- BYTE Ser0
- UID Byte 0
- BYTE Ser1
- UID Byte 1
- BYTE Ser2
- UID Byte 2
- BYTE Ser3
- UID Byte 3
Return value
AuthOff
Resets the authentication allowing a new communications tasks to work.
Parameters
- This macro has no parameters
Return value
- This call does not return a value
AntennaOn
Switches on the RFID antenna.
Called as part of the Initialise macro.
Parameters
- This macro has no parameters
Return value
- This call does not return a value
Compare
Compares the read address from the Check macro with a fixed 5 bytes address.
Returns 0 if the addresses match.
Parameters
- BYTE Add0
- BYTE Add1
- BYTE Add2
- BYTE Add3
- BYTE Add4
Return value
Initialise
Initialises the RFID module ready for interaction with RFID tags.
Parameters
- This macro has no parameters
Return value
- This call does not return a value
Check
Checks to see if a RFID tag is present.
Returns 255 if RFID tag responds to the request.
Returns 0 for no response.
Parameters
- This macro has no parameters
Return value
Simulation macro reference
This component does not contain any simulation macros
Property reference
Channel
This property is of type Fixed list of ints and can be referenced with the variable name CHANNEL.
No additional information
MISO / SDI
This property is of type Single digital pin and can be referenced with the variable name MISO.
SPI Data In Pin
MOSI / SDO
This property is of type Single digital pin and can be referenced with the variable name MOSI.
SPI Data Out Pin
SCK
This property is of type Single digital pin and can be referenced with the variable name CLK.
SPI Serial Clock Pin
SS
This property is of type Single digital pin and can be referenced with the variable name CS.
SPI Chip Select Pin
Reset
This property is of type Single digital pin and can be referenced with the variable name reset.
MFRC522 Reset Pin