Mini RFID Unit (MFRC522) : Product Features
Mini RFID Unit (MFRC522) : Product Features
SKU: U031
RFID has an RFID chip MFRC522 inside.
The MFRC522 operates in the 13.56MHz frequency band and uses the modulation and
demodulation principle to interact with the proximity RF card. This unit can realize the function of the
card reading and writing device, to identify and record multiple card information, to encode and
authority a RF card.
It is able tp establish applications such as access control system, punching system, warehouse
goods storage and community vehicle access registration.
Connect this Unit to GROVE PORTA on M5Core, IIC adress is 0x28.
Product Features
Operating frequency: 13.56 MHz
I2C data rate: Fast mode: up to 400 Kbit/s; High-speed mode: up to 3400 Kbit/s
RC522 Transceiver Buffer: 64 bytes
Supported protocol: ISO14443A, MIFARE and NTAG
Operate temperature: -20℃-85℃
How long data be saved for: > 10 years
Reading and writing distance: < 8 cm
Program Platform: Arduino, UIFlow(Blockly, Python)
Two Lego installation holes
Kit includes
1x RFID unit
1x GROVE Cable
Application
Smart home access control system
Vehicle management
Smart transportation
Smart bookshelf
Example
1. Arduino IDE
The code below is incomplete. To get complete code, please click here.
After programming the RFID.ino, the IC card or the mobile phone NFC, close to the unit, moves back
and forth around the unit, and the UID of the IC card or the RFID chip in the mobile phone will be
printed on the screen of the M5Core.
/*
RFID.ino
*/
#include <Wire.h>
#include "MFRC522_I2C.h"
#include <M5Stack.h>
// 0x28 is i2c address on SDA. Check your address with i2cscanner if not match.
MFRC522 mfrc522(0x28); // Create MFRC522 instance.
// initialization
M5.begin(); Serial.begin(115200); Wire.begin();
/* Init MFRC522 */
mfrc522.PCD_Init();
/* Show details of PCD ‐ MFRC522 Card Reader details */
ShowReaderDetails();
// other function
void ShowReaderDetails() {
/* Get the MFRC522 software version */
byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg);
if (v == 0x91) Serial.print(F(" = v1.0"));
else if (v == 0x92) Serial.print(F(" = v2.0"));
else Serial.print(F(" (unknown)"));
}
2. UIFlow
To get complete code, please click here.
After opening and burning this example using UIFlow, place the proximity card on the Unit surface
and the screen displays “True” and the UID number of the card.
Schematic
PinMap
M5Core ( GROVE A ) GPIO22 GPIO21 5V GND