아두이노 응용 20 : RFID 보안카드 읽기

 

순서 :

1) SPI 통신
2) RFID 카드 리더기 RFID-RC522 설명
3) 회로 설명
4) 스케치 설명
5) 작동 확인

준비물

1) RFID-RC522 카드리더 와 카드 1개
2) 피에조 버저 1개
3) 브래드보드 1개
4) 필요시 핀 납땜
5) 점퍼선 다수
// RFID 522 Tone

#include <SPI.h>
#include <MFRC522.h>

int RST_PIN  =   9  ;  // UNO assigned pin
int SS_PIN   =   10 ;  // UNO assigned pin

MFRC522 m522(SS_PIN, RST_PIN);   // assign name

String rfid;
String rfid1="b9ca63a9" ;

void setup() {
   Serial.begin(9600);         
   while (!Serial);            
   SPI.begin();              
   m522.PCD_Init();      // Init m522 card
}

void dump(byte *buffer, byte bufferSize) {
   rfid="";
   for (byte i = 0; i < bufferSize; i++) {
       rfid=rfid + String(buffer[i], HEX);
   }
}
   
void loop() {    

if ( ! m522.PICC_IsNewCardPresent()) // Look new card
       return;  
if ( ! m522.PICC_ReadCardSerial()) // Select card
       return;
   dump(m522.uid.uidByte, m522.uid.size);  
   Serial.print(rfid);
   
   if (rfid==rfid1) {
     Serial.println(" Welcome Suzzi !!!");
     tone(4, 300, 100) ;  //Buzzer at PIN 4
     delay(500);
   }
   if (rfid != rfid1) {
     Serial.println(" Alert ");
     tone(4, 3000, 1500) ;
     delay(500);
   }
}