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

4x4 전자 체스보드 프로토타입 – RFID & 아두이노 통합

부품 및 소모품

부품 수량
홀 이펙트 센서 (A1126LUA-T, 전방향성) 16
솔더리스 브레드보드 풀 사이즈 1
LED (일반, 5mm) 16
RFID 리더기 (125kHz, 안테나 포함) 1
Arduino Mega 2560 1
RFID 태그 (3M) 2

필요한 도구 및 기계

앱 및 온라인 서비스

프로젝트 소개

안녕하세요, 저는 터키 앙카라 중동공대 2018년 졸업생 Tahir Miriyev입니다. 응용수학을 전공했지만 전자공학, 디자인, 프로그래밍이 결합된 만들기를 항상 좋아했습니다. 산업디자인과의 프로토타이핑 수업 덕분에 아두이노와 센서로 흥미로운 프로젝트를 할 수 있었습니다. 학기 프로젝트(4개월)로 기존 제품/데모에 창의적 접근을 시도하는 과제였습니다.

체스를 주제로 정하고 기존 프로젝트들을 조사했는데, 대부분 기성 체스 엔진(모든 말의 이동이 프로그래밍됨)을 라즈베리파이, MUX, LED, 리드 스위치와 함께 사용했습니다. 저는 체스 엔진 같은 외부 소프트웨어 없이 말 인식(Figure Recognition) 문제를 RFID 리더기, 홀 이펙트 센서, 아두이노 메가만으로 창의적으로 해결하고자 했습니다.

말 인식 문제란?

체스보드에 "두뇌"=마이크로컨트롤러가 있고, 어떤 말을 손에 들었고 어디에 놓았는지 보드가 알아야 합니다. 각 말 밑에 자석을 두고 각 칸 아래 리드 스위치(또는 홀 센서)를 두면 자석이 들리거나 놓일 때 자기장 유무로 "말이 있다/없다"는 알 수 있습니다. 하지만 어떤 말인지는 알 수 없습니다.

기존 방식은 게임 시작 시 모든 말이 초기 위치에 있다고 가정하고 체스 엔진으로 위치를 추적합니다. 하지만 이는 임의의 위치에 말을 놓고 분석을 시작할 수 없다는 큰 제약이 있습니다.

나의 해결책

보드 앞면에 RFID 리더기를 두고, 각 말 밑에 자석 외에 고유 ID를 가진 RFID 태그를 부착했습니다. 말을 놓기 전에 리더기 근처에 대고 ID를 읽게 하면 마이크로컨트롤러가 말을 식별하고 메모리에 저장한 후 원하는 곳에 놓을 수 있습니다. 리드 스위치 대신 홀 이펙트 센서를 사용해 회로를 단순화했습니다(디지털 0/1 출력으로 말 유무 감지). LED도 추가해 말을 들면 놓을 수 있는 칸들이 켜지도록 했습니다(체스 학습용으로 유용).

8x8 보드는 시간과 비용(홀 센서 64개 구매 비쌈) 문제로 4x4 데모 버전으로 폰과 퀸 2개 말만 테스트했습니다. 체스 엔진 대신 아두이노 소스코드로 모든 로직을 구현했습니다.

단계별 제작 과정

  1. 21x21cm 골판지에 A-D, 1-4 좌표로 16칸 그리드 벽 만들기. 얇은 골판지에 홀 센서 16개(각 3핀)와 LED 16개(각 2핀) 꽂기.
  2. 홀 센서와 LED 핀을 점퍼 와이어에 납땜. VCC/GND/신호 핀, LED +/- 구별 위해 색상별 와이어 권장. 모든 GND는 공통 그라운드로 묶어 아두이노 GND에 연결. 홀 센서는 전방향성이라 자석 극성 상관없음.
  3. 비슷한 크기 골판지에 아두이노 메가와 긴 브레드보드 고정. 벽 세워 2층 구조로 만들고 프리칭 회로도대로 배선. RFID 리더기도 장착.
  4. 기본 코드로 모든 LED와 센서 테스트. 이 단계 필수.
  5. 폰과 퀸에 10mm 자석과 RFID 태그 부착. 아두이노 IDE 시리얼 모니터로 태그 ID 읽기.
  6. 모든 게 작동하면 메인 코드 실행해 테스트!
  7. (선택) 나무로 외관 다듬기.

코드 설명 (thinK_code.ino)

주석을 최대한 많이 달아 코드 분석을 돕습니다. 처음에는 로직이 복잡해 보일 수 있지만 깊이 보면 이해하기 쉽습니다.

실제 체스보드처럼 A1~D4로 칸을 표기하지만 코드에서는 00, 01, 02, 03, 10, 11... 33 같은 배열 인덱스로 표현합니다.

주요 기능:


// 주요 구조체
int id_type_matrix[4][4] = {{0}}; // 0=빈칸, 1=퀸, 2=폰
int hes_pin_matrix[4][4] = { ... }; // 홀 센서 핀 번호
int led_matrix[4][4] = { ... };     // LED 핀 번호
int queen_id[14] = { ... };         // 퀸 RFID 태그 ID
int pawn_id[14] = { ... };          // 폰 RFID 태그 ID

// RFID ID 비교 함수
boolean compare_ID(int aa[14], int bb[14]) { ... }

// 태그 읽기 및 첫 번째/두 번째 말 등록
void read_tags() { ... }
void first_figure() { ... }
void second_figure() { ... }

// 퀸 이동 가능 칸 점등
void move_queen() { ... }

// 보드 스캔 및 말 위치/종류 파악
void figure_reading() { ... }

// 메인 루프
void loop() { figure_reading(); }

회로도

프리칭 회로도 제공. RFID 리더기 모델은 125kHz UART 모듈. 유튜브에 아두이노 연동 튜토리얼 다수 있음.

문의: miriyevt@gmail.com 또는 Skype tahir.miriyev9r1

제조공정

  1. 신속한 시제품 제작이 성공적 제품 개발에 필수적인 이유
  2. 전자 잉크: 작동 원리, 역사, 미래 응용
  3. Raspoulette: 태양광 자율 닭장 문 시스템 프로토타입
  4. 프로토타입 vs 양산 사출 금형: 프로젝트에 적합한 금형 선택
  5. 인간 통각 실시간 모방하는 혁신적 전자 피부 개발
  6. PCB 프로토타입 제작사 선택 완벽 가이드: 놓치면 후회하는 5가지 기준
  7. 필수 PCB 프로토타입 용어집 2부: 유리 전이 온도(Tg) 완전 이해
  8. 프로토타이핑 설명: 스타트업을 위한 핵심 검증 단계
  9. 전자 펌프(전동 펌프) 총정리: 종류·작동 원리·산업 적용 사례
  10. 전자 점화 시스템 작동 원리: 구성품·장단점 완벽 해설