找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1527|回复: 1
收起左侧

arduino对接RFID

[复制链接]
ID:599654 发表于 2019-8-13 10:43 | 显示全部楼层 |阅读模式
#include <Wire.h>
#include <SPI.h>
#include <RFID.h>
RFID rfid(10, 9);  //D10--读卡器SS引脚、D9--读卡器RST引脚
unsigned char Host1[5] {0x24, 0xA7, 0x49, 0xF2, 0x38};//卡一and卡二的数据(要换成你自己的卡号(去串口监视器例里看),也可以增加(就要增加代码))
unsigned char Host2[5] {0xBA, 0xE9, 0x94, 0x59, 0x9E};
void setup() {
  // put your setup code here, to run once:
  pinMode(2, OUTPUT);
  digitalWrite(2, LOW);
  Serial.begin(9600);
  SPI.begin();
  rfid.init();
}

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(" ");
      if (rfid.serNum[0] == Host1[0] && rfid.serNum[1] == Host1[1] && rfid.serNum[2] == Host1[2] && rfid.serNum[3] == Host1[3] && rfid.serNum[4] == Host1[4]) {
        
        digitalWrite(2, HIGH);
        delay(100);
        digitalWrite(2, LOW);
      }
      else if (rfid.serNum[0] == Host2[0] && rfid.serNum[1] == Host2[1] && rfid.serNum[2] == Host2[2] && rfid.serNum[3] == Host2[3] && rfid.serNum[4] == Host2[4]) {
        digitalWrite(2, HIGH);
        delay(100);
        digitalWrite(2, LOW);
      }
      else {
        
      }
    }
    //选卡,可返回卡容量(锁定卡片,防止多数读取),去掉本行将连续读卡
    rfid.selectTag(rfid.serNum);
  }
  rfid.halt();
}

回复

使用道具 举报

ID:1 发表于 2019-8-13 16:25 | 显示全部楼层
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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