아두이노 응용 21 RFID+LCD

 

목적 : RFID 에서 읽은 정보를 LCD 에 표시하기

 

 

준비물

1) RFID-RC522 카드리더 1 개 및 카드 세트
2) 16X2 LCD
3) 브래드보드
4) 필요시 핀 납땜
5) 점퍼선 다수
// RFID522_LCD_Tone

#include 
#include 
#include
LiquidCrystal lcd(8, 7, 5, 4, 3, 2) ;
int n =0 ;

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="카드번호" ;  // 예 "224b886f"
void setup() {
 lcd.begin(16,2) ;
 lcd.write(" Hello World ");
   Serial.begin(9600);         
   while (!Serial);            
   SPI.begin();              
   m522.PCD_Init();      // Init m522 card
}

//  To dump a byte array as hex values to Serial
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);
   }
   lcd.setCursor(0, 1) ;
 lcd.print(n);
 delay(500);
 n++ ;
}