로컬 스마트홈 제어를 위한 3x3 제스처 매트릭스
스마트홈에서 제한된 공간에 너무 많은 명령어가 필요한 문제는 타협을 요구합니다: 기계식 스위치는 기능을 1~2가지 동작으로 제한하고, 터치스크린은 상호작용을 느리게 만들며 어두운 곳에서 눈부십니다. 표준 벽 스위치 형식(6x6 cm)의 3x3 매트릭스 기반 제스처 컨트롤러 프로토타입은 화면 없이 수십 가지 터치 궤적을 구분할 수 있어 조명, 기후, 장면에 대한 연상 기호 제스처를 제공합니다.
제어 범위는 조명(메인, 액센트, 블라인드), 기후(난방, 에어컨), 보안(도어락, 센서)을 포함합니다. 명령어는 단독(벽등 켜기)과 장면("수면" 모드: 조명 끄기, 블라인드 닫기, 온도 낮추기)으로 구분됩니다.
표준 솔루션이 부족한 이유
5~8개의 키가 있는 기계식 블록은 재설정에 전기 기술자가 필요하며 벽 공간을 차지합니다. 터치 패널은 지연을 추가합니다: 화면 활성화, 메뉴 탐색. 음성 제어는 네트워크에 의존하며, 오작동에 취약하고 밤에는 불편합니다. 단일 정전용량 센서(TTP223)는 2~3가지 제스처(짧은 탭, 길게 누르기, 더블 탭)로 제한됩니다.
단일 센서(명령어 적음, 단순함)와 화면(명령어 많음, 복잡함) 사이의 간격을 3x3 매트릭스가 채웁니다. 약 20x20 mm 영역은 직관적(왼쪽/중앙/오른쪽)이며, 터치로 궤적을 인식합니다.
인코딩 원리: 타이밍 대신 궤적
단일 센서는 지속 시간으로 구분하여 3~4개 명령어로 제한됩니다. 매트릭스는 공간을 추가합니다:
0 1 2
3 4 5
6 7 8
제스처는 터치의 연속입니다: 0→1→2 스와이프(수평), 0→4→8(대각선), L자형(0→3→6→7), Z자형. 연상 기호: 상단 행 — 천장등(오른쪽 켜기, 왼쪽 끄기), 하단 — 바닥 액센트 조명, 중앙 — 메인 조명/끄기.
유한 상태 기계 논리:
- 대기: 첫 터치 대기.
- 코딩: 체인 수집(멀티터치 시 — 최소 인덱스).
- 해제: 300ms 이상 일시 정지 → 처리(MQTT, HTTP, 릴레이).
짧은 제스처는 빈번한 동작(1회 터치)에, 복잡한 제스처는 드문 장면에 사용합니다. 3~5개의 일상 명령어는 1일 이내에 암기 가능합니다.
TTP223과 MCU를 이용한 프로토타입 구현
매트릭스에는 TTP223 모듈(10x15 mm)을 사용하여 크로스토크를 제거했습니다. 컨트롤러(ESP32 유사)는 커스텀 보드 없이 GPIO를 처리합니다. 디버그 CLI 펌웨어 touch_matrix9_map_cli:
raw: 원시 GPIO 레벨.mapping: 논리 영역 0–8을 물리적 핀에 매핑(캘리브레이션, NVS에 저장).path: 궤적 기록 및 출력.demo h1: 기준값 대비 검증(OK/FAIL).
> mapping
셀 0 누르기: [터치 GPIO5]
셀 1 누르기: [터치 GPIO6]
... (9개 셀)
매핑이 NVS에 저장됨
> path
[트레이스 0-1-2] -> 경로: 0>1>2
> demo h1
OK (예상: 0-1-2)
프로토타입은 기본 테스트에서 오작동 없이 인식을 확인합니다.
사용 사례
- 방 입장: 셀 4 — 메인 조명, 상단 행 스와이프 — 모두 끄기, 대각선 — "외출"(조명/블라인드/기후).
- 침대 옆: 모서리 — 왼쪽/오른쪽 벽등, 중앙 — 야간등, 아래 — "수면".
- 다용도실: 장갑 착용 시 조명/환기에 큰 제스처.
- 오프라인 모드: 제스처 → MCU의 릴레이, 네트워크 불필요.
한계 및 추가 사항
- 제스처 학습(3~5개 명령어에 현실적).
- 오작동 위험(습도, 우연한 터치) — 확인 없이는 도어락에 부적합.
- 피드백 없음 — LED 상태 표시 추가.
매트릭스는 빠른 동작을 위한 로컬 리모컨으로, 화면/앱을 보완합니다.
핵심 요약
- 3x3 매트릭스는 스위치 형식으로 수십 가지 연상 기호 궤적을 인코딩합니다.
- TTP223 + MCU는 화면이나 네트워크 없이 간단한 구현을 제공합니다.
- CLI 디버깅(매핑, 경로, 데모)은 프로토타입 제작을 가속화합니다.
- 틈새 시장: 기계식(1~2개 명령어)과 화면(느림) 사이.
- 한계: 학습 곡선, 오작동, 내장 피드백 없음.
— Editorial Team
아직 댓글이 없습니다.