라즈베리 파이 RFID 서보 모터
이 튜토리얼은 Raspberry Pi와 RFID NFC RC522 모듈을 사용하여 서보 모터를 제어하는 방법을 안내합니다. 과정은 다음과 같이 진행됩니다:
- 허가된 태그가 태그될 때 라즈베리 파이는 서보 모터를 90° 회전시킵니다.
- 동일한 허가된 태그가 다시 태그될 경우, 라즈베리 파이는 서보 모터를 0°로 되돌립니다.
- 이 사이클은 계속 반복됩니다.
이는 캐비닛, 서랍, 문을 잠그거나, 반려동물 급식기를 열고 닫는 데 사용할 수 있습니다...
준비물
1 | × | 라즈베리 파이 5 | 아마존 | |
1 | × | RFID/NFC RC522 Kit (reader + tags) | 쿠팡 | 아마존 | |
1 | × | RFID Key Fob | 쿠팡 | 아마존 | |
1 | × | RFID Card | 아마존 | |
1 | × | 서보 모터 | 쿠팡 | 아마존 | |
1 | × | 5V 전원 어댑터 | 아마존 | |
1 | × | DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
1 | × | (추천) 라즈베리 파이용 스크루 터미널 블록 쉴드 | 쿠팡 | 아마존 | |
1 | × | (추천) 라즈베리 파이 프로토타이핑 베이스 플레이트 & 브레드보드 키트 | 아마존 | |
1 | × | (추천) 라즈베리 파이용 HDMI 터치 스크린 모니터 | 아마존 |
RFID/NFC RC522 모듈 및 서보 모터에 대하여
RFID/NFC RC522 모듈 및 서보 모터(핀 배치, 작동 방식, 프로그래밍 방법 포함)에 익숙하지 않은 경우, 다음 튜토리얼에서 더 많은 정보를 제공할 수 있습니다:
- 라즈베리 파이 - RFID 튜토리얼
- 라즈베리 파이 - 서보 모터 튜토리얼
작동 방식
- 특정 RFID/NFC 태그의 UID가 라즈베리 파이 코드에 프로그래밍되어 있습니다.
- 사용자가 RFID/NFC 태그를 RFID/NFC 리더기에 접촉하면, 리더기가 태그로부터 UID를 읽어냅니다.
- 라즈베리 파이는 리더기로부터 UID를 수신하여 사전 정의된 UID와 비교합니다.
- UID가 사전 정의된 UID 중 하나와 일치하면, 라즈베리 파이는 서보 모터를 90°로 제어합니다.
- 태그가 다시 접촉되면, 라즈베리 파이는 서보 모터를 0°로 되돌립니다.
- 이 과정은 계속 반복됩니다.
선연결
![라즈베리 파이 RFID rc522 서보 모터 배선도](https://newbiely.kr/images/tutorial/raspberry-pi-rfid-servo-motor-wiring-diagram.jpg)
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:
![라즈베리 파이 screw terminal block shield](https://newbiely.kr/images/tutorial/raspberry-pi-screw-terminal-block-shield.jpg)
위의 배선도에서 5V 어댑터는 Raspberry Pi의 3.3V 핀을 통해 간접적으로 Raspberry Pi, 서보 모터 및 RC522 모듈에 전원을 공급하는 데 사용됩니다.
※ 주의:
핀 배열은 제조업체에 따라 다를 수 있습니다. 항상 모듈에 인쇄된 라벨을 사용하세요. 위 이미지는 DIYables 제조업체의 모듈 핀 배치를 보여줍니다.
간단함을 위해 위의 배선도는 테스트나 교육용으로 사용되며, 작은 토크의 서보 모터에 적합합니다. 실제로는 서보 모터에 외부 전원을 사용하는 것이 좋습니다. 서보 모터에 외부 전원을 공급하는 방법에 대해서는 라즈베리 파이 - 서보 모터 튜토리얼을 참조하세요.
RFID/NFC RC522 모듈의 배선 표
RFID/NFC RC522 | Raspberry Pi |
---|---|
SS | → GPIO 8 (SPI0 CS) |
SCK | → GPIO 11 (SPI0 SCL) |
MOSI | → GPIO 10 (SPI0 MOSI) |
MISO | → GPIO 9 (SPI0 MISO) |
IRQ | not connected |
GND | → Any GND Pin |
RST | → Pin 31 (GPIO12) |
VCC | → Pin 1 or Pin 16 (3.3V) |
서보 모터 배선 표
Servo Motor | Arduino | 5V DC Adapter |
---|---|---|
VCC (red) | → positive | |
GND (brown) | → negative | |
SIG (yellow) | → A5 |
5V DC 어댑터의 배선표
5V DC Adapter | Servo Motor | Raspberry Pi |
---|---|---|
Positive | → VCC | |
Positive | -> Vin | |
Negative | → GND | |
Negative | → GND |
라즈베리 파이 코드 - 단일 RFID/NFC 태그
자세한 사용 방법
- Raspberry Pi에 Raspbian 또는 다른 호환되는 운영 체제가 설치되어 있는지 확인하십시오.
- PC와 동일한 로컬 네트워크에 Raspberry Pi가 연결되어 있는지 확인하십시오.
- 일부 라이브러리를 설치해야 하는 경우 인터넷에 연결되어 있는지 확인하십시오.
- Raspberry Pi를 처음 사용하는 경우, 라즈베리 파이 - 소프트웨어 설치을 참조하십시오.
- Linux 및 macOS의 내장 SSH 클라이언트 또는 Windows의 PuTTY를 사용하여 SSH를 통해 PC를 Raspberry Pi에 연결하십시오. SSH를 통해 PC를 Raspberry Pi에 연결하는 방법을 참조하십시오.
- RPi.GPIO 라이브러리가 설치되어 있는지 확인하십시오. 그렇지 않으면 다음 명령어를 사용하여 설치하십시오:
- Raspberry Pi에서 SPI 인터페이스를 활성화하려면 Raspberry Pi - SPI 인터페이스 활성화 방법의 지침을 따르십시오.
- spidev 라이브러리가 설치되어 있는지 확인하십시오. 설치되어 있지 않으면 다음 명령어를 사용하여 설치하십시오:
- mfrc522 라이브러리가 설치되어 있는지 확인하세요. 설치되어 있지 않으면 다음 명령어를 사용하여 설치하세요.
- Python 스크립트 파일 rfid_servo.py를 생성하고 다음 코드를 추가하세요:
- 파일을 저장하고 터미널에서 다음 명령어를 실행하여 Python 스크립트를 실행하십시오.
스크립트는 터미널에서 Ctrl + C를 누를 때까지 계속해서 무한 루프로 실행됩니다.
RFID/NFC 태그의 UID를 식별하려면, RFID-RC522 모듈에 RFID/NFC 태그를 접촉하세요. UID는 터미널에서 확인할 수 있습니다.
UID를 가지고 있으면:
- 코드의 20번째 줄을 UID로 대체합니다. 예를 들면 byte authorizedUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- 파이썬 스크립트를 다시 실행합니다.
- RFID-RC522 모듈에 RFID/NFC 태그를 놓습니다
- 서보 모터가 90°로 회전합니다
- 터미널에서 출력을 확인합니다
- RFID-RC522 모듈에 다시 한 번 동일한 RFID/NFC 태그를 태깅하세요.
- 서보 모터가 0°로 회전하는 것을 확인하세요.
- 터미널에서 출력을 확인하세요.
- RFID-RC522 모듈에 RFID 또는 NFC 태그를 대십시오.
- 터미널에서 출력을 확인하십시오.
라즈베리 파이 코드 - 다중 RFID/NFC 태그
우리는 여러 RFID/NFC 태그를 사용하여 서보 모터를 제어할 수 있습니다. 예를 들어, 아래 코드는 세 개의 RFID 태그를 사용합니다.
이전과 동일한 절차를 반복한 후 RFID-RC522 모듈에서 각각의 태그를 차례로 탭하십시오. 터미널의 출력은 다음과 같이 나타나야 합니다.
위의 코드를 확장하여 네 개 이상의 RFID 태그를 포함할 수 있습니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.