#include <SPI.h>
#include <RFID.h>
#define SS_PIN 10 //กำหนดให้บัตรคียการ์ดเป็นขา 10
#define RST_PIN 9 //กำหนดให้rfid พวงกุญแจเป็นขา 9
RFID rfid(SS_PIN, RST_PIN);
// Setup variables:
int serNum0;
int serNum1;
int serNum2;
int serNum3;
int serNum4; //กำหนดให้มีชนิดตัวแปล 5 ชนิด
void setup()
{
Serial.begin(9600); //กำหนดให้ใช้ Serial monitor
SPI.begin();
rfid.init();
}
void loop()
{
if (rfid.isCard()) {
if (rfid.readCardSerial()) { //อ่านค่าเลขบัตรเก็บในSerial
if (rfid.serNum[0] != serNum0
&& rfid.serNum[1] != serNum1
&& rfid.serNum[2] != serNum2
&& rfid.serNum[3] != serNum3
&& rfid.serNum[4] != serNum4
) {
/* With a new cardnumber, show it. */
Serial.println(" ");
Serial.println("Card found");
serNum0 = rfid.serNum[0];
serNum1 = rfid.serNum[1];
serNum2 = rfid.serNum[2];
serNum3 = rfid.serNum[3];
serNum4 = rfid.serNum[4];
//Serial.println(" ");
Serial.println("Cardnumber:");
//สั่งการให้บัตรคียการ์ดทำงานแล้วส่งค่าไปใน Serial monitor
Serial.print("Dec: ");
Serial.print(rfid.serNum[0],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[1],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[2],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[3],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[4],DEC);
Serial.println(" ");
Serial.print("Hex: ");
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(" ");
} else {
/* If we have the same ID, just write a dot. */
digitalWrite(SS_PIN,HIGH); //ในขนาดที่แตะบัตรให้ส่งเสียง ในดีเลย์ 100s
delay(100);
digitalWrite(SS_PIN,LOW); //ในขนาดที่แตะบัตรจะให้เงียบ ในดีเลย์ 100s
delay(100);
}
}
}
rfid.halt();
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น