산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Arduino RFID 잠금 자습서

구성품 및 소모품

Arduino UNO
× 1
RFID 리더(일반)
× 1

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

친애하는 친구, 다른 튜토리얼에 오신 것을 환영합니다. 이것은 educ8s.tv의 Nick입니다. 오늘 우리는 이 RFID 리더를 Arduino와 함께 사용하여 간단한 잠금 시스템을 구축하는 방법을 배울 것입니다.

처음으로 우리는 Arduino와 함께 RFID 태그를 사용할 것입니다. 나는 리더 가까이에 배치한 각 RFID 태그의 고유 ID(UID)를 읽고 이 OLED 디스플레이에 표시하는 간단한 프로젝트를 구축했습니다. 태그의 UID가 Arduino의 메모리에 저장된 미리 정의된 값과 같으면 디스플레이에 "잠금 해제됨" 메시지가 표시됩니다. 카드의 고유 ID가 미리 정의된 값과 같지 않으면 잠금 해제 메시지가 나타나지 않습니다. 멋지지 않나요?

다룰 내용이 많으니 시작하겠습니다!

1단계:모든 부품 가져오기

이 프로젝트를 빌드하는 데 필요한 부품은 다음과 같습니다.

<울>
  • 아두이노 우노 ▶ https://store.arduino.cc/arduino-uno-rev3
  • <울>
  • RFID 리더기 ▶ http://educ8s.tv/part/RFID
  • <울>
  • OLED 디스플레이 ▶ http://educ8s.tv/part/OLED096
  • <울>
  • 작은 브레드보드 ▶ http://educ8s.tv/part/SmallBreadboard
  • <울>
  • 일부 전선 ▶ http://educ8s.tv/part/Wires
  • 옵션 부품:

    <울>
  • 파워뱅크 ▶ http://educ8s.tv/part/Powerbank
  • 프로젝트의 총 비용은 약 $15입니다.

    2단계:RC522 RFID 리더기

    각 RFID 태그에는 내부에 작은 칩이 있습니다. 이 RFID 카드 아래에 손전등을 놓으면 작은 칩과 그것을 둘러싼 코일을 볼 수 있습니다. 이 칩에는 전원을 공급하기 위한 배터리가 없습니다. 이 큰 코일을 사용하여 무선으로 리더기, 이 장치에서 전원을 수신합니다. 리더는 최대 20mm의 거리에서 이와 같은 RFID 카드를 읽을 수 있습니다!

    키체인 RFID 태그에도 동일한 칩이 존재합니다.

    각 RFID 태그에는 식별하는 고유 번호가 있습니다. 이것이 OLED 디스플레이에 표시되는 UID입니다. 이 UID를 제외하고 각 태그는 데이터를 저장할 수 있습니다. 이 유형의 카드에는 최대 1K의 데이터를 저장할 수 있습니다! 인상적이지 않나요? 오늘은 이 기능을 사용하지 않지만 향후 자습서에서 사용할 것입니다. 오늘날 우리가 관심을 갖는 것은 UID로 특정 카드를 식별하는 것입니다. RFID 리더와 이 두 개의 RFID 카드의 가격은 약 $4입니다.

    3단계:OLED 디스플레이

    이것은 Arduino와 함께 사용하기에 아주 좋은 디스플레이입니다. OLED 디스플레이라는 것은 그만큼 전력 소모가 적다는 뜻이다. 이 디스플레이의 전력 소비는 약 10-20mA이며 얼마나 많은 픽셀이 켜져 있는지에 따라 다릅니다.

    디스플레이는 128×64 픽셀의 해상도를 가지며 크기가 작습니다. 디스플레이에는 두 가지 변형이 있습니다. 그 중 하나는 흑백이고 다른 하나는 내가 사용하는 것과 같은 노란색과 파란색의 두 가지 색상을 표시할 수 있습니다. 화면 상단에는 노란색만 표시되고 하단에는 파란색만 표시됩니다.

    이 OLED 디스플레이는 매우 밝으며 훌륭한 라이브러리 지원을 제공합니다. Adafruit는 이 디스플레이를 위한 매우 훌륭한 라이브러리를 개발했습니다. 또한 디스플레이는 I2C 인터페이스를 사용하므로 Arduino와의 연결이 매우 쉽습니다. Vcc와 GND를 제외하고 2개의 전선만 연결하면 됩니다. Arduino를 처음 사용하고 저렴하고 사용하기 쉬운 디스플레이를 프로젝트에 사용하려면 디스플레이부터 시작하십시오. Arduino 프로젝트에 디스플레이를 추가하는 가장 쉬운 방법입니다. 이 튜토리얼에 첨부된 이 디스플레이를 사용하는 방법에 대한 자세한 튜토리얼을 준비했습니다.

    4단계:모든 부품 연결

    Arduino Uno 보드와의 연결은 매우 간단합니다. 먼저 리더와 디스플레이의 전원을 연결해 보겠습니다.

    RFID 리더는 Arduino Uno의 3.3V 출력에 연결해야 합니다. 그렇지 않으면 파손될 수 있습니다. 디스플레이는 3.3V에서도 작동할 수 있으므로 두 모듈의 Vcc를 브레드보드 포지티브 레일에 연결합니다. 이 레일은 Arduino Uno의 3.3V 출력에 연결됩니다. 다음으로 두 GND를 브레드보드 GND 레일에 연결합니다. 그런 다음 브레드보드의 GND 레일을 Arduino GND에 연결합니다.

    OLED 디스플레이 - Arduino

    Vcc ▶ 3.3V

    GND ▶ GND

    SCL ▶ 아날로그 핀 5

    SDA ▶ 아날로그 핀

    RFID 리더 - Arduino

    RST ▶ 디지털 핀 9

    IRQ ▶ 연결되지 않음

    MISO ▶ 디지털 핀 12

    MOSI ▶ 디지털 핀 11

    SCK ▶ 디지털 핀 13

    SDA ▶ 디지털 핀 10

    RFID 리더 모듈은 Arduino와 통신하기 위해 SPI 인터페이스를 사용합니다. 그래서 우리는 Arduino UNO의 하드웨어 SPI 핀을 사용할 것입니다. RST 핀은 디지털 핀 9로 이동합니다. IRQ 핀은 연결되지 않은 상태로 유지됩니다. MISO 핀은 디지털 핀 12에 연결되고 MOSI 핀은 디지털 핀 11에 연결됩니다. SCK 핀은 디지털 핀 13에 연결되고 마지막으로 SDA 핀은 디지털 핀 10에 연결됩니다. RFID 리더가 연결되었습니다. 이제 I2C 인터페이스를 사용하여 OLED 디스플레이를 Arduino와 연결해야 합니다. 따라서 디스플레이의 SCL 핀은 아날로그 핀 5로, 디스플레이의 SDA 핀은 아날로그 핀 4로 연결됩니다. 이제 프로젝트의 전원을 켜고 RFID 카드를 리더기에 가까이 놓으면 프로젝트가 제대로 작동하고 있음을 알 수 있습니다! 이제 프로젝트의 코드를 살펴볼 차례입니다.

    5단계:프로젝트 코드

    프로젝트 코드를 컴파일하려면 몇 가지 라이브러리를 포함해야 합니다. 우선 MFRC522 Rfid 라이브러리가 필요합니다. 설치하려면 스케치 -> 라이브러리 포함 -> 라이브러리 관리로 이동하십시오. MFRC522를 검색하여 설치합니다. 디스플레이용 Adafruit SSD1306 라이브러리와 Adafruit GFX 라이브러리도 필요합니다. 동일한 절차로 두 라이브러리를 모두 설치합니다. Adafruit SSD1306 라이브러리는 약간의 수정이 필요합니다. Arduino -> Libraries 폴더로 이동하여 Adafruit SSD1306 폴더를 열고 Adafruit_SSD1306.h 라이브러리를 편집합니다. 주석 행 70 및 주석 제거 행 69. 우리 디스플레이의 해상도는 128x64이며 여기에서 정의합니다. 이제 코드를 간단히 살펴볼 준비가 되었습니다.

    먼저 아두이노에서 인식하고자 하는 RFID 태그의 값을 선언합니다. 정수의 배열입니다.

    int 코드[] ={69,141,8,136}; //저장된 UID입니다. 

    다음으로 RFID 리더와 디스플레이를 초기화합니다.

    rfid.PCD_Init();display.begin(SSD1306_SWITCHCAPVCC, 0x3C); 

    그런 다음 루프 기능에서 100ms마다 리더의 태그를 확인합니다.

    리더에 태그가 있으면 UID를 읽고 디스플레이에 인쇄합니다. 다음으로, 방금 읽은 태그의 UID와 코드 변수에 저장된 값을 비교합니다. 값이 같으면 UNLOCK 메시지를 표시하고, 그렇지 않으면 이 메시지를 표시하지 않습니다.

    if(match) { Serial.println("\n이 카드를 알고 있습니다!"); printUnlockMessage(); }else { Serial.println("\n알 수 없는 카드"); } 

    물론 프로젝트에서 더 많은 RFID 태그를 인식할 수 있도록 1개 이상의 UID 값을 저장하기 위해 이 코드를 수정할 수 있습니다.

    이것은 단지 예일 뿐입니다. 항상 그렇듯이 이 튜토리얼에 첨부된 프로젝트 코드를 찾을 수 있습니다.

    RFID.ino

    6단계:최종 생각 및 개선 사항

    보시다시피 매우 저렴한 비용으로 RFID 리더를 프로젝트에 추가할 수 있습니다. 우리는 이와 같은 독자로 보안 시스템을 쉽게 구축하거나 더 재미있는 프로젝트를 구축할 수 있습니다.

    내 주요 의도는 이 RFID 리더와 많은 RFID 태그를 사용하여 아이들을 위한 대화형 게임을 만드는 것입니다. 향후 비디오에서는 RFID 태그에서 데이터를 쓰고 읽는 것도 시도할 것입니다. 이 시점에서 이 RFID 카드 리더기에 대한 귀하의 의견을 듣고 싶습니다. 프로젝트에서 사용할 계획이 있습니까? 아래 댓글 섹션에 의견이나 아이디어를 게시해 주세요. 감사합니다!

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • RFID.ino
  • 코드 스니펫 #3
  • RFID.ino아두이노
    미리보기 없음(다운로드만 가능).
    코드 스니펫 #3일반 텍스트
    if(match) { Serial.println("\n이 카드를 알고 있습니다!"); printUnlockMessage(); }else { Serial.println("\n알 수 없는 카드"); }

    제조공정

    1. Arduino RFID 잠금(RC522 포함) - MIFARE 프로토콜 13.56Mhz
    2. Arduino 지문 센서 자습서
    3. Arduino 튜토리얼:미니 피아노
    4. RFID를 사용한 DIY 아이디어
    5. RFID+릴레이+RFID 도어록 코드 =RFID PC 스위치!
    6. HID Prox RFID to Arduino
    7. Arduino 이더넷 Rfid 카드 리더기
    8. RFID를 사용한 Windows PC 잠금/잠금 해제
    9. Arduino 다중 스레드 방법(프로토스레딩 자습서)
    10. Arduino 튜토리얼 01:시작하기