esp32 rc522 arduino代码
时间: 2023-07-31 22:05:04 浏览: 240
以下是一个基本的 ESP32 和 RC522 模块的 Arduino 代码示例:
```cpp
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 5
#define RST_PIN 21
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
Serial.begin(115200);
SPI.begin();
mfrc522.PCD_Init();
Serial.println("Ready to read RFID tags...");
}
void loop() {
// 检测是否有卡片靠近
if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
// 获取卡片 UID
String uid = "";
for (byte i = 0; i < mfrc522.uid.size; i++) {
uid += String(mfrc522.uid.uidByte[i] < 0x10 ? "0" : "");
uid += String(mfrc522.uid.uidByte[i], HEX);
}
Serial.print("UID Tag: ");
Serial.println(uid);
mfrc522.PICC_HaltA();
}
}
```
这段代码首先包含了 MFRC522 库和 SPI 库。然后定义了 SS_PIN 和 RST_PIN 分别对应 RC522 模块的 SS(Slave Select)和 RST(Reset)引脚。
在 `setup()` 函数中,初始化串口通信和 SPI 总线,然后初始化 MFRC522 模块,并打印提示信息。
在 `loop()` 函数中,通过 `mfrc522.PICC_IsNewCardPresent()` 和 `mfrc522.PICC_ReadCardSerial()` 检测是否有新的卡片靠近,并读取其 UID。UID 是一个字节数组,将其转换为字符串形式并打印出来。最后通过 `mfrc522.PICC_HaltA()` 停止卡片的通信。
你可以根据自己的需求进行代码的扩展和修改。记得在 Arduino IDE 中选择正确的开发板和串口,然后上传代码到 ESP32 开发板上。
阅读全文