在arduino ide 上运行esp8266连接rfid-rc522
时间: 2023-09-24 14:05:55 浏览: 224
以下是连接RFID-RC522模块到ESP8266并在Arduino IDE上运行的步骤:
材料:
- ESP8266开发板
- RFID-RC522模块
- 杜邦线(至少需要7根)
步骤:
1. 连接RFID-RC522模块到ESP8266开发板
- 将RFID-RC522模块的SCK引脚连接到ESP8266的D5引脚
- 将RFID-RC522模块的MOSI引脚连接到ESP8266的D7引脚
- 将RFID-RC522模块的MISO引脚连接到ESP8266的D6引脚
- 将RFID-RC522模块的SS引脚连接到ESP8266的D8引脚
- 将RFID-RC522模块的RST引脚连接到ESP8266的D0引脚
- 将RFID-RC522模块的3.3V引脚连接到ESP8266的3.3V引脚
- 将RFID-RC522模块的GND引脚连接到ESP8266的GND引脚
2. 下载并安装MFRC522库
- 在Arduino IDE中打开“库管理器”(菜单栏:工具 > 管理库)
- 搜索“MFRC522”库
- 选择最新版本并点击“安装”
3. 编写代码
- 在Arduino IDE中打开一个新的空白文件
- 复制以下代码并粘贴到文件中
```c++
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN D0
#define SS_PIN D8
MFRC522 mfrc522(SS_PIN, RST_PIN); // 创建MFRC522实例
void setup() {
Serial.begin(9600); // 与电脑通信的串口初始化
SPI.begin(); // 初始化SPI总线
mfrc522.PCD_Init(); // 初始化MFRC522
}
void loop() {
// 检测是否有新的卡片出现
if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
// 输出卡片的UID
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) == "XX XX XX XX") {
Serial.println("Authorized access");
// 这里可以加入执行授权访问的代码
}
else {
Serial.println("Access denied");
}
}
}
```
- 将代码上传到ESP8266开发板
4. 测试
- 打开串口监视器(菜单栏:工具 > 串口监视器)
- 将一个RFID卡片放到RFID-RC522模块旁边
- 串口监视器将会显示卡片的UID
- 如果卡片的UID与代码中的授权UID匹配,则串口监视器将打印“Authorized access”,否则打印“Access denied”
阅读全文