#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();
}
|