本帖最后由 星空太黑 于 2016-12-16 10:50 编辑
项目:arduino智能门禁系统
项目视频:
制作背景:
步入大学,一直觉得普通门插销只能单侧使用,而且别人敲门还要下床给别人开门很不方便,尤其在冬天(懒惰是科技进步的源泉),所以想做一个电动门插销
制作所需材料及成本:
所需工具(不计入总成本):
热胶枪(20RMB),热胶枪胶棒(1RMB),厚双面胶(2RMB),桌面级3D打印机(1000RMB),剥线钳(15RMB),减线钳(15RMB),笔记本电脑(画3D模型用的),黄油(用来减小门插销摩擦阻力),绝缘胶布
所需材料:(总成本160)
arduino nano一块(控制核心,可编程)(15RMB)
杜邦线 若干(10RMB)
中号面包板一块(15RMB)
面包板跳线 若干(10RMB)
20号导线 若干(用于供电)(20RMB)
手机充电器(提供5v电源)(20RMB)
USB手机充电线(要质量好一些的)(10RMB)
9g金属舵机(用来推动门插销)(20RMB)
3mm直径螺丝螺母若干(需要20对一下)(10RMB)刷卡模块——
3D打印的零件(20RMB)
原理:
通过对arduino编程控制一路舵机转到指定角度,通过一定的机械结构传动,推动门插销实现锁门开门的功能,额外功能:通过红外接收管接收遥控器指令,检测触摸导线上的电容值来实现对门锁的触控。(延伸:通过读卡机读取校园卡的id,当为本宿舍id时打开或关闭门插销,当检测到不是本宿舍id时不做反应)
设计过程:
3D模型的设计用了两周时间,想过好几种方案,本来想用一种在门角用长条零件别住的方案,但是因为考虑到安全性最后还是选择直接用舵机(电机+减速齿轮箱+角度反馈控制)控制门插销的方案,因为这样不会降低门的安全性,因为考虑到arduino和舵机共同供电,电流和功耗的限制,所以选用9g舵机,但是9g舵机的力量很小,所以想了好久最后觉得用杠杆结构既简单又有效。
电源方案本来打算用电池供电,但计算后发现电池只能待机两天就需要充电,所以选择用手机充电器提供电源
之后装上红外接收管,把遥控器按键的对应的键值编入程序,使他具有可遥控功能,装上射频卡模块,用来读取校园卡
制作过程:
1.首先是测量舵机的尺寸,并构想它的3D模型,设计机械的结构,然后画3D模型,我用的solidwork,上网查资料和图书馆借书自学了一周,画简单模型没有问题了
2把他们3D打印出来:
把那些传动装置用螺丝拼装好,因为在画模型的时候就把每个活动和不活动的孔的直径都设计好了,所以直接就可以用螺丝组装,把那个舵机比着凹槽放进去用热胶抢固定,就会达到上图的效果
再把面包板粘在外壳的凹槽内插上arduino nano芯片:
将舵机和红外接收管的线接好:
然后就组装好了,为了防止导线脱落,用热熔胶适当固定,尤其是电源线,将背面贴上厚双面胶
然后找到合适的位置贴在门上连接好电源线:
电源线为usb供电,把usb线剪开,会看到里面有红黑绿黄四条线,红和黑两根线分别接出,用20号导线接在面包板上,注意正负极不要接反,
到此,硬件搭建好了,
程序编写:
此程序为好几个程序组合而成,参考程序有:
极客工坊知识库:http://wiki.geek-workshop.com/doku.php
Arduino教程汇总贴(2016.10.6更新):http://www.arduino.cn/thread-1066-1-1.html
Arduino教程(提高篇)——舵机的驱动:http://www.arduino.cn/thread-1038-1-1.html
Arduino教程(提高篇)——红外遥控(接收篇) :http://www.arduino.cn/thread-1220-1-1.html
用arduino直接检测电容值:一个不用外围电路的简易触摸传感器:
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=3335&highlight=%B4%A5%C3%FE
|