標題: arduino對接RFID [打印本頁]
作者: 付小白 時間: 2019-8-13 10:43
標題: arduino對接RFID
#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();
}
作者: admin 時間: 2019-8-13 16:25
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |