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

RFID 门禁控制电脑开关机:Arduino 继电器项目

组件与物料

组件数量备注
Arduino UNO1
MFRC522 RFID 模块1
单路 5V 继电器模块1
公母跳线12RFID 7根、继电器 3根、主板开关 2根

项目简介

为电脑增加物理门禁:刷 RFID 卡开机,刷钥匙扣长按 5 秒强制关机。复用经典 RFID 门锁代码,继电器并联在主板电源开关两端,模拟按键动作。

硬件连接

获取卡片 UID

先运行 MFRC522 库的 DumpInfo 示例,记录卡片 UID (如 e199312d、fbecb673),填入代码 ok_rfid_1、ok_rfid_2。

代码

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc522(SS_PIN, RST_PIN);

String read_rfid;
String ok_rfid_1 = "e199312d"; // 主卡:开机
String ok_rfid_2 = "fbecb673"; // 钥匙扣:强制关机(长按5秒)
int lock = 7;

void setup() {
  Serial.begin(9600);
  while (!Serial);
  SPI.begin();
  mfrc522.PCD_Init();
  pinMode(lock, OUTPUT);
  digitalWrite(lock, LOW);
}

void dump_byte_array(byte *buffer, byte bufferSize) {
  read_rfid = "";
  for (byte i = 0; i < bufferSize; i++) {
    read_rfid += String(buffer[i], HEX);
  }
}

void open_lock() { // 模拟短按开机
  digitalWrite(lock, HIGH);
  delay(500);
  digitalWrite(lock, LOW);
}

void close_lock2() { // 模拟长按 5 秒关机
  digitalWrite(lock, HIGH);
  delay(5000);
  digitalWrite(lock, LOW);
}

void loop() {
  if (!mfrc522.PICC_IsNewCardPresent()) return;
  if (!mfrc522.PICC_ReadCardSerial()) return;

  dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
  Serial.println(read_rfid);

  if (read_rfid == ok_rfid_1) open_lock();
  if (read_rfid == ok_rfid_2) close_lock2();
}

库下载

MFRC522 Library: GitHub

原理图

RFID 门禁控制电脑开关机:Arduino 继电器项目

制造工艺

  1. 银行金库内幕:历史、设计与安全未来
  2. 旋转门:设计、历史与节能效益
  3. 运河与船闸:美国水路运输的工程、历史与未来
  4. 现代弹子锁的演变与制造
  5. 条码扫描器:技术原理、设计演进与未来趋势
  6. 组合锁:设计原理、制造工艺与历史演变
  7. 树莓派蓝牙近感智能门锁:手机离开自动上锁
  8. Arduino RFID 门锁系统 – RC522 模块实现安全门禁
  9. 基于 Arduino 与 ESP8266 的 WiFi 智能门锁:手机扫码解锁
  10. 设计4位组合锁:基于XOR与NOR门
  11. 门框开关(Jamb Switch)原理、应用场景与更换实操指南
  12. 基于 Tcl 驱动的 VHDL 密码锁模块测试平台