วันอังคารที่ 5 กุมภาพันธ์ พ.ศ. 2562

RFID ใช้ร่วมกับ Relay

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

ไม่มีความคิดเห็น:

แสดงความคิดเห็น