【嵌入式实践】【芝麻】【设计篇-3】从0到1给电动车添加指纹锁:项目整体规划

0. 前言

        该项目是基于stm32F103和指纹模块做了一个通过指纹锁控制电动车的小工具。支持添加指纹、删除指纹,电动车进入P档等待时计时,计时超过5min则自动锁车,计时过程中按刹车可中断P档状态,同时中断锁车计时。改项目我称之为“芝麻”,取自芝麻开门(明明是车,哪里来的“门”,因为插钥匙的地方被修车师傅称之为“电门锁”)。

d5290199615c4295a70303b5f68292ad.png专栏目录快速导航

视频地址:b站链接

软件、硬件、机械原件存放位置:https://gitee.com/sunkai64/zhima

9d1315ac994d4b238fcac107495c0f9f.png


1. 功能规划

        芝麻项目最基本的功能诉求就是能够通过指纹模块来打开电动车,在使用过程中,要能够添加指纹和删除指纹,这样能够确保同一台电动车,可以给多个人使用。第2个功能就是把电动车的电瓶当做一个大的充电宝。第3个功能就是电动车能够自动关机。灵感就来源于地铁口一台忘记拔掉车钥匙的车主,还有外卖小哥。外卖小哥为了赶时间,在送上楼送外卖时一般都不会锁车,也不会拔掉钥匙,这个行为是基于对大家的信任做出的,大家也没有辜负这份信任。但是如果电动车能够在进入P档后,等待一段时间自动关机,那不更好了。

deacbdf86de541ecba2b31b3609dab5b.png

2. 硬件设计 

        除了绘制基于芯片的最小系统外,我们还需要绘制如下图中的几个关键原理图。电源电路,我的小电车是48V的电瓶,但是实际测量时电压会达到50+V,所以这部分电路器件选择就需要考虑50+V的工作电压,以防出现元器件损坏的场景。指纹模块电路,指纹模块需要比较稳定的电压,否则会影响其工作的准确性。继电器模块,通过调研,我选用的是5V控制的继电器,无法直接通过IO口控制,我设计了基于光耦隔离电路的继电器控制电路。按键模块,简单的IO口操作,只需要注意输入电流即可。P档输入识别,电路上同按键模块,无需添加特殊的电路。

b0021f3a9766426e92a3eda681c02cc1.png

 3. 软件设计

        软件设计的开展串在了硬件设计之后。如果需要尽早开展软件设计,那么至少需要先将硬件设计相关的接口定义好,才能基于已定义的接口编写程序。从下图的顺序也可以看到,软件设计时,我是先从最简的IO口控制开始调试,然后是继电器、指纹锁,最后才是产品的功能逻辑代码编写。

b57ea54aafd8438187e56ea6096fb1b2.png

        关于产品功能设计,我大致列了一下流程图,可以参考下图。不过值得一提的时,在开发产品功能前,我们需要对每个模块进行单独的测试,已保障在做功能设计时因为某个小模块问题增加为题定位时间。这部分测试就是开发者测试,DT。测试部分,除了DT之外,在功能初步设计完成之后还需要做系统测试,ST,这样就能保证在上车前尽可能多的排查出问题,减少后续问题定位成本。 

4. 机械设计 

        本专栏【设计-2】项目可行性分析中已经给出了机械设计的整体规划,电动车控制部分和用户交互部分分离,这样电动车控制部分,也就是电路板的主体,可以放置到电车头当中,不需要设计独立的外壳。此时只需要考虑将用户交互的按键、拨码开关和指纹模块放置到一个独立的机械结构内就可以。

        考虑到易用性,最终打算设计一个简洁的圆形结构,将按键和指纹模块固定在靠近电车把手的地方。除了将按键、指纹模块固定牢靠外,在设计时也需要考虑如果将电路板和电门锁、电路板和交互界面的接口做成可拔插的,这样就能在某部件出问题时,方便的拔插后修复。

5b0b2b32946343c2ad4131f8943f3e44.png

5. 时间安排 

        因为都是一个人做,所以所有的事务都是按照串行执行的。硬件设计 -> 电路板制作 -> 元器件采购  -> 硬件测试  -> 软件设计 -> 软件测试  -> 机械设计  -> 机械结构测试  -> 视频制作  -> 视频宣传  -> 项目小结。同时在项目推进的过程中记录关键时间节点,最后好方便统计每个关键阶段花费了多少时间,这样做的好处就是,以后做项目的时候能够更好的估算时间成本。

b0129593a8e440bc807feed39b008451.png

---------------------【芝麻】项目相关文章都会收集在此专栏----------------------

感谢你看到这里,如果不介意的话,帮忙点个赞、关注支持一下~

  • 20
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
设计指纹锁的上位机软件和嵌入式软件,需要遵循以下步骤: 1. 确定需求:确定指纹锁的功能需求,包括指纹识别、控制等功能。 2. 选择硬件平台:选择合适的硬件平台,比如使用单片机或嵌入式处理器。 3. 编写嵌入式软件:根据需求,编写嵌入式软件,实现指纹识别和控制等功能。 4. 选择通信协议:选择合适的通信协议,比如UART、SPI、I2C等,实现上位机和嵌入式系统之间的通信。 5. 编写上位机软件:根据需求,编写上位机软件,实现用户与指纹锁的交互界面。 6. 调试和测试:进行软硬件联调,确保系统的功能正常。 在编写嵌入式软件和上位机软件时,需要注意以下几点: 1. 指纹识别算法的选择和优化:选择合适的指纹识别算法,并进行优化,以提高识别的准确率和速度。 2. 系统的安全性:为了保证指纹锁的安全性,需要对指纹数据进行加密和存储。 3. 系统的稳定性:在编写软件时,需要考虑系统的稳定性和可靠性,避免出现死机等异常情况。 4. 用户体验:在设计上位机软件时,需要考虑用户体验,提供友好的界面和操作方式,方便用户使用。 总之,设计指纹锁的上位机软件和嵌入式软件需要综合考虑硬件平台、指纹识别算法、通信协议、安全性、稳定性和用户体验等因素,才能实现一个高效、安全、稳定和易用的指纹锁系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值