RFID(Radio Frequency Identification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。
射频的话,一般是微波,1-100GHz,适用于短距离识别通信。
RFID读写器也分移动式的和固定式的,目前RFID技术应用很广,如:图书馆,门禁系统,食品安全溯源等。
本篇文章主要分享通过arduino+Rc522读取小区门禁卡内容。
1、电路连接。
首先我们看下图片,将arduino开发板与Rc522进行连接。
详细接线表。
Arduino引脚 | RC522引脚 | |
9 | <—> | RST |
10 | <—> | SDA |
11 | <—> | MOSI |
12 | <—> | MISO |
13 | <—> | SCK |
VCC+3.3 | <—> | VCC |
GND | <—> | GND |
2、程序部分:
注意首先需要引入RC522库文件,具体引入方式这里不多讨论。
- #include <SPI.h>
- #include <MFRC522.h>
- #define RST_PIN 9
- #define SS_PIN 10
- MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
- void setup() {
- Serial.begin(9600);
- while (!Serial);
- SPI.begin();
- mfrc522.PCD_Init();
- mfrc522.PCD_DumpVersionToSerial();
- Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks..."));
- }
- void loop() {
- // Look for new cards
- if ( ! mfrc522.PICC_IsNewCardPresent()) {
- return;
- }
- // Select one of the cards
- if ( ! mfrc522.PICC_ReadCardSerial()) {
- return;
- }
- // Dump debug info about the card; PICC_HaltA() is automatically called
- mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
- }
3、测试。
程序编写完成后,我们将其进行编译和烧写,找一个普通的小区门禁卡放上去,在串口监视器那里就可以看到门禁卡中的数据了。
今天的分享就这么多,敬请关注菠菜园其他内容。