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

日昏昏兮路遥遥 发表于 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;
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;
}

syl312 发表于 2017-8-3 20:00

   感谢对社区开发大赛的支持,请比赛选手加入KittenBot杯第五届开源硬件开发大赛比赛交流群:226220454,如有问题可以随时在群里交流沟通。

日昏昏兮路遥遥 发表于 2017-10-20 22:12

本帖最后由 日昏昏兮路遥遥 于 2017-10-22 00:36 编辑

后续还会改进

日昏昏兮路遥遥 发表于 2017-10-20 22:20

本帖最后由 日昏昏兮路遥遥 于 2017-10-22 00:39 编辑

用的航模电池(2sp),做的电阻分压检测电池电压,低于7v亮一个红灯报警。门外做了个电源开关,平常要开门时才通电,打开电源后单片机启动,亮一个绿灯提示,刷卡,舵机改的减速电机拉门把手一点时间(略多余需要的时间,电机堵转大概秒,确保拉开),最近太忙了(各种无语的原因),现在只是做了一个能用的,后续会慢慢优化,加位置检测,单片机直接开门,加个门内电源开关,不用每次在外面关电源

syl312 发表于 2017-10-20 22:36

需要重新发项目贴,具体要求请参考:
http://www.arduino.cn/thread-47517-1-1.html

圣茨柒武师 发表于 2017-11-2 11:39

YLXHDD 发表于 2019-7-23 16:28

D:\Users\yang\Desktop大佬这是啥意思
页: [1]
查看完整版本: 适用学校门禁卡的实验室刷卡门锁