这篇文章主要讲解的是关于如何使用 MFRC522 RFID 卡,或者说阅读器的的简单示例。我将快速概述规格并演示一个使用 Arduino 的项目示例。
目录
描述
RFID是射频识别的意思。RFID 使用电磁场在短距离内传输数据。RFID 可用于识别人员、进行交易等……
您可以使用 RFID 系统打开门。例如,只有在他的卡上有正确信息的人才能进入。RFID 系统使用:
- 附加到要识别的对象上的标签,在这个例子中,我们有一个钥匙链和一张电磁卡。每个标签都有自己的标识 (UID)。
- 双向无线电收发器,即阅读器,可向标签发送信号并读取其响应。
规格
- 输入电压:3.3V
- 价格:可以在某宝看看,不贵
- 频率:13.56MHz
库下载
这是这个项目所需的库:
- 在此处下载 由 miguelbalboa 创建的RFID 库:
- 解压 RFID 库
- 在您的 Arduino IDE 中安装 RFID 库
- 重启你的 Arduino IDE
引脚接线
引脚 | 连接到 Arduino Uno |
SDA | 数字10 |
SCK | 数字13 |
莫西 | 数字11 |
味噌 | 数字12 |
中断请求 | 未连接 |
GND | GND |
RST | 数字9 |
3.3V | 3.3V |
注意:您必须将此设备供电至 3.3V!
电路
从 RFID 标签读取数据
电路准备好后,转到文件 > 示例 > MFRC522 > DumpInfo 并上传代码。此代码将在您的 Arduino IDE 中可用(安装 RFID 库后)。
然后,打开串行监视器。您应该会看到如下图所示的内容:
将 RFID 卡或钥匙链靠近读卡器。让阅读器和标签靠近,直到显示所有信息。
这是您可以从卡中读取的信息,包括以黄色突出显示的卡 UID。信息存储在内存中,内存分为段和块,如上图所示。
您有 1024 字节的数据存储,分为 16 个扇区,每个扇区由两个不同的密钥 A 和 B 保护。
记下您的 UID 卡,因为您稍后会用到它。
上传以下代码:
/*
*
* Created by FILIPEFLOP
*
*/
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
void setup()
{
Serial.begin(9600); // Initiate a serial communication
SPI.begin(); // Initiate SPI bus
mfrc522.PCD_Init(); // Initiate MFRC522
Serial.println("Approximate your card to the reader...");
Serial.println();
}
void loop()
{
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
//Show UID on serial monitor
Serial.print("UID tag :");
String content= "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
Serial.print("Message : ");
content.toUpperCase();
if (content.substring(1) == "BD 31 15 2B") //change here the UID of the card/cards that you want to give access
{
Serial.println("Authorized access");
Serial.println();
delay(3000);
}
else {
Serial.println(" Access denied");
delay(3000);
}
}
在上面的一段代码中,您需要更改if (content.substring(1) == “REPLACE WITH YOUR UID”)并键入您之前编写的 UID 卡。
示范
现在,将代码上传到您的 Arduino 并打开串行监视器。
近似于您选择授予访问权限的卡,您将看到:
如果您使用另一个 UID 来近似另一个标签,则会显示拒绝消息:
写的比较潦草,希望本教程对大家有用。
赞!!!
赞!!!
赞
zan!
赞!!!
赞!!!
又来研究了
多谢 学习了
赞!!!
ZAIKAN
赞
新手
好
赞!!!