Giới thiệu Module thẻ từ RFID RC522 SPI
Module thẻ từ RFID RC522 SPI sử dụng IC MFRC522 của Phillip dùng để đọc và ghi dữ liệu cho thẻ NFC tần số 13.56mhz, với mức giá rẻ thiết kế nhỏ gọn, module này là sự lựa chọn hàng đầu cho các ứng dụng về ghi đọc thẻ RFID.
RFID (Radio Frequency Identification) là công nghệ nhận dạng đối tượng bằng sóng vô tuyến. Công nghệ này cho phép nhận biết các đối tượng thông qua hệ thống thu phát sóng radio, từ đó có thể giám sát, quản lý hoặc lưu vết từng đối tượng.
Một hệ thống RFID thường bao gồm 2 thành phần chính là thẻ tag (chip RFID chứa thông tin) và đầu đọc (reader) đọc các thông tin trên chip.
Ngoài ra còn có : Lora – NRF24L01,…
Các truyền không dây: HC-12 / RF / RFID,…
Anten đi kèm: Anten 433MHz

Chức năng các chân
- 3.3V : Cấp nguồn 3.3V.
- RST : Reset chuẩn SPI.
- GND : Cấp nguồn 0V
- IRQ : Không kết nối.
- MISO : Truyền SPI
- MOSI : Truyền SPI
- SCK : Tạo xung SPI
- SS : Cho phép SPI

Thông số kỹ thuật MODULE RFID RC522
- Điện áp hoạt động : 3.3V
- Dòng điện hoạt động : 26mA
- Dòng điện chờ : 1A
- Dòng điện nghĩ : 80uA
- Công suất : 86mW
- Tần số sóng mang : 13.56MHz
- Chuẩn truyền : SPI
- Khoảng cách hoạt động : 0~60mm(mifare1 card)
- Giao tiếp : SPI
- Tốc độ truyền dữ liệu : tối đa 10Mbit/s
- Các loại card RFID hỗ trợ : mifare1 S50, mifare1 S70, mifare UltraLight, mifare Pro, mifare Desfire
- Nhiệt độ hoạt động : -10°C – 60°C
- Số chân : 8
- Loại : Module
- Kích thước : 40mm*60mm
Chương trình Test
Nguyên lý kết nối

Chương trình
Thư viện : Tải MFRC522.h Cài trực tiếp trên phần mềm Arduino IDE
#include <SPI.h> //include the SPI bus library
#include <MFRC522.h> //include the RFID reader library
#define SS_PIN 10 //slave select pin
#define RST_PIN 5 //reset pin
MFRC522 mfrc522(SS_PIN, RST_PIN); // instatiate a MFRC522 reader object.
MFRC522::MIFARE_Key key; //create a MIFARE_Key struct named 'key', which will hold the card information
//this is the block number we will write into and then read.
int block=2;
byte blockcontent[16] = {"Last-Minute-Engg"}; //an array with 16 bytes to be written into one of the 64 card blocks is defined
//byte blockcontent[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; //all zeros. This can be used to delete a block.
//This array is used for reading out a block.
byte readbackblock[18];
void setup()
{
Serial.begin(9600); // Initialize serial communications with the PC
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522 card (in case you wonder what PCD means: proximity coupling device)
Serial.println("Scan a MIFARE Classic card");
// Prepare the security key for the read and write functions.
for (byte i = 0; i < 6; i++) {
key.keyByte[i] = 0xFF; //keyByte is defined in the "MIFARE_Key" 'struct' definition in the .h file of the library
}
}
void loop()
{
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
Serial.println("card selected");
//the blockcontent array is written into the card block
writeBlock(block, blockcontent);
//read the block back
readBlock(block, readbackblock);
//uncomment below line if you want to see the entire 1k memory with the block written into it.
//mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
//print the block contents
Serial.print("read block: ");
for (int j=0 ; j<16 ; j++)
{
Serial.write (readbackblock[j]);
}
Serial.println("");
}
//Write specific block
int writeBlock(int blockNumber, byte arrayAddress[])
{
//this makes sure that we only write into data blocks. Every 4th block is a trailer block for the access/security info.
int largestModulo4Number=blockNumber/4*4;
int trailerBlock=largestModulo4Number+3;//determine trailer block for the sector
if (blockNumber > 2 && (blockNumber+1)%4 == 0){Serial.print(blockNumber);Serial.println(" is a trailer block:");return 2;}
Serial.print(blockNumber);
Serial.println(" is a data block:");
//authentication of the desired block for access
byte status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid));
if (status != MFRC522::STATUS_OK) {
Serial.print("PCD_Authenticate() failed: ");
Serial.println(mfrc522.GetStatusCodeName(status));
return 3;//return "3" as error message
}
//writing the block
status = mfrc522.MIFARE_Write(blockNumber, arrayAddress, 16);
//status = mfrc522.MIFARE_Write(9, value1Block, 16);
if (status != MFRC522::STATUS_OK) {
Serial.print("MIFARE_Write() failed: ");
Serial.println(mfrc522.GetStatusCodeName(status));
return 4;//return "4" as error message
}
Serial.println("block was written");
}
//Read specific block
int readBlock(int blockNumber, byte arrayAddress[])
{
int largestModulo4Number=blockNumber/4*4;
int trailerBlock=largestModulo4Number+3;//determine trailer block for the sector
//authentication of the desired block for access
byte status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid));
if (status != MFRC522::STATUS_OK) {
Serial.print("PCD_Authenticate() failed (read): ");
Serial.println(mfrc522.GetStatusCodeName(status));
return 3;//return "3" as error message
}
//reading a block
byte buffersize = 18;//we need to define a variable with the read buffer size, since the MIFARE_Read method below needs a pointer to the variable that contains the size...
status = mfrc522.MIFARE_Read(blockNumber, arrayAddress, &buffersize);//&buffersize is a pointer to the buffersize variable; MIFARE_Read requires a pointer instead of just a number
if (status != MFRC522::STATUS_OK) {
Serial.print("MIFARE_read() failed: ");
Serial.println(mfrc522.GetStatusCodeName(status));
return 4;//return "4" as error message
}
Serial.println("block was read");
}
Tham khảo chương trình mẫu và thông tin linh kiện chi tiết tại:

LED TRONG 5MM XANH LÁ NGẮN, LED SIÊU SÁNG - 40 CON
Dây Jack DC đầu cái 5.5x2.1mm 10A, Jack dc thông dụng
Dây Jack DC đầu cái 5.5x2.1mm 3A, Jack dc thông dụng
LED TRONG 5MM MÀU ĐỎ CHÂN DÀI, LED SIÊU SÁNG - 40 CON
Led trong 5MM màu hồng chân dài, Led siêu sáng - 40 con
ĐẾ DÂY BUS 8 XH2.54MM, ĐẦU DÂY BUS HÀN BOARD - 1 CẶP
ĐẾ DÂY BUS 6 XH2.54MM, ĐẦU DÂY BUS HÀN BOARD - 1 CẶP
ĐẾ IC 14 CHÂN DIP, SỬ DỤNG CHO IC 14 CHÂN CẮM
Dây Jack DC đầu đực 5.5x2.1mm 3A, Jack dc thông dụng
IC SỐ SN74HC11 CỔNG AND, IC CỔNG LOGIC 14 CHÂN DIP
CẦU DIODE KBP210 DIP, CHỈNH LƯU TOÀN KỲ 2A - 1000V
Pic16F887 DÁN SMD, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
TRANSISTOR NPN C1815 DIP, DÃY HOẠT ĐỘNG 50V VÀ 150mA
Hàng rào đực đơn chân thẳng 1*40P 2.54mm, Jump header đơn 40 pin
Dây bus 8pin 10cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
TIỆM CẬN KIM LOẠI LJ12A3-4-Z/AX NPN, CẢM BIẾN THƯỜNG ĐÓNG
CẦU DIODE KBPC610 DIP, CHỈNH LƯU TOÀN KỲ 6A - 1000V
PIC18F4550 DÁN SMD, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
Pic16F684 DÁN SMD, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
Dây bus 2pin 20cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
ĐỘ K THỦY TINH M8 3000MM, CẢM BIẾN ĐỘ K LÒ XO
Atmega8 DÁN SMD, VI ĐIỀU KHIỂN HỌ AVR CỦA ATMEL
IC SN74HC595 THANH GHI DỊCH, MỞ RỘNG CHÂN 8BIT DIP
Dây bus 5pin 20cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
TRANSISTOR NPN TIP142 DIP, DÃY HOẠT ĐỘNG 100V VÀ 10A
Pic16F57 DIP, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
Pic16F716 DIP, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
TRANSISTOR NPN TIP41 DIP, DÃY HOẠT ĐỘNG 100V VÀ 6A
Pic16F917 DÁN SMD, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
TRANSISTOR PNP 2N3906 DIP, HOẠT ĐỘNG 40V VÀ 200mA
Combo dây testboard rời vỏ PVC ĐỰC ĐỰC 20cm, Dây cắm test board - 24 sợi
Pic16F688 DIP, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
TRANSISTOR NPN C2383 DIP, DÃY HOẠT ĐỘNG 160V VÀ 1A
Biến trở vuông 3362P 500R 501, Chiếc áp vuông 500R
Điện trở 6R8 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
Pic12F675 DÁN SMD, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
Trụ đồng lục giác M3*5+6mm Đực cái, Trụ đồng lục giác cao 5mm
Pic12F629 DIP, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
Bộ chuyển đổi Pt100 4-20mA 0-250ºC, Nhiệt độ 0-250 độ C - Loại tốt
IC LM317 ỔN ÁP, NGÕ RA ĐIỆN ÁP DƯƠNG 1.25V - 37V
Điện trở 1R5 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
Cút nối dây điện nhanh FL-218, Cút nối dây đa năng mở rộng
Màn hình LCD2004 I2C Xanh lá, Màn hình hiển thị Text
Điện trở 1R 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
Bộ chuyển đổi Pt100 4-20mA 0-500ºC, Nhiệt độ 0-500 độ C - Loại thường
Pic12F683, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
Màn hình LCD1602 I2C Xanh dương, Màn hình hiển thị Text
IC SỐ SN74HC138 3 SANG 8, IC CỔNG LOGIC MỞ RỘNG DIP
Module nguồn giảm áp 3V3 5V 12V, Chuyển đổi điện áp ngõ ra
Ốc đầu bằng bake M3-20mm, Đai ốc M3 cao 20mm - 10pcs
Nút nhấn nhả PBS-33B màu đen 12mm, Nút nhấn gắn hộp 12mm
Pic16F84 DÁN SMD, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
Quạt tản nhiệt 24VDC 70x70x25mm, Quạt mini 24V
Màn hình LCD2004 Xanh lá, Màn hình hiển thị Text
MODULE SẠC 4 CELL 18650 20A, MẠCH LITHIUM 14.8V - 16.8V
TRANSISTOR NPN TIP112 DIP, DÃY HOẠT ĐỘNG 100V VÀ 2A
Vi điều khiển Pic16F877A DIP, Họ PIC của Microchip
ĐỘNG CƠ SERVO SG90, ĐỘNG CƠ QUAY GÓC 0 - 180 ĐỘ
ĐIỆN TRỞ 8K2 5W, ĐIỆN TRỞ CÔNG SUẤT LOẠI SỨ
ĐIỆN TRỞ 3K3 5W, ĐIỆN TRỞ CÔNG SUẤT LOẠI SỨ
Dây bus 7pin 50cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
HỒNG NGOẠI, CẢM BIẾN VẬT CẢN V1
MODULE CẢM BIẾN DHT11, ĐO NHIỆT ĐỘ VÀ ĐỘ ẨM
Khớp nối cứng D14-L25 5x8mm, Khớp nối trục cứng
Pic12F629 DÁN SMD, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
IC SỐ SN74HC238 3 SANG 8, IC CỔNG LOGIC MỞ RỘNG DIP
Dây bus 2pin 10cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
Module giảm áp XL4005 ADJ 5A, Module ổn áp DC-DC giảm áp 5A
Dây bus 4pin 20cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
IC SỐ SN4HC245 IC ĐỆM, IC 3 TRẠNG THÁI 8BIT DIP
Điện trở 15R 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
Module giảm áp XL4015 3 led 2 nút, Ổn áp DC-DC giảm áp 5A
PIC18F4520 DIP, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
ĐỘNG CƠ SERVO MG90 KIM LOẠI, ĐỘNG CƠ GÓC 0 - 180 ĐỘ
CẢM BIẾN BME/BMP280, ÁP SUẤT KHÔNG KHÍ VÀ NHIỆT ĐỘ
CẦU DIODE KBPC810 DIP, CHỈNH LƯU TOÀN KỲ 8A - 1000V
CẦU DIODE KBPC1010 DIP, CHỈNH LƯU TOÀN KỲ 10A - 1000V
MODULE CẢM BIẾN DHT22 TỐT, ĐO NHIỆT ĐỘ VÀ ĐỘ ẨM
Bộ chuyển đổi Pt100 0-10V 0º-300ºC, Nhiệt độ 0-300 độ C - Loại thường
CẦU DIODE KBP610 DIP, CHỈNH LƯU TOÀN KỲ 6A - 1000V
Điện trở 27R 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
Dây bus 3pin 10cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
Bộ chuyển đổi Pt100 4-20mA -50-250ºC, Nhiệt độ -50-250 độ C - Loại thường
IC SN74HC165 THANH GHI DỊCH, IC MỞ RỘNG NGÕ VÀO DIP
TIỆM CẬN KIM LOẠI PL-05N 3 DÂY NPN, CẢM BIẾN THƯỜNG MỞ
Module thẻ từ RFID RC522 SPI, Mạch thẻ từ NFC 13.56MHz
Điện trở 1R2 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
TRANSISTOR PNP TIP127 DIP, HOẠT ĐỘNG -100V VÀ -5A
Pic16F1705 SMD, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
IC SỐ SN74HC02 CỔNG NOR, IC CỔNG LOGIC 2-INPUT DIP
Điện trở 4R7 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
LED 7ĐOẠN 1SỐ ANODE 0.56IN ĐỎ, LED 7 SEG 12.5x19x8MM
Vitme và đai ốc T8 250mm, Trục in 3D vitme T8 25cm
TỤ ĐIỆN PHÂN CỰC 6.8UF/400V , TỤ HÓA TẦN SỐ CAO
ĐIỆN TRỞ 0.5R 10W, ĐIỆN TRỞ CÔNG SUẤT SỨ
Trụ đồng lục giác M3*40+6mm Đực cái, Trụ đồng lục giác cao 40mm
Dây bus 3pin 40cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
Điện trở 470R 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
PIC18F2550 DÁN SMD, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
Dây bus 7pin 30cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
CẢM BIẾN LM35, NHIỆT ĐỘ MÔI TRƯỜNG (LOẠI TỐT)
Pic16F877A DÁN SMD, VI ĐIỀU KHIỂN HỌ PIC CỦA MICROCHIP
Động cơ DC Encoder JGA25-370 12V 620rpm, Động cơ giảm tốc
Module tăng áp DC 150W 10A, Mạch tăng áp 12-35VDC
ANTEN 433Mhz 8dBi KIM TRONG 16.5CM, ANTEN LORA 433MHz
TRANSISTOR PNP A1015 DIP, HOẠT ĐỘNG -50V VÀ -150mA
QUANG TRỞ LỚN CDS 12MM 12528, CẢM BIẾN ÁNH SÁNG
ANTEN 6dBi 4G/3G/GSM 19.5CM KIM TRONG, ANTEN 4G
Ốc đầu bằng bake M3-10mm, Đai ốc M3 cao 10mm - 10pcs
TỤ ĐIỆN PHÂN CỰC 1UF/400V , TỤ HÓA TẦN SỐ CAO
Biến trở tinh chỉnh 3296W 2K 202, Biến trở vi chỉnh 2K
Trụ đồng lục giác M3*5mm Cái cái, Trụ đồng lục giác cao 5mm
Module giảm áp LM2596 3led 7 đoạn, Ổn áp DC-DC giảm áp 5A 















Đánh giá
Chưa có đánh giá nào.