0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自制1个指纹保险箱,不到100元就能拥有!

AIoT行业洞察 ? 来源:AIoT行业洞察 ? 作者:AIoT行业洞察 ? 2025-04-18 16:30 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

以下作品由安信可社区用户

WT_0213制作

在当下快节奏的现代生活中,电子 DIY 早已不单单局限于技术层面的探索,更是一种能为生活增添无限乐趣的独特生活态度。参加了安信可社区第四期电子DIY | 实用至上,点亮便利生活,此前就一直想着给小朋友做一个小盒子,正好借这个机会忙里偷闲参与到活动当中,再体验一下电子 DIY 的乐趣。

本次制作了一个稍微实用价值的指纹开锁小盒子,旨在为日常生活中的物品收纳提供更安全、便捷的解决方案。

wKgZO2gCDa6AEWy-AAB2vkAd9O0348.jpg

1、设计思路

考虑到日常小物件收纳时,常担心隐私物品被他人随意翻看,便决定打造一个通过指纹识别控制开合的小盒子。利用指纹识别的唯一性,实现精准的开锁权限管理,让只有授权指纹的使用者能够打开盒子,极大提升了收纳物品的安全性。这个小盒子不仅是收纳小物件的容器,更是守护孩子隐私与专属空间的好帮手,能有效避免小朋友的宝贝被随意翻动。

2、设计理念

小朋友都有自己珍视的小玩意儿,像心爱的贴纸、秘密小纸条等,他们渴望有个安全的小天地存放这些宝贝。考虑到孩子对新奇事物的好奇心,传统锁具操作复杂,而指纹识别既有趣又便捷,凭借独一无二的指纹特征,能精准识别孩子身份,为控制盒子开合提供绝佳方式。基于以上理由制作了这款指纹开锁小盒子,给孩子打造专属且安全的收纳空间,让他们享受自主管理物品的乐趣。

3、制作流程

硬件选型

wKgZPGgCDa6AJIVzAAHnMImKYuk729.jpg

选用之前购买的FPM383C 指纹模块,它识别精度高、响应快,小朋友轻轻一按手指,就能快速准确采集指纹信息。

主控芯片选用对应型号,其主要负责处理 FPM383C 指纹模块传来的数据,并依据结果向电机驱动模块以及其它硬件下达精准指令。

此次主控制器使用的是M61-32SU开发板,它在整个系统里扮演着重要角色。M61-32SU开发板能够高效协调主控芯片与各个模块间的信息交互,进一步优化系统运行的稳定性与流畅度,保障指纹识别、指令传输等环节有序进行。

选用一个9g 舵机来作为盒子锁扣的直接执行者。9g 舵机体积小巧,动力输出却较为稳定,通过接收主控芯片的指令后,能精准控制锁扣的开合动作。当接收到开锁指令,舵机迅速转动,打开锁扣;锁定指令下达时,舵机反向转动,紧闭锁扣,为小盒子的开合提供了可靠的机械动力支持。

原本计划用 3D 打印技术制作盒子外壳,精心设计好了模型,满心期待能打印出一个造型酷炫、结构精巧的外壳。但在准备打印时,却发现耗材不够,无奈之下决定改用纸盒来制作盒子外壳。挑选了厚实且有一定韧性的纸盒,虽然没有 3D 打印外壳那样精致,但纸盒可塑性强。

用剪刀、胶水等工具,按照预先设计好的尺寸,将纸盒裁剪、折叠、粘贴,为内部电子元件搭建了一个简易却实用的 “家”。使用的是带彩色纸皮的纸盒【鞋盒 】,让小盒子看起来好看点,也弥补了没有 3D 打印外壳的遗憾。

wKgZO2gCDa-Ac4wHAAD8MpepEz4351.jpg

4、功能呈现

当孩子把录入指纹的手指放在 FPM383C 识别模块上,系统瞬间就能完成识别,主控芯片通过控制 9g 舵机,迅速打开锁扣,孩子可以轻松拿取自己的宝贝。要是不小心按错指纹,系统立刻启动锁定程序,9g 舵机反向转动紧闭锁扣,防止其他人未经允许打开盒子。

由于盒子做的不是那么精密,透光有缝隙,导致盒子内部的彩灯透过缝隙扩散出来,不过这样感觉反而增加了趣味性。FPM383C模块当成功开锁时,自动会闪烁灯光,指纹验证通过绿色灯光,指纹不通过红色灯光,反馈比较明显减少了代码工作量。

wKgZPGgCDa-AVDlkAAEKRMM-IcA072.jpg

wKgZO2gCDa-Ac4wHAAD8MpepEz4351.jpg

5、接线方式

wKgZO2gCDbCATW5gAABUiZI6LqY380.jpg

6、资料参考

【外设移植】FPM383C指纹模块+Ai-M61-32Sbbs.ai-thinker.com/forum.php?mod=viewthread&tid=43963

【外设移植】SG90舵机Ai-M61开发板bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44405

7、代码

#include "FPM383C.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "bflb_mtimer.h"
#include "bflb_dma.h"
#include "bflb_uart.h"
#include "log.h"
#include "bflb_servo.h"
#include "bflb_gpio.h" //gpio头文件
#include "bflb_mtimer.h" //mtimer定时器头文件
#include "bflb_pwm_v2.h" //pwm_v2头文件
#include "bflb_clock.h" //系统时钟头文件
//控制模块LED灯颜色
uint8_t PS_BlueLEDBuf[16] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x07,0x3C,0x03,0x01,0x01,0x00,0x00,0x49};
uint8_t PS_RedLEDBuf[16] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x07,0x3C,0x02,0x04,0x04,0x02,0x00,0x50};
uint8_t PS_GreenLEDBuf[16] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x07,0x3C,0x02,0x02,0x02,0x02,0x00,0x4C};
//休眠指令-设置传感器进入休眠模式
uint8_t PS_SleepBuf[12] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x03,0x33,0x00,0x37};
//清空指纹库-删除 flash 数据库中所有指纹模板。
uint8_t PS_EmptyBuf[12] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x03,0x0D,0x00,0x11};
//取消指令-取消自动注册模板和自动验证指纹。如表 2-1 中加密等级设置为 0 或 1 情况下支持此功能
uint8_t PS_CancelBuf[12] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x03,0x30,0x00,0x34};
//自动注册模板-一站式注册指纹,包含采集指纹、生成特征、组合模板、存储模板等功能。加密等级设置为 0 或 1 情况下支持此功能。
uint8_t PS_AutoEnrollBuf[17] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x08,0x31,'','',0x04,0x00,0x16,'',''};
// 验证用获取图像-验证指纹时,探测手指,探测到后录入指纹图像存于图像缓冲区。返回确认码表示:录入成功、无手指等。
uint8_t PS_GetImageBuf[12] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x03,0x01,0x00,0x05};
//生成特征值-将图像缓冲区中的原始图像生成指纹特征文件存于模板缓冲区
uint8_t PS_GetCharBuf[13] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x04,0x02,0x01,0x00,0x08};
//搜索指纹-以模板缓冲区中的特征文件搜索整个或部分指纹库。若搜索到,则返回页码。加密等级设置为 0 或 1 情况下支持
uint8_t PS_SearchBuf[17] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x08,0x04,0x01,0x00,0x00,0xFF,0xFF,0x02,0x0C};
//删除模板-删除 flash 数据库中指定 ID 号开始的N 个指纹模板
uint8_t PS_DeleteBuf[16] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x07,0x0C,'','',0x00,0x01,'',''};
//设置名为fpm383c_uart的外设句柄,用来执行串口指令的发送
struct bflb_device_s *fpm383c_uart;
//指纹ID和验证指纹的分数
uint16_t pageID,score;
//USART串口接收缓冲数组
uint8_t USART_ReceiveBuf[20];
//主循环状态标志位
uint8_t ScanStatus = 0;
struct bflb_servo_attr servo;
// 锁状态
uint8_t lock_state = 0;
/**
* @brief 获取状态
*
* @param Timeout
*/
void FPM383C_ReceiveData(uint16_t Timeout)
{
uint8_t i = 0;
// 检测缓冲区是否有数据
while(bflb_uart_rxavailable(fpm383c_uart) == 0 && (--Timeout))
{
bflb_mtimer_delay_ms(1);
}
// 轮询fpm383c_uart接收到的字符
while(bflb_uart_rxavailable(fpm383c_uart) > 0)
{
bflb_mtimer_delay_ms(2);
// 获取数据并放入缓冲数组
USART_ReceiveBuf[i++] = bflb_uart_getchar(fpm383c_uart);
if(i > 15) break;
}
}
/// @brief 初始化FPM383C指纹模块
void FPM383C_Init(){
// 声明 gpio句柄
struct bflb_device_s* gpio;
// FPM383C 模块默认波特率为 57600
struct bflb_uart_config_s cfg = {
.baudrate = 57600,
.data_bits = UART_DATA_BITS_8,
.stop_bits = UART_STOP_BITS_1,
.parity = UART_PARITY_NONE,
.flow_ctrl = UART_FLOWCTRL_NONE,
.rx_fifo_threshold = 7,
.tx_fifo_threshold = 7
};
// 初始化FPM383C指纹模块UART
gpio = bflb_device_get_by_name("gpio");
fpm383c_uart = bflb_device_get_by_name("uart1");
//将GPIO_23和GPIO_24设置为TX和RX
bflb_gpio_uart_init(gpio, GPIO_PIN_23, GPIO_UART_FUNC_UART1_TX);
bflb_gpio_uart_init(gpio, GPIO_PIN_24, GPIO_UART_FUNC_UART1_RX);
bflb_uart_init(fpm383c_uart, &cfg);
}
/// @brief USART串口发送数据
/// @param length 发送数组长度
/// @param FPM383C_DataBuf 需要发送的功能数组
void FPM383C_SendData(int length,uint8_t FPM383C_DataBuf[])
{
for(int i = 0;i

附件:fpm383c_lock.zip

https://bbs.ai-thinker.com/forum.php?mod=attachment&aid=32231

8、更新的外壳资料

保险箱3D图用freeCAD做的

源文件:

附件:BOX.zip

wKgZPGgCDbCAFtETAABXrierxog861.jpg

wKgZO2gCDbGAf6SEAABUD07kFzU677.jpg

wKgZPGgCDbGAUR6VAABkj0cRnXE409.jpg

wKgZPGgCDbKAI89LAAEp5hITn4c762.jpg

wKgZO2gCDbKAGXZTAABQ9_0Wwrg644.jpg

wKgZPGgCDbOAXkalAABgN8ID3nw122.jpg

wKgZO2gCDbOABZO_AACbnVZVT4w975.jpg

wKgZPGgCDbSARb5cAADdM4NyK_A114.jpg


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 指纹识别
    +关注

    关注

    43

    文章

    1748

    浏览量

    103398
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    回收指纹模组收购指纹模组

    回收指纹模组、收购指纹模组、回收指纹连接排、指纹芯片、指纹模组、指纹排线、回收侧键
    发表于 05-26 13:55

    超声波指纹模组灵敏度飞升!低温纳米烧结银浆立大功

    、钥匙等身份验证方式相比,指纹识别更加便捷、快速。无需记忆复杂的密码,也不用担心钥匙丢失,只需动动手指,就能轻松完成身份验证。 在手机领域,指纹识别技术的应用让手机解锁变得更加便捷高效,同时也为移动支付
    发表于 05-22 10:26

    新品 | 智能触摸解锁ZW302x系列指纹模块 支持存储100指纹

    海凌科全新推出HLK-ZW302x指纹模块,单价低至15左右,支持存储100指纹,目前共两款,一款圆形指纹模块HLK-ZW3020,一款
    的头像 发表于 04-15 17:33 ?553次阅读
    新品 | 智能触摸解锁ZW302x系列<b class='flag-5'>指纹</b>模块 支持存储<b class='flag-5'>100</b>枚<b class='flag-5'>指纹</b>

    来吧,拆比亚迪!

    ,单个总重1. 2KG。根据零部件经销商报价,尾灯单个价值量约为450。 比亚迪雾灯共2,单个长宽高分别为302012cm,单个总重0. 35KG。根据零部件经销商报价,雾灯单个价值量约为
    发表于 02-10 11:38

    中交兴路荣获2024中国保险科技100

    保险科技的行业盛会——2025年度分子保险科技节,近日在厦门举办。凭借在保险科技领域的深耕,中交兴路再度荣获分子实验室颁发的“中国保险科技100
    的头像 发表于 01-21 10:40 ?487次阅读

    RK3568国产芯教学实验指纹识别实战案例

    一、实验目的1、熟悉Qt程序的开发流程。2、掌握QtCreator的基础开发使用。3、通过编写Qt程序实现指纹识别的显示界面。二、实验原理Qt工程创建Qt工程的创建步骤包括:(1)创建Qt工程;(2
    的头像 发表于 01-08 19:05 ?830次阅读
    RK3568国产芯教学实验<b class='flag-5'>箱</b>:<b class='flag-5'>指纹</b>识别实战案例

    BOM成本不到1.5高速无刷电机驱动产品,怎么做到的?

    多少? CW32L010 ESC Demo DC6~24V 一CW32L010主控芯片、一P+N预驱动(内置LDO)、一运放、一电解电容、以及贴片的阻容。 有人猜10
    的头像 发表于 12-11 17:25 ?1456次阅读
    BOM成本<b class='flag-5'>不到</b>1.5<b class='flag-5'>元</b>高速无刷电机驱动产品,怎么做到的?

    基于RK3568国产处理器教学实验操作案例分享:一线性回归实验

    分为:一线性回归和多元线性回归。很明显一只有一自变量,多元有多个自变量。线性回归模型属于经典的统计学模型,该模型的应用场景是根据已知的变量(自变量)来预测某个连续的数值变量(因变量)。 例如,餐厅
    发表于 12-05 14:14

    直流负载的价格和性价比如何?

    、功能越丰富的直流负载价格越高。在市场上,直流负载的价格大致在几千至几万人民币之间。 接下来,我们来分析一下直流负载的性价比。性价
    发表于 10-24 13:51

    国产人工智能教学实验操作案例分享:5-27 指纹识别实验

    文件系统。 接着进行硬件连接, (1)将Linux系统启动卡插至Micro SD卡槽。 (2)使用Type-C线连接USB TO UART2调试串口到PC机。 (3)将指纹识别模块插入实验的GPIO
    发表于 10-15 16:43

    项目分享 | 小熊派DIY一款指纹门锁

    指纹感应器介绍: 电路中所连接的指纹感应器为杭州晟的一块指纹模组,型号AM160_YYH360。 模组连接开发板引脚信息如下表: 管脚 名称 功能描述 连接开发板引脚
    发表于 10-09 13:55

    CW32模块使用 指纹识别传感器

    指纹特征。模块配备了串口、USB 通讯接口,用户无需研究复杂的图像处理及及指纹识别算法,只需通过简单的串口、USB 按照通讯协议便可控制模块。本模块可应用于各种考勤机、保险箱柜、指纹
    的头像 发表于 09-18 15:15 ?812次阅读
    CW32模块使用 <b class='flag-5'>指纹</b>识别传感器

    SiRider S1芯擎工业开发板测评+1.防止黑客入侵通信监控系统(PSA)

    前面的努力就都白费了。因此,咱们得用安全的密钥管理系统,把密钥存得严严实实的,让黑客找不到、偷不走。比喻: 这就像是你把家里的保险箱钥匙藏在了一只有你自己知道的秘密地方,而且还设了
    发表于 09-08 21:58

    优惠再升级,abg欧博PCB首单最高立减100,再返2000优惠券

    优惠再升级,abg欧博PCB首单最高立减100,再返2000优惠券
    的头像 发表于 08-30 12:06 ?776次阅读
    优惠再升级,abg欧博PCB首单最高立减<b class='flag-5'>100</b><b class='flag-5'>元</b>,再返2000<b class='flag-5'>元</b>优惠券

    不到10块钱,用Ai-M61-32S如何自制开机棒?

    ?如何自制开机棒? Ai-M61-32S开机棒是一仅使用Ai-M61-32S的开机棒,无需额外的硬件,刷入程序,接上电源,最后结合一些简单的配置即可使用。该项目标为用最少的硬件,最少的配置去实现远程开机功能。 Wake-o
    的头像 发表于 08-27 16:17 ?793次阅读
    <b class='flag-5'>不到</b>10块钱,用Ai-M61-32S如何<b class='flag-5'>自制</b>一<b class='flag-5'>个</b>开机棒?