RFID-RC522 무선 IC 카드 감지 모듈

RFID-RC522 무선 IC 카드 감지 모듈

1、소개

2、시뮬레이션 그래프

3、모듈 매개변수

핀 이름

설명

SDA

시리얼 데이터 라인

SCK

MCU에 연결된 SCK 신호

MOSI

MCU 출력, RC522 수신

IRQ

割り込み 요청 출력

GND

지지

PST

복구

3.3V

작업전압

  • 공급전압: 3.3V

  • 연결 방식: 2.54mm 레이아웃 핀저

  • 安装方式:螺丝固定

4、회로판 크기

5、아두이노 IDE 예제 프로그램

주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
Arduino IDE 라이브러리 다운로드 및 导入 가이드:
点击查看

예제 프로그램(UNO 개발 보드):

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




String card[]={"83a08a34","83db1c13"};


String name[]={"YOU","I"};


MFRC522 rfid(10, 9);
String RFID_CardUID;
Servo servo_3;


String MFRC522_ReadCardUID(MFRC522 *_name){
  String _CardUID = "";
  for (byte _i = 0; _i < _name->uid.size; _i++){
    if(_name->uid.uidByte[_i] < 0x10)
      _CardUID += "0";
    _CardUID += String(_name->uid.uidByte[_i], HEX);
  }
  return _CardUID;
}


boolean MFRC522_IsNewCard(MFRC522 *_name){
  if(!_name->PICC_IsNewCardPresent())
    return false;
  if(!_name->PICC_ReadCardSerial())
    return false;
  return true;
}


void setup(){
  Serial.begin(9600);
  SPI.begin();
  rfid.PCD_Init();
  RFID_CardUID = "";
  servo_3.attach(3);
  Serial.println("读取RFID卡号测试");
  servo_3.write(90);
  delay(10);
}


void loop(){
  if(MFRC522_IsNewCard(&rfid)){
    RFID_CardUID = MFRC522_ReadCardUID(&rfid);
    Serial.println(String("Card UID:") + String(RFID_CardUID));
    for (int i = (0); i <= (sizeof(card)/sizeof(card[0])); i = i + (1)) {
      if (RFID_CardUID == card[i]) {
        Serial.println(name[i]);
        servo_3.write(179);
        delay(2000);


      }
      servo_3.write(90);
      delay(10);
    }
    rfid.PICC_HaltA();
    rfid.PCD_StopCrypto1();
  }
  delay(10);


}

6、ESP32 Python 예제(Mixly IDE /미스키에 적용됨)

개발 보드를 선택하세요 Python ESP32 【ESP32 Generic(4MB)】를 코드 모드로 전환하여 업로드하십시오

주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
미시지(Mixly)IDE ESP32 라이브러리 다운로드 및 가져오기 가이드:
点击查看

예제 프로그램(ESP32-Python):

import machine
import rc522
import servo
import time


spi = machine.SoftSPI(baudrate=1000000, sck=machine.Pin(18), mosi=machine.Pin(23), miso=machine.Pin(19))
ysensor = rc522.RC522(spi,5)
while True:
    print(('卡片编号:' + str(ysensor.read_card(0, x="id"))))
    while ysensor.read_card(0, x="id"):
        servo.servo180_angle(2,0)
        time.sleep(3)
    servo.servo180_angle(2,180)
    time.sleep_ms(300)

7、미스키 Mixly 예제 프로그램(그래픽 언어)

예제 프로그램(UNO 개발 보드):다운로드 클릭
주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
미스키(Mixly)IDE Arduino 라이브러리 다운로드 및 가져오기 가이드:点击查看

예제 프로그램(ESP32 개발 보드):다운로드 클릭
주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
미시지(Mixly)IDE ESP32 라이브러리 다운로드 및 가져오기 가이드:
点击查看

8、테스트 환경 구축

Arduino UNO 테스트 환경 구축

부품 준비:“

  • UNO-R3 개발보드*1

  • UNO-R3 P 확장보드

  • USB type-c 데이터 케이블 *1

  • RFID-RC522 라디오파 IC 카드 감응 모듈*1

  • 비어있는 카드*1

  • 이상형 카드*1

  • 9g 자동기*1

  • 1P 어머니와 어머니 던버온 라인 *7개 또는 7P 어머니와 어머니 던버온 라인 *1개

전기 연결도):

ESP32 테스트 환경 설정

부품 준비:“업데이트 대기 중...

전기 연결도): 업데이트 대기 중...

9、비디오 강의

비디오 강의:点击查看

10、테스트 결과

Arduino UNO 테스트 결과:

선을 연결한 장치를 이어서, 위의 프로그램을 Arduino UNO 개발 보드에 프로그램을 기록한 후, 카드를 스캔하면 서보 모터가 문을 열고 닫는 모션을 시뮬레이션합니다。

ESP32 테스트 결과:

업데이트 대기 중...