KR20220095997A - 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법 - Google Patents

미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법 Download PDF

Info

Publication number
KR20220095997A
KR20220095997A KR1020200188089A KR20200188089A KR20220095997A KR 20220095997 A KR20220095997 A KR 20220095997A KR 1020200188089 A KR1020200188089 A KR 1020200188089A KR 20200188089 A KR20200188089 A KR 20200188089A KR 20220095997 A KR20220095997 A KR 20220095997A
Authority
KR
South Korea
Prior art keywords
mission
module
modules
information
providing
Prior art date
Application number
KR1020200188089A
Other languages
English (en)
Other versions
KR102463835B1 (ko
Inventor
태상혁
오유경
이승희
이진주
홍성아
Original Assignee
주식회사 럭스로보
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 럭스로보 filed Critical 주식회사 럭스로보
Priority to KR1020200188089A priority Critical patent/KR102463835B1/ko
Publication of KR20220095997A publication Critical patent/KR20220095997A/ko
Application granted granted Critical
Publication of KR102463835B1 publication Critical patent/KR102463835B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B1/00Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways
    • G09B1/32Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support
    • G09B1/325Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support the elements comprising interacting electronic components
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Marketing (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 발명은 RF 태깅 또는 카메라 촬영으로 인식 가능한 미션수행코드가 포함된 미션 브릿지 및 상기 미션 브릿지가 결합되는 복수의 블록이 정렬되어 있는 미션 맵을 포함하는 보드게임 툴; 미션 수행을 위해 상기 미션 맵 상을 이동하는 미션수행모듈; 카메라를 통해 상기 보드게임 툴과 상기 미션수행모듈을 인식하는 인식부; 인식된 상기 보드게임 툴과 상기 미션수행모듈을 AR 이미지로 변환하여 디스플레이에 제공하는 증강현실 그래픽 표시부; 및 상기 미션 맵 상에서 상기 미션수행모듈의 위치에 대응하는 미션수행코드의 미션을 제공하는 미션제공부를 포함하는 서버; 및 상기 보드게임 툴, 상기 미션수행모듈 및 서버와 무선통신망으로 연결되는 스마트 단말을 포함한 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템이다.

Description

미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법{A CODING TRAINING SYSTEM PROVIDING MISSION-SOLVING CONTENTS AND THE METHOD THEROF}
본 발명은 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템에 관한 것으로서, 태블릿 PC, 스마트폰 등과 같은 무선 디바이스를 통해 토폴로지(Topology) 인식이 가능한 모듈들을 AR(Augmented Reality)로 결합하여 보드 게임을 수행할 수 있는, 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템에 관한 것이다.
최근 교육, 취미, 연구, 생산 등을 목적으로 하는 다양한 모듈 기반 제작 도구들이 제안되고 있다. 이러한 제작 도구들에 포함된 모듈들은 각각 특정한 기능을 수행할 수 있으며, 서로 연결되어 모듈 어셈블리를 형성할 수 있도록 제공된다. 이때, 각각의 모듈은 서로 전기적으로도 연결되어 에너지, 신호, 데이터 등을 송수신할 수 있도록 제공될 수도 있다.
이러한 모듈 어셈블리들은 소프트웨어 또는 하드웨어의 전문가인 연구원부터 학생, 일반인 등 다양한 사람들이 이용하고 있다.
그러나, 전문가를 제외한 일반인이나 학생들에게는 각 모듈들이 제대로 동작할 수 있도록 조립하고, 조립된 모듈 어셈블리를 구동시키기에 적합한 소프트웨어를 작성하여 사용하는 것이 어려울 수 있다.
또한, 언제 어디서나 모듈 조립을 통해 코딩을 학습할 수 있는 코딩 교육용 시스템은 없었기 때문에 보다 활발한 코딩 교육의 활성화를 위해 시간과 장소에 구애받지 않고 코딩을 재미있게 학습할 수 있는 서비스를 제공하는 시스템에 대한 개발이 필요하다.
[관련기술문헌]
1. 모듈을 이용한 사용자 참여형 전자책 시스템 및 동작 방법(특허출원번호 제10-2020-0004579호)
본 발명은 상술한 기술적 문제에 대응하기 위하여 안출된 것으로, 본 발명의 목적은 종래 기술에서의 한계와 단점에 의해 발생하는 다양한 문제점을 실질적으로 보완할 수 있는 것으로, 태블릿 PC로 촬영한 모듈들의 토폴로지를 인식하여 AR(Augmented Reality)로 모듈들을 조립하여 보드 게임을 진행함로써 사용자의 흥미를 극대화시킬 수 있고 모듈 결합에 따라 실시간으로 생성되는 소스 코드를 통해 코딩 교육에 대한 학습효과를 누릴 수 있는 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템을 제공하는데 있다.
본 발명의 일 실시예에 따른 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템은 RF 태깅 또는 카메라 촬영으로 인식 가능한 미션수행코드가 포함된 미션 브릿지 및 상기 미션 브릿지가 결합되는 복수의 블록이 정렬되어 있는 미션 맵을 포함하는 보드게임 툴; 미션 수행을 위해 상기 미션 맵 상을 이동하는 미션수행모듈; 카메라를 통해 상기 보드게임 툴과 상기 미션수행모듈을 인식하는 인식부; 인식된 상기 보드게임 툴과 상기 미션수행모듈을 AR 이미지로 변환하여 디스플레이에 제공하는 증강현실 그래픽 표시부; 및 상기 미션 맵 상에서 상기 미션수행모듈의 위치에 대응하는 미션수행코드의 미션을 제공하는 미션제공부를 포함하는 서버; 및 상기 보드게임 툴, 상기 미션수행모듈 및 서버와 무선통신망으로 연결되는 스마트 단말을 포함할 수 있다.
또한, 상기 미션은 상기 미션 맵에 결합된 미션 브릿지의 개수에 대응하는 난이도로 제공되는 코딩 미션일 수 있다.
또한, 미션은 상기 미션 브릿지들이 전, 후 미션 브릿지들과 서로 근거리에 뭉쳐 있을수록 서로 근처리에 뭉쳐 있지 않은 미션 브릿지들에 제공되는 미션보다 미션의 난이도가 높아질 수 있다.
또한, 미션수행코드는 상기 미션수행모듈에 의해 스캔될 수 있다.
또한, 상기 서버는 제공된 미션을 수행하기 위해 사용자가 상기 디스플레이 상에서 드래그 방식으로 결합한 모듈 정보를 수신하는 모듈 정보 수신부를 포함할 수 있다.
또한, 서버는 상기 모듈 정보에 기초하여 실시간으로 소스 코드를 생성하는 코드 생성부를 포함할 수 있다.
또한, 미션수행코드는 미션 정보가 포함된 QR코드, 바코드, NFC 태그 중 어느 하나의 형태로 형성할 수 있다.
또한, 서버는 미션에 따라 결합 가능한 추천 조립 정보를 생성하는 추천 조립 정보 생성부를 더 포함하되, 추천 조립 정보는 사용자가 실제 소지하고 있는 모듈들 중 카메라를 통해 촬영된 모듈들만이 추천 모듈로서 생성되며, 추천 모듈은 모듈 조립영역으로 드래그 앤 드롭되는 방식으로 조립될 수 있다.
또한, 미션이 복수의 사용자에 의해 수행되는 경우에는 복수의 사용자를 편을 나누어 게임을 진행하되, 같은 편인 사용자들은 같은 편 사용자들에 의해 등록된 모듈들 내에서 추천 모듈을 제공받을 수 있다.
본 발명의 다른 실시예에 미션 해결형 콘텐츠를 제공하는 방법은 RF 태깅 또는 카메라 촬영으로 인식 가능한 미션수행코드가 포함된 미션 브릿지와 상기 미션 브릿지가 결합되는 복수의 블록이 정렬되어 있는 미션 맵으로 구성된 보드게임 툴 및 미션 수행을 위해 상기 블록 상에서 순차적으로 전진하는 미션수행모듈을 스캔하는 단계; 상기 보드게임 툴과 상기 미션수행모듈을 AR 이미지로 변환하여 디스플레이에 표시하는 단계; 및 상기 미션수행모듈의 위치에 대응하는 미션수행코드의 미션을 제공하는 단계;를 포함할 수 있다.
본 발명에 따른 과제의 해결수단은 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
본 발명의 실시예들에 의하면 적어도 다음과 같은 효과가 있다.
본 발명에 따르면, 카메라 모듈을 포함하는 무선 디바이스를 통해 보드 게임 툴을 인식하여 미션 수행을 위해 AR(Augmented Reality)로 모듈들을 조립함으로써 코딩 교육에 대한 흥미를 극대화할 수 있다.
본 발명에 따르면, 미션 수행을 위해 모듈들을 결합함과 동시에 소스코드를 함께 제공해줌으로써 코딩에 대한 사용자의 학습 효과를 높이는데 도움을 줄 수 있다.
본 발명에 따르면, 모듈 결합을 통해 콘텐츠를 진행함에 있어서 시각 정보, 청각 정보 등을 출력함으로써 콘텐츠에 대한 사용자의 재미와 학습 효과를 동시에 제공할 수 있다.
본 발명에 따르면, 코딩 교육을 위한 다양한 콘텐츠를 보드게임 형식으로 진행함으로써 코딩에 대한 개념 및 알고리즘을 보다 쉽게 이해할 수 있도록 도움을 줄 수 있다.
본 발명에 따르면, 무선 디바이스와 모듈 키트만으로 코딩 교육을 수행할 수 있게 됨에 따라 언택트 교육을 위한 제품의 활용도를 높일 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 실시예에 따른 모듈 어셈블리가 조립된 모습을 보여주는 사시도이다.
도 2는 도 1의 모듈 어셈블리 중 일부 모듈의 내부 구조를 보여주는 평면도이다.
도 3은 본 발명의 실시예에 따른 코딩 교육용 시스템의 개략도이다.
도 4는 본 발명의 실시예에 따른 서버를 설명하기 위한 블럭도이다.
도 5는 본 발명의 실시예에 따른 보드게임 툴을 설명하기 위한 예시도이다.
도 6은 본 발명의 실시예에 따른 모듈수행모듈을 설명하기 위한 예시도이다.
도 7은 본 발명의 실시예에 따른 미션해결형 콘텐츠를 실행하기 전 구성들을 인식시키는 것을 설명하기 위한 예시도이다.
도 8 내지 도 10은 본 발명의 실시예에 따른 보드 게임의 미션이 제공되는 화면 예시도이다.
도 11은 본 발명의 실시예에 따른 모듈 정보와 함께 소스 코드가 표시되는 화면 예시도이다.
발명의 이점, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우, '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.
구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
본 명세서의 해석의 명확함을 위해, 이하에서는 본 명세서에서 사용되는 용어들을 정의하기로 한다.
본 명세서에서 사용되는 용어, “사용자”는 본 발명의 코딩 교육용 시스템을 이용하는 사용자로서, 적어도 한 명으로 구성되는 것을 특징으로 한다. 본 명세서에서 사용자는 참여자 또는 플레이어(Player)로 지칭될 수도 있다.
이하에서는 도 1 내지 도 2를 참조하여 본 발명의 실시예에 따른 코딩 교육용 시스템에서 하드웨어적으로 결합되는 모듈에 대해 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 모듈 어셈블리가 조립된 모습을 보여주는 사시도이다. 도 2는 도 1의 모듈 어셈블리 중 일부 모듈의 내부 구조를 보여주는 평면도이다.
모듈 어셈블리(300)는 서로 조립 가능한 하나 이상의 모듈들의 집합(10, 20, 30, 40, 50) 또는 이들이 조립된 구조체로 정의될 수도 있으며, 그 목적, 종류, 형태, 모듈의 개수 등에 의해 제한되지 않는다. 예컨대, 모듈 어셈블리(300)는 연구원이 특정 목적을 수행하기 위한 장치를 제작하기 위해 사용되는 연구용 키트의 일부일 수도 있다.
상기 복수개의 모듈들(10, 20, 30, 40, 50)은 전압 또는 전류의 변화로서 나타내는 신호, 데이터, 또는 전기 에너지(이하, “전기적 신호”라고도 함)를 다른 모듈 또는 외부 장치와 송수신할 수 있도록 구성된 객체로 정의될 수 있다. 이러한 모듈들은 중앙처리장치(CPU), 메모리(316), 전원 등을 구비하거나 또는 다른 모듈의 제어를 받아 작동 가능한 감지(Sensing) 수단, 처리(Processing) 수단 및 구동(Driving) 수단 등을 구비하여 각각 독립적으로 구동 가능할 수 있다.
또한, 각각의 모듈들(10, 20, 30, 40, 50)은 독립적으로 특정한 기능을 수행하거나, 다른 모듈과의 상호 작용에 의해 특정한 기능을 수행하도록 구성될 수도 있다. 모듈들이 중앙처리장치(CPU)를 구비하는 경우에는 각각의 모듈별로 펌웨어(Firmware)가 설치될 수도 있다.
상술한 바에 따라, 각각의 모듈들(10, 20, 30, 40, 50)은 하기 <표 1>과 같이, 크게 입력(Input) 모듈, 출력(Output) 모듈, 셋업(Setup) 모듈로 구분될 수 있다.
<표 1>
Figure pat00001
입력 모듈은 리모컨 등으로부터 적외선 신호를 수신할 수 있는 적외선 모듈(IR(Infrared) module), X,Y,Z축 변화 각도와 가속도를 감지할 수 있는 자이로스코프 센서 모듈(Gyroscope module), 모듈 손잡이의 회전을 이용하여 회전 각도 혹은 회전 속도를 측정할 수 있는 다이얼 모듈(Dial module), 버튼의 눌림을 감지하여, 클릭, 더블 클릭, 눌린 상태를 감지하고, 토글(Toggle)을 사용해 온/오프(On/Off) 상태가 유지될 수 있도록 하는 버튼 모듈(Button module), 온도, 습도, 조도 등을 측정할 수 있는 환경 모듈(Environment module), 주변의 소리 세기(dB)와 주파수를 감지할 수 있는 마이크 모듈(Mic module) 및 거리를 감지할 수 있는 초음파 모듈(Ultrasonic module) 등으로 구성될 수 있다.
또한, 출력 모듈은 색 변경에 따른 시각적 표시가 가능한 LED 모듈(LED module), 스피커 모듈(Speaker module), 사용자가 그린 그림이나, 글자 또는 모듈 정보 등을 화면에 표시하는 디스플레이 모듈(Display module), 속도, 각도, 토크(Torque)를 설정하여 전기 신호를 모터 모듈로 보내서 회전 운동을 시켜주는 모터 컨트롤러 모듈(Motor Controller module), 또는 모터 컨트롤러에서 받은 전기적 신호를 회전운동으로 변환할 수 있는 모터 모듈(Motor; MDP-14) 등으로 구성될 수 있다.
또한, 셋업 모듈은 다른 모듈에 전원을 공급할 때 사용되는 배터리 모듈(Battery module) 및 블루투스(Bluetooth), 와이파이(WiFi) 혹은 USB 연결을 통해 모듈을 PC, 스마트폰 또는 모듈과 연결시킬 수 있는 네트워크 모듈(Network module) 등으로 구성될 수 있다.
또한, 각각의 모듈들(10, 20, 30, 40, 50)은 외부의 구동 장치(80)와 케이블(70)에 의해 연결될 수도 있다. 이 경우, 모듈 어셈블리(300)는 리모컨 또는 스마트폰의 신호를 수신하여 모터를 선택적으로 작동시키는 장치일 수 있다. 상기와 같은 모듈 어셈블리(300)의 구성은 하나의 예에 불과하며, 각각의 모듈(10, 20, 30, 40, 50)은 독립적으로, 또는 다른 모듈과의 연동을 통해 임의의 기능을 수행할 수 있도록 제공될 수 있다.
모듈들(10, 20, 30, 40, 50)은 이웃하는 다른 모듈과 면 접촉 가능하도록 복수 개의 측면을 갖는 다각형 기둥 형상인 입체일 수 있다. 여기서, 면 접촉은 측면의 모든 면적이 모두 접촉되는 것 만을 의미하는 것은 아니며, 측면의 일부만 접촉되어 어느 하나의 모듈의 측면과 다른 모듈의 측면이 서로 마주보며 일부분이 접촉되는 것을 포함하는 의미로 이해되어야 한다. 도 4를 참조하면, 각각의 모듈들(10, 20, 30, 40, 50)은 정사각형 형상의 평면을 갖는 것을 예로 들어 도시하였다. 즉, 본 실시예에서의 모듈들은 4개의 측면을 갖는 직육면체인 것을 예로 설명한다. 한편, 다른 실시예로서 모듈들(10, 20, 30, 40, 50)은 평면상 정삼각형, 직사각형, 정오각형 등의 다각형 기둥 형상으로 형성될 수도 있고, 특히, 정다각형 형상으로 형성될 수 있다. 일부의 모듈들이 서로 다른 입체적 형상을 가질 수도 있다. 또한, 모듈들 중 일부는 뿔, 다면체 등의 다양한 입체적 형상을 가질 수도 있다.
모듈(10)은 외관을 형성하는 하우징(1)과, 상기 하우징(1)의 측면에 노출되어 전기 신호 등을 연결된 다른 모듈에 전달하거나 수신할 수 있는 단자(2)와, 하우징의 외부로 선택적으로 돌출되는 핀(도 1의 (3) 또는 도 2의 (106))이 제공된 핀 설치부(105) 및 다른 모듈의 핀이 삽입되는 핀 수용부(도 1의 (4) 또는 도 2의 (103))를 포함할 수 있다.
한편, 제1 모듈(10)의 일 측면에는 외부 장치와 통신할 수 있는 시리얼 포트(Serial Port)를 포함할 수 있다. 예컨대, 시리얼 포트는 USB(Universal Serial Bus), USB-C type, IEEE 1394, 썬더볼트(Thunderbolt) 등의 유선 시리얼 통신을 할 수 있는 다양한 규격의 포트를 사용할 수 있다.
하우징(1)은 평면이 정사각형인 직육면체 형상으로 형성된 케이스로서, 내부의 구성품들을 보호한다. 하우징(1)은 도 1에 도시된 바와 같이 상부 케이스(1a)와 하부 케이스(1b)가 결합되는 형태로 제공될 수 있다. 하우징(1)을 구성하는 방법은 필요에 따라 상부 케이스(1a)와 하부 케이스(1b)가 일체로 형성되거나, 더 많은 부분으로 나뉘어 조립될 수도 있다. 또한, 하부 케이스(1b)는 외형 및 내부 구조를 형성하는 프레임, 프레임의 내측에 제공되는 기판(102) 및 기판(102)에 설치되는 기능 유닛(104)을 더 포함할 수 있다. 보다 상세하게, 기판(102)에는 제1 모듈(10)의 기능을 구현하기 위한 기능 유닛(104)이 실장될 수 있으며, 프레임의 내측 공간 중앙부에 고정 설치될 수 있다. 기능 유닛(104)은 예를 들어 마이크로프로세서(180)를 포함할 수 있으며, 이때 제1 모듈(10)이 독립적인 펌웨어에 의해 구동되면 제1 모듈(10)을 제어하기 위해 제공될 수 있다.
또 다른 예로서, 제1 모듈(10)이 적외선 센서 모듈인 경우, 기능 유닛(104)은 적외선 센서 및 적외선 센서로부터 감지된 값을 처리하는데 필요한 ADC(Analog Digital Converter) 및 다른 모듈 또는 외부 하드웨어와 통신하는 데 필요한 인터페이스 예컨대, I2C 또는 UART, 또는 USB 등의 통신 인터페이스 등 필요한 디바이스들을 포함할 수 있다. 이처럼 본 발명의 모듈(10, 20, 30, 40, 50)은 상술한 기능 유닛(104)의 기능에 따라 모듈의 종류가 정해질 수 있다.
또 다른 예로서, 기능 유닛(104)이 후술되는 마이크로프로세서(180) 및 메모리(190)를 포함하고 있으며, 다른 유닛들을 제어할 수 있는 OS 또는 펌웨어를 포함하고 있는 경우에는 메인 모듈이 될 수 있다.
또는, 기능 유닛(104)이 센서의 센싱 값을 다른 모듈 또는 외부 디바이스에 전달할 수 있는 경우에는 센서 모듈이 될 수 있다.
또는, 기능 유닛(104)이 NB-IOT, LTE, LoRa, WiFi, Bluetooth, USB, 케이블 모뎀 등 다양한 유무선 통신 장치를 포함하면서 다른 모듈로부터 전기적 신호를 수신하여 상술한 유무선 통신 장치를 통하여 다른 외부 디바이스에 전기적 신호를 전송할 수 있는 경우에는 통신 모듈이 될 수 있다.
또는, 기능 유닛(104)이 모터 등의 다양한 액추에이터 및 액추에이터 제어 회로들을 포함하여 구동이 가능하게 하는 경우에는 구동 모듈이 될 수 있다. 기타 본원 발명의 모듈의 더욱 상세한 구조 및 결합에 대해서는 대한민국 등록특허 공보 제10-1761596에 상세하게 기재되어 있으며, 본원 특허 명세서에 참조로서 포함된다.
단자(2)는 전기 신호 등을 연결된 다른 모듈에 전달하거나 다른 모듈로부터 받을 수 있으며, 일 예로 하우징(1)의 내부에 제공된 기판(102)으로부터 전기 신호 등을 전달받아 단자에 접촉된 다른 모듈의 단자로 전달할 수 있다. 단자(2)는 다수 개의 접촉 점이나 연결 핀을 가질 수 있으며, 이는 전기 신호 등의 전달 방법, 표준화된 규격 등에 따라 다양한 형태를 가질 수 있다.
이와 같은 단자(2)는 핀(도 1의 (3) 또는 도 2의 (106)), 핀 설치부(105), 핀 수용부(도 1의 (4) 또는 도 2의 (103))와 한 세트를 이루어 하우징(1)의 일 측면에 배치될 수 있다. 구체적으로, 단자(2)는 핀(도 1의 (3) 또는 도 2의 (106))과 핀 수용부(도 1의 (4) 또는 도 2의 (103)) 사이에 배치될 수 있으며, 다른 모듈의 핀과 핀 수용부 사이에 배치된 단자에 접촉될 수 있다. 본 실시예에서는 하우징(1)의 모든 측면에 단자(2)가 제공되는 것을 예로 들었으나, 실시예에 따라서는 단자(2)가 형성되지 않은 측면이 존재할 수도 있다.
프레임은 하우징(1)의 일부 또는 전부를 구성하는 구조물로서, 하우징(1)의 일부 또는 전부의 외형을 형성하고, 내부에 각종 부품이 설치되기 위한 공간과 구조를 제공할 수 있다. 본 실시예에서 프레임은 하우징(1)의 하부 케이스(1b)를 형성하는 것을 예로 들어 설명하나, 본 발명의 권리범위는 이에 한정되지 않는다. 또한, 본 실시예에서 프레임은 사각형 형상으로 형성되며, 4개의 코너(corner)를 갖는다.
이하에서는 도 3 내지 도 4를 참조하여 본 발명의 실시예에 다른 코딩 교육용 시스템(1000) 및 이를 구성하는 서버에 대해 설명하기로 한다.
도 3은 본 발명의 실시예에 따른 코딩 교육용 시스템의 개략도이다. 도 4는 본 발명의 실시예에 따른 서버의 구성을 설명하기 위한 블록도이다.
도 3을 참조하면 코딩 교육용 시스템(1000)은 서버(100), 사용자 단말(200) 및 모듈 어셈블리(300)를 포함한다.
코딩 교육용 시스템(1000)은 코딩에 대한 사용자들의 흥미를 극대화하기 위해 카메라가 포함된 무선 디바이스를 통해 촬영한 모듈들의 토폴로지가 인식되면 AR(Augmented Reality)로 모듈들을 조립할 수 있도록 조립가능한 경우의 수를 제공함에 따라 다양한 버전의 콘텐츠를 제공하는 시스템이다. 구체적으로, 코딩 교육용 시스템(1000)은 인터넷, 인트라넷, 또는 광대역 통신망 등의 네트워크(900)를 통해 서버(100) 및 사용자 단말(200)을 연결하는 것을 특징으로 한다. 이때, 서버(100) 또는 사용자 단말(200)은 모듈 어셈블리(300)를 구동시킬 수 있는 프로그램의 소스 코드를 작성, 추천 및 컴파일(또는 인터프리트)할 수 있는 저작툴을 제공할 수 있다. 이러한 소스 코드의 작성, 추천 및 컴파일(또는 인터프리트)할 수 있는 저작툴에 대해서는 본 출원인이 이전에 발명한 대한민국 특허출원 제10-2018-0114166호 및 제10-2018-0114171호에 상세하게 기재되어 있으며, 위의 두 특허는 참조로서 포함된다.
보다 상세하게, 서버(100)는 보드게임 툴 및 보드게임을 수행하기 위해 이동하는 미션수행모듈(MA)을 촬영하여 인식하고 인식된 미션수행코드(MC)에 따라 미션을 제공하는 구성이다. 서버(100)는 도 4에 도시된 바와 같이, 인식부(110), 미션 제공부(120), 추천 조립 정보 생성부(130), 증강현실 그래픽 표시부(140), 코드
생성부(150), 통신 제어부(170), 마이크로프로세서(180) 및 메모리(190)를 포함한다.
인식부(110)는 카메라를 통해 상기 보드게임 툴과 상기 미션수행모듈(MA)을 인식하는 구성이다. 여기서, 보드게임 툴은 RF 태깅 또는 카메라 촬영으로 인식 가능한 미션수행코드(MC)가 포함된 미션 브릿지(MB) 및 상기 미션 브릿지(MB)가 결합되는 복수의 블록이 정렬되어 있는 미션 맵(MM)을 의미하는 것이다. 인식부는 각각 서로 다른 미션 정보를 포함하고 있는 미션수행코드(MC)를 인식할 수 있다. 미션수행코드(MC)는 카메라에 의해 쉽게 인식되기 위해 미션 브릿지(MB)의 최상단부에 형성되는 것을 특징으로 하며, QR코드, RFID(Radio-Frequency Identification) 태그, 바코드, NFC 태그 등 중 어느 하나의 형태로 형성된다. 다시 말해, 미션수행코드(MC)는 RFID, 바코드, NFC 형태를 태그하여 리딩하는 형태일 수도 있고, 또는 QR 코드와 같은 특정 패턴을 카메라를 통해 촬영하여 리딩하는 형태일 수도 있다.
보드게임 툴을 구성하는 미션 브릿지(MB)는 미션 맵(MM)의 블록 상에 선택적으로 결합될 수 있다. 이에, 미션 제공부는 결합되는 미션 브릿지(MB)의 개수에 따라 서로 다른 난이도의 미션을 제공할 수 있다.
미션수행모듈(MA)은 미션을 수행하기 위해 복수의 블록으로 구성된 미션 맵(MM) 상에서 전진 또는 후퇴하는 구성이다. 미션수행모듈(MA)은 도 6에 도시된 바와 같이, 미션 수행을 위해 조립 미션이 요구되는 구성인 것을 기본으로 하지만, 조립 미션이 요구되지 않는 별도의 모듈일 수 있다. 미션수행모듈(MA)이 미션 수행을 위해 조립을 먼저 진행해야하는 경우에는 조립가이드(AG)가 디스플레이에 표시될 수 있다. 또한, 미션수행모듈(MA)은 앞서 인식한(이하, '스캔한'이라고도함) 미션 브릿지(MB)의 종류에 따라 미션수행모듈(MA)을 조립하는 조립 난이도가 결정될 수도 있다. 이에, 사용자는 난이도 선택 버튼(601)을 통해 난이도를 결정할 수 있다. 한편, 다른 실시예에 따르면, 미션 브릿지(MB)들 중 전, 후 미션 브릿지(MB)들과 서로 근거리에 뭉쳐있을 수록 전, 후 미션 브릿지(MB)들과 뭉쳐있지 않은 미션 브릿지(MB)들에 제공되는 미션 보다 상대적으로 높은 난이도의 미션이 제공되는 것을 특징으로 한다. 또한, 인식부(110)는 모듈을 조립하기 전 사용자가 가지고 있는 모듈들에 대한 정보를 수신할 수 있다. 예를 들어, 모듈들에 대한 정보(이하, '모듈 정보'라고도 함)는 모듈 ID, 바디 메시지(Body message), 모듈 카테고리, 기능 정보 및 메타 정보 중 적어도 하나를 포함한다. 여기서, 모듈 ID는 UUID(Universally Unique identifier)와 같은 모듈 고유의 식별자이거나 메인 모듈에서 결합 시 부여하는 임시 ID일 수 있다. 또한, 모듈 ID는 본 발명의 모듈 간의 패킷을 확인함으로써 모듈의 동작 상태를 확인하기 위한 수단일 수 있다. 예를 들어, 본 발명의 모듈들은 메세지를 보내는 모듈 및 메시지를 수신하는 모듈이 있기 때문에, 모듈 ID에는 메시지를 보내는 메시지 전송 모듈의 정보를 담은 고유번호(Source module information(for sender)) 및 메시지를 수신하는 메시지 수신 모듈의 정보를 담은 고유번호(Target module information(for receiver))로 구성될 수 있다.
또한, 모듈 카테고리는 치환 가능한 모듈들을 찾는 것을 보조하기 위하여 복수의 모듈을 수행 기능을 중심으로 유사한 기능을 가진 모듈들을 상위 개념으로 분류하는 개념이다. 예컨대, 센서, 키, 마이크 등 전기 신호를 입력하는 모듈들은 '입력', 액추에이터, 디스플레이, LED 등은 '출력', 또는 마이크로프로세서(180)를 포함하며, 사용자가 포팅한 프로그램을 실행시킬 수 있는 모듈, 네트워크 모듈, 배터리 모듈 또는 가중치 표시 모듈은 '셋업' 등이 모듈 카테고리의 예가 될 수 있다.
또한, 기능 정보는 모듈의 상세 기능을 표시한 것으로, 예를 들어, 컨트롤 모듈, 적외선 센서 모듈, 스위치 모듈, 전원 모듈 및 네트워크 모듈 등이 상세 기능이 될 수 있다. 이 경우, 모듈의 기능은 각 모듈 내의 기능 유닛(104)의 구성에 따라 달라질 수 있다.
또한, 메타 정보는 모듈의 기타 정보로서, 예를 들어, '선풍기' 등의 구체적인 기기 명이 될 수도 있고, '바람', 또는 '시원' 등과 같은 선풍기와 연관된 연관 검색어들이 될 수 있다.
또한, 구동 정보는 각 모듈을 구동하기 위한 드라이버(Driver)이다. 이러한 구동 정보는 해당 모듈이 저장하고 있다가 모듈 연결 시에 컨트롤 모듈에 제공하거나 또는 컨트롤 모듈이 모듈 정보를 사용자 단말(200)에 제공하는 경우, 사용자 단말(200)로부터 다운로드 받을 수 있다. 또한, 펌웨어는 모듈 어셈블리(300)를 동작시키기 위한 소프트웨어로서, 사용자 단말(200)을 통해 소스 코드를 작성하여 컴파일 후 실행파일로 생성할 수 있다. 또는 컨트롤 모듈이 조립 정보를 사용자 단말(200)에게 제공하는 경우, 사용자 단말(200)로부터 소스 코드를 추천받고, 추천받은 소스 코드를 컴파일한 실행파일(펌웨어)을 사용자 단말(200)로부터 다운로드 받을 수 있다.
미션 제공부(120)는 상술한 바와 같이 결합되는 미션 브릿지(MB)의 개수에 따라 서로 다른 난이도의 미션을 제공하는 구성이다. 여기서, 제공되는 미션은 보드 게임과 결합된 코딩 미션인 것으로 이해되는 것이 바람직하다. 미션 제공부(120)는 도 8 내지 도 9에 도시된 바와 같이 사용자 단말(200)의 디스플레이에 미션수행모듈(MA)의 위치에 대응하는 미션수행코드(MC)의 미션을 제공할 수 있다. 미션을 수행하는 과정은 도 8 내지 도 9를 참조하여 후술한다.
추천 조립 정보 생성부(130)는 제공되는 미션에 따라 결합가능한 추천 조립 정보를 생성하는 구성이다. 추천 조립 정보는 결합 가능한 모듈들이 UI형태로 제공되되 사용자로부터 미리 등록된(사용자가 소지하고 있다고 사전에 설정한) 모듈들 중에서 카메라를 통해 촬영된 모듈들만이 추천 모듈로서 생성되는 것을 특징으로 한다. 단, 실시예에 따라서 사용자로부터 미리 등록된 모듈에 포함되지 않는 모듈이 추천 조립 정보로 제공될 수 있는데 이는 새로운 모듈에 대한 구매가 요구될 수 있고 이를 통해 보다 다양한 모듈 결합을 수행함으로써 사용자의 흥미를 고취시킬 수 있는 효과가 있다. 이때, 미리 등록된 모듈에 포함되지 않은 추천 모듈은 인앱(In-app) 결제를 통해 구매할 경우 제공받을 수 있다.
또한, 추천 조립 정보 생성부(130)는 복수의 사용자가 편을 나누어 게임을 진행하는 경우에 같은 편인 사용자들에게는 같은 편 사용자들에 의해 등록된 모듈들 내에서 추천 모듈을 제공하는 것을 특징으로 한다.
이처럼 미션이 팀 플레이(Team play) 방식으로 수행되는 경우에는 미션수행모듈(MA)이 복수 개(단, 팀의 수의 비례)이고, 각자의 편에서 1명씩 번갈아 가면서 한 턴(turn) 씩 플레이를 하는 것으로 이해될 수 있다. 이때, 미션 브릿지(MB)로 가는 경로가 복수 개라서 하나의 경로를 상대편의 미션수행모듈(MA)이 점유하고 있는 경우에는, 다른 경로를 선택하여 해당 미션 브릿지(MB)에 접근할 수 있도록 게임이 진행될 수 있다.
또한, 상대편의 미션수행모듈(MA)이 어떤 미션 브릿지(MB)를 점유하고 있는 경우에는 해당 미션 브릿지(MB)를 건너뛰어서 다음 미션브릿지(MB)로 넘어가서 진행해야 하고, 모든 미션브릿지를 지나온 경우에는 각 편마다 클리어(Clear)한 미션의 개수를 비교하여 승자를 결정할 수도 있다. 이때, 사용자가 건너뛴 미션 브릿지(MB)의 개수에 따라서 그 다음 미션의 난이도가 누적으로 상향 조정되는 것을 특징으로 한다.
또한, 추천 조립 정보 생성부(130)는 제공되는 미션에 따라 결합 가능한 모듈들을 2D 또는 3D 형태로 제공할 수 있다.
증강현실 그래픽 표시부(130)는 인식된 보드게임 툴과 미션수행모듈(MA)에 대한 2차원 이미지를 AR(Augmented Reality) 변환하여 3차원 이미지로 표시하는 구성이다. 뿐만 아니라, 증강현실 그래픽 표시부(130)는 미션수행을 수행을 위해 제공되되는 추천 조립 정보를 AR 그래픽으로 변환하여 표시할 수도 있다.
코드 생성부(140)는 제공된 미션을 수행하기 위해 추천 조립 정보를 기초로 조립된 모듈 정보에 대응하는 소스 코드를 생성하는 구성이다. 보다 상세하게, 코드 생성부(140)는 서버(100)에 기 저장된 토폴로지에 해당하는 소스 코드를 생성하는 구성이다. 다시 말해, 코드 생성부(140)는 서버(100)의 메모리(190)에 기 저장된 소스 코드를 기초로 모듈 조립 시 모듈들에 대한 소스 코드를 생성하는 것이다. 이때, 코드 생성부(140)는 조립 가능한 모듈에 대한 소스 코드까지 동시에 생성할 수 있다. 이에 따라서, 사용자는 추천 조립 정보 생성부(130)에 의해 재공되는 모듈들을 조립하는 여러가지 경우의 수에 따른 소스 코드를 제공받음으로써 코딩 학습 효과를 극대화할 수 있다.
또한, 서버(100)는 미션에 따라 조립된 모듈들의 동작 여부에 따라 오류 여부를 판단할 수 있다. 구체적으로, 에러 체킹(checking) 방법을 통해 추천 조립 정보 생성부(130)에 의해 생성되는 추천 조립 정보 중 사용자로부터 선택된 조립 정보에 대응하는 모듈의 동작 여부를 학습시킬 수 있다. 이에 따라, 서버(100)는 패킷 데이터(packet data)를 검사함으로써 발생한 에러의 종류를 분석하여 에러의 원인을 파악할 수 있고, 이를 학습함으로써 에러의 발생을 최소화시킬 수 있다. 여기서, 패킷 데이터를 검사하는 방법은 보내는 자(sender)와 받는 자(receiver) 간의 메시지를 주고받는 본 발명의 통신 패킷 구조를 이용한 방법이다. 예컨대, sender의 메세지를 recevier가 정상 수신한 경우, recevier가 다시 sender에게 정상 수신을 했다는 답변을 보냄으로써 정상 동작 여부를 확인할 수 있다. 이때, sender는 입력 모듈을, receiver는 출력 모듈을 의미하는 것일 수 있다. 다시 말해, 본 발명의 통신 패킷 구조는 sender가 메시지를 전송하면 전송된 메시지에 대해 답변이 반드시 오는 구조로 되어 있기 때문에 모듈 간의 패킷을 확인함으로써 동작이 정상 수행되고 있는지 확인할 수 있다. 이에 따라, 서버는 결합된 모듈들의 상태 불량을 탐지할 수 있다.
타겟 토폴로지 제어부(160)는 디스플레이 상에서 서로 결합된 모듈의 토폴로지(Topology)를 감지할 수 있는 하드웨어 및/또는 소프트웨어의 구성요소로서, 토폴로지를 감지하는 프로토콜을 실행하여 여러가지 경우의 수로 타겟 토폴로지를 결정하는 기능을 수행한다. 보다 상세하게, 타겟 토폴로지 제어부는 모듈의 고유 정보, 하위 연결 모듈 정보, 모듈 카테고리 정보 및 단계 정보를 포함하는 모듈 토폴로지 정보에 기초하여 토폴로지를 결정할 수 있다.
여기서, 모듈 고유 정보는 모듈 어셈블리에 포함되고 연결되는 기능 모듈들의 모듈 ID를 나타낸다. 이 경우, 모듈 ID는 UUID(Universally Unique IDentifier)와 같은 모듈 고유의 식별자 일 수 있으며, 컨트롤 모듈에서 연결 시 부여하는 임시 ID일 수도 있다.
하위 연결 모듈 정보는 해당 모듈보다 단계가 낮은 모듈에 대한 모듈 고유 정보를 나타낸다. 기본적으로 각 모듈은 해당 모듈과 연결된 모듈들의 정보를 저장하고 메인 모듈에 연결될 때 하위로 연결된 모듈의 정보를 메인 모듈에게 제공할 수 있다.
모듈 카테고리 정보는 모듈의 기능에 따라 모듈을 분류한 정보이다. 예를 들어, 입력 모듈은 입력되는 전기 신호를 수집하는 모듈로서, 마이크로폰, 온도 센서, 자이로스코프 센서, 적외선 센서, 초음파 센서 등의 각종 센서와 다이얼, 버튼, 키보드 등의 키 입력을 포함한다. 출력 모듈은 모터 등의 액추에이터, 발광다이오드(LED), 액정 디스플레이 장치, 스피커를 포함한다. 통신 모듈은 LTE, Bluetooth 등의 네트워크 모듈을 포함한다. 메인 모듈은 사용자 단말(200)에서 프로그래밍한 애플리케이션을 실행할 수 있는 모듈로서, 마이크로프로세서를 포함한다. 이러한 카테고리 정보에 기초하여 서버에서는 모듈 추천 시 치환 가능한 모듈인지, 추가 가능한 모듈인지 여부를 판단할 수 있다.
단계 정보는 메인 모듈과의 거리를 의미하며, 메인 모듈로부터 해당 모듈까지 최단 경로 상으로 연결된 모듈을 카운팅함으로써 결정될 수 있다.
또한, 타겟 토폴로지 제어부(120)는 감지된 토폴로지에 따라 모듈의 연결 토폴로지를 결정하여 메모리(190)에 기입할 수 있다. 한편, 타겟 토폴로지 제어부(120)의 모듈 토폴로지 정보에 기초하여 토폴로지를 감지하고 결정하는 방법에 대해서는 본 출원인이 이전에 발명한 대한민국 특허출원 제10-2018-0114171호에 상세하게 기재되어 있으며, 위 특허를 참조로서 포함한다.
통신 제어부(170)는 무선 통신을 통하여 모듈(300)과 서버(100) 또는 사용자 단말(200)이 서로 통신할 때 통신을 제어하는 역할을 수행한다. 구체적으로, 통신 제어부(315)는 외부 기기와의 통신 및 모듈 사이의 통신을 제어할 수 있다. 외부 기기와의 통신은 NB-IOT, LTE, LoRa, WiFi, Bluetooth, USB, 케이블 모뎀 등 다양한 유무선 통신을 포함할 수 있다. 한편, 모듈 사이의 통신은 UART, I2C, LIN, CAN 등 다양한 내부 통신 수단을 이용하여 모듈 간 통신을 수행할 수 있다. 통신 제어부(315) 내에는 상술한 다양한 유무선 통신 수단 또는 모듈 사이의 통신 수단을 포함할 수도 있고, 별도의 네트워크 모듈과 연결될 때 별도의 네트워크 모듈을 제어하는 방식으로 통신할 수도 있다.
마이크로프로세서(180)는 모듈 정보 수신부(110), 타겟 토폴로지 제어부(120), 추천 조립 정보 생성부(130), 증강현실 그래픽 표시부(140), 코드 생성부(150) 및 학습부(160) 중 적어도 일부가 소프트웨어 모듈로 구현되는 경우에, 그 소프트웨어 모듈을 실행하게 한다.
메모리(190)는 마이크로프로세서(180)에서 실행될 수 있는 소프트웨어 모듈과 모듈 어셈블리(300)의 동작에 필요한 각종 정보 및 연결된 모듈의 조립 정보에 관한 각종 정보들을 포함하며, 예를 들어, 메모리(190)는 모듈 정보, 구동 정보, 조립 정보 및 펌웨어를 포함할 수 있다. 또한, 메모리(190)는 모듈 어셈블리를 구성하는 모듈들에 대한 소스 코드를 저장할 수 있다. 또한, 메모리(190)는 사용자 단말(200)에 표시되는 콘텐츠의 장르, 콘텐츠의 저자 정보, 키워드, 컨텐츠 정보, 등을 저장할 수 있다.
한편, 본 발명에서 사용자 단말(200)의 화면은 디스플레이부라고도 지칭할 수 있으며, 디스플레이부는 콘텐츠 정보, 퀘스트 수행 정보, 이벤트 요소 등을 태블릿 PC, 스마트폰 등과 연결하여 이미지, 영상 등 다양한 형태로의 출력을 수행하는 구성이다.
도 3을 참조하면, 사용자 단말(200)은 서버(100)로부터 수신한 콘텐츠, 콘텐츠에 포함된 난이도 별 미션, 상기 미션에 따라 사용자가 선택할 수 있는 추천 조립 정보를 표시하는 구성이다. 구체적으로, 사용자 단말(200)은 네트워크를 통해 연결된 보드게임 툴을 기초로 미션수행코드 별로 기 저장된 미션을 제공하는 것을 특징으로 한다. 사용자 단말(200)은 복수개인 것으로 도시되었지만 사용자들의 플레이모드(예: 플레이어가(Player)가 1명인 경우, 2명인 경우, 그 이상인 경우)에 따라 사용자 단말(200)은 하나일 수도 있고, 그 이상일 수도 있다. 본 발명에서는 플레이어가 한명일 수도 있고, 두 명 또는 그 이상일 수도 있다.
또한, 사용자 단말(200)은 모듈 어셈블리(300)를 구동시킬 수 있는 프로그램의 소스 코드를 작성, 추천 및 컴파일(또는 인터프리트)할 수 있는 저작툴을 제공할 수 있다. 이러한 소스 코드의 작성, 추천 및 컴파일(또는 인터프리트)할 수 있는 저작툴에 대해서는 본 출원인이 이전에 발명한 대한민국 특허출원 제10-2018-0114166호 및 제10-2018-0114171호에 상세하게 기재되어 있으며, 위의 두 특허는 참조로서 포함된다.
모듈 어셈블리(300)는 학생, 선생님 등의 사용자가 모듈들을 조립하면서 보다 흥미롭게 전자 장치의 작동 원리를 이해할 수 있는 교육용 키트로서, 사용자 단말(200)과 유무선으로 연결되는 구성이다. 모듈 어셈블리(300)는 사용자 단말(200)과 유/무선으로 연결되어 인터넷, 인트라넷, 또는 광대역 통신망 등의 네트워크를 통해 사용자 단말(200)과 연결될 수 있다. 또는 유무선 통신 특히, 시리얼 포트 연결을 통하여 사용자 단말(200)과 연결될 수 있다. 아울러, 네트워크는 USB, RS-222 및 IEEE1394 등의 유선 근거리 통신 수단, WiFi 및 Bluetooth 등의 무선 근거리 통신 수단 및 인터넷 연결 등을 포함할 수 있다.
이하에서는 도 5 내지 도 11을 참조하여 본 발명의 실시예에 따른 코딩 교육 시스템의 동작 과정을 설명하기로 한다.
도 5는 본 발명의 실시예에 따른 보드게임 툴을 설명하기 위한 예시도이다. 도 6은 본 발명의 실시예에 따른 모듈수행모듈을 설명하기 위한 예시도이다. 도 7은 본 발명의 실시예에 따른 미션해결형 콘텐츠를 실행하기 전 구성들을 인식시키는 것을 설명하기 위한 예시도이다. 도 8 내지 도 10은 본 발명의 실시예에 따른 보드 게임의 미션이 제공되는 화면 예시도이다. 도 11은 본 발명의 실시예에 따른 모듈 정보와 함께 소스 코드가 표시되는 화면 예시도이다. 도 5 내지 도 11에서의 각 구성은 앞서 상술한 구성들과 역할이 동일하므로 중복 설명은 생략하기로 한다.
서버(100)의 인식부(110)는 사용자 단말(200)의 카메라로부터 촬영된 보드게임 툴과 미션수행모듈을 수신한다. 도 8을 참조하면, 사용자가 사용자 단말(200)의 디스플레이부에 표시된 카메라 버튼을 클릭하여 후면에 장착된 카메라를 통해 미션 맵(MM)에 결합된 복수의 미션 브릿지들(MB1~6)을 촬영하면, 디스플레이부에는 보드게임 툴에 대한 이미지와 함께 미션들이 제공되는 것을 특징으로 한다. 도 8에서 미션 브릿지들(MB1~6)의 위치는 임의로 설정한 것이며 사용자에 의해 변경 가능하다. 또한, 미션 브릿지들(MB1~6)의 개수는 사용자가 원하는 난이도에 따라 조절하여 결합할 수 있다.
이때, 서버(100)의 증강현실 그래픽 표시부(130)를 이용하여 인식한 보드게임 툴 및 미션수행모듈(MA)을 AR 이미지로 변환하여 표시할 수 있다.
또한, 서버(100)의 미션 제공부(120)는 미션 맵(MM) 상의 미션수행모듈(MA)의 위치에 따라 서로 상이한 미션을 제공한다. 도 9을 참조하면 미션수행모듈(MA)이 첫 번째 미션 브릿지(MB1)에 도착하여 '마법 지팡이 획득하기'의 미션(M1)이 제공된 것을 알 수 있다. 이때, 사용자는 마법 지팡이 획득하기 미션을 수행하기 위해 사용자 단말(200)의 디스플레이에 제공된 추천 조립 정보인 추천 모듈(801) 중 원하는 모듈을 모듈 조립 영역으로 드래그 앤 드롭(Drag and Drop)하여 모듈 정보(802)를 생성할 수 있다. 이때, 생성되는 모듈 정보(802)는 2D인 것처럼 도시되었으나, 모두 AR로 변환된 3D 이미지(3-Dimensional image)로 표시되는 것으로 이해되는 것이 바람직하다. 도 9에 표시된 모듈 정보(802)는 버튼을 누르는 그림이 표시된 모듈, 스피커 온(ON) 모듈, 음소거 모듈, 반복 모듈이 결합된 것을 알 수 있으며, 이는 버튼을 눌렀을 때 '미(E)'에 해당하는 음높이를 가지는 소리가 1초 간격으로 나는 것이라는 의미를 갖을 수 있다. 한편, 도 9의 모듈 정보(802)는 예시적으로 도시한 것으로 주어진 미션을 수행하기 위한 실제 모듈 결합과는 무관한 것으로 이해되는 것이 바람직하다.
이후, 도 10에 도시된 바와 같이, 미션수행모듈(MA)이 첫 번째 미션 브릿지(MB1)의 미션 수행을 완료한 후에는 두 번째 미션 브릿지(MB2)로 이동하여 '동굴 지나가기' 미션(M2)을 수행할 수 있다. 이에 따라, 사용자는 미션 1(M1)을 수행하기 위해 제공된 추천 모듈(801)과는 다른 추천 모듈(901)을 제공받을 수 있다. 도 10에 도시된 모듈 정보(902)는 두번째 미션(M2)에서 추가적으로 생성된 부가미션(M2-1)을 수행하기 위해 결합한 모듈 결합이다. 예컨대, 모듈 정보(902)는 적외선 모듈, 디스플레이 모듈, 반복 모듈, 왼쪽으로 회전 모듈, 오른쪽으로 회전 모듈이 결합된 것을 알 수 있으며, 이는 적외선에 물체가 감지되면 디스플레이 스마일이 표시되고 모터가 왼쪽, 오른쪽으로 90도씩 세번 움직인다는 의미를 갖을 수 있다. 한편, 도 10의 모듈 정보(902)는 예시적으로 도시한 것으로 주어진 미션을 수행하기 위한 실제 모듈 결합과는 무관한 것으로 이해되는 것이 바람직하다.
이때, 서버(100)의 코드 생성부(150)는 타겟 토폴로지에 매칭되는 기 저장 소스 코드를 동시에 제공하되, 연결순위 정보를 참조하여 소스 코드를 생성한다. 도 11을 참조하면, 사용자 단말(200)에는 사용자가 결합한 모듈 정보에 기초한 소스 정보(1001)가 표시되는 것을 알 수 있다. 이때, 소스 정보(1001)에는 특정 모듈에 대한 소스 정보(1001)가 하이라이트되어 더 표시될 수 있으며, 이에 따라 사용자는 실시간으로 결합되는 모듈에 해당하는 소스 코드를 실시간으로 확인함으로써 코딩에 대한 학습 효과를 극대화할 수 있다.
이와 같이 본 발명은 카메라 모듈을 포함하는 무선 디바이스를 통해 보드 게임 툴을 인식하여 미션 수행을 위해 AR(Augmented Reality)로 모듈들을 조립함으로써 코딩 교육에 대한 흥미를 극대화할 수 있다.
본 발명에 따르면, 미션 수행을 위해 모듈들을 결합함과 동시에 소스코드를 함께 제공해줌으로써 코딩에 대한 사용자의 학습 효과를 높이는데 도움을 줄 수 있다.
본 발명에 따르면, 모듈 결합을 통해 콘텐츠를 진행함에 있어서 시각 정보, 청각 정보 등을 출력함으로써 콘텐츠에 대한 사용자의 재미와 학습 효과를 동시에 제공할 수 있다.
본 발명에 따르면, 코딩 교육을 위한 다양한 콘텐츠를 보드게임 형식으로 진행함으로써 코딩에 대한 개념 및 알고리즘을 보다 쉽게 이해할 수 있도록 도움을 줄 수 있다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 펌웨어(firmware), 소프트웨어(software) 또는 하드웨어(hardware)로 구성된다. 알고리즘 또는 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 디지털 신호 처리 디바이스(Digital Signal Processing Device)의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리(316)에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리(316)에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽힐 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 상기 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등) 및 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
1: 하우징 2: 단자
3, 106: 핀 4, 103: 핀 수용부
101: 코너 102: 기판
104: 기능 유닛 105: 핀 설치부
1000: 코딩 교육용 시스템
100: 서버 200: 사용자 단말
300: 모듈 어셈블리

Claims (10)

  1. RF 태깅 또는 카메라 촬영으로 인식 가능한 미션수행코드가 포함된 미션 브릿지 및 상기 미션 브릿지가 결합되는 복수의 블록이 정렬되어 있는 미션 맵을 포함하는 보드게임 툴;
    미션 수행을 위해 상기 미션 맵 상을 이동하는 미션수행모듈;
    카메라를 통해 상기 보드게임 툴과 상기 미션수행모듈을 인식하는 인식부; 인식된 상기 보드게임 툴과 상기 미션수행모듈을 AR 이미지로 변환하여 디스플레이에 제공하는 증강현실 그래픽 표시부; 및 상기 미션 맵 상에서 상기 미션수행모듈의 위치에 대응하는 미션수행코드의 미션을 제공하는 미션제공부를 포함하는 서버; 및
    상기 보드게임 툴, 상기 미션수행모듈 및 서버와 무선통신망으로 연결되는 스마트 단말을 포함하는, 미션 해결형 콘텐츠가 포함된 보드게임을 제공하는 코딩 교육용 시스템.
  2. 제1항에 있어서,
    상기 미션은 상기 미션 맵에 결합된 미션 브릿지의 개수에 대응하는 난이도로 제공되는 코딩 미션인, 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템.
  3. 제2항에 있어서,
    상기 미션은 상기 미션 브릿지들이 전, 후 미션 브릿지들과 서로 근거리에 뭉쳐 있을수록 서로 근처리에 뭉쳐 있지 않은 미션 브릿지들에 제공되는 미션보다 미션의 난이도가 높아지는, 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템.
  4. 제1항에 있어서,
    상기 미션수행코드는 상기 미션수행모듈에 의해 스캔되는, 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템.
  5. 제1항에 있어서,
    상기 서버는 제공된 미션을 수행하기 위해 사용자가 상기 디스플레이 상에서 드래그 방식으로 결합한 모듈 정보를 수신하는 모듈 정보 수신부를 포함하는, 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템.
  6. 제5항에 있어서,
    상기 서버는 상기 모듈 정보에 기초하여 실시간으로 소스 코드를 생성하는 코드 생성부를 포함하는, 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템.
  7. 제4항에 있어서,
    상기 미션수행코드는 미션 정보가 포함된 QR코드, 바코드, NFC 태그 중 어느 하나의 형태로 형성되는, 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템.
  8. 제1항에 있어서,
    상기 서버는 미션에 따라 결합 가능한 추천 조립 정보를 생성하는 추천 조립 정보 생성부를 더 포함하되,
    상기 추천 조립 정보는 사용자가 실제 소지하고 있는 모듈들 중 상기 카메라를 통해 촬영된 모듈들만이 추천 모듈로서 생성되며, 상기 추천 모듈은 모듈 조립영역으로 드래그 앤 드롭되는 방식으로 조립되는, 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템.
  9. 제8항에 있어서, 상기 미션이 복수의 사용자에 의해 수행되는 경우에는 상기 복수의 사용자를 편을 나누어 게임을 진행하되, 같은 편인 사용자들은 같은 편 사용자들에 의해 등록된 모듈들 내에서 상기 추천 모듈을 제공받는, 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템.
  10. RF 태깅 또는 카메라 촬영으로 인식 가능한 미션수행코드가 포함된 미션 브릿지와 상기 미션 브릿지가 결합되는 복수의 블록이 정렬되어 있는 미션 맵으로 구성된 보드게임 툴 및 미션 수행을 위해 상기 블록 상에서 순차적으로 전진하는 미션수행모듈을 스캔하는 단계;
    상기 보드게임 툴과 상기 미션수행모듈을 AR 이미지로 변환하여 디스플레이에 표시하는 단계; 및
    상기 미션수행모듈의 위치에 대응하는 미션수행코드의 미션을 제공하는 단계;를 포함하는, 미션 해결형 콘텐츠를 제공하는 방법.
KR1020200188089A 2020-12-30 2020-12-30 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법 KR102463835B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200188089A KR102463835B1 (ko) 2020-12-30 2020-12-30 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200188089A KR102463835B1 (ko) 2020-12-30 2020-12-30 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20220095997A true KR20220095997A (ko) 2022-07-07
KR102463835B1 KR102463835B1 (ko) 2022-11-04

Family

ID=82397982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200188089A KR102463835B1 (ko) 2020-12-30 2020-12-30 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102463835B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150093584A (ko) * 2014-12-18 2015-08-18 (주)모션블루 교육용 보드 게임 제공 방법 및 장치
KR20190080307A (ko) * 2017-12-28 2019-07-08 주식회사 인솔엠앤티 코딩블록을 이용한 코딩교육 방법
KR20200013962A (ko) * 2018-07-31 2020-02-10 권영선 It와 로봇이 융복합된 융복합 파닉스 학습 시스템, 이에 적합한 파닉스 학습 방법, 이에 적합한 프로그램이 기록된 컴퓨터로 읽어들일 수 있는 기록매체
KR20200086834A (ko) * 2019-01-10 2020-07-20 주식회사 럭스로보 프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템
KR20200092247A (ko) * 2019-01-24 2020-08-03 김나정 텐저블 블록 기반 증강현실 코딩 학습 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150093584A (ko) * 2014-12-18 2015-08-18 (주)모션블루 교육용 보드 게임 제공 방법 및 장치
KR20190080307A (ko) * 2017-12-28 2019-07-08 주식회사 인솔엠앤티 코딩블록을 이용한 코딩교육 방법
KR20200013962A (ko) * 2018-07-31 2020-02-10 권영선 It와 로봇이 융복합된 융복합 파닉스 학습 시스템, 이에 적합한 파닉스 학습 방법, 이에 적합한 프로그램이 기록된 컴퓨터로 읽어들일 수 있는 기록매체
KR20200086834A (ko) * 2019-01-10 2020-07-20 주식회사 럭스로보 프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템
KR20200092247A (ko) * 2019-01-24 2020-08-03 김나정 텐저블 블록 기반 증강현실 코딩 학습 시스템

Also Published As

Publication number Publication date
KR102463835B1 (ko) 2022-11-04

Similar Documents

Publication Publication Date Title
US11911709B2 (en) Toy construction system for augmented reality
US10293268B2 (en) Block, block system, information processing apparatus, display method, and information processing method
CN106254848B (zh) 一种基于增强现实的学习方法及终端
US9241124B2 (en) Content generation for interactive video projection systems
JP6077016B2 (ja) おもちゃ片と一緒に用いられる基板組立品
CN104010706B (zh) 视频游戏的方向输入
EP1899939B1 (en) Manipulable interactive devices
CN110163956A (zh) 三维户型图生成方法、装置、设备和存储介质
KR20130113577A (ko) 학습 제공 장치 및 기록 매체
KR101966914B1 (ko) 코딩 교육을 위한 완구용 로봇 제어 시스템
US11229841B2 (en) Reader participation type electronic book system using module and operation method
KR102463835B1 (ko) 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법
CN104239842A (zh) 一种实现视觉识别的方法、装置和系统
KR102301027B1 (ko) 모듈을 이용한 독자 참여형 전자책 시스템 및 동작 방법
KR102479950B1 (ko) Ar을 통한 모듈 조립이 가능한 코딩 교육용 시스템
KR20110092140A (ko) 개인별 맞춤 학습이 가능한 r-러닝 시스템
US11455147B2 (en) System for coding without compilation and a module assembly
KR102084178B1 (ko) 클라우드 기반 영유아 스팀 교육을 위한 토이 플랫폼 서비스 제공 시스템, 방법 및 이를 기록한 기록매체
US11392392B2 (en) Plug and play module assembly and plug and play system
WO2021044851A1 (ja) 情報処理装置、及び情報処理方法
KR102450665B1 (ko) 조립 모듈을 이용한 퀘스트 해결형 전자책 서비스 제공 시스템 및 방법
KR20230126187A (ko) 증강 현실을 이용한 컨텐츠 구현 장치 및 방법
CN116503550A (zh) 生成三维虚拟场景的方法、装置、存储介质及系统
JP2020096353A (ja) 中継装置、通信システム、通信方法、及びプログラム
Gubbels Pixel: A tool for creative design with physical materials and computation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant