最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

当前位置: 主页 > 最新DIY >

指纹+红外遥控锁+红外钥匙 制作教程

时间:2017-07-22 15:36来源:数码之家 作者:liuzxi 点击:
一日在淘宝闲逛,看到一个电动锁芯,价格比较便宜,做工精良,顺便买了回来,打算改造下大门,现在指纹锁比较流行,使用也最方便,车都无钥匙进入了,大门指纹开锁是必须的。淘宝搜一下,指纹锁真贵,好的要几千大洋,最便宜的要500块。所以准备自己做一个指
一日在淘宝闲逛,看到一个电动锁芯,价格比较便宜,做工精良,顺便买了回来,打算改造下大门,现在指纹锁比较流行,使用也最方便,车都无钥匙进入了,大门指纹开锁是必须的。淘宝搜一下,指纹锁真贵,好的要几千大洋,最便宜的要500块。所以准备自己做一个指纹锁。

一、材料准备

1、电动锁芯
指纹+红外遥控锁+红外钥匙 制作教程
这个锁芯大部分防盗门都可以装上。

2、指纹模块
指纹+红外遥控锁+红外钥匙 制作教程
淘宝的指纹模块有光学和电容式的两种,电容式的体积小,价格便宜点。最便宜的100块,就这个了。参数看着很强大,什么几百组指纹,识别准确率巴拉巴拉,都不关心,串口通讯,应该很好控制。

3、单片机
指纹+红外遥控锁+红外钥匙 制作教程
算了一下16脚够用了,STC15W408AS  SOP16 的手上有现成的。

4、电机控制

此锁芯电机5V可以转,力小转速慢,12V应该是正常工作电压,空载电流100mA,堵转电流700mA左右。
本打算用继电器控制,两个继电器正反转,结实耐用,控制简单,但体积太大。手上还有几个L9110H H桥驱动/全桥驱动/电机驱动芯片DIP-8。这个芯片标的最大耐压12V,我用5V开关电源测试,发热比较大,12V开关电源秒烧。2S电池8.2V工作倒不热,3S电池秒烧。连着烧了两个。所以还是选2S 8.4V工作电压稳妥点。

指纹+红外遥控锁+红外钥匙 制作教程

5、5V供电
7805就行,据说效率不高, mini 360 降压模块,一直用这个,应该效率高点。
指纹+红外遥控锁+红外钥匙 制作教程

6、辅材
主要材料就这些了,还需要无源蜂鸣器,发出宾馆磁卡锁那样 滴滴答的音乐,按键提示等各种不同的音调。按钮,电阻电容,发光二极管若干。


二、原理图

1、 电源部分
实测发现 mini 360 降压模块静态功耗非常大,什么都不接,只接Vin 静态电流十几毫安,如果电池供电,2000mAh的18650锂电,只为这一个模块待机,只能坚持100个小时,也就是4天。根本不能用呀。看来这个模块需要改造,通过资料发现电源芯片的第7脚是en引脚,模块中是直接用10K电阻接在Vin上,保证通电给高电平,只要把这个引脚引出来,用单片机控制电瓶就可以关断降压模块。
指纹+红外遥控锁+红外钥匙 制作教程


图中这个引脚。
指纹+红外遥控锁+红外钥匙 制作教程


改造之后的样子。经过测试关闭之后的待机电流只有uA级别了,满足电池供电需求了。
但是问题来了。单片机把供电关闭之后自己也没电了,所以再也醒不过来了,额……
怎么办呢,只有给单片机单独供电,让单片机一直活着,才可以控制其他部件。

最终的电路图如下:
指纹+红外遥控锁+红外钥匙 制作教程
BAT为2S 18650电池,BAT1是一个旧手机的电池。电路复杂了,两个电池插座,两个电源开关,还要两个电池电压检测程序。

2、 电机控制部分
  
指纹+红外遥控锁+红外钥匙 制作教程
  
电机驱动模块,用两个1欧姆精度1%电阻并联做采样电阻,根据电流控制电机停止。

3、电源模块控制,蜂鸣器电路,指示灯电路
  
指纹+红外遥控锁+红外钥匙 制作教程
  
因为手上只有2302mos管,所以就用的这个,下拉电阻10K~100K都可以,考虑到待机功耗,所以选了100K的。用8050也可以,电阻阻值、位置换一下。

4、按钮电路
  
指纹+红外遥控锁+红外钥匙 制作教程
  
门外一个按钮,用来唤醒单片机指纹开锁,上锁。门内两个按钮一个用来直接开锁上锁,另一个用来录入指纹,清除指纹。

5 MCU部分
  
指纹+红外遥控锁+红外钥匙 制作教程

1.电源模块控制
2. 2S电池电压
3.电机电流检测
4.按钮2
5. 空
6. VCC BAT1单独供电
7. 蜂鸣器
8. GND
9. 10. 串口连接指纹模块
11.内部按钮
12. 外部按钮  并联 红外接收头
13. 14. 指示灯
15. 16. 电机正反转控制


三、PCB

指纹+红外遥控锁+红外钥匙 制作教程
指纹+红外遥控锁+红外钥匙 制作教程



手工热转印,蚀刻,单层板。制作门内门外分两块,
指纹+红外遥控锁+红外钥匙 制作教程
指纹+红外遥控锁+红外钥匙 制作教程
指纹+红外遥控锁+红外钥匙 制作教程
指纹+红外遥控锁+红外钥匙 制作教程
指纹+红外遥控锁+红外钥匙 制作教程
指纹+红外遥控锁+红外钥匙 制作教程

测试过程中发现,老人的指纹磨损,很难识别,所以加入了红外密码开锁,红外接收头和门外按钮公用一个引脚。


四、程序部分

/****************************************************************************
  
/*2016-12-21 指纹模块测试,写指纹  
门外按钮 短按 按下红灯亮,等待搜索指纹,正确红灯灭,蜂鸣器123,错误蜂鸣器4  
门外按钮 长按  反转反锁  
门内按钮1,短按绿灯亮,直接开锁
门内按钮1,长按 反转反锁  
门内按钮2 长按 等待管理员指纹录入,检测5次,正确,录入新指纹 连续录入5次,正确红灯闪烁,5次后,熄灭  
门内按钮2 长长按 等待管理员指纹录入,检测5次,正确,清除所有指纹

/*2016-12-24 所有功能实现     加入休眠功能
  
/*2017-1-15 单片机测量电机电流,电池电压,内部带隙电压  
滴滴滴滴滴滴  单片机电池低   滴答滴答滴答  电机电池低压

/*2017-1-22 加入红外遥控密码开锁

*************************************************************/

  

#include "intrins.h"

#include "IR.h"

#include <SERIAL.c>

#include <usartdrive.c>

#include "time0.h"  //定时器初始化   软件延时函数

#include "stc_ad.h"   //adc函数

/*****************************/
  
//51单片机的时钟晶振大小为11.0592Mhz
  
/****************************/
  
//typedef unsigned char uchar;
  
//typedef unsigned int uint;  

#define MAX 0x0e    //电机堵转电流

#define BatLow 176           //电池电压最低值

#define batVPin 3               //电池电压管脚

#define CurrPin 4              // 电机电流管脚

#define ClocsKey 0xFF       //红外锁门 按键代码

#define        btnOut P_IR_RX               //外部按钮和红外接收公用一脚

sfr P5 =  0xC8;   //xxxx,1111 端口5

sfr P0M0 = 0x94; //               0000,0000

sfr P0M1 = 0x93; //  

sfr P1M0 = 0x92; //               0000,0000

sfr P1M1 = 0x91; //    

sfr P3M0 = 0xB2;   //0000,0000 端口3模式寄存器0

sfr P3M1 = 0xB1;   //0000,0000 端口3模式寄存器1

sfr P5M0 = 0xCA;   //0000,0000 端口5模式寄存器0

sfr P5M1 = 0xC9;   //0000,0000 端口5模式寄存器1

//sfr WDT_CONTR   =  0xC1;   //0000,0000 看门狗控制寄存器

sfr ISP_CONTR=0xe7;



///////////////////管脚定义////////////////////////



//sbit btnOut=P3^3;//中断0 唤醒休眠用   /外部按钮和红外接收公用一脚

sbit btnIn=P3^2;  //中断1 唤醒休眠用  内部按钮

sbit btnSet=P1^5;  //设置指纹按下接地为0

sbit LedR=P3^7;                //门外灯

sbit LedG=P3^6;                //门内指示灯

sbit buzzer = P5^5;              //控制三极管 推动蜂鸣器

sbit power = P1^2;              //控制三极管 给除单片机外部件供电

sbit close=P1^1;                  //控制电机正反转

sbit open=P1^0;                            //  这四个脚需要强推挽

// 1.3 ADC 电池电压 1.4ADC 电机电流

  

////////////////  变量声明////////////////  


bit set1=0,set2=0,set3=0,set4=0   ,set5=0;   //按钮动作功能位  set1  指纹开锁  set2 录入指纹 set3 上锁  set4 清所有指纹          set5 直接开锁

bit    master=0; //管理员标志

bit    locked=0; //已锁标志

uchar current;   //电机电流          堵转 值0x0e

uint count=0;   //计数 10次 扫描按键动作

uchar j=0,i=0;

uint Num;

uint btnPressSum=0;          //按钮长按计数

long int t=0;     //time0 计时

uint mcuV ,batV; //1s电池电压   2s电池电压




//////////////函数声明//////////////////


void fengming(uint x,uint y);              //蜂鸣器发声

void buzz(uint No);                                           //蜂鸣器奏乐 参数 123   321   1 2 3    4(低音do)

void btnScan();   //按钮扫描

void fingerOpenLock();              //指纹开锁

void openLock();                          //直接开锁

void closeLock();                         //上锁反锁

void getFinger();                         //录入新指纹

void clearFinger();                      //清空指纹

void chkMaster();                       //检查管理员

void chkBat();              //检查电池电压

void IRopenLock();                      //红外密码开锁

void main()

{        

   InitADC();  

         power=0;   //打开降压供电模块

   Timer0Init();

         serial_init();

         Delay(500);

         P5M0|=   0x20;

         P5M1=    0x00;           //P5.5 强推挽

         P3M0=0xC0;    //P3.6 3.7  强推挽          1100 0000

         P3M1=    0x00;

         P1M0=0x07;    //                          //  P1.0 1.1 1.2 强推挽       0000 0111
  
         P1M1=    0x00;    

         open=0;close=0;      LedR=0;   LedG=0;buzzer=0;          
         chkBat();  //检查电池电压

         while(1)

     {
                   btnScan();

                   if(set1)

                   {  
                            buzz(3);
                            set1=0;
                            fingerOpenLock();

                   }

                   if(set2)

                   {
                            buzz(3);

                            set2=0;

                            getFinger();

                   } (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
相关文章
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容