arduino之基于arduino的门禁系统卷闸门智能app系统

[kenrobot_code]/*

   RC522门禁系统V2.0

   by ac-dc

   接线:

   RC522:     ARDUINO

   SDA<------->D10

   SCK<------->D13

   MOSI<------>D11

   MISO<------>D12

   RST<------->D9

   IRQ<------->不接

   3V3<------->3.3V(千万不能接5V)

   GND<------->GND

   LCD:       ARDUINO

   SCL<------->SCL

   SDA<------->SDA                      LED&BUZZER:   

   RED<------->D3

   GREEN<-->D2

   BUZZER<>D4

*/

#include <LiquidCrystal_I2C.h>

#include <Wire.h>

#include <SPI.h>

#include <RFID.h>

RFID rfid(10, 9);  //实例化一个读卡器,10是读卡器SS引脚、9是读卡器RST引脚

LiquidCrystal_I2C lcd(0x3F, 16, 2);//实例化一个LCD1602(不要问我为什么不是2004),地址是0x3F,一排可以显示16个字符,可以显示两排

#define Host 2//要修改人员数量就修改这里

boolean u = 0;//程序需要(下面会讲)

int host[Host][5] = { //人员数据

  {0x24, 0xA7, 0x49, 0xF2, 0x38},

  {0xBA, 0xE9, 0x94, 0x59, 0x9E},

};

void setup() {

  // put your setup code here, to run once:

  pinMode(2, OUTPUT); //绿灯(如果读出的卡是对的,那么就亮绿灯)

  pinMode(3, OUTPUT);//红灯(如果读出的卡是错的,那么就亮红灯)

  pinMode(4, OUTPUT);

  Serial.begin(9600);

  SPI.begin();

  rfid.init();

  lcd.init();

  lcd.backlight();

  lcd.print(" Welcome to use ");

  delay(700);

  lcd.clear();

  lcd.print("Put card here");

}

void loop() {

  if (rfid.isCard()) {//读到了卡

    Serial.println("Find the card!");

    //读取卡序列号

    if (rfid.readCardSerial()) {

      Serial.print("The card's number is  : ");

      Serial.print(rfid.serNum[0], HEX);

      Serial.print(" ");

      Serial.print(rfid.serNum[1], HEX);

      Serial.print(" ");

      Serial.print(rfid.serNum[2], HEX);

      Serial.print(" ");

      Serial.print(rfid.serNum[3], HEX);

      Serial.print(" ");

      Serial.print(rfid.serNum[4], HEX);

      Serial.println(" ");

      for (int i = 0; i < Host; i++) {

        if (rfid.serNum[0] == host[0] && rfid.serNum[1] == host[1]  && rfid.serNum[2] == host[2] && rfid.serNum[3] == host[3]  && rfid.serNum[4] == host[4] ) {

          digitalWrite(2, HIGH);//亮绿灯,放行

          u = 1;//这里为了标记读到了列表中的卡

          lcd.clear();

          lcd.home();

          lcd.print("  The Host");

          lcd.print(i);

          lcd.setCursor(0, 1);

          lcd.print("Welcome go back!");

          delay(10);

          tone(4, 300);

          delay(200);

          tone(4, 1200);

          delay(200);

          noTone(4);

          digitalWrite(3, LOW);

          delay(590);

          lcd.clear();

          lcd.home();

          lcd.print("Put card here");

          digitalWrite(2, LOW);//绿灯灭

        }

      }

      if (!u) { //如果读到的卡不在列表中,那么执行下面程序

        digitalWrite(3, HIGH);//红灯亮,不放行(哈哈哈)

        tone(4, 200);//播放错误声(有点像答错了的声音)

        lcd.clear();//清屏,为了报错

        lcd.home();

        lcd.print("Unkonw card");

        delay(700);

        digitalWrite(3, LOW);

        noTone(4);

        delay(300);

        lcd.clear();

        lcd.home();

        lcd.print("Put card here");

      }    

      rfid.selectTag(rfid.serNum);//选卡,可返回卡容量(锁定卡片,防止多数读取),去掉本行将连续读卡

    }

    rfid.halt();

    u = 0; //为了下一次读卡准备

  }

}[/kenrobot_code]

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

大中专招生方法二:机器人电话外呼(ai外呼)人工智能外呼系统(含机器人话术模板)|大中专招生方法,机器人外呼,人工智能电话外呼,大专招生方法,中专招生方法,学校招生方法,中职招生方法,机器人话术模板,大中专,招生,方法,机器人,电话,外呼,ai外呼,人工智能,系统,机器,人话,模板
大中专招生方法二:机器人电话外呼(ai外呼)人工智能外呼系统(含机器人话术模板)

历史上的今天:04月20日

APP开发时间

APP开发时间选择一个成熟、专业的APP的开发团队,开发进程会相对顺畅得多,专业的团队能够及时解决问题,保证APP项目的开发质量和开发时间。相反,如果选择一个小的APP开发团队,可能其缺乏项目经验,技术、团队协作不够成熟等,会导致对项目的进程可控性不强。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎洽谈合作。下面我们讨论一下APP开发的时间,希望对大家有所帮助。1. 数据储存建立本地App

热门专题

综合高中|云南综合高中,昆明综合高中,综合高中能考本一吗,综合高中和普通高中的区别,综合高中是什么意思,综合高中能参加全国统一高考吗,综合高中可以考哪些大学,综合高中的学籍是什么
综合高中
小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发
云南综合高中|云南综合高中
云南综合高中
安徽中源管业|安徽中源管业,安徽中源管业mpp电力管,安徽中源管业cpvc电力管,安徽中源管业pe穿线管,安徽中源管业电力管,安徽中源管业排水管,安徽中源管业通信管,安徽中源管业管材
安徽中源管业
自考本科|自考本科有用吗,自考文凭,自考本科文凭,自考文凭有用吗,自考本科文凭有用吗,自考文凭承认吗
自考本科
易捷尔单招|易捷尔单招,易捷尔单招培训,易捷尔单招报名,易捷尔单招考试,易捷尔单招培训学校,易捷尔单招分数
易捷尔单招
国家开放大学|国家开放大学报名,国家开放大学报考,国家开放大学,什么是国家开放大学,国家开放大学学历,国家开放大学学费,国家开放大学报名条件,国家开放大学报名时间,国家开放大学学历,国家开放大学专业
国家开放大学
卓越综合高中|卓越综合高中
卓越综合高中

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部