当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]用Visuino实现安全的Arduino RFID门锁!本教程将展示如何连接MFRC522 RFID模块、读取RFID卡ID,并控制电磁线圈锁。当检测到有效的RFID卡时,门会自动解锁,绿色LED灯亮起作为视觉确认。再次刷卡即可重新锁定门锁。未授权的卡片将无法进入。

用Visuino实现安全的Arduino RFID门锁!本教程将展示如何连接MFRC522 RFID模块、读取RFID卡ID,并控制电磁线圈锁。当检测到有效的RFID卡时,门会自动解锁,绿色LED灯亮起作为视觉确认。再次刷卡即可重新锁定门锁。未授权的卡片将无法进入。

所需硬件:

- Arduino板(Uno、Nano、Mega或兼容型号)

- MFRC522 RFID模块 + RFID标签/卡片

- 带驱动器(继电器/MOSFET)的电磁线圈锁(或电击式锁)

- 绿色LED灯 + 电阻(用于解锁指示)

- 线圈外部电源

- 板子、跳线、可选蜂鸣器

为什么这个项目很棒:

无需编程——100%可视化编程,使用Visuino

适合初学者,同时适用于智能家居安防

包含门锁控制和LED反馈,状态清晰明了

1:你需要准备的材料

- RFID模块MFRC522

- 电磁线圈锁(直流12V)

- 电源

- 继电器模块

- 用于测试的某些RFID卡

- LED

- 1K欧姆电阻

- Arduino UNO

- 跳线

- 面包板

- Visuino程序

2:电路连接

•将RFID模块的SDA引脚连接到Arduino数字引脚[10]

•将RFID模块的SCK引脚连接到Arduino数字引脚[13]

•将RFID模块的MOSI引脚连接到Arduino数字引脚[11]

•将RFID模块的MISO引脚连接到Arduino数字引脚[12]

•将RFID模块的GND引脚连接到Arduino的GND引脚

•将RFID模块的RST引脚连接到Arduino数字引脚[9]

•将RFID模块的3.3V引脚连接到Arduino的3.3V引脚

•将Arduino数字引脚[3]连接到1K欧姆电阻

•将1K欧姆电阻连接到LED的正极(+)

•将LED的负极(-)连接到Arduino的GND引脚

•将继电器的VCC引脚(+)连接到Arduino的5V引脚

•将继电器的GND引脚(-)连接到Arduino的GND引脚

•将继电器信号引脚(S)连接到Arduino数字引脚2

•将电源12V(+)连接到电磁锁的红色线(+)

•将电源12V(-)连接到继电器的COM引脚

•将电磁锁的黑色线(-)连接到继电器的NO引脚

3:启动Visuino并选择Arduino UNO板类型

如图1所示,启动Visuino。在Visuino中点击Arduino组件上的“Tools”按钮(见图1)。弹出对话框后,按图2所示选择“Arduino UNO”。

4:在 Visuino 中添加组件

•添加“RFID MFRC522/WS1850S (SPI)”组件

•添加“二进制转文本”组件

•添加“多源文本”组件

•添加“文本值”组件

•添加“查找文本位置”组件

•添加“延迟”组件

•添加“切换(T)触发器”组件

5:在 Visuino 中设置组件

•选择“BinaryToText1”,在属性窗口中将“开始文本”、“结束文本”和“分隔符文本”设为空。

•选择“TextValue1”,在属性中选择“值”,点击三个点按钮,在“值”窗口中输入你的卡片ID。

•选择“FindPosition1”,在属性窗口中选择“文本”,点击引脚图标,选择“String SinkPin”。

•选择“Delay1”,在属性窗口中将“间隔”设为500000(0.5秒),可根据需要调整此数值。在此项目中,用于读取RFID标签时增加一小段延迟,以防止刷卡时重复读取。

6:在 Visuino 中连接组件

•将 RFID1 的 Card.ID 输出引脚(字节类型)连接到 BinaryToText1 的输入引脚。

•将 RFID1 的 ChipSelect 输出引脚(数字输出引脚)连接到 Arduino 的 Digital.Digital[10].DigitalInputPin。

•将 RFID1 的 SPI 通信连接(SPI 通信类型)。将 Interface OutputPin 连接到 Arduino.SPIChannels.SPI.InputPin

•将 RFID1 的 Reset 输出引脚(数字输出引脚)连接到 Arduino.Digital.Digital[9].DigitalInputPin

•将 BinaryToText1 的 OutputPin(字符串)连接到 MultiSource1 的 InputPin

•将 MultiSource1 的 OutputPins.Pin [0](字符串)连接到 FindPosition1文本

•将 MultiSource1 的 OutputPins.Pin [1] 连接到 TextValue1 的 Clock 输入引脚

•将 TextValue1 的 OutputPin 连接到 FindPosition1 的 InputPin

•将 FindPosition1 的 OutputPin 连接到 Delay1 的 Start 输入引脚

•将 FindPosition1 的 Missing OutputPin 连接到 TFlipFlop1 的 Reset 输入引脚

•将 Delay1 的 OutputPin 连接到 TFlipFlop1 的 ClockInputPin

•将 TFlipFlop1 的 OutputPin 连接到 MultiSource2 的 InputPin

•将 MultiSource2 的 OutputPins.Pin [0] 连接到 Arduino.Digital.Digital[2].DigitalInputPin

•将 MultiSource2 的 OutputPins.Pin [1] 连接到 Arduino.Digital.Digital[3].DigitalInputPin

7:生成、编译并上传 Arduino 代码

在 Visuino 中,点击底部的“Build”选项卡,确保选择了正确的端口,然后点击“Compile/Build and Upload”按钮。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭