亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

打造安全的 Arduino RFID 门锁——分步指南

组件与物料

整套成本约 15 美元。

软件与在线服务

项目简介

本教程将带你使用 RC522 RFID 读取器与 Arduino UNO,结合 OLED 显示屏,构建一个简易的门禁系统。系统读取 RFID 标签的唯一标识符(UID),并与预存的合法 UID 比对:若匹配则在屏幕显示“Unlocked”(解锁),否则不显示解锁信息。

步骤 1:准备所有零件

所需零件清单如上。RFID 读取器与两张卡/钥匙扣标签约 4 美元;OLED 屏幕约 3 美元;Arduino UNO 约 8 美元。

步骤 2:了解 RC522 RFID 读取器

RC522 工作频率 13.56 MHz,通过天线线圈向标签感应供电,读取距离可达 20 mm。每张标签拥有唯一 UID(本项目仅使用 UID),亦可存储 1 KB 数据(留待后续教程)。

步骤 3:OLED 显示屏

采用 SSD1306 驱动的 0.96 英寸 OLED,分辨率 128×64,支持黄/蓝双色分区显示。功耗仅 10–20 mA,通过 I2C 仅需两根信号线(SCL、SDA)加电源即可驱动,极适合初学者。推荐使用 Adafruit_SSD1306 与 Adafruit_GFX 库。

步骤 4:硬件接线

⚠️ 关键提示:RC522 必须接 3.3V,接 5V 会烧毁模块。 OLED 亦可工作在 3.3V,因此两模块 VCC 共接面包板正极轨,再接 Arduino 3.3V;GND 共接负极轨再接 Arduino GND。

OLED(I2C)接线

RC522(SPI)接线

接线完成上电,将标签靠近读取器即可在 OLED 上看到 UID。

步骤 5:代码实现

需安装三个库:

  1. MFRC522(库管理器搜索安装)
  2. Adafruit_SSD1306
  3. Adafruit_GFX

安装 Adafruit_SSD1306 后,需修改库文件 Adafruit_SSD1306.h:注释第 70 行,取消注释第 69 行(定义 128×64 分辨率)。

核心代码片段

// 预存合法 UID(示例)
int code[] = {69, 141, 8, 136};

void setup() {
  rfid.PCD_Init();
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
}

void loop() {
  // 每 100 ms 检测一次标签
  if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) {
    // 显示 UID
    printUIDOnDisplay();
    // 比对
    bool match = compareUID(rfid.uid.uidByte, code);
    if (match) {
      Serial.println("\nI know this card!");
      printUnlockMessage(); // OLED 显示 "Unlocked"
    } else {
      Serial.println("\nUnknown Card");
    }
    rfid.PICC_HaltA();
  }
  delay(100);
}

完整代码请见项目附件 RFID.ino。你可扩展 code 数组以支持多张合法卡。

步骤 6:总结与改进方向

以极低成本即可为项目加入 RFID 识别功能,可用于门禁、考勤、互动游戏等。后续将尝试读写标签数据区,敬请期待。

制造工艺

  1. Arduino RFID 门锁系统 – RC522 模块实现安全门禁
  2. Arduino Nano 指纹传感器项目——分步教程
  3. 用 Arduino UNO 自制迷你钢琴 — 图文教程
  4. 使用 Arduino 制作便携式 RFID 门锁——分步指南
  5. RFID 门禁控制电脑开关机:Arduino 继电器项目
  6. Arduino UNO 对接 HID Prox RFID 读卡器 (Wiegand 26/35 位) 完整指南
  7. 自制网络化 RFID 读卡器:Arduino + ENC28J60 以太网 + MFRC522
  8. RFID 刷卡解锁 Windows 电脑:Arduino Micro 实现键盘模拟
  9. 掌握 Arduino 多任务编程:原型线程分步教程
  10. MPU6050 六轴 IMU 详解:Arduino 姿态解算与 3D 可视化
  11. Arduino 无刷电机控制教程:ESC 与 BLDC 电调详解
  12. Arduino入门教程01:开始你的第一个项目