作为无车一族,我不需要走到哪儿都带着钥匙。但也正因为如此,我多次把自己锁在了家门外。等待开锁匠开门是多么痛苦的一件事情,有时候我不禁在想,我到底能做些什么才能改变这种情况。
下面就为大家介绍我采用了指纹识别的车库开门装置的解决方案——指纹识别,看上去很高大上吧。
当然了,这套解决方案不仅仅能够用在车库的开门装置上,也能够使用在任何你需要的开门装置上。
第一步,材料
电子元器件
指纹扫描仪(包含连接器)
串行LCD套件(ATmega328)
ATtiny85
PNP晶体管
蜂鸣器
线材
3D打印参照案例(请看第九步)
铜带
5V电压调节器
9V电池
9V电压连接器
单刀双掷限位开关
工具
电烙铁/焊锡,电工胶带,布线用电线 / 跨接线,钢丝钳/剥线钳,面包板,有效电阻,螺钉,钻孔机,几个用于测试的指示灯,5V FTDI 电路板 (Sparkfun),热胶枪,3D 打印机参考,可选: IC 支架(用于8 针ATtiny或者是28针ATmega),可选: 额外的 Arduino 开发板/10uF 电容器 (详细信息见第 5 步)
第二步,电路
配备串行LCD套件的ATmega328这里的主要用途是用于控制液晶屏,不过由于其处理器强大的处理能力,除了控制LCD屏之外,还可以用于其他用途。在这个方案中,我们将用它来传输Arduino 开发板和指纹扫描仪之间的信号,控制LCD屏,同时控制蜂鸣器发出声音。
为了防止整个模块始终处于耗电状态,我增加了一个限位开关来检测整个模块是否工作。但模块停止工作的时候停止供电以延长电池的寿命。
重要说明:指纹扫描仪电压为3.3V,ATmega的电压为3.2V,连接时最好使用电压分压器来进行连接。
串行液晶屏的引出线: D10 | FPS 引脚 2 (通过电压分压器) |
D11 | FPS pin 1 (黑线) |
D12 | ATtiny85 |
D13 | 蜂鸣器 |
ATtiny85引出线:
Pin 5 (0 in code) | 从ATmega输入 |
Pin 3 (4 in code) | 晶体管/黄色LED |
Pin 7 (2 in code) | LED指示灯 |
第三步:组装串行LCD套件
好吧,如题所述连接LCD套件。
第四步:组装电路板
电路装的组装过程取决于你自己,但是要记住,在整个组装过程中要尽量保持FPS连接线始终朝着同一个方向——它们真的非常脆弱。
接下来,在顶部和底部涂上热胶用以固定和绝缘。最好使用高温热胶,这样就能保证在接下来的步骤中,胶不会融化,脱落情况的出现。
在最主要的电路板上,最好把每一个部件都用热胶固定在ATtiny板上,唯一例外的就是稳压器。稳压器在使用的过程中容易发热,所以不要让热胶接触到稳压器。如果你考虑在完成之后重新对ATtiny进行变成或者修改的话,就不要让热胶完全覆盖ATtiny。
第五步:对ATmega328进行编程
之前,在步骤2中我们提到,由于ATmega328的处理器强大的处理能力,除了控制LCD屏之外,还可以用于其他用途。为了实现这一点,我们还需要多ATmega328进行一定程度的编程。
如果你有一个Arduino Uno o或者Duemilanove,可以将板上的芯片取下来焊接到ATmega328上来实现编程功能。或者是5V FTDI 电路板 (Sparkfun) 焊接到ATmega328上。
此外,你还需要上传代码“ATmega328 / Duemilanove”。
LCD Test:
有关编程信息,请戳>>这里
第六步:设置指纹扫描仪
对于与FPS通信的方式,请参考Josh Hawley的参考设计,详情请戳>> 这里
为了保证指纹扫描仪能够通信和工作,请参考一下的Blink Example:
Blink Example:详细信息请戳>>这里
因为指纹扫描仪本身拥有内存,所以在保证FPS能够连接通信之后,参照下面的Enroll Example向数据库中添加你的指纹,打开串行控制台,进行操作即可。
Enroll Example:详细信息请戳>>这里
第七步:对ATtiny85进行编程 本质上来说,ATtiny85就是一个微缩在芯片上的廉价的,小型的Arduino开发板。它可以通过另外一个Arduino开发板来进行编程,包括我们之前使用的ATmega328。
在这个项目中,ATtiny85用来执行一个很简单的命令:检测来自于ATmega328的信号,如何信号符合要求,发出信号打开车库门。
按照上图所示的方式进行连接,下载所需的文件,详情请戳这里
上传完代码之后,应将Arduino的13个针脚调至高位,以表明代码可以工作。
Final Code:详细信息请戳>>这里
第八步:最终代码
Code for ATmega238:详细信息请戳>>这里
第九步:3D打印模型
按照以下所示模型打印外壳,外壳采用热胶进行贴合,在限位开关的位置保持轻微的倾斜,以便开关能够很容易的按下。
FPSCover.STL请戳>>这里
FPSMainCase.STL请戳>>这里
第十步:安装
第十一步:测试