RFID 门禁 + 非接触测温:员工通道防疫一体机
零部件与物料
| 零部件 | 数量 | 备注 |
|---|---|---|
| Arduino MKR1000 (WiFi) | 1 | 主控+联网 |
| RC522 RFID 读卡模块 | 1 | 13.56MHz,SPI 接口 |
| OLED 0.96" 128×32 (SSD1306) | 1 | I2C 显示状态 |
| MLX90614 红外测温模块 | 1 | 非接触测体温,I2C |
软件与在线服务
- Arduino IDE
- Fritzing(原理图绘制)
项目简介
针对疫情防控场景,设计一套「刷卡+测温」双验证门禁系统:员工刷 RFID 卡 → 非接触测量额温 → 体温 <37.5°C 且卡号在白名单 → 继电器驱动电控锁开门 → 记录上传云端数据库;体温异常或卡号无效 → 拒绝开门并报警。全流程数据实时同步至公司内网服务器,管理端可远程查看考勤与体温记录。
分步实施指南
步骤 1:Arduino IDE 配置 MKR1000 支持
工具 → 开发板 → 开发板管理器 → 搜索「Arduino SAMD」安装 → 选中「Arduino MKR1000」
步骤 2:MLX90614 红外测温模块接入
I2C 接线:VCC→3.3V、GND→GND、SDA→SDA、SCL→SCL。使用 Adafruit_MLX90614 库读取环境温度与物体温度。
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600);
mlx.begin();
}
void loop() {
Serial.print("环境="); Serial.print(mlx.readAmbientTempC()); Serial.print("°C ");
Serial.print("物体="); Serial.print(mlx.readObjectTempC()); Serial.println("°C");
delay(3000);
}
步骤 3:OLED 显示屏接入
同为 I2C 设备,共用总线。使用 Adafruit_SSD1306 + Adafruit_GFX 库显示测温进度与结果。
步骤 4:RC522 RFID 读卡器接入 (SPI)
接线:SDA→D7、SCK→D6、MOSI→D5、MISO→D4、RST→D3、GND→GND、3.3V→3.3V。使用 MFRC522 库读取卡片 UID(4 字节十六进制)。
步骤 5:MKR1000 接入 WiFi
安装 WiFi101 库,配置 SSID 与密码,串口监视器观察连接过程。
步骤 6:云端数据库与 PHP 接口
MySQL 建两表:
users(uid, name, ...)员工白名单temp_log(uid, temp, datetime)测温记录
两个 PHP 脚本:
get_uid.php:校验 UID 是否在白名单,返回#yes;姓名或#noget_temp.php:接收 UID+体温写入temp_log
步骤 7:Arduino 端 HTTP 客户端上传
使用 WiFiClient 发起 HTTP GET 请求,解析服务器返回的 #yes/#no 标记决定后续流程。
步骤 8:继电器控制电控锁
继电器模块接 D5,体温正常 → digitalWrite(RELAY, HIGH) 吸合开锁,异常 → 保持断开。
步骤 9:远程查看页面
view_temp.php 以表格展示当日所有测温记录,超温行红色高亮。
完整状态机逻辑
状态 0: 等待刷卡 → 显示 "Wait RFID..."
状态 1: 检测到卡 → 读取 UID → 显示 UID → 发送 UID 至服务器校验
状态 2: 服务器返回 #yes → 进入测温等待 (10秒超时)
状态 3: 读取 MLX90614 物体温度 → 34-42°C 视为有效 → 发送体温至服务器记录
状态 4: 判断体温 <37.5°C → OPEN (继电器吸合、绿灯、显示 OPEN)
≥37.5°C → CLOSE (红灯、显示 CLOSE + Temp high!!!)
状态 5: 延时 3 秒 → 回到状态 0
完整代码
主程序 mlx90614_07.ino 整合以上所有模块、状态机、WiFi 连接、HTTP 通信、显示与继电器控制,约 300 行,已上传附件。
自定义零件与外壳
- Fritzing 原理图文件:
24_pAT1JQdrD1.fzz等 4 个版本 - 激光切割外壳图纸:
attendanceboxlasercut.dwg
原理图
见 Fritzing 文件,包含完整接线、PCB 布局参考。
制造工艺
- 工地温控租赁全攻略:从设备选型到 ROI 最大化
- 避孕药:历史、获益、风险与生产
- 温度计:从伽利略温度计到现代数字传感器的演进
- 集成二维码、RFID与体温验证的门禁控制系统
- 温控风扇DIY:媒体柜散热的继电器驱动方案
- 树莓派专业温度监测:基于 DS18B20 传感器的完整指南
- 树莓派精准监测机柜温度:DS18B20 多点部署实战
- 基于 AT89S52 单片机与 LM35 传感器的温控系统设计
- 树莓派 + MCP9808 + InfluxDB + Grafana:家庭温度监测系统
- 全自动泳池注水与监控系统:树莓派+低功耗Arduino传感器网络
- 工业控制柜散热常见误区:避免过热导致设备故障
- 压铸温度控制精要:浇注与模温双参数协同优化铸件质量