아두이노와 구글 시트로 구현하는 실시간 RFID 출석 시스템
부품 및 소모품
| 부품 | 수량 |
| 아두이노 우노 (Arduino UNO) | 1 |
| 아두이노 이더넷 실드 2 (Arduino Ethernet Shield 2) | 1 |
| RFID 리더기 (제네릭, RC522 모듈 권장) | 1 |
| 점퍼 와이어 (제네릭) | 1 |
앱 및 온라인 서비스
- Arduino IDE
- 구글 시트 (Google Sheets)
- 구글 앱스 스크립트 (Google Apps Script)
- Pushingbox (아두이노 → 구글 시트 데이터 전송 중계 서비스)
프로젝트 개요
RFID 리더기로 태그를 인식해 출석 데이터를 실시간으로 구글 스프레드시트에 저장하는 시스템입니다. 직접 아두이노에서 구글 시트로 데이터를 보낼 수 없으므로 Pushingbox라는 서드파티 서비스를 중계로 사용합니다.
사용 소프트웨어
- Arduino IDE: 최신 버전 다운로드
- 구글 드라이브: 구글 시트와 구글 앱스 스크립트 사용
- Pushingbox: 사이트 접속 후 구글 계정으로 로그인해 시나리오 생성 및 DeviceID 발급
주요 부품 상세
1) 아두이노 우노
ATmega328P 기반 마이크로컨트롤러 보드. 디지털 I/O 14개(6개 PWM), 아날로그 입력 6개, 16MHz 크리스탈, USB, 전원 잭, ICSP 헤더, 리셋 버튼 탑재.
2) 이더넷 실드 2
아두이노에 인터넷 연결 기능 제공. RJ45 케이블로 네트워크 연결 후 간단 설정으로 원격 제어 가능. 오픈소스 하드웨어/소프트웨어/문서 제공.
3) RFID RC522 리더기 & 태그
저렴한 RFID 모듈로 Mifare 태그 읽기/쓰기 지원. SPI 통신 사용(라이브러리에서 I2C, UART 미구현). 13.56MHz 전자기장으로 태그와 통신. 이베이 등에서 'RFID-RC522' 또는 'MF-RC522'로 검색 구매 가능.
회로도
먼저 이더넷 실드를 아두이노에 장착한 뒤 RFID를 연결하세요. 두 장치 모두 SPI를 사용하므로 SS(Slave Select) 핀 충돌을 피해야 합니다.
| RFID-RC522 핀 | 아두이노 우노 | 아두이노 메가 |
| RST | 9 | 9 |
| SDA(SS) | 4 또는 10 | 4 또는 53 |
| MOSI | 11 | 51 |
| MISO | 12 | 50 |
| SCK | 13 | 52 |
| VCC | 3.3V | 3.3V |
| GND | GND | GND |
| IRQ | 미연결 | 미연결 |
주의: 이더넷 실드가 이미 SS 핀(보통 10번)을 사용하므로 RFID의 SDA(SS)는 다른 핀(예: 4번)으로 지정해야 충돌이 없습니다.
라이브러리
RFID RC522용 라이브러리 설치 필요. GitHub에서 다운로드하거나 라이브러리 매니저에서 'MFRC522' 검색 설치.
코드
소스 코드는 GitHub 저장소에서 확인하세요.
프로젝트 영상
전체 설명은 위 영상에 있습니다. 궁금한 점은 댓글로 남겨주세요. 임베디드 시스템 학습을 원하시면 유튜브 채널과 페이스북 페이지도 방문해 주세요.
감사합니다.
Embedotronics Technologies
회로도 (추가)