타자왕이 될꺼야!  

이순재(#뉴비 #게이머 #마음만은 #초고수)씨는
올해 84세가 되었지만 손자와 게임을 하기 위해 컴퓨터를 배우고 있다.

하지만 ‘요즘 것들’의 채팅 속도를 따라잡기가 어렵다. 타자 연습 프로그램으로 사용해보았지만, 실력이 느는 느낌이 안든다.

그런데!!!

한달 뒤, 이순재씨는 현란한 손놀림으로 타자를 칠 수 있게 되었다!
무슨 일이 벌어진 것일까?

이순재 할아버지가 이용한 것은!?

안녕하세요, ‘전자석을 이용한 타자 연습기’를 개발한 경희대학교 전자공학과 Khu Key board입니다.

저희는 키보드와 웨어러블 장갑의 전자석을 달아, 전자석 사이의 인력을 사용자가 인지하며 키보드 타이핑을 할 수 있는 타자 연습기를 설계, 개발하였습니다.

그럼 저희 프로젝트에 대해 자세히 소개해보도록 하겠습니다.

X-Corps 페스티벌 자료

프로토타입 소개 및 시연 영상

논문

KSC2017 학부생 논문 경진대회 논문을 한번 봐볼까요? 클릭해주세요

시스템 구성도

전자석을 이용한 타자 연습기는 컴퓨터 응용프로그램인 Typing Assistant와 키보드 위에 올려놓고 사용하는 Keyboard Panel, 장갑형태의 FingerTip으로 이루어져있습니다.

시퀀스 다이어그램

과정 1,2: 전원이 KP와 FT에 인가되면 KP와 FT은 서로 블루투스 연결을 맺는다. TA는 어플리케이션이 실행될 때 2초의 로딩시간을 거치면서 KP와 FT의 블루투스 연결이 맺어지는 것을 기다린다.

과정 3,4: TA와 KP가 시리얼 연결을 맺는다.

과정 5,6: TA는 입력해야 할 문자를 무작위로 생성한 후 모니터에 출력한다.

과정 7,8: TA는 생성된 문자를 Character형으로 시리얼 통신을 통해 KP로 전달하고 KP는 이에 해당하는 전자석을 활성화한다.

과정 9,10: KP는 TA로 부터 받은 문자를 블루투스 통신을 통해 FT으로 전달하고 FT은 이에 대항하는 전자석을 활성화한다.

과정 11: 사용자가 KP와 FT의 전자석의 전자기력을 인지하고 키보드를 올바르게 입력하면 키보드 인터럽트 이벤트가 발생한다.

과정 12~15: 키보드 인터럽트가 발생하면 KP와 FT의 전자석을 비활성화한다.

과정 16: TA는 다시 새로운 문자를 무작위로 생성한 후 위의 과정을 반복한다.


Typing Assistant

TA는 Node.js 엔진과 Chromium 브라우져을 기반으로 데스크탑 어플리케이션을 제작할 수 있는 Electron을 사용하여 만들어졌습니다.

node-serialport 모듈을 사용하여 KP과 시리얼 통신을 할 수 있게 하였으며, 자체적으로 랜덤하게 영어 소문자 하나를 생성하고, 그에 해당하는 키보드 인터럽트 이벤트가 발생하면 다시 새로운 문자가 생성니다.

개발스펙

Release

Git Repository

https://github.com/sauber92/GraduationProject-TA


Keyboard Panel

Arduino Mega 보드와 16채널 릴레이 2개, 전자석 26개를 사용하여 구성하였습니다. 블루투스 모듈은 HC-06을 사용했습니다.

SoftwareSerial 라이브러리를 통해 FT과 블루투스 통신을 하였습니다.

개발스펙

Git Repository

https://github.com/sauber92/GraduationProject-KP


FingerTip

Arduino Uno 보드와 4채널 릴레이 2개, 전자석 8개를 사용하여 구성하였습니다. 블루투스 모듈은 HC-06을 사용했습니다.

SoftwareSerial 라이브러리를 통해 KP과 블루투스 통신을 하였습니다.

개발스펙

Git Repository

https://github.com/sauber92/GraduationProject-FT


프로젝트 관리

Khu Key board의 트렐로