适用学校门禁卡的实验室刷卡门锁-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11795|回复: 6

[报名] 适用学校门禁卡的实验室刷卡门锁

[复制链接]
发表于 2017-7-23 12:56 | 显示全部楼层 |阅读模式
本帖最后由 日昏昏兮路遥遥 于 2017-10-22 00:35 编辑

参赛项目:
      适用学校门禁卡的实验室刷卡门锁

参赛组员:
      人数:1人
      论坛ID:日昏昏兮路遥遥
      简介:大一,入坑Arduino半年,终于啃完了《Arduino程序设计基础》

项目简介:

      实验室去的人多,不可能每个成员都配一把钥匙,且钥匙也不方便带。
      近期准备改造为智能实验室,方便的刷卡门锁势在必行。
      学校125KHz的门禁卡,只能在宿舍大门用,甚是鸡肋,但又不得不天天带着。
      做一个使用学校门禁卡的刷卡门锁,通过舵机拉动把手开门,不破坏门的结构及原有功能。

成果:
long a = **********;  //我
long b = **********;  //同学
long kh = 0;

void setup()
{
  pinMode(5,OUTPUT);    //绿灯
  pinMode(6,OUTPUT);    //红灯
  pinMode(2,OUTPUT);  //继电器常高电位,低电位触发,电机拉
  pinMode(3,OUTPUT); //继电器常高电位,低电位触发,电机放线
  pinMode(4,INPUT_PULLUP);  //设置为输入上拉模式,使端口稳定在高电平
  Serial.begin(9600);
}

void loop()
{
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(5,1);    //亮绿灯提示单片机启动
  if(analogRead(A0) < 700)      //检测电压,低于7v亮红灯报警
  {
    digitalWrite(6,1);
  }
  else
  {
    digitalWrite(6,0);
  }
  kh = Read_ID();
  if (kh == a || kh == b)   //识别成功
  {
    digitalWrite(2,LOW);  //拉
    delay(2000);
    digitalWrite(2,HIGH);
   delay(6000);             //等6秒人进门
    digitalWrite(3,LOW);
    delay(900);  //放
    kh = 0;
  }
}

long Read_ID()    //RFID读卡模块 调取函数返回卡号
{
  int flag=0,RX_Flag=0;
  char Code[14];
  long Num=0;
  int i;
  for(i=0;(Serial.available()>0);i++){
    char temp=Serial.read();
    delay(2);
    if(temp==0X02){
      flag=1;
      i=0;
      RX_Flag=0;}
    if(flag==1){
      if(temp==0X03){
        flag=0;
        if(i==13){
          RX_Flag=1;}
        else{
          RX_Flag=0;}
        break;}
      Code=temp;} }        
  flag=0;
  if(RX_Flag==1){
    for(i=5;i<11;i++){
      Num<<=4;
      if(Code>64){
        Num+=((Code)-55);}
      else{
        Num+=((Code)-48);}}
    //Serial.println(Num);
    while(Serial.read()>0);
    RX_Flag=0;}
  return Num;
}

发表于 2017-8-3 20:00 | 显示全部楼层
   感谢对社区开发大赛的支持,请比赛选手加入KittenBot杯第五届开源硬件开发大赛比赛交流群:226220454,如有问题可以随时在群里交流沟通。
 楼主| 发表于 2017-10-20 22:12 | 显示全部楼层
本帖最后由 日昏昏兮路遥遥 于 2017-10-22 00:36 编辑

后续还会改进

QQ截图20171020221154.png
 楼主| 发表于 2017-10-20 22:20 | 显示全部楼层
本帖最后由 日昏昏兮路遥遥 于 2017-10-22 00:39 编辑

用的航模电池(2sp),做的电阻分压检测电池电压,低于7v亮一个红灯报警。门外做了个电源开关,平常要开门时才通电,打开电源后单片机启动,亮一个绿灯提示,刷卡,舵机改的减速电机拉门把手一点时间(略多余需要的时间,电机堵转大概秒,确保拉开),最近太忙了(各种无语的原因),现在只是做了一个能用的,后续会慢慢优化,加位置检测,单片机直接开门,加个门内电源开关,不用每次在外面关电源
发表于 2017-10-20 22:36 | 显示全部楼层
需要重新发项目贴,具体要求请参考:
http://www.arduino.cn/thread-47517-1-1.html
发表于 2017-11-2 11:39 来自手机 | 显示全部楼层
发表于 2019-7-23 16:28 | 显示全部楼层
D:\Users\yang\Desktop大佬这是啥意思
微信截图_20190723162532.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 02:56 , Processed in 0.106483 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表