상품카테고리 > 모듈/전기부품 > 유/무선 통신 > RFID

RFID Reader 브레이크아웃
판매가격 : 4,400
상품코드 :[3318]JOHN2
배송일 :당일발송
제조사 :Sparkfun
브랜드 :SparkFun [브랜드몰 바로가기]
남은수량 : 1개
구매수량 :
총 금액 :
추가&대량구매 요청 053-588-4080

RFID와 관련하여 저렴하게 구현할 수 있는 방법입니다. 

아두이노 나노 + RFID Glass Capsule (125kHz) RFID Reader Breakout + RFID Reader ID-12LA (125 kHz)

만으로 구현할 수 있습니다. 

Glass Capsure RFID 태그는 125KHz 태그로서 약 1cm의 길이로 굉장히 작습니다. 따라서 다양한 애플리케이션에 사용될 수 있는데, 
저는 이를 이용하여 블럭의 면을 센서로 디텍션하는 프로젝트를 만들어볼까합니다. 

구성은 굉장히 간단합니다. 

먼저, RFID Reader ID-12LA를 RFID Reader Breakout에 연결합니다. 
 
빨간색이 Breakout이며, 그 위에 RFID Reader를 삽입합니다. 이 때, 1번에서 11번까지의 홀에 핀헤더(male)를 납땜해서 브레드보드에 끼웁니다. 이걸로 끝.
그 다음에는 다음과 같이 회로를 만들면 되는데, 

ID12 Breakout (위의 빨간색 보드) ------------- 아두이노 나노 

1번 ---------------------------------------- GND
2번 ---------------------------------------- D13번
3번 ---------------------------------------- X
4번 ---------------------------------------- X
5번 ---------------------------------------- X
6번 ---------------------------------------- X
7번 ---------------------------------------- GND
8번 ---------------------------------------- X
9번 ---------------------------------------- D0번
10번 ---------------------------------------- X
11번 ----------------------------------------  5V

위와 같이 연결하면 다음의 프로그램을 업로드합니다.

아두이노 소스코드

int RFIDResetPin = 13;

//Register your RFID tags here
char tag1[13] = "004DB977AF2C";
char tag2[13] = "004DB9773FBC";
char tag3[13] = "004DB977E665";
char tag4[13] = "004DB97766E5";
char tag5[13] = "004DB9773DBE";
char tag6[13] = "004DB97625A7";
char tag7[13] = "004DB976CD4F";
char tag8[13] = "004DB9760E8C";
char tag9[13] = "004DB9799914";
char tag10[13] = "004DB9771B98";

void setup(){
  Serial.begin(9600);

  pinMode(RFIDResetPin, OUTPUT);
  digitalWrite(RFIDResetPin, HIGH);

}

void loop(){

  char tagString[13];
  int index = 0;
  boolean reading = false;

  while(Serial.available()){

    int readByte = Serial.read(); //read next available byte
    
    if(readByte == 2) reading = true; //begining of tag
    if(readByte == 3) reading = false; //end of tag

    if(reading && readByte != 2 && readByte != 10 && readByte != 13){
      //store the tag
      tagString[index] = readByte;
      index ++;
    }
  }
  //Serial.println(tagString);
  checkTag(tagString); //Check if it is a match
  clearTag(tagString); //Clear the char of all value
  resetReader(); //eset the RFID reader
}

void checkTag(char tag[]){

  if(strlen(tag) == 0) return; //empty, no need to contunue
  else
  {
    Serial.println(tag); //read out any unknown tag
   }
}


void resetReader(){
///////////////////////////////////
// RFID 리셋
///////////////////////////////////
  digitalWrite(RFIDResetPin, LOW);
  digitalWrite(RFIDResetPin, HIGH);
  delay(150);
}

void clearTag(char one[]){
  for(int i = 0; i < strlen(one); i++){
    one[i] = 0;
  }
}

boolean compareTag(char one[], char two[]){


  if(strlen(one) == 0) return false; //empty

  for(int i = 0; i < 12; i++){
    if(one[i] != two[i]) return false;
  }

  return true; 
}


__________________________________________________________________________________________
위의 소스코드에서 태그 주소: <"004DB977AF2C">는 처음에 모르기 때문에 하나씩 리더에 가져다 대면서 시리얼모니터에 뜨는 값을 저장하였습니다. 10개 값을 일일이 저장하였고, 이를 통해서 어떤 RFID가 읽히게 되는지 감지가 됩니다. 이를 이용하여 문을 열게하는 알고리즘을 만들면, 리더로 문을 여는 것이 가능하고, 보다 정확하게 하기 위해서는 RFID와 지문인식기를 통해 2중-3중 보안도 가능할 것 같습니다. 
간단한 데모 영상입니다.

 

Description: This is a simple breakout board for our RFID readers. This board will bring the 2mm spaced pins out to two 0.1" spaced headers. You can solder the reader directly to the breakout board or use our 2mm sockets.

Breakout board fits within and under the ID-12. The board also works with the ID-20, but is smaller than the edges of the ID-20.

Documents:

▶아래 플러스 친구 버튼을 통해 다양한 정보와 교제 자료 및 이벤트등의 소식을 받아보실 수 있습니다.







견적요청
구매대행
퀵/방문수령
후불결제
기술문의