프로그래밍/아두이노

아두이노 우노 RFID 카드 사용법 및 코드, 아두이노 연결, 핀맵, 실습 결과 살펴보기

전자장인 2023. 10. 18.
반응형

안녕하십니까

전력전자 각종MCU를 공부하고 최종적으로 작품을 만드는 전자 장인 입니다 

 

오늘의 주제는

아두이노 우노 RFID 카드 사용법 및 코드, 아두이노 연결, 핀맵, 실습 결과 살펴보기

 

1. RFID 개요

1. RFID (Radio-Frequency Identification)

무선 식별 기술로써 무선 통신을 통해

정보를 읽고 쓸 수 있는 작은 카드 or 태그를 의미합니다.

제어, 보안시스템, 자동차 키, 도서관리, 제조업 및 물류 등

다양한 응용 분야에 사용되고 있습니다.

2. 시스템 구성

RFID 카드

RFID 칩이 내장되어 있으며,

정보를 저장하고 무선으로 송수신 가능합니다.

플라스틱 카드 등으로 사용되고 있으며

RFID칩에는 고유한 식별번호가 저장되어 있습니다.

 

RFID 리더기

RFID 카드와 통신하기 위한 장치로,

RF 신호를 생성하고 정보를 읽고 쓸 수 있습니다.

 

마이크로컨트롤러(MCU), 컴퓨터

RFID 데이터를 읽어와 정보를 처리하는데 사용하는 장치입니다.

카드의 식별번호를 읽고 처리하기 위해 필수적으로 사용됩니다.

3. RFID 카드의 장점

무선 통신을 사용하므로 접촉없이 정보를 읽고 쓸 수 있으며

빠른 읽기 및 쓰기 속도, 긴 수명, 낮은 비용, 높은 식별력을 가지고 있습니다.

2. 아두이노 우노 RFID 제어 실습 환경 세팅

1. 실습준비물

실습 준비물로는 다음과 같이 준비해주세요

1. 아두이노 우노 

2. 브레드보드

3. RFID 카드 (1개 이상)

4. RFID 리더기

5. 점퍼와이어

2. MFRC522 설치

Arduino IDE 열기

Arduino IDE를 시작하고, 라이브러리 관리자를 열기 위해 메뉴에서

"스케치 (Sketch)" 

"라이브러리 포함하기 (Include Library)" 

"라이브러리 관리 (Manage Libraries)"를

선택합니다.

 

라이브러리 관리창

라이브러리 관리창이 열립니다.

여기에서 Arduino IDE에서 사용 가능한

라이브러리를 검색하고 설치할 수 있습니다.

MFRC522 검색

라이브러리 관리창의 상단에 있는 검색 상자에

"MFRC522"를 입력하고 Enter 키를 누릅니다.

 

라이브러리 선택 및 설치

검색 결과에서 "MFRC522" 라이브러리를 찾아보고,

우측에 있는 "설치 (Install)" 버튼을 클릭합니다.

 

설치 진행: 설치 버튼을 클릭하면 라이브러리가 다운로드되고 설치됩니다.

설치가 완료되면 "설치" 버튼이 "제거" 버튼으로 변경됩니다.

 

3. 아두이노 우노 및 RFID 리더기 핀맵 연결

.

 

아두이노 우노 핀 RFID 리더기 핀
3.3.V 3.3V
GND GND
9 pin RST
10 pin SDA (SS)
11 pin MOSI
12 pin MISO
13pin SCK (SCL)

아두이노 우노와 RFID 리더기 간 연결 핀맵은 다음과 같습니다.

해당 핀맵 확인 후 연결해주세요

 

4. 코드 작성 및 결과 확인

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

#define RST_PIN 9    // RST 핀 설정

#define SS_PIN 10    // SDA(SS) 핀 설정

MFRC522 mfrc522(SS_PIN, RST_PIN);  // MFRC522 라이브러리 사용


void setup() {

  Serial.begin(9600);  // 시리얼 통신 시작
  SPI.begin();         // SPI 통신 시작
  mfrc522.PCD_Init();   // MFRC522 모듈 초기화
  Serial.println("Scan an RFID card to get the UID...");
}

void loop() {

  // 카드가 감지되면
  if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
    Serial.print("UID 태그 발견: ");
    for (byte i = 0; i < mfrc522.uid.size; i++) {
      Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
      Serial.print(mfrc522.uid.uidByte[i], HEX);
    }
    Serial.println();
    mfrc522.PICC_HaltA();  // 카드를 멈춤
  }
}

아두이노 IDE 프로그램에 다음과 같은 코드를 작성한 후 

디버깅 및 프로그램을 아두이노에 입혀 실습을 진행합니다

RFID 카드의 번호를 알기 위해서

시리얼 모니터를 클릭하여 창을 열어줍니다.

 

다음과같이 RFID 카드를 리더기 가까이 위치하면

카드마다 고유번호를 확인할 수 있습니다

카드의 고유번호를 사용하여

이후 제어실습을 진행하도록 하겠습니다.

감사합니다.

 

지금까지 전력전자 각종MCU를 공부하고 최종적으로 작품을 만드는 전자 장인 이었습니다

감사합니다

반응형

댓글

💲 추천 글