본문 바로가기
Arduino(아두이노) 활용 강좌

Arduino Uno 로 MFRC-522 RC522 RFID 모듈과 서보모터를 사용해 도어락 만들어 보기

by 오마이엔지니어 2021. 12. 24.
반응형

Arduino Uno 로 MFRC-522 RC522 RFID 의 사용방법을 알아보고
LED와 SG90 마이크로 서보모터를 사용해서 도어락을 구성해 보는 프로젝트 입니다

먼저 Arduino Uno 로 MFRC-522 RC522 RFID 모듈을 사용해 IC카드 리더, 근접 키체인 모듈을 가져다 댔을때
아두이노 IDE의 시리얼 모니터로 IC카드 리더, 근접 키체인 모듈의 ID 출력값을 표시해 보는 프로젝트 입니다

MFRC-522 RC522 RFID IC카드 리더, 근접 키체인 모듈은 RFID 카드와 리더에서 사용되는 기술의 이해와
MIFARE Classic RFID cards 의 기본적인 하드웨어 및 소프트웨어 기능을 이해하는데 도움이 됩니다
SPI bus devices 를 사용하는 방법을 배우는데 도움이 되며 도어락 이나 출입 경보 시스템 등을 만들어 보는데도 활용이 가능합니다

<MFRC-522 RC522 RFID IC카드 리더, 근접 키체인 모듈 상세설명>

 

 

사용된 부품

Arduino Uno R3 (Italy)

브래드 보드

MFRC-522 RC522 RFID IC카드 리더, 근접 키체인 모듈(클릭)

점퍼케이블

 

사용된 키트

아두이노 MFRC-RC522 RFID 키트 (도어락 키트)


구성 배선도 

  

사용된 예제소스  

RFID.txt

 

사용된 라이브러리

rfid-master.zip


rfid-master 라이브러리를 첨부하였습니다

라이브러리 추가 방법은 Arduino IDE 설치하기 포스팅을 참조해 주세요


주의사항
MFRC-522 RFID 모듈의 동작전압은 3.3V 입니다, 5V 전압 인가시 모듈에 손상이 갈수 있습니다


테스트시 자신의 컴퓨터 내문서 Arduino 폴더내의 라이브러리 폴더에
SPI.h 라이브러리가 추가 되어 있는지 꼭 확인해 주세요

추가되어 있다면 SPI.h 를 삭제하고 테스트 하길 바랍니다


Arduino IDE 를 설치하면 SPI.h 가 기본적으로 포함되어 있습니다

Arduino IDE 를 기본으로 설치 했을때 설치되어 있는 SPI.h 라이브러리를 제외한

별도로 다른 SPI.h 라이브러리를 라이브러리 폴더에 설치 했다면 MFRC 라이브러리가 정상적으로 업로드 되지 않을수 있습니다
 

프로젝트 동영상


정상적으로 코드가 업로드 되고 RFID모듈과 배선에 문제가 없다면, 모듈에 IC카드나 키체인을 가져다 대면
시리얼 모니터를 통해서 ID값이 출력되어 나옵니다

모듈을 바닦에 놓고 테스트 했을때 터치 반응이 없거나 잘 되지 않는경우
모듈을 세우거나 바닦에서 이격 시켜서 테스트해보면 정상적으로 동작할수 있습니다

이어서 Arduino Uno 로 MFRC-522 RC522 RFID 모듈을 사용해 IC카드 리더, 근접 키체인 모듈을 가져다 댔을때
LED가 점등되고 서보모터가 움직여서 도어락과 같은 구성이 되도록 만들어 보는 프로젝트입니다

사용된 부품

Arduino Uno R3 (Italy)

미니 브래드 보드

MFRC-522 RC522 RFID IC카드 리더, 근접 키체인 모듈(클릭)
SG90 마이크로 서보모터 

점퍼케이블
5mm LED (녹색, 적색)
막대저항 220 ohm - 2개


사용된 예제소스

RFID.zip
0.00MB

사용된 라이브러리

RFID Library.zip
0.01MB

RFID 라이브러리를 첨부하였습니다
라이브러리 추가 방법은 Arduino IDE 설치하기 포스팅을 참조해 주세요

구성 배선도 - LED와 서보모터 제어해 보기 (도어락 만들기)


테스트 방법
RFID 라이브러리 설치가 필요합니다, 포스팅 위쪽의 ID를 확인하는 라이브러리와는 틀리므로
RFID Library 를 꼭 다운로드해서 설치해 주고 테스트합니다
라이브러리 설치가 끝났으면 첨부된 예제코드 압출파일을 해제해서 RFID.ino 파일을 열어서 스케치 업로드 해도 되고
RFID_LED_Servo_Serial Number 파일을 열어서 복사해서 아두이노 IDE 에 붙여넣고 스케치 업로드 해 주어도 됩니다
배선은 ID를 확인하는 배선도와 동일한데 추가적으로 서보모터 (아두이노 3번핀)와 LED (아두이노 5,6번핀)를 배선해야 합니다

배선이 끝나면 먼저 시리얼 모니터를 실행한 다음 MFRC-522 RC522 RFID 모듈에 IC카드나 키체인을 가져다 대고
시리얼넘버를 확인해야 합니다, 동영상에서 확인할 수 있듯이

이미지 처럼 IC카드는 941021410610 이라는 시리얼 넘버를 확인할 수 있습니다

이미지 처럼 키체인은 47138161015 이라는 시리얼 넘버를 확인할 수 있습니다


이제 예제코드로 돌아와서
String accessGranted [2] = {"310988016", "19612012715"};
이 부분을 자신의 IC카드와 키체인의 시리얼 넘버에 맞게
String accessGranted [2] = {"47138161015", "941021410610"}; 이런식으로 수정해 줍니다
수정후 스케체 업로드 해 주면 됩니다

예제코드를 살펴보면
#include <SPI.h> 
#include <RFID.h>
#include <Servo.h> 

위와같은 라이브러리를 사용합니다 SPI.h 라이브러리는 역시 중복 되지 않도록 주의합니다

int redLEDPin = 5;
int greenLEDPin = 6;
연결된 LED 핀맵을 확인할 수 있습니다

Servo lockServo;                //Servo for locking mechanism
int lockPos = 15;               //Locked position limit
int unlockPos = 75;             //Unlocked position limit
boolean locked = true;
서보모터의 lock잠금과 unlock해제 되었을때 포지션을 확인할 수 있습니다

SPI 통신으로 IC카드와 키체인의 시리얼 넘버를 확인해서 true일 경우 녹색 LED를 ON 시키고

서보모터를 unlock해제 시키며 false일 경우 적색 LED를 ON 시킵니다

프로젝트 동영상 - LED와 서보모터 제어해 보기 (도어락 만들기)


이 처럼 아두이노로 간단하게 MFRC-522 RC522 RFID 모듈을 사용해서 LED와 서보모터를 
제어할 수 있으며 케이스나 구조물을 만들어서 도어락처럼 활용할수 있습니다 

반응형

댓글