littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于Arduino的TOTP门禁锁系统

项目简介

本项目是基于Arduino的TOTP(基于时间的一次性密码)门禁锁系统。采用Arduino Pro Mini 5V 16MHz微控制器,搭配4x4薄膜键盘、继电器、蜂鸣器和按钮等硬件。系统支持通过软件去抖和硬件低通滤波器处理电磁噪声,避免误触发。

项目的主要特性和功能

  1. 支持通过4x4薄膜键盘输入基于时间的密码。
  2. 利用DS3231实时时钟模块实现时间同步。
  3. 通过软件去抖和硬件低通滤波器处理电磁噪声,防止系统误触发。
  4. 设有内部开门按钮,可从内部开门。
  5. 蜂鸣器可提示密码输入的正确或错误。
  6. 具备维护功能,可检查当前UNIX时间戳和禁用特定门禁密钥。

安装使用步骤

硬件连接

依次连接DS3231实时时钟模块、4x4薄膜键盘、蜂鸣器、继电器、按钮,若有需要还需连接电压转换模块。

配置DS3231

使用以下命令生成随机密钥并配置DS3231: bash make generate-example-secrets make uno-configure-ds3231 DEVICE_SERIAL=/dev/ttyACM0

上传代码

使用Arduino IDE将hsldz_totp_lock.ino文件上传到Arduino板。

测试系统

分别测试键盘输入和门禁控制、蜂鸣器提示功能以及DS3231实时时钟同步。

运行和维护

使用以下命令生成QR码用于分发密钥: bash make decrypt make gen-qr-code KEY_NUM=3 同时,需定期检查和维护系统硬件和固件。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】