Imbedded - 테이블탑 프로젝터

MIE capstone
EmSys2025B (토론 | 기여)님의 2025년 6월 15일 (일) 01:22 판 (개념설계 단계 내용 추가: 시스템 목적 계통도, 입력/제어/통신/출력장치 검토 및 평가, 부품 선정 과정 상세화)
이동: 둘러보기, 검색

목차

프로젝트 소개

테이블탑 프로젝터는 프로젝터를 이용하여 테이블 위에 게임 화면을 투사하고, 터치 센서를 통해 사용자와 상호작용할 수 있는 인터랙티브 게임 플랫폼입니다. 다양한 보드게임과 카드게임을 디지털화하여 여러 사용자가 함께 즐길 수 있는 새로운 형태의 게임 환경을 제공합니다.

프로젝트 명

테이블탑 프로젝터 (Tabletop Projector)

프로젝트 기간

2025.3~2025.6

팀 소개

팀명: Imbedded
서울시립대학교 기계정보공학과 2020430001 구효본 (팀장)
서울시립대학교 기계정보공학과 2022430012 김지호
서울시립대학교 기계정보공학과 2020430008 류정현
서울시립대학교 기계정보공학과 2021430035 조수민
서울시립대학교 기계정보공학과 2020430028 전진형

개발 소요 비용

404.8천원 (초기 계획: 183천원)

프로젝트 개요

초기 개발 컨셉

프로젝트 비전

보드게임 화면을 책상에 투사하고 영상을 터치함으로써 상호작용이 가능한 장치를 제작하여, 여러 사람들이 개인용 기기로만 접할 수 있었던 게임을 함께 참여할 수 있게 공통된 책상에 투사해주는 시스템을 구현합니다. 전통적인 보드게임의 정적인 특성에서 벗어나, 사용자와 영상의 상호작용으로 동적인 보드게임이 가능해지며, 온라인 게임의 약점으로 꼽혀왔던 사람들과의 대면 부족이라는 문제를 해결할 수 있습니다.

핵심 가치

  • 확장 가능성: 리눅스 플랫폼 특성상 개발 환경이 잘 갖추어져 있어 향후 추가 보드게임 개발 가능
  • 직관적 조작: 빠른 터치 속도 및 영상인식을 통한 자연스러운 사용자 상호작용
  • 사회적 연결: 대면 보드게임의 장점과 디지털 게임의 편의성 결합

프로젝트 요약

본 프로젝트는 프로젝터와 터치 센서를 결합하여 테이블 위에서 다양한 인터랙티브 게임을 즐길 수 있는 플랫폼을 개발하는 것을 목표로 합니다. 라즈베리파이를 중심으로 한 제어 시스템과 벨로스탯(Velostat)을 활용한 터치 모듈, 카메라를 통한 실물 카드 인식 시스템을 구현하여 디지털과 아날로그의 장점을 결합한 새로운 게임 경험을 제공합니다.

프로젝트의 배경 및 기대효과

배경

  • 기존 보드게임의 한계: 종이 카드, 고정된 규칙, 제한된 게임 도구로 인한 정적인 플레이 방식
  • 온라인 게임의 한계: 개인용 기기 중심으로 인한 대면 상호작용 부족, 사회적 단절 현상
  • 기술적 공백: 프로젝터 활용 프로젝트는 있으나 터치 기능과 카메라 기반 객체 인식을 결합한 사례 부족
  • 시장 요구: COVID-19 이후 소규모 모임 증가, 홈 엔터테인먼트 수요 증가

기대효과

  • 보드게임 혁신: 기존 카드와 기물 중심에서 벗어나 복잡하고 다양한 규칙 적용 가능
  • 접근성 향상: 플레이어가 복잡한 룰을 모두 숙지하지 않아도 시스템 보조로 원활한 게임 진행
  • 사회적 가치: 온라인 게임의 사회적 단절 문제 보완, 공동 참여형 콘텐츠 발전
  • 콘텐츠 확장성: 소프트웨어 업데이트를 통한 지속적인 새로운 룰 추가, 기존 IP 재활용
  • 상업적 가능성: 보드게임 개발사에게 새로운 개발 방향성 제시

프로젝트 개발 목표

초기 목표 (2025.4 제안서 기준)

평가 항목 평가방법 초기 목표치 최종 목표치 (수정) 비중(%)
터치 정확도 터치 인식 간격 (mm) < 30mm < 20mm 35
터치 응답시간 20회 반복 측정 (ms) < 5ms < 100ms 20
카드 객체인식 정확도 100프레임당 인식률 (%) > 50% > 90% 10
게임 응답속도 입력-반응 사이 시간 (ms) < 100ms < 100ms 25
지원 게임 가짓수 빌드된 게임 개수 3+ 개 2+ 개 10
화면투사 선명도 sharpness 계산 (%) > 70% > 70% 10

목표 수정 사유

  • 터치 정확도: 30mm → 20mm (하드웨어 성능 향상으로 목표 강화)
  • 터치 응답시간: 5ms → 100ms (하드웨어 한계를 고려한 현실적 조정)
  • 카드 인식률: 50% → 90% (카메라 성능 향상과 알고리즘 개선으로 목표 강화)
  • 게임 가짓수: 3개 → 2개 (프로젝트 기간 내 완성도 높은 구현을 위한 조정)

개념 설계

시스템 목적 계통도

테이블탑 프로젝터는 다음 5가지 핵심 가치를 중심으로 설계되었습니다:

편의성 (직관성, 조작감)

  • 직관성: 터치와 프로젝터의 빔을 이용하는 테이블탑 프로젝터는 간편한 UI를 제공하여 처음 사용하는 사용자에게도 직관적으로 사용법을 알 수 있도록 설계
  • 조작감: 뮤직 플레이어의 UI와 유사하게 구성하여 게임이 목록화되고, 각 게임마다의 사진과 설명을 화면 대부분에 할당하여 표시
  • 터치라는 익숙한 입력 방식을 통해 스마트폰 사용 경험자들이 쉽게 장치를 조작하고 실행할 수 있도록 구현

성능 (신속성, 정밀성)

  • 신속성: 터치 압력 감지용 Velostat 소재의 저항값이 민감하게 변하는 구간을 선택하여 정전식 터치방식인 스마트폰과 유사한 압력대를 감지
  • 정밀성: 저항값이 변하는 지점을 통해 정확한 터치 지점을 좌표 계산하여 mm단위의 정밀한 터치점을 찾아내고, 압력의 세기도 구분하여 범용적인 활용 가능
  • 터치 모듈을 구동하는 연산을 아두이노로 분리하여 라즈베리파이에서는 게임 소프트웨어에 리소스를 최대한 투자
  • 프로젝터는 해상도보다는 높은 밝기값을 지원하는 제품을 선택하여 주변 빛에 의한 프로젝션 영상의 선명도를 최대한 보존

확장가능성 (범용성, 확장성)

  • 모듈성: 라즈베리파이, 터치 모듈, 프로젝터, 카메라 각각이 모듈로 구성되어 요구되는 테이블 크기, 게임 성능 등에 따라 시스템 변경 가능
  • 표준화된 단자: HDMI, USB, FPC/FFC 케이블 등 표준화된 단자를 사용하여 다양한 환경, 가격 조건, 성능 조건에 따라 적합한 시스템 성능 구축 가능
  • 포팅 편의성: 소스가 LINUX 환경에서 실행되며, 터치 시스템을 하드웨어 부분에서 지원하므로 터치입력 처리만 구현하면 어렵지 않게 이식 가능

내구성

  • 높은 내구성: 프로젝터, 라즈베리파이, 카메라 모듈은 표준화된 입출력 단자가 존재하여 체결성이 높고 여러번의 탈착에도 높은 내구성 보장
  • PCB 구현: 터치 모듈의 복잡한 회로를 PCB 기판으로 구현하고 케이블의 단자를 FPC/FFC 규격으로 압축하여 부품의 탈착, 이동에도 높은 내구성 유지

경제성

  • 비용 절감: 압력인식 패널, 고가의 카메라 등을 사용하지 않고 저렴한 회로기판과 velostat 소재, 이미지처리 기법과 객체인식 모델을 활용하여 센서 비용 최소화
  • 확장성을 통한 경제성: 같은 기능을 가진 저렴한 모델(저렴한 프로젝터, 라즈베리파이 4 이하의 CPU 등)로 교체하여 단가 절감 가능성 확보

입력장치 검토 및 선정

1. 압력 감지 소자 (Velostat)

  • 특성: 전기 전도성을 띄는 소재로 압력 혹은 비틀림에 의해 전기 저항이 낮아지는 성질을 보유
  • 구조: 구리선을 상부와 하부에 교차로 배치하여 압력에 의해 구리선 사이의 전류가 흐르는 양을 감지하고, 이를 통해 압력점을 추정
  • 장점: 저비용, 넓은 면적 커버 가능, 압력 세기 구분 가능
  • 단점: 정밀도가 전용 터치스크린 대비 낮음

2. 저항막 방식 터치스크린 패널

  • 특성: ITO 처리된 필름 및 글라스의 2중 레이어로 구성되어 화면을 누르면 레이어가 서로 맞닿으며 발생한 전류와 저항의 변화를 감지
  • 장점: 높은 정밀도, 상용화된 기술
  • 단점: 높은 비용, 크기 제한, 압력 세기 구분 어려움

3. 카메라 모듈 (IMX-219)

  • 특성: 3296 x 2480의 해상도를 지원하는 CMOS 카메라 센서
  • 용도: 프로젝터의 구조 특성상 객체인식 등에 활용하기 위해 전체 이미지에 비해 작은 사이즈의 ROI만을 사용
  • 장점: 고해상도로 확대 시 이미지 손실 최소화
  • 단점: IMX-708 대비 낮은 성능

4. 카메라 모듈 (OV5647)

  • 특성: 2592 x 1944의 해상도를 지원하는 CMOS 카메라 센서
  • 장점: IMX-219 모델에 비해 저렴한 가격
  • 단점: 카메라의 해상도가 낮아 성능 제한

제어장치 검토 및 선정

1. Arduino uno

  • 역할: 터치모듈의 연산, Shift register와 Multiplexer 제어를 위한 MCU(Micro Controller Unit)
  • 장점: 터치 장치에 별개로 연결되어 배선 길이를 줄여 모듈성 향상, 연산 소모를 분할하여 라즈베리파이 리소스 부담 절약
  • 적용성: 높음

2. Arduino pro mini

  • 특성: 아두이노 우노와 유사한 MCU 장치로, 크기가 더 작다는 장점
  • 장점: 소형화에 유리, 아두이노 우노와 동일한 성능
  • 단점: USB 연결, 핀 체결이 우노에 비해 어려워 작동 테스트 단계에서 사용이 번거로움

3. Raspberry Pi 4B

  • 특성: HDMI와 USB 연결을 기본적으로 지원하며, 1.8GHz Arm CPU, 4GB의 SDRAM 메모리 보유
  • 장점: 이더넷 연결과 블루투스 모델을 자체지원하여 추후 기능 확장에 유용
  • 적용성: 중간

4. Raspberry Pi 5

  • 특성: 라즈베리파이 4B에서 향상된 2.4GHz Arm CPU, SDRAM 8GB의 메모리로 쾌적한 소프트웨어 실행환경 제공
  • 장점: 고성능으로 복잡한 게임 로직 처리 가능
  • 단점: 4B 모델에 비해 높은 비용
  • 적용성: 높음

통신모듈 검토 및 선정

1. USB 유선

  • 특성: 아두이노와 라즈베리파이 사이의 시리얼 통신용 연결단자
  • 장점: 확장성이 높고 범용성이 높아 다양한 시스템에 터치 모듈 사용 가능, 전원을 컴퓨터로부터 받을 수 있어 아두이노에 충분한 전력 공급
  • 적용성: 높음

2. 블루투스 무선

  • 특성: 아두이노와 라즈베리파이 사이의 시리얼 통신용 블루투스 모듈
  • 장점: 라즈베리파이의 내장 블루투스 모듈 활용 가능, 유선에 비해 통신선의 제약이 없고 미관상 유리
  • 단점: 통신 딜레이 및 배터리의 필요성 요구
  • 적용성: 중간

3. HDMI 유선

  • 특성: 라즈베리파이와 프로젝터를 연결해주는 단자로 범용적인 영상 데이터 전송 규격
  • 장점: 고화질 영상 지원, 범용적 사용으로 손쉬운 교체 가능
  • 적용성: 높음

출력장치 검토 및 선정

1. ViewSonic PJD86533WS

  • 특성: 1280*800의 해상도를 지원하며 1m에서 100인치의 투사거리를 갖는 3000ANSI 루멘 밝기의 프로젝터
  • 장점: 초단초점 지원으로 Tabletop Projector 프로젝트 목적에 부합, 밝은 밝기로 낮에도 충분히 사용 가능, 조금만 거리를 벌려도 투사 영상 크기가 넓어져 다양한 책상에 적용 가능
  • 적용성: 높음

2. MAGCUBIC HY450

  • 특성: 1920*1080의 해상도를 지원하며 1.2m에서 100인치의 투사거리를 갖는 900ANSI 루멘 밝기의 프로젝터
  • 장점: ViewSonic 제품보다 높은 화질, 작은 사이즈로 소형화 가능
  • 단점: 낮은 밝기 성능으로 주변 조명에 민감
  • 적용성: 높음

부품 평가 및 선정 결과

다음은 개념설계 단계에서 수행한 부품별 평가 결과입니다:

분류 설계안 직관성 조작감 신속성 정밀성 확장성 내구성 경제성 합계 순위
입력장치 Velostat - 15 1
터치 패널 - 10 2
IMX219 - - - - - 5 1
OV5648 - - - - - 4 2
제어장치 아두이노 우노 - - - - 8 1
아두이노 프로미니 - - - - 5 2
라즈베리파이4B - - - 7 2
라즈베리파이 5 - - - 11 1
통신모듈 USB 유선 19 1
블루투스 무선 15 2
HDMI - - 15 1
출력장치 PJD86533WS - - - 10 1
HY450 - - - 10 1

평가 기준 정의

  • 직관성: 직관적으로 사용법을 알 수 있는가?
  • 조작감: 적은 힘으로 터치 구동이 가능한가?
  • 신속성: 장치의 반응속도가 빠른가?
  • 정밀성: 화면의 가시성, 터치의 정밀도가 높은가?
  • 확장성: 부품 교체 및 업그레이드가 용이한가?
  • 내구성: 이동 및 보관 시 배선이 끊어지거나 부품이 손상될 우려는 없는가?
  • 경제성: 제품의 비용이 합리적인가?

선정 결과 상기 평가를 통해 다음과 같이 부품을 선정하였습니다:

  • 입력장치: Velostat + IMX219
  • 제어장치: Arduino Uno + Raspberry Pi 5
  • 통신모듈: USB 유선 + HDMI 유선
  • 출력장치: ViewSonic PJD86533WS (1차) / MAGCUBIC HY450 (대안)

초기 시스템 설계

초기 하드웨어 구성 (제안서 기준)

터치 입력 시스템

  • 크기: 120 × 90 cm² (최종: 400 × 400 mm로 축소)
  • 센서: Velostat 압력 센서 + 구리 테이프 매트릭스
  • 제어: Arduino + 멀티플렉서/시프트 레지스터 조합

영상 처리 시스템

  • 메인 컨트롤러: Raspberry Pi 4 (최종: Raspberry Pi 5)
  • 카메라: SONY IMX 219 8MP (최종: IMX-708 12MP 광각으로 업그레이드)
  • 해상도: 3280×2464 (최종: 4608×2592)

출력 시스템

  • 프로젝터: Viewsonic PJD8653ws (최종: XGIMI Halo+로 변경)
  • 해상도: 1280×800 (최종: 1920×1080)
  • 밝기: 3000 ANSI (최종: 더 높은 성능)

초기 게임 계획

1차 게임 - 4인 체스

  • 목적: 터치 시스템 정확도 및 딜레이 측정
  • 특징: 마우스 클릭을 터치로 대체하는 간단한 포팅
  • 상태: ✅ 완료 (계획대로 구현)

2차 게임 - 카드게임

  • 초기 계획: 유희왕 등 복잡한 카드게임
  • 변경 사유:
 * 유희왕: 뒷면 카드 규칙으로 전면 인식 시스템과 부적합
 * 매직: 동시 인식 카드 수 과다, 플레이 영역 초과
  • 최종 구현: Texas Hold'em Poker (프로토타입) + 포켓몬 카드게임 (개발 중)

3차 게임 - TRPG

  • 계획: LLM API 활용한 사회자 역할 AI
  • 목적: AI를 통한 게임 진행 관리, 공정한 랜덤성 제공
  • 상태: 📝 개발 중 (캐릭터 생성 시스템 완료, GPT API 연동 예정)

설계 변경사항

하드웨어 변경사항

터치 모듈

  • 초기: 터치 지점 오차범위 5mm 이하
  • 변경: 터치 지점 오차범위 20mm 이하
  • 사유: 벨로스탯에 구리선을 부착할 때 구리선의 폭(5mm)과 간격(20mm) 설정 시, 사람의 손가락이 닿는 면적(8mm)이 신호선들 사이에 고르게 퍼지지 못하는 문제 발생. 초기 알고리즘은 터치 입력 네 곳을 바탕으로 상세한 터치점의 위치를 정하는 것이였으나, 터치 시 네 곳이 동시에 눌리는 것이 아닌 한 곳만 눌리게 되면서 이러한 알고리즘의 적용이 불가능해짐. 시간과 수정의 용이성을 고려하여 소프트웨어의 UI를 수정하는 방법으로 문제 해결.

커버 설계

  • 초기: 미니리프트 2개 사용, 볼 조인트 방식 소형문
  • 변경: 미니리프트 1개 사용, 미니 경첩 부착 소형문
  • 사유:
 * 두 리드 스크류를 용접하여 하나로 연결하더라도 약 7kg에 달하는 프로젝터를 들어 올릴 수 있는 충분한 토크가 발생하는지 불확실
 * 용접 과정에서 리드 스크류의 길이가 미세하게나마 짧아질 경우, 리프트 작동 자체에 문제가 생길 수 있음
 * 실험적 경험에 비추어 볼 때, 한 개의 미니 리프트만으로도 프로젝터를 지지하고 높낮이를 안정적으로 조절할 수 있다는 점이 확인됨
 * 5mm 아크릴 재질에서 볼 조인트 소켓 가공 어려움

소프트웨어 변경사항

1차 게임 요소

  • 체스 게임: 변동 없음

2차 게임 요소

  • 초기 계획: 유희왕 등 카드게임
  • 변경: 포커 게임으로 선구현, 포켓몬 카드게임 개발 시도중
  • 카메라 모델 변경: imx219 → imx708 120도 광각
  • 사유:
 * 유희왕: 뒷면으로 카드를 내는 규칙이 존재하여 현재 시스템에서는 카드의 전면이 드러나야 카메라로 정보를 얻고 게임 로직을 수행할 수 있어 적용이 어려움
 * 매직 더 게더링: 동시에 인식해야하는 카드가 대부분 50장에 달해 라즈베리파이의 연산능력으로 객체인식을 수행함에 있어 어려움이 존재. 또한 플레이 영역이 터치패드와 프로젝션 범위을 넘어설 우려가 있어 제작 후보에서 제외
 * 포켓몬 카드 게임: 턴 선택, 카드의 효과, 데미지 등 PyQt UI로 대체가능한 요소가 다수 존재. 유희왕이나 매직 더 게더링과 달리 뒷면 규칙이 없으며 최대 인식 요구 갯수가 최대 13장으로 라즈베리파이의 연산성능으로 처리가 가능하다고 판단됨

3차 게임 요소

  • LLM API를 활용한 TPRG: 변동 없음

동작 시나리오

1. 시스템 시작: 프로젝터 전원 ON, 라즈베리파이 부팅 2. 게임 선택: 터치를 통해 메인 화면에서 원하는 게임 선택 3. 게임 진행

  * 1차 게임(체스): 터치로 기물 이동
  * 2차 게임(카드게임): 실물 카드를 테이블에 배치, 카메라가 인식하여 게임 진행
  * 3차 게임(TRPG): GPT API를 활용한 스토리 진행

4. 게임 종료: 메인 화면으로 복귀

구현 내용

시스템 구성

하드웨어 구성

  • 제어부: Raspberry Pi 5
  • 출력부: 프로젝터 (XGIMI Halo+)
  • 입력부: 터치 모듈 (Velostat 기반), 카메라 모듈 (IMX-708)
  • 구조부: 아크릴 커버, 미니 리프트

소프트웨어 구성

  • OS: Raspberry Pi OS
  • 개발 언어: Python, C++
  • 주요 라이브러리: PyQt5, OpenCV, GPIO
  • API: GPT API (3차 게임용)

기구부 설계 및 구현

커버 설계

  • 재질: 5mm 두께 무광 아크릴 (검정색)
  • 크기: 프로젝터 크기에 맞춘 맞춤 제작
  • 특징:
 * 미니 리프트 1개를 사용한 높이 조절 기능 (커버 후면 손잡이)
 * 미니 경첩을 이용한 여닫이 소형문
 * 측면 방열구멍 설계
 * 카메라 모듈 장착부
 * 프로젝터 하부면적보다 큰 견고한 아크릴판을 리프트 상단에 부착하여 안정성 확보

터치 패드 구조

  • 크기: 400mm × 400mm
  • 층 구조: 마감천(인조가죽) - Velostat - 구리 테이프
  • 구리선 배치: 5mm 폭, 20mm 간격
  • 마감 소재: 인조가죽 (적절한 반사 특성과 부드러운 사용자 경험 제공)

제어부 및 회로 구현

터치 모듈 회로

  • PCB 설계: 크로스토크 방지를 위한 3W 규칙 적용
  • 도선 사양: 두께 20mil, 간격 12mil (0.5A 기준)
  • 사용 전류: 약 0.3A~0.5A (벨로스탯 가변저항 동작)
  • 주요 부품:
 * 4051D 8-channel multiplexer × 10개
 * 595D 8-Bit Shift Registers × 10개
 * LMV324 Operational Amplifiers × 1개
 * 저항: 10KΩ × 10개, 1KΩ × 10개
 * 커패시터: 100nF 16V × 100개
 * LED × 10개
  • 연결: 2×20 커넥터 사용으로 접촉 불량 최소화
  • 제어: 아두이노 우노 모델 사용 (아두이노 미니는 성능 이슈로 터치 반응 불규칙)

카메라 시스템

  • 모델: IMX-708 (12MP 자동초점 120도 광각)
  • 기존 모델(imx219) 대비 개선사항:
 * 화질 향상으로 카드 인식률 개선
 * 화각 확대로 촬영 범위 증가
 * 자동 초점 기능 추가
  • 위치: 프로젝터 상단 커버 내부
  • 기능: 실물 카드 인식, 게임 상황 촬영

소프트웨어 설계 및 구현

1차 게임 - 체스

  • 기반: 오픈소스 체스 게임을 라즈베리파이 OS에 포팅
  • UI 개선:
 * 기보나, 수 돌리기 등 불필요한 UI 삭제
 * 배경화면을 밝게 설정하여 빔프로젝터 저밝기 환경 대응
 * 체스판 크기 확대로 터치 부정확성 보완
  • 특징: 4명이 동시에 즐길 수 있는 변형 체스

2차 게임 - 카드 게임

게임 UI 설계 필요조건 1. 모든 UI 상호작용은 터치로만 구현 2. 프로젝터 위치에 따른 카메라 비추는 반경 변화 고려하여 인식 기물을 화면 중앙 배치 3. 다중 플레이어를 위한 각 플레이어별 개인 보드 배치 4. 라즈베리파이 부하 고려하여 캡처 방식으로 카메라 인식 구현 5. 초보자 돌발행동 방지를 위한 변수 요소 사전 비활성화 6. 게임 진행을 위한 사회자 역할 메시지 창 구현

Texas Hold'em Poker (프로토타입)

  • 목적: 라즈베리파이 카메라 성능과 객체 인식 성능 검증
  • 카드 인식: YOLO 모델 활용 (테스트 이미지 90% 이상 인식률)
  • 게임 로직:
 * 플레이어 인원 선택 (2-5명)
 * SB, BB 자동 배팅
 * 콜, 체크, 폴드, 레이즈, 올인 배팅 옵션
 * 프리플랍-플랍-턴-리버 단계별 진행
 * 자동 승자 판별 및 배팅액 분배
 * 파산 방지를 위한 3000칩 자동 지급
  • UI 특징:
 * 각 플레이어별 개인 보드 (테이블 외각 배치)
 * 중앙 커뮤니티 카드 배치 (카메라 인식 범위 고려)
 * 배팅액에 따른 애니메이션 효과
 * 쇼다운 상황 특수 효과
  • 변수 처리:
 * 비순차 배팅 방지
 * 턴 종료 전 카드 공개 방지
 * 배팅액에 따른 선택지 제한

카드 인식 프로세스 1. 카메라 설정

  * 해상도: 4608×2592 (IMX-708 최대 해상도)
  * FPS: 30 (33333㎲ 프레임 지속시간)
  * AwbMode: 0 (자동 화이트 밸런스)
  * Sharpness: 1.5 (기본값보다 높은 선명도)

2. 이미지 전처리

  * 카메라 캡처 → 'image' 변수 저장
  * 이진화 처리 (프로젝터 밝은 환경 고려한 임계값 설정)
  * 카드 최소 영역, 가로세로 비율 제한 (실제 카드 63mm×88mm 기준)

3. 카드 검출

  * detect_card_edges() 함수로 카드 윤곽 검출
  * 4개 끝점 좌표 확보
  * 여백 포함한 crop으로 문양/숫자 손상 방지

4. 이미지 보정

  * 샤프닝 커널 적용으로 확대 시 화질 저하 보완
  * 인식 모델 최적화를 위한 이미지 품질 향상

5. 모델 인식

  * YOLO 모델 적용
  * 인식률 30% 이상 결과 중 최고 신뢰도 선택
  * 좌표 정보 활용한 카드 순서 정렬 (Y좌표 오차 허용)

6. 게임 로직 반영

  * 인식 결과를 게임 상태에 반영
  * 승자 판별 로직 실행

포켓몬 카드 게임 (개발 중)

  • API 활용: 16,000여 장의 카드 데이터베이스
  • 특수 효과: 스타디움 카드에 따른 배경 변화
  • 과제: 한국판 카드 인식 모델 부재 (대부분 영문판으로 학습된 모델)
  • 해결방안: 영문판 카드 구매 또는 한국판 카드 일부 학습 모델 제작

3차 게임 - TRPG

  • 맵 생성: Polytopia Map Generator 오픈소스 활용 (GNU GPL 라이선스)
  • 캐릭터 시스템:
 * D&D 기반 12개 직업 선택
 * 스펠 사용 가능 직업: Bard, Cleric, Druid, Paladin, Sorcerer, Warlock, Wizard
 * 직업별 차별화된 스펠 목록
  • 맵 구현: QWebEngineView를 사용하여 HTML 기반 맵을 PyQt5 UI에 통합
  • 스토리 진행: GPT API를 활용한 동적 시나리오 생성 (예정)

현재 진행상황

하드웨어 완성도

터치 모듈 (완료)

  • PCB 제작 완료 및 부품 납땜 완료
  • 터치패드 마감재 선정 완료 (인조가죽)
  • 캘리브레이션 코드 개발 필요

커버 (완료)

  • 아크릴 판재 레이저 커팅 완료
  • 조립 완료
  • 카메라 정확한 설치 위치 협의 필요

소프트웨어 완성도

1차 게임 (완료)

  • 체스 게임 UI 개선 완료
  • 터치 인터페이스 최적화 완료

2차 게임 (80% 완료)

  • Texas Hold'em Poker 게임 로직 완성
  • 카드 인식 시스템 구현 완료
  • 포켓몬 카드 게임 UI 설계 완료
  • 포켓몬 카드 인식 모델 해결 필요

3차 게임 (60% 완료)

  • 캐릭터 생성 시스템 구현 완료
  • 맵 생성 기능 구현 완료
  • GPT API 연동 개발 중

향후 진행 계획 및 일정

하드웨어 개선 계획

터치 모듈

  • 터치 캘리브레이션 코드 추가
  • 가변적 화면 비율 대응 적응형 소프트웨어 개발
  • 초기 시작 시 마커 터치를 통한 캘리브레이션 기능 구현

커버

  • 카메라 모듈 최종 위치 확정
  • 슬라이드 레일 설치 여부 결정 (카메라 깊이에 따라)

소프트웨어 개발 계획

2차 게임 요소

  • 포켓몬 카드 게임 본격 개발
  • 한국판 카드 인식 해결 (영문판 구매 또는 학습 모델 제작)
  • 카드 정보 기반 화려한 효과 구현

3차 게임 요소

  • GPT API 연동 완료
  • 동적 시나리오 생성 시스템 구현

통합 및 테스트

시스템 통합

  • 모듈 간 통합 테스트
  • 터치 팀과 소프트웨어 팀 UI 크기 조율
  • 커버 팀과 카메라 위치 설정 협의

최종 테스트

  • 50cm 카메라 케이블 준비 후 최종 위치 설정
  • 캘리브레이션 코드 적용 테스트
  • 전체 시스템 통합 테스트

개발 일정표

개발 내용 담당자 5월 1-2주 5월 3주 6월 1주 6월 2주 6월 3주
터치 캘리브레이션 코드 추가 터치팀
프로젝터 하우징 구효본, 조수민
1차 프로그램 통합 및 에러처리 터치팀
1차 통합 테스트 터치팀
2차 프로그램 통합 터치팀, 전진형
최종 통합 테스트 전체
Feedback 및 디버깅 전체
최종 프로젝트 발표 준비 전체

프로젝트 결과

현재 달성 성과

하드웨어

  • 터치 모듈: PCB 제작 완료, 마감천 선정 완료
  • 커버: 설계 변경 완료 및 제작 완료
  • 카메라: IMX-708로 성능 향상 완료

소프트웨어

  • 1차 게임(체스): 프로젝터 환경 최적화 완료
  • 2차 게임(포커): 완전 구현, 카드 인식률 90% 이상 달성
  • 3차 게임(TRPG): 캐릭터 및 맵 생성 시스템 구현

평가 항목 달성도

  • 터치 정확도: 20mm 달성 (목표치 충족)
  • 터치 응답시간: 측정 예정
  • 게임 응답속도: 측정 예정
  • 지원 게임 가짓수: 2개 구현 (체스, 포커) + 1개 개발중 (TRPG)
  • 화면투사 선명도: 측정 예정

미구현 내용 및 향후 과제

  • 포켓몬 카드 게임 한국판 인식 모델
  • TRPG GPT API 연동
  • 터치 캘리브레이션 자동화
  • 카메라 최종 위치 확정
  • 전체 시스템 통합 테스트

프로젝트 평가

중간 평가 (2025년 6월 1일 기준)

진행률

  • 하드웨어: 90% 완료
  • 소프트웨어: 75% 완료
  • 시스템 통합: 30% 완료

주요 성과

  • 설계 변경을 통한 현실적 목표 재설정
  • 터치 모듈 하드웨어 완성
  • 카드 인식 시스템 성공적 구현
  • 복수 게임 구현을 통한 플랫폼 확장성 입증

주요 과제

  • 한국어 카드 인식 문제 해결
  • 시스템 통합 및 안정성 확보
  • 사용자 경험 최적화

예산 내역

총 예산 변화

  • 초기 계획 (2025.4): 183천원
  • 최종 예산 (2025.6): 404.8천원
  • 증액 사유: 카메라 업그레이드, 아크릴 판재, PCB 전문 제작

상세 내역 비교

구분 초기 계획 (천원) 최종 실제 (천원) 주요 변경사항
기본 부품 175 175 동일
카메라 업그레이드 - 54.2 IMX219 → IMX708
아크릴 판재 - 79.4 커버 제작
PCB 제작 - 60.0 전문 제작
기타 추가 부품 8 36.2 터치패드 보호재 등
총계 183 404.8 221.8천원 증액

기술적 상세사항

Velostat 압력 센서 기술

원리와 특성

  • 소재: 전도성 폴리에틸렌 수지 필름에 탄소 블랙 항정전기 플라스틱 침투
  • 표면 저항: 31,000 Ω/cm² (일반적으로 100,000Ω/□ 미만)
  • 물리적 특성: 열접착 가능, 유연성, 뛰어난 내마모성
  • 온도 범위: -45°C ~ +65°C (-50°F ~ 150°F)
  • 크기: 280mm × 280mm, 두께 4mil/0.1mm

매트릭스 구성

  • 구리 테이프: 5mm 폭으로 최적화 (실험적 검증)
  • 배치: 한 면에 구리 열(column), 다른 면에 구리 행(row)
  • 보호: 50μm PE(폴리에틸렌) 필름으로 방수 처리

터치 인식 회로

핵심 구성요소

  • SN74HC595: 반응 신호 제어, 하나의 활성 열(column) 스위칭
  • CD4051D: 터치 천의 반응 신호 제어, ADC 연결된 활성 행(row) 선택
  • 연산 증폭기: 미약한 신호 증폭
  • Arduino: 시프트 레지스터와 멀티플렉서 제어, 직렬 데이터 수신

PCB 설계 기준

  • 크로스토크 방지: 3W 규칙 적용
  • 도선 사양: 20mil 두께, 12mil 간격
  • 신호 무결성 확보

카메라 인식 기술

하드웨어 사양

  • 센서: Sony IMX708 (12MP, 자동초점, 120도 광각)
  • 해상도: 최대 4608×2592
  • 인터페이스: CSI (Camera Serial Interface)

이미지 처리 파이프라인 1. 고해상도 캡처 (4608×2592) 2. 이진화 및 윤곽 검출 3. 카드 영역 추출 4. 샤프닝 필터 적용 5. 딥러닝 모델 인식 6. 결과 검증 및 정렬

인식 정확도 향상 기법

  • 프로젝터 조명 환경 고려한 임계값 설정
  • 카드 크기 비율 검증 (63mm×88mm 기준)
  • 여백 포함 crop으로 정보 손실 방지
  • 좌표 기반 카드 순서 정렬

개발 환경 및 도구

하드웨어 환경

  • 제어 보드: Raspberry Pi 5
  • 개발 보드: Arduino Uno
  • 카메라: IMX-708 12MP 광각
  • 프로젝터: XGIMI Halo+

소프트웨어 환경

  • OS: Raspberry Pi OS
  • 언어: Python 3.9, C++
  • 프레임워크: PyQt5, OpenCV 4.5
  • 딥러닝: YOLO v5
  • API: OpenAI GPT API

개발 도구

  • PCB 설계: KiCad
  • 3D 모델링: Fusion 360 (초기 설계)
  • 코드 편집: VS Code
  • 이미지 처리: OpenCV, PIL

참고 자료 및 오픈소스

활용 오픈소스

  • 체스 게임: GNU GPL 라이선스
  • YOLO 카드 인식: GitHub 공개 모델
  • Polytopia Map Generator: GNU GPL 라이선스
  • 포켓몬 카드 API: 16,000장 데이터베이스

기술 참고 문헌

[1] M. Kciuk, Z. Kowalik, G. Lo Sciuto, S. Sławski, and S. Mastrostefano, "Intelligent medical Velostat pressure sensor mat based on artificial neural network and Arduino embedded system," Applied System Innovation, vol. 6, no. 5, p. 84, Sep. 2023, doi: 10.3390/asi6050084.

[2] L. Yuan, H. Qu, and J. Li, "Velostat sensor array for object recognition," IEEE Sensors Journal, vol. 22, no. 2, pp. 1692–1701, Jan. 15, 2022

팀 구성 및 역할 분담

구성원별 전문 분야

팀원명 주요 역할 세부 담당 업무
구효본 (팀장) 프로젝트 관리, 터치 시스템 일정 관리, 진행사항 관리, 터치 하드웨어 구현
김지호 터치 시스템, 통합 터치 시스템 설계 및 구현, input 시스템 통합
류정현 게임 소프트웨어 게임 포팅 및 플랫폼 구현
조수민 기구 설계, 통합 외장 디자인 설계, input 시스템 통합
전진형 AI/객체인식, API 객체인식 시스템, API 통합 구현

느낀점

(프로젝트 완료 후 작성 예정)

부록

문제 해결 과정

터치 정확도 문제

  • 문제: 초기 설계 목표 5mm 정확도 달성 어려움
  • 원인: 손가락 접촉면적과 센서 간격 불일치
  • 해결: UI 재설계를 통한 실용적 접근

카메라 성능 문제

  • 문제: IMX219 화질 및 화각 부족
  • 해결: IMX708 광각 카메라로 업그레이드

게임 복잡도 문제

  • 문제: 유희왕, 매직 더 게더링 구현 복잡도 과다
  • 해결: 포켓몬 카드게임으로 범위 조정

예산 관리

  • 초기 예산: 183천원
  • 최종 예산: 404.8천원
  • 주요 증액 요인: 성능 향상을 위한 부품 업그레이드

향후 확장 가능성

  • 추가 게임 장르 지원
  • AI 대전 상대 구현
  • 온라인 멀티플레이어 지원
  • 모바일 앱 연동

프로젝트 느낀점

  • 하드웨어 제약사항을 고려한 현실적 목표 설정의 중요성
  • 프로토타입을 통한 조기 검증의 필요성
  • 팀 내 소통과 역할 분담의 중요성
  • 오픈소스 활용을 통한 개발 효율성 증대