KR20200101300A - 증강현실과 연계 동작 가능한 스마트 코딩블록 시스템 - Google Patents

증강현실과 연계 동작 가능한 스마트 코딩블록 시스템 Download PDF

Info

Publication number
KR20200101300A
KR20200101300A KR1020200019805A KR20200019805A KR20200101300A KR 20200101300 A KR20200101300 A KR 20200101300A KR 1020200019805 A KR1020200019805 A KR 1020200019805A KR 20200019805 A KR20200019805 A KR 20200019805A KR 20200101300 A KR20200101300 A KR 20200101300A
Authority
KR
South Korea
Prior art keywords
unit
block
sensor
output
augmented reality
Prior art date
Application number
KR1020200019805A
Other languages
English (en)
Other versions
KR102391628B1 (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 김종태
Publication of KR20200101300A publication Critical patent/KR20200101300A/ko
Application granted granted Critical
Publication of KR102391628B1 publication Critical patent/KR102391628B1/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
    • 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)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Toys (AREA)
  • Studio Devices (AREA)

Abstract

본 발명은 증강현실과 연계 동작 가능한 스마트 코딩블록 시스템에 관한 것으로, 본 발명에 따르면 코딩블록과 증강현실 사이에서 서로 정보를 주고받을 수 있도록 함으로써, 실물 코딩블록과 증강현실 상의 코딩블록이 서로 연동하여 다양한 동작 환경에서 코딩블록을 구동시켜 볼 수 있다.

Description

증강현실과 연계 동작 가능한 스마트 코딩블록 시스템{Smart Coding Block System that can work with augmented reality}
본 발명은 증강현실과 연계 동작 가능한 스마트 코딩블록 시스템에 관한 것으로, 더욱 구체적으로는 실물 형태의 코딩블록부와 증강현실 상의 코딩블록부를 서로 연동시켜 동작을 재생시킬 수 있도록 하는 기술에 대한 것이다.
코딩블록이란 각종 센서블록, 논리블록, 동작블록들을 연결하여 센싱된 정보에 따라 특정 동작이 이루어지도록 하는 교육용 블록이다. 또한 코딩블록에 실감형 사용자 인터페이스(TUI, Tangible User Interface)를 적용하여 사용자가 직접 물리적 값을 입력시켜 센싱 기준이나 동작 기준등을 설정할 수도 있다.
예컨대 광센서와 거리센서 등을 이용하여 특정 색상의 공이 감지되고 일정 거리 이내로 진입하는 것이 확인되면, 모터나 그립부 등으로 만들어진 동작블록을 잡아 이동시킬 수 있도록 하는 장치를 설계할 수 있다. 이때 모든 센서의 입력 기준이나 동작블록의 동작 기준과 동작 방식은 사용자가 직접 물리값을 입력시키는 동작으로 이루어질 수 있다.
하지만 사용자가 실물 블록을 이용하여 장치 등을 설계해 놓는다 하더라도, 사용자가 임의로 동작 기준에 따른 물리값을 다시 입력해 주기 힘든 환경이라면, 완성된 작품이 제대로 동작하는지 확인하는 것이 어렵다.
예컨대 빨간색 공이 근접하면 동작블록이 빨간공을 집어서 옮기고, 다른 색상의 공은 통과시키도록 설계를 하였는데, 주변에 다양한 공들이 실제로 존재하지 않는다면 장치가 올바르게 작동하는 것인지 확인하기 어려운 것이다.
한편 코딩블록과 관련된 종래기술로는 대한민국공개특허 제10-2018-0130934호(2018.12.10. '소프트웨어 코딩 교육이 가능한 무선 통신 기반 스마트 코딩 블록 세트') 등이 있다.
본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하기 위해 안출된 것으로, 코딩블록과 증강현실 사이에서 서로 정보를 주고받을 수 있도록 함으로써, 실물 코딩블록과 증강현실 상의 코딩블록이 서로 연동하여 다양한 동작 환경에서 코딩블록을 구동시켜 볼 수 있도록 하는 기술을 제공하는 데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명에 따른 스마트 코딩블록 시스템은, 센싱정보를 동작기준과 비교하여 인에이블 신호를 출력하는 센서블록; 상기 센서블록과 결합되며, 상기 센서블록으로부터 인에이블 신호가 입력되면 기 저장된 출력내용을 출력하여 특정 동작을 수행하는 동작블록; 및 상기 센서블록과 상기 동작블록을 촬영하여 화면 출력하되, 상기 센서블록 및 동작블록에 대응하는 가상의 환경조건 데이터를 합성하여 출력하며, 상기 가상의 환경조건 데이터 변화에 따라 감지되는 가상의 센싱정보를 생성하여 상기 센서블록 측에 전송하는 증강현실구현부;를 포함한다.
여기서, 상기 증강현실구현부는, 상기 센서블록과 통신채널을 연결하는 통신부D; 상기 센서블록 및 동작블록을 촬영하는 촬영부D; 상기 촬영부D에서 촬영된 영상을 화면 출력하는 디스플레이D; 가상의 환경조건 데이터를 저장하는 메모리D; 및 상기 촬영부D에서 촬영된 영상과 상기 메모리D에 저장된 가상의 환경조건 데이터를 합성하여 상기 디스플레이D에서 화면 출력되도록 처리하고, 상기 가상의 환경조건 데이터 변화에 따라 감지되는 가상의 센싱정보를 생성하여 상기 센서블록 측으로 전송하는 제어부D;를 포함하되, 상기 센서블록과 동작블록에는 고유의 표식이 인자되어 있고, 상기 제어부D는 상기 촬영부D에서 촬영된 영상에서 상기 표식을 분석한 후 이에 대응하는 가상의 환경조건 데이터를 상기 메모리D에서 추출할 수 있다.
또한, 상기 증강현실구현부의 제어부D는, 상기 동작블록의 동작에 따라 상기 디스플레이D를 통해 화면 출력되는 가상의 환경조건 데이터가 연동 동작되도록 처리할 수 있다.
본 발명에 따른 스마트 코딩블록 시스템에 의하면, 사용자가 센서블록, 논리블록 및 동작블록들을 적절하게 결합하여 입력에 따른 출력의 흐름, 논리 연산 등의 알고리즘을 놀이의 과정으로 흥미롭게 학습할 수가 있다.
특히 각각의 블록들은 물리적, 전기적 결합이 동시에 이루어지는 커넥터를 통해 결합될 수 있기 때문에 블록 조립 과정만으로 신호 전송을 위한 연결 과정도 함께 이루어져 통신 설정 등의 복잡한 작업을 하지 않아도 된다.
또한 미리 설정된 동작기준을 반드시 입력해야 할 필요 없이 사용자가 동작기준을 스스로 다시 설정할 수가 있고, 동작블록이 재현해야 하는 동작 역시 다양한 형태로 변형하여 저장해 놓을 수 있기 때문에, 적은 개수의 블록들만 구비하더라도 다양한 형태의 창작물을 만들어 흥미로운 코딩 학습을 지속할 수가 있다.
더불어 조립된 창작품을 시연해 볼 수 있는 환경적 여건이 되지 않더라도 증강현실구현부를 통해 실물 조립품을 촬영하면, 해당 조립품에 대응하는 가상의 환경조건 데이터들이 증강현실을 통해 화면 출력되고, 가상의 환경조건 변화에 따른 센싱정보가 실제 센서블록에서 인식한 것과 같이 연동 동작되도록 할 수 있다. 즉, 실물에서 재현하기 힘든 환경 조건을 증강현실 상에서 재현시켜 시뮬레이션이 가능하며, 이에 따라 코딩블록을 이용한 학습 효과가 증대되고, 사용자의 흥미를 유발시킬 수 있다.
한편, 본 발명의 원리는 반드시 교육용 블록에만 사용할 수 있는 것은 아니며 실감형 사용자 인터페이스가 적용되는 산업현장이나 일상생활에서도 증강현실과 연동되도록 한 후 특정 환경 조건을 부여하여 재현시키는 등 다양한 분야에서 응용할 수 있다.
도1은 본 발명의 실시예에 따른 스마트 코딩블록 시스템을 설명하기 위한 도면.
도2는 도1에 도시된 스마트 코딩블록 시스템에서 센서블록의 구성을 설명하기 위한 블록도.
도3은 도1에 도시된 스마트 코딩블록 시스템에서 논리블록의 구성을 설명하기 위한 블록도.
도4는 도1에 도시된 스마트 코딩블록 시스템에서 동작블록의 구성을 설명하기 위한 블록도.
도5는 도1에 도시된 스마트 코딩블록 시스템에서 증강현실구현부의 구성을 설명하기 위한 블록도.
도6은 도1에 도시된 스마트 코딩 블록 시스템을 이용하여 증강현실구현부 상에 코딩블록부와 가상의 환경 정보들이 합성되어 출력된 예시를 설명하기 위한 도면.
이하에서는 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 다만 발명의 요지와 무관한 일부 구성은 생략 또는 압축할 것이나, 생략된 구성이라고 하여 반드시 본 발명에서 필요가 없는 구성은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 결합되어 사용될 수 있다.
도1은 본 발명의 실시예에 따른 스마트 코딩블록 시스템을 설명하기 위한 도면이다. 도1에 도시된 바와 같이 본 발명의 실시예에 따른 스마트 코딩블록 시스템은 크게 코딩블록부(100,200,300)와 증강현실구현부(400)를 포함한다.
코딩블록부(100,200,300)는 실물로 제작되는 블록들을 말하며 기능적 특성에 따라 센서블록(100), 논리블록(200) 및 동작블록(300)을 포함한다.
센서블록(100)은 사용자의 조작명령을 입력 받거나, 특정 센싱값이 측정되었을 시 인에이블 신호(Enable, 예컨대 논리 'high' 또는 '1'을 말하며, 이하에서는 혼용하여 사용토록 한다)를 출력하는 블록을 말한다. 센서블록(100)에서 출력되는 인에이블 신호는 논리블록(200) 또는 동작블록(300)에 전달되어 특정 동작블록(300)이 미리 저장된 출력정보를 출력할 수 있도록 한다.
논리블록(200)은 복수개의 입력부B(240)를 통해 입력되는 값을 설정된 바에 따라 논리 연산하여 복수의 출력부B(250)를 통해 출력하는 블록이다. 이러한 논리블록(200)을 이용하면 동작블록(300)이 단순한 온 오프 명령에 따라 동작하는 것이 아니라, 하나 이상의 센서블록(100)의 상태에 따라 동작할 수 있다.
동작블록(300)은 센서블록(100) 또는 논리블록(200)의 출력에 따라 설정된 동작을 수행하는 블록이다. 예컨대 동작블록(300)은 출력부C(370)로써 그립부 또는 모터가 탑재될 수 있으며, 센서블록(100)이나 논리블록(200)으로부터 인에이블 신호가 입력되면 사용자가 미리 저장한 동작을 그대로 재생시킬 수 있다.
센서블록(100), 논리블록(200) 및 동작블록(300)들은 서로 물리적 결합과 전기적 접속이 가능한 형태로 제작되며, 복수의 블록들을 적절하게 조립하여 환경 변화에 따라 정해진 동작을 수행하도록 할 수 있고, 이를 통해 논리 언어를 이해하고 자연스럽게 코딩 학습을 할 수가 있다. 특히 본 발명에서 다루어지는 코딩블록들은, 각 블록들이 정해진 동작기준에 따라 정해진 출력내용을 출력하는 것이 아니라, 사용자가 자유롭게 동작기준과 출력내용을 바꾸어 설정할 수가 있다.
이하에서는 도2 내지 도4를 통해 센서블록(100), 논리블록(200) 및 동작블록(300)의 상세한 기능 구성을 설명토록 한다. 또한 이하의 설명에서 각 구성 명칭 뒤에 병기된 'A', 'B', 'C', 'D'는 각각 센서블록(100), 논리블록(200), 동작블록(300), 증강현실구현부(400)에 포함된 구성을 구분하기 위해 표기한 식별자일 뿐 특별한 의미를 갖지는 아니한다.
도2는 도1에 도시된 스마트 코딩블록 시스템에서 센서블록을 설명하기 위한 블록도이다. 도2에 도시된 바와 같이 센서블록(100)은 본체A(110), 센서부A(120), 조작부A(130), 제어부A(140), 메모리A(150), 통신모듈A(155) 및 출력부A(160)를 포함한다.
본체A(110)는 센서블록(100)의 외관을 형성하고 다른 구성을 보호하는 구성으로 통상의 블록 형태로 제작될 수 있다. 또한 본체A(110)의 외부 일 지점, 또는 복수 지점에는 해당 센서블록(100)에 대한 고유의 표식A(111)가 인자되어 있는데, 이 고유의 표식A(111)가 인자되어 있는 이유는 증강현실구현부(400)에서 코딩블록들을 촬영하였을 시 센서블록(100)이 어떠한 기능을 수행하는 블록인지, 그리고 그 센서블록(100)이 화면에서 어느 위치에 자리잡고 있는지 확인할 수 있도록 하기 위함이다.
센서부A(120)는 환경 변화에 따른 물리값을 측정하고, 측정된 물리값을 전기적 신호(전압)로 변환하여 출력하는 구성이다. 이러한 센서부A(120)는 예컨대 광센서, 조도센서, 거리센서, 음압센서, 온도센서 등이 될 수 있으며, 이 외에도 환경변화에 따른 다양한 물리값을 측정하는 센서가 적용될 수 있다.
조작부A(130)는 사용자의 명령을 입력받기 위한 구성으로 버튼, 다이얼, 터치패드, 스위치 등 다양한 형태로 제작될 수 있다. 또한 조작부A(130)는 동작기준 설정을 위해 기준입력버튼과 동작설정버튼이 따로 마련되어 있을 수 있다.
즉, 기준입력버튼은 사용자가 동작기준을 재설정하기 위한 명령을 입력하기 위한 버튼으로 마련되고, 동작설정버튼은 설정된 동작기준에 따라 인에이블 신호가 출력되는 방식을 사용자가 직접 선택할 수 있도록 사용자의 명령을 입력받는 버튼으로 마련될 수 있다. 예컨대 동작기준이 특정 값이라면, 정확하게 센서부A(120)를 통해 동작기준에 대한 값이 재측정 되었을 때, 또는 저장된 동작기준보다 크거나 작은 값이 센서부A(120)를 통해 재측정 되었을 때 인에이블 신호가 출력되도록 설정할 수 있다. 반면 동작기준이 특정 범위라면, 이후 측정되는 값이 동작기준의 범위 내에서 또는 범위 밖에서 인에이블 신호가 출력되도록 동작설정버튼을 통해 선택할 수가 있다.
제어부A(140)는 조작부A(130)의 기준입력버튼이 활성화된 상태에서 센서부A(120)에서 측정된 입력값을 메모리A(150)에 동작기준으로 저장하고, 기준입력버튼A(131)가 비활성화 된 상태에서는 센서부A(120)에서 측정된 측정값을 메모리에 저장된 동작기준와 비교한 후 동작설정버튼을 통해 설정한 바에 따라 인에이블 신호가 출력부A(160)를 통해 출력되도록 한다.
이러한 제어부A(140)는 센서부A(120)에서 물리값을 측정한 후 이에 대응하여 소정의 전압을 출력하면 이를 디지털 변환하고, 기준입력버튼이 활성화 상태라면 센서부A(120)를 통해 측정되어 디지털 변환된 정보를 동작기준으로써 메모리A(150)에 저장한다. 반면 제어부A(140)는 기준입력버튼이 비활성화 상태라면 센서부A(120)를 통해 측정되어 디지털 변환된 측정정보를 메모리A(150)에 저장된 동작기준과 비교한 후, 동작설정버튼의 설정 상태에 따라 인에이블 신호를 출력한다.
한편 조작부A(130)는 증강현실구현부(400)와 통신채널을 연결하기 위한 명령을 입력 받는 통신연결버튼을 별도로 구비할 수도 있다. 즉 통신연결버튼을 통해 사용자 명령을 입력하면 제어부A(140)는 통신모듈A(155)을 통해 증강현실구현부(400)의 통신부D(410)와 통신 채널을 연결하고, 메모리A(150)에 저장된 동작기준 정보를 증강현실구현부(400) 측으로 전송하거나, 증강현실구현부(400)로부터 가상으로 측정된 센싱정보를 수신하면 출력부A(160)를 통해 인에이블 신호가 출력되도록 제어할 수 있다.
메모리A(150)는 제어부A(140)의 제어에 따라 동작기준을 저장하기 위해 마련된다. 만약 기준입력버튼의 활성화를 통한 동작기준 설정 과정이 없다면 메모리A(150)에는 제품 출고시 설정된 동작기준이 저장된 상태를 유지한다.
통신모듈A(155)는 증강현실구현부(400)와 통신채널을 연결하고 정보를 송수신하기 위해 마련된다. 예컨대 통신모듈A(155)는 증강현실구현부(400)의 통신부D(410)와 블루투스 또는 와이파이 등의 근거리무선통신 방식으로 통신 채널을 연결하고 증강현실구현부(400) 측으로 메모리A(150)에 저장되는 동작기준 정보를 송신하거나, 증강현실구현부(400)로부터 가상으로 측정된 센싱정보를 수신할 수 있다.
출력부A(160)는 제어부A(140)의 제어에 따라 인에이블 신호가 출력되는 단자를 말한다. 이러한 출력부A(160)는 논리블록(200)이나 동작블록(300)의 입력부(240,360)가 물리적으로 결합될 수 있는 형태의 커넥터 형태로 제작된다. 즉 출력부A(160)와 입력부(240,360)가 결합되면 블록들(100,200,300) 간의 물리적인 결합이 이루어짐과 동시에, 전기적 접속도 함께 이루어진다. 실시하기에 따라 커넥터 형태의 출력부A(160) 또는 입력부(240,360)는 블록들(100,200,300)이 서로 결합된 상태에서 상대 회전 가능한 구조로 제작될 수도 있다. 물론 논리블록(200)의 출력부B(250) 역시 같은 방식으로 물리적, 전기적 결합이 이루어짐과 동시에 상대 회전이 가능한 형태의 커넥터가 적용될 수 있다.
또한 출력부(160,250)나 입력부(240,360)는 소켓 형태로 제작될 수도 있고, 이에 대응하는 접속잭을 갖는 연결케이블(미도시)이 출력부(160,250)와 입력부(240,360) 사이를 연결하여 전기적 연결이 이루어지도록 할 수도 있다.
도3은 도1에 도시된 스마트 코딩블록 시스템에서 논리블록을 설명하기 위한 블록도이다. 도3에 도시된 바와 같이 논리블록(200)은 본체B(210), 조작부B(220), 표시부B(230), 입력부B(240), 출력부B(250) 및 제어부B(260)를 포함한다.
본체B(210)는 논리블록(200)의 외관을 형성하고 다른 구성을 보호하는 구성으로 블록 형태로 제작된다.
조작부B(220)는 사용자 명령을 입력 받는 구성이다. 이러한 조작부B(220)는 입력되는 명령의 종류에 따라 논리선택버튼과 출력반전버튼을 포함할 수 있다.
즉 논리선택버튼은 논리블록(200)이 어떠한 논리 연산을 수행토록 하는지 사용자가 입력할 수 있도록 하는 입력수단이며, 이러한 논리선택버튼은 버튼 형태로 제작될 수도 있고, 스위치나 다이얼 형태로 제작될 수도 있다. 즉 사용자는 논리선택버튼의 조작을 통해 논리블록(200)이 AND 게이트, OR 게이트, NOT 게이트, NAD 게이트, NOR 게이트, XAND 게이트, XOR 게이트 중 어느 하나로 작동되도록 설정할 수 있다.
또한 출력반전버튼은 출력부B(250) 인근에 설치되어 해당 출력부B(250)의 출력값을 반전시켜 출력되도록 하기 위해 마련될 수 있다. 예컨대 논리블록(200)이 AND 게이트로 작동하고 있을 때, 입력부B(240)의 입력이 모두 1(High, 즉 센서블록(100)의 출력부A(160)에서 인에이블 신호가 출력되어 논리블록(200)의 입력부B(240)로 입력되는 경우를 말함)일 경우 출력부B(250)에서 출력되는 값은 모두 1인 것이 정상이지만, 출력반전버튼이 눌러진 출력부B(250)의 경우에는 반전된 값, 즉 0(low, 설정된 낮은 전압)이 출력되도록 할 수 있다.
표시부B(230)는 논리선택버튼B(221)의 입력에 따라 현재 설정된 연산 기준이 무엇인지, 즉 논리블록(200)이 다양한 논리소자 중 어떤 논리소자의 기능을 수행하는지 표시하기 위한 수단이다. 이러한 표시부B(230)는 본체B(210) 일부분에 설치되는 디스플레이 형태로 제작될 수 있고, 논리선택버튼 내에 탑재된 LED램프로 구현될 수도 있다. 즉, 논리선택버튼을 한번 누르면 논리선택버튼에 붉은색 램프가 들어와 AND 게이트 상태임을 알리고, 한번 더 누르면 푸른색 램프가 들어와 OR 게이트 상태임을 알려 표시부B(230)의 기능을 수행토록 하는 것이다.
입력부B(240)는 본체B(210)의 일측으로 복수개 마련되며, 센서블록(100)의 출력부A(160)가 연결된다. 입력부B(240)는 출력부A(160)와 물리적으로 결합되는 커넥터 형태로 제작되며, 동시에 전기적 신호를 입력받을 수 있는 단자 기능도 수행한다.
출력부B(250)는 본체B(210)의 타측으로 복수개 마련되어 있으며, 제어부B(260)의 논리 연산 결과가 출력되는 단자이다. 출력부B(250)에는 타 논리블록(200)의 입력부B(240)가 연결되거나 동작블록(300)의 입력부C(360)가 연결될 수 있다. 출력부B(250) 역시 입력부B(240)와 마찬가지로 물리적 결합과 전기적 접속이 동시에 이루어지는 커넥터 형태로 제작될 수 있다.
제어부B(260)는 입력부B(240)를 통해 입력되는 값을 이용해 논리 연산을 수행하여 출력부B(250)로 논리 연산 결과 값(1 또는 0, high 또는 low)을 출력하기 위해 마련된다. 이러한 제어부B(260)는 그 기능 수행에 따라 표시부제어수단, 논리설정수단, 연산수단, 입력제어수단 및 출력제어수단을 포함할 수 있다.
표시부제어수단은 논리선택버튼의 입력에 따라 연산수단의 논리 연산 기준이 무엇인지 알릴 수 있도록 표시부B(230)를 제어하기 위해 마련된다. 예컨대 논리선택버튼을 한번 눌러 연산수단이 AND 게이트의 기능을 수행토록 설정되었다면, 표시부제어수단은 논리선택버튼에 붉은색 램프가 발광되도록 하여 AND 게이트임을 알리도록 하거나, 디스플레이 형태의 표시부B(230)에 AND라는 문자가 출력되도록 처리한다.
논리설정수단은 논리선택버튼의 입력에 따라 연산수단의 논리 연산 기준을 설정 또는 재설정하기 위해 마련된다. 예컨대 사용자가 논리블록(200)을 AND 게이트로 사용하기 위해 논리선택버튼을 한번 눌렀다면, 논리설정수단은 연산수단이 AND 연산을 수행하도록 세팅하고, 사용자가 OR 게이트로 사용하기 위해 논리선택버튼을 한번 더 눌렀다면, 논리설정수단은 연산수단이 OR 연산을 수행하도록 재설정하는 것이다.
연산수단은 입력부B(240)를 통해 입력되는 값을 이용하여 논리설정수단에 의해 설정된 기준에 따라 연산을 수행하여 결과값을 출력하기 위해 마련된다. 즉 연산수단이 실질적인 논리소자 역할을 수행하는 것인데, 이는 기존의 반도체 칩 형태로 특정 기능이 고정되는 것이 아니라, 미리 세팅된 프로그램에 따라 동작하는 것이며, 논리선택버튼의 조작에 의해 연산 기능이 바뀌는 것이다.
입력제어수단은 입력부B(240)를 통해 입력되는 각각의 입력값을 연산수단으로 입력시키기 위해 마련된다. 이때 입력제어수단은 입력부B(240)의 연결 유무를 확인한 후 연결이 없을 경우 해당 입력부B(240)의 값은 연산수단에 입력되지 않도록 하거나, 연산수단이 현재 설정된 논리 기준에 따라 특정 입력값이 자동 입력되도록 처리하여, 아무런 연결이 없는 연결부는 논리 연산 결과에 영향을 끼치지 않도록 한다.
출력제어수단은 연산수단에서 출력되는 결과 값을 출력부B(250)를 통해 출력되도록 처리하되, 출력반전버튼의 입력이 있을 경우, 출력반전버튼의 입력이 발생한 출력부B(250)의 출력값은 반전시켜 출력 처리한다.
예컨대 논리선택버튼의 입력에 의해 연산수단이 OR 게이트로 설정되었고, 2개의 출력부B(250) 중 두 번째 출력부B(250)에 대응하는 출력반전버튼이 눌러진 상태라면, 입력부B(240) 중 어느 하나에서 1이 입력될 경우 연산수단의 연산 결과인 1의 결과 값을 출력제어수단이 출력부B(250)로 출력시키되, 첫 번째 출력부B(250)에는 1의 결과 값이 출력되도록 하고, 두 번째 출력부B(250)에는 0의 결과값이 출력되도록 처리한다. 이 경우 즉 첫 번째 출력부B(250)는 OR 게이트로 작동하는 것이고, 두 번째 출력부B(250)는 NOR 게이트로 작동하는 것이다.
또한 출력제어수단은 입력제어수단과 마찬가지로 출력부B(250)의 동작블록(300) 연결 유무를 확인하여 연결된 동작블록(300)을 인식하고, 연결이 없을 경우 해당 출력부B(250) 측으로는 결과값이 출력되지 않도록 처리할 수도 있다.
도4는 도1에 도시된 스마트 코딩블록 시스템에서 동작블록을 설명하기 위한 블록도이다. 도4에 도시된 바와 같이 동작블록(300)은 본체C(310), 조작부C(320), 센서부C(330), 제어부C(340), 메모리C(350), 입력부C(360) 및 출력부C(370)를 포함한다.
본체C(310)는 동작블록(300)의 외관을 형성하며, 동작블록(300)의 다른 구성들을 실장하기 위해 마련된다. 또한 본체C(310)의 외부 일 지점, 또는 복수 지점에는 해당 동작블록(300)에 대한 고유의 표식C(311)가 인자되어 있는데, 이 고유의 표식C(311)는 센서블록(100)의 표식A(111)와 마찬가지로 증강현실구현부(400)에서 코딩블록을 촬영하였을 시 동작블록(300)이 어떠한 기능을 수행하는 블록이고, 어느 위치에 자리잡고 있는지 확인하기 위해 마련된다.
조작부C(320)는 사용자의 명령을 입력받기 위한 것으로 버튼, 스위치, 터치패드 형태로 구현될 수 있다.
센서부C(330)는 입력부C(360)를 통해 인에이블 신호가 입력되었을 시, 출력부C(370)를 통해 출력해야 할 출력내용을 입력받는 구성이다. 예컨대 출력부C(370)가 바퀴나 그립부를 동작시키는 모터일 경우, 센서부C(330)는 엔코더센서 일 수 있으며, 외력에 의해 모터가 회전되면, 모터의 회전수를 측정하고 그에 따른 기록용 센싱값을 출력할 수 있다.
다른 예시로 출력부C(370)가 다양한 색상의 빛을 발광시키는 발광수단이라면, 센서부C(330)는 특정 색상의 빛을 인식하는 광센서일 수 있다. 또한 출력부C(370)가 음원을 출력하는 스피커라면, 센서부C(330)는 소리를 입력받는 마이크 등의 음압센서일 수 있다. 또 출력부C(370)가 특정 영상을 출력하는 디스플레이라면 센서부C(330)는 디스플레이를 통해 출력할 영상을 촬영하는 카메라일 수 있다.
한편 출력부C(370)는 숫자를 표시하는 세븐세그먼트 등의 소자일 수도 있다. 이 경우에는 별도의 센서부C(330)가 구비되지 아니하고 조작부C(320)를 통해 세븐세그먼트에 표시될 숫자를 입력할 수 있다.
제어부C(340)는 조작부C(320)를 통해 입력되는 출력내용 또는 센서부C(330)를 통해 인식되는 출력내용을 메모리C(350)에 저장하거나, 입력부C(360)를 통해 인에이블 신호(1, high)가 입력되면 메모리C(350)에 저장된 출력내용을 로딩하여 출력부C(370)를 통해 출력되도록 처리하기 위해 마련된다. 실시하기에 따라 제어부C(340)는 조작부C(320) 또는 센서부C(330)를 통해 획득한 조작 명령이나 기록용 센싱값을 출력부C(370)를 제어하기 위한 제어신호로 변환(컨버팅)하여 메모리C(350)에 저장할 수 있다.
메모리C(350)는 조작부C(320) 또는 센서부C(330)에서 출력되어 제어부C(340)에서 변환된 제어신호 등의 출력내용을 저장하거나, 센서부C(330)를 통해 획득한 출력내용 자체를 저장하거나, 제어부C(340)의 제어에 따라 저장된 제어신호나 출력내용을 출력부C(370) 측으로 전달하기 위해 마련된다.
입력부C(360)는 센서블록(100) 또는 논리블록(200)의 출력부(160,250)가 연결되어 인에이블 신호를 입력받기 위해 마련된다. 이러한 입력부C(360)는 물리적, 전기적 접속이 동시에 이루어지는 커넥터 형태로 제작될 수 있다.
출력부C(370)는 기 저장된 출력내용을 출력하는 구성이다. 예컨대 출력부C(370)는 바퀴나 그립부를 동작시키는 모터이거나, 다양한 색상의 빛을 발광시키는 발광수단이거나, 음원을 출력하는 스피커이거나, 영상정보를 출력하는 디스플레이이거나, 숫자를 표시하는 세븐세그먼트일 수 있다. 이 외에도 출력부C(370)로는 저장된 컨텐츠를 출력하거나 특정 동작을 수행하는 다양한 동작 재생 수단이 적용될 수 있다.
한편 이상의 설명에서는 센서블록(100)이 통신모듈A(155)를 포함하고 있어서 센서블록(100)에서 직접 증강현실구현부(400)와 통신채널을 연결하고 정보를 송수신할 수 있다고 설명하였지만, 실시하기에 따라 코딩블록부가 별도의 무선블록을 더 포함하고, 무선블록에서 증강현실구현부(400)와 통신채널을 연결하고 센서블록(100) 등에서 필요한 정보를 송수신할 수 있도록 구현할 수도 있다.
도5는 도1에 도시된 스마트 코딩블록 시스템에서 증강현실구현부를 설명하기 위한 블록도이다. 증강현실구현부(400)는 통상의 스마트폰, 태블릿PC, 노트북 컴퓨터, 데스크톱 컴퓨터 등으로 구현될 수 있으며, 실물의 코딩블록부(100,200,300)들로 만들어진 장치들을 촬영하고, 촬영된 코딩블록부(100,200,300)의 영상과 가상의 환경조건들을 합성하여 출력되도록 한 후, 가상의 환경조건 변화에 따라 감지되는 센싱정보를 센서블록(100) 측으로 전송하기 위해 마련된다. 이러한 증강현실구현부(400)는 통신부D(410), 촬영부D(420), 디스플레이D(430), 입력부D(440), 증강현실처리부D(450), 제어부D(460) 및 메모리D(470)를 포함한다.
통신부D(410)는 센서블록(100)의 통신모듈A(155)와 근거리 무선통신 방식으로 통신 채널을 연결하고, 센서블록(100)으로부터 동작기준 정보를 수신하거나 센서블록(100) 측으로 가상으로 감지되는 센싱정보를 전송하기 위해 마련된다.
촬영부D(420)는 코딩블록부(100,200,300)들의 조합으로 만들어진 실물 형태의 장치를 촬영하기 위해 마련된다.
디스플레이D(430)는 촬영부D(420)에서 촬영된 화면과 증강현실처리부D(450)에서 합성시킨 가상의 환경조건 화면을 합성시킨 증강현실 화면을 출력하기 위해 마련된다.
입력부D(440)는 사용자 명령을 입력받기 위한 것으로 버튼 형태로 제작될 수도 있지만, 입력부D(440)와 디스플레이D(430)가 터치스크린 형태로 일체로 제작될 수도 있다.
증강현실처리부D(450)는 촬영부D(420)에서 촬영된 영상과 가상으로 만들어진 환경조건들을 합성하여 디스플레이D(430)를 통해 화면 출력되도록 처리한다. 여기서 가상의 환경조건에 대한 데이터는 메모리D(470)에 미리 저장되어 있을 수 있으며, 증강현실처리부D(450)는 촬영된 영상에서 확인되는 표식(111,311)이나 사용자 명령 입력에 따라 메모리D(470)에 저장된 가상의 환경조건 데이터를 적절하게 추출하고, 추출된 환경조건 데이터를 화면의 특정 위치에 배치하여 합성 화면이 만들어지도록 한다.
제어부D(460)는 통신부D(410)를 통해 센서블록(100)으로부터 동작기준 정보를 수신하여 메모리D(470)에 저장되도록 하고, 증강현실처리부D(450)를 통해 디스플레이D(430)에 출력되는 가상의 환경조건의 변화를 분석하여 가상으로 감지되는 센싱정보를 생성하고, 생성된 센싱정보를 센서블록(100) 측으로 전송 처리하기 위해 마련된다.
이상에서 설명한 증강현실구현부(400)가 어떻게 코딩블록들(100,200,300)과 연계되어 동작하는지에 대해서는 이하에서 다시 설명하도록 하며, 도1 내지 도4를 통해 설명한 스마트 코딩블록 시스템에서 코딩블록부(100,200,300)가 동작 기준이나 출력내용을 사용자의 의도대로 설정하고 동작 시키는 과정에 대하여 먼저 설명토록 한다.
먼저 사용자는 동작기준 설정을 위해 센서블록(100)의 기준입력버튼을 눌러 활성화 시킨 후 센서부A(120)를 통해 동작기준을 입력한다. 이후 제어부A(140)는 기준입력버튼이 활성화된 상태에서 센서부A(120)를 통해 측정되는 동작기준을 메모리A(150)에 저장함으로써 동작기준 설정을 마친다.
메모리A(150)에 저장되는 동작기준은 사용자의 설정에 따라 수시로 업데이트되는 정보인데, 동작기준을 설정하는 작업을 한번도 수행하지 않았다면, 메모리A(150)에 저장되는 동작기준은 제품 출고시 최초로 설정되어 계속 유지되는 정보일 것이다. 기준입력버튼의 활성화에 따라 센서부A(120)에서 측정되어 메모리A(150)에 저장되는 동작기준 정보를 다양한 예시로 설명하면 다음과 같다.
센서블록(100)이 특정 밝기의 빛을 인지한 후 인에이블 신호를 출력하는 블록일 경우, 센서부A(120)는 조도센서일 수 있다. 따라서 사용자는 기준입력버튼을 활성화시킨 상태에서 센서부A(120)로 특정 밝기의 빛을 비춰줄 수 있고, 제어부A(140)는 센서부A(120)에서 측정된 특정 밝기에 대응하는 디지털 값을 메모리A(150)에 저장할 수 있다. 이 경우 기준입력버튼이 비활성화된 상태에서 센서부A(120)를 통해 해당 밝기의 빛이 다시 비춰지는 것이 확인되면, 제어부A(140)는 출력부A(160)를 통해 인에이블 신호를 출력할 수 있다.
또한 센서블록(100)이 특정 색상의 빛을 인지한 후 인에이블 신호를 출력하는 블록일 경우, 센서부A(120)는 광센서일 수 있다. 따라서 사용자는 기준입력버튼을 활성화 시킨 상태에서 센서부A(120)로 붉은빛의 광을 조사하거나, 또는 붉은색 물체를 인식시킬 수 있고, 제어부A(140)는 센서부A(120)에서 확인된 붉은 빛의 광 또는 붉은색 물체에 대응하는 디지털 값을 메모리A(150)에 저장할 수 있다. 이 경우 기준입력버튼이 비활성화된 상태에서 센서부A(120)를 통해 붉은 광이 비춰지면, 제어부A(140)는 출력부A(160)를 통해 인에이블 신호를 출력할 수 있다.
또 센서부A(120)가 거리센서일 경우 기준입력버튼이 활성화된 상태에서 센서부A(120)를 통해 측정되는 거리 정보에 대응하는 디지털 값이 메모리A(150)에 저장될 수 있다. 이 경우 기준입력버튼이 비활성화된 상태에서 센서부A(120)를 통해 기 저장된 거리 정보가 다시 측정되면 제어부A(140)가 출력부A(160)를 통해 인에이블 신호를 출력할 수 있다.
또 센서부A(120)가 마이크 등의 음압센서일 경우 기준입력버튼이 활성화된 상태에서 센서부A(120)를 통해 측정되는 음성정보에 대응하는 디지털 값이 메모리A(150)에 저장될 수 있다. 이 경우 기준입력버튼이 비활성화된 상태에서 센서부A(120)를 통해 기 저장된 음성정보가 다시 측정되면 제어부A(140)가 출력부A(160)를 통해 인에이블 신호를 출력할 수 있다.
한편 동작블록(300)의 출력내용을 설정하는 방법은 다음과 같다.
즉, 사용자는 센서블록(100)에서 설정한 바에 따라 특정 이벤트가 발생하였을 시 동작블록(300)이 어떻게 동작을 수행할 것인지 설정할 수 있다. 먼저 사용자는 동작블록(300)의 조작부C(320)를 통해 저장명령을 입력하고, 조작부C(320) 또는 센서부C(330)를 통해 출력내용을 입력하면, 제어부C(340)는 조작부C(320) 또는 센서부C(330)를 통해 입력되는 출력내용 자체를, 또는 출력내용에 대응하는 제어신호로 변환하여 메모리C(350)에 저장한다.
예컨대 출력부C(370)가 바퀴나 그립부를 동작시키는 모터일 경우, 센서부C(330)는 엔코더센서 일 수 있으며, 외력을 가하여 바퀴나 그립부를 동작시키면 모터가 회전하게 되고, 센서부C(330)는 모터의 회전수와 회전속도를 측정하고 그에 따른 기록용 센싱값을 출력하게 되며, 제어부C(340)는 센서부C(330)에서 측정되는 기록용 센싱값을 출력내용인 제어신호로 변환하여 메모리C(350)에 저장한다.
다른 예시로 출력부C(370)가 다양한 색상의 빛을 발광시키는 발광수단이라면, 센서부C(330)는 특정 색상의 빛을 인식하는 광센서일 수 있고, 제어부C(340)는 센서부C(330)에서 측정되는 특정 색상의 빛에 대응하여 발광수단을 제어하는 제어신호로 변환한 후 메모리C(350)에 저장한다.
또한 출력부C(370)가 음원을 출력하는 스피커라면, 센서부C(330)는 소리를 입력받는 마이크 등의 음압센서일 수 있고, 제어부C(340)는 센서부C(330)를 통해 인식되는 음성 정보를 메모리C(350)에 저장한다.
또, 출력부C(370)가 특정 영상을 출력하는 디스플레이라면 센서부C(330)는 디스플레이를 통해 출력할 영상을 촬영하는 카메라일 수 있고, 제어부C(340)는 센서부C(330)에서 촬영되는 영상정보를 메모리C(350)에 저장한다.
한편 출력부C(370)가 숫자를 표시하는 세븐세그먼트 등의 소자일 경우, 제어부C(340)는 조작부C(320)를 통해 입력되는 숫자, 또는 조작부C(320)가 눌러지는 횟수에 대응하여 세븐세그먼트를 제어하는 신호를 메모리C(350)에 저장한다.
이렇게 센서블록(100)을 통해 사용자 의도대로 동작기준을 설정하고, 동작블록(300)을 통해 사용자 의도대로 출력내용을 설정한 후 조립된 코딩블록들(100,200,300)이 동작하는 과정을 설명하면 다음과 같다.
즉 센서블록(100)에 동작기준을 설정하고, 동작블록(300)에 출력내용을 설정한 이후, 복수의 센서블록(100)과 동작블록(300), 그리고 논리블록(200)을 조합하여 창작품을 완성한 후, 동작 재생을 위해서는 센서블록(100), 논리블록(200) 및 동작블록(300)의 조작부(130,220,320)를 통해 동작 재생이나 대기 상태 등의 명령을 입력함으로써 동작 재생이 이루어지도록 할 수 있다.
이후 센서블록(100)의 제어부A(140)는 센서부A(120)를 통해 측정되는 값을 확인한다. 즉 기준입력버튼이 비활성화된 상태에서 센서부A(120)를 통해 측정되는 값은 제어부A(140)에서 디지털 변환되고, 제어부A(140)는 센서부A(120)에서 측정되는 값이 메모리A(150)에 기 저장된 동작기준에 대응하는지 확인한다.
만약 제어부A(140)가 센서부A(120)에서 측정된 값이 동작기준에 부합하지 않는 것으로 확인하였다면, 코딩블록 전체에서 아무런 반응도 일어나지 않는다. 반면 센서부A(120)에서 측정된 값이 동작기준에 부합하는 것으로 제어부A(140)가 확인하였다면, 제어부A(140)는 출력부A(160)를 통해 인에이블 신호를 출력한다.
한편 센서블록(100)의 출력부A(160)는 논리블록(200)의 입력부B(240)와 물리적, 전기적으로 연결되어 있다. 따라서 출력부A(160)를 통해 인에이블 신호가 출력되면 논리블록(200)의 입력부B(240)로 논리 high 값이 입력된다. 더불어 논리블록(200)의 입력부B(240)는 복수개 마련되어 있고, 이에 대응하여 복수의 센서블록(100)이 논리블록(200)에 연결되어 있을 수 있다. 논리블록(200)은 각각의 입력부B(240)를 통해 입력되는 신호에 따라 논리설정수단B(262)에서 설정된 기준에 맞추어 연산수단B(263)에서 논리 연산을 수행하고, 출력제어수단B(265)는 출력부B(250)를 통해 논리 연산 결과를 출력한다.
또한 논리블록(200)의 출력부B(250)는 동작블록(300)의 입력부C(360)와 물리적, 전기적으로 연결되어 있다. 따라서 제어부C(340)는 입력부C(360)를 통해 입력되는 인에이블 신호(high)에 대응하여 메모리C(350)에 설정된 출력내용을 추출하고 출력부C(370)를 통해 출력내용이 출력되도록 한다.
도6에는 센서블록, 논리블록 및 동작블록들을 조립하여 창작품을 완성한 하나의 예시가 도시되어 있다. 즉 논리블록(200)은 AND 게이트로 설정되어 있고, 논리블록(200)의 입력부B(240)에는 서로 다른 종류의 제1센서블록(100)과 제2센서블록(100')의 출력부A(160)가 연결되어 있다.
제1센서블록(100)은 센서부A(120)로 물체의 색상을 감지하는 광센서가 구비된 것이고, 제2센서블록(100')은 센서부A(120)로 조도센서가 구비된 것이다.
또한 논리블록(200)의 출력부B(250)에는 출력부C(370)로써 그립부가 구비된 동작블록(300)의 입력부C(360)가 연결되어 있다.
앞서 설명한 과정을 통해 제1센서블록(100)의 메모리A(150)에는 빨간색, 파란색, 노란색이 순차적으로 인식되었을 경우 인에이블 신호가 출력되도록 동작기준이 저장되어 있고, 제2센서블록(100')의 메모리A(150)에는 일정 밝기 이상의 빛이 감지되어 있을 경우 인에이블 신호가 출력될 수 있도록 동작기준이 저장되어 있다고 가정하자. 또한 동작블록(300)에는 그립부를 하강시켜 움켜쥐는 동작을 취한채로 상승하였다가 일정거리 옆으로 그립부가 이동한 후 펼쳐지도록 하는 출력내용이 엔코더 센서를 통해 인식된 후, 그에 대응하여 변환된 제어신호가 메모리C(350)에 저장되어 있다고 가정하자.
이 경우 도6과 같이 센서블록(100,100')과 논리블록(200) 및 동작블록(300)이 연결되었을 경우, 제1센서블록(100)의 센서부A(120)를 통해 빨간색, 파란색, 노란색 물체가 순차적으로 인식되고, 동시에 제2센서블록(100')의 센서부A(120)를 통해 일정 밝기 이상의 빛이 입력되었을 경우에만 센서블록(100,100') 모두에서 인에이블 신호가 출력된다. 이 조건이 만족되었을 경우 논리블록(200)의 출력부B(250)에서도 인에이블 신호가 출력될 것이고, 동작블록(300)의 입력부C(360)를 통해 인에이블 신호가 입력되면, 제어부C(340)는 메모리C(350)에 저장된 제어신호를 출력부C(370)로 출력한다. 즉 그립부가 하강하여 물체를 움켜쥐는 동작을 취하고, 그 상태로 상승하였다가 일정거리 옆으로 이동한 후 펼쳐지도록 하는 동작이 수행되는 것이다.
이렇게 동작기준을 입력하고 출력내용을 설정한 코딩블록 조립체는 예컨대 컨베이어벨트(510)를 따라 다양한 색상의 물건이 지나갈 때, 특정 색상 순서의 물건이 연속적으로 지나갈 때, 해당 물건들만을 수거토록 하는 장치로 구현할 수가 있을 것이다.
하지만 사용자가 코딩블록(100,200,300)들을 이용하여 이러한 조건이 만족되었을 때 그립부가 동작되도록 하는 창작품을 완성하고 동작기준과 출력내용까지 설정을 마쳤지만, 주변 여건 상 컨베이어벨트에 특정 색상의 물건이 순차적으로 지나가도록 하는 환경을 만들어 줄 수 없는 경우가 있을 수 있다. 따라서 동작기준과 출력내용 설정까지 마쳤다고 하더라도 이 장치가 올바르게 작동하는지 시연해 보는 것이 불가능하다.
이를 위해 본 발명에서는 증강현실구현부(400)를 통해 실물로 조립된 코딩블록(100,200,300)을 촬영하고, 증강현실구현부(400)의 디스플레이를 통해 촬영된 조립체와 가상의 환경조건을 합성하여 출력 되도록 한 후, 환경조건이 변화함에 따라 감지되는 센싱정보가 센서블록(100)에 전달되도록 함으로써, 실제 환경 조건을 부여하지 못하는 상황에서도 실물 조립체를 동작시킬 수 있도록 할 수 있다.
먼저 도6에 도시된 바와 같이 실물 코딩블록들(100,100',200,300)을 조립한 후 센서블록(100,100')의 조작부A(130)를 통해 센서블록(100,100')의 통신모듈A(155)와 증강현실구현부(400)의 통신부D(410)가 근거리 무선통신 방식으로 통신 채널이 연결되도록 한다. 물론 증강현실구현부(400)에는 증강현실 구현을 위한 전용 애플리케이션이 설치되어 있고, 전용 애플리케이션의 구동을 통해 센서블록(100,100')과의 정보 송수신과 촬영 및 증강현실 화면 출력이 이루어질 수 있다.
센서블록(100,100')과 증강현실구현부(400)의 통신 채널 연결이 이루어지고 난 후 증강현실구현부(400)에서 코딩블록(100,100',200,300)들의 실물 조립체를 실시간으로 촬영한다. 촬영부에서 코딩블록(100,100',200,300)을 촬영하면 제어부D(460)는 촬영된 영상이 디스플레이D(430)를 통해 화면 출력되도록 처리한다.
이때 제어부D(460)는 촬영된 영상에서 센서블록(100,100')과 동작블록(300)의 본체에 인자된 표식(111,311)을 분석한다. 각각의 표식(111,311)을 분석하면 제어부D(460)는 해당 표식(111,311)을 갖는 블록(100,100',300)이 어떠한 종류이고, 화면 상 어느 위치에 자리잡고 있으며, 현재 통신부D(410)를 통해 통신 채널이 연결된 블록이 무엇인지 판단할 수 있다.
즉 도6에 도시된 바와 같이 코딩블록(100,100',200,300)이 촬영되었다면 제어부D(460)는 표식(111,311) 분석을 통해 화면 좌측 하단에 광센서를 갖는 제1센서블록(100)이 위치하고 있고, 좌측 상단에 조도센서를 갖는 제2센서블록(100')이 위치하고 있으며, 우측에 그립부를 갖는 동작블록(300)이 위치하고 있음을 판단하게 된다. 물론 제어부D(460)는 표식(111,311)의 위치 변화에 따라 각 블록(100,100',200,300)의 실시간 움직임을 픽셀 단위로 추적할 수 있다.
이렇게 제어부D(460)에서 복수의 블록(100,100',200,300)에 인자된 표식(111,311)을 인식하였다면 미리 설정된 대표 표식(111,311)에 따라, 또는 복수 표식(111,311)의 조합에 따라 메모리D(470)에 미리 저장되어 있는 가상의 환경조건 데이터를 추출한다. 즉 제어부D(460)는 분석된 표식(111,311)들 중 대표가 되는 표식(111,311)이나 복수 표식(111,311)의 조합에 따라 미리 설정되어 있는 컨베이어벨트(510), 다양한 색상의 물건(520,530,540), 조명부(550) 및 수거함(590) 등의 환경조건 데이터들을 추출한다. 물론 제어부D(460)는 메모리D(470)에 저장된 여러 환경조건 데이터들을 화면에 출력해 준 후 사용자가 특정 환경조건 데이터를 선택하여 로딩되도록 처리할 수도 있다.
이후 제어부D(460)는 증강현실처리부D(450)와 연계하여 메모리D(470)에서 추출된 환경조건 데이터들이 촬영부D(420)를 통해 촬영된 조립체 영상에 합성하여 디스플레이D(430)를 통해 화면 출력되도록 처리한다.
이때 증강현실처리부D(450)는 로딩된 환경조건 데이터 각각의 요소들이 촬영된 조립체의 화면 출력 위치에 따라 최적의 위치에 출력되도록 한다. 즉 컨베이어벨트(510)와 물건(520,530,540)들은 그립부를 갖는 동작블록(300) 아래쪽에 위치되도록 하고, 수거함(590)은 동작블록(300)과 컨베이어벨트(510) 옆에 위치되도록 하며, 조명부(550)는 제2센서블록(100') 부근에 위치되도록 화면 합성을 처리하는 것이다.
또한 제어부D(460)는 다양한 색상을 갖는 물건(520,530,540)들이 컨베이어벨트(510) 위를 지나가도록 할 때, 미리 설정된 바에 따라 또는 랜덤한 순서로 지나가도록 처리할 수도 있지만, 실시하기에 따라 물건들(520,530,540)은 컨베이어벨트(510) 바깥에 따로 모아져 있고, 사용자가 따로 모여 있는 물건 중 특정 색상의 물건을 드래그하여 컨베이어벨트(510)에 순차적으로 올릴 수 있도록 사용자 인터페이스를 제공할 수도 있다.
한편, 증강현실구현부(400)의 통신부D(410)는 센서블록(100,100')의 통신모듈A(155)와 통신채널을 연결한 후 메모리A(150)에 저장된 동작기준 정보를 수신한 상태이다. 따라서 제어부D(460)는 수신된 동작기준 정보를 메모리D(470)에 저장한 후 각 센서블록(100,100')의 표식A(111)에 대응하는 위치에서 해당 동작기준 정보에 대응하는 센싱정보가 측정되는지 확인한다.
여기서 제어부D(460)가 측정하는 센싱정보는 미리 프로그램 되어진 가상의 물리값이 감지되는지에 대한 정보이다. 즉 컨베이어벨트(510) 위를 지나가는 각각의 물건들(520,530,540)은 고유의 색상 정보에 따른 코드값을 가지고 있으며, 이 코드값을 가지는 물건(520,530,540)이 제1센서블록(100)이 위치한 화면 영역에서 기 설정된 픽셀 거리 이내로 접근하는지 확인하는 것이다. 만약 빨간색 물건(520)이 일정 픽셀 거리 이내로 제1센서블록(100)의 화면 영역을 지나간다면 제어부D(460)는 빨간색이 감지되었다는 가상의 센싱정보를 생성하고, 통신부D(410)를 통해 센서블록(100) 측으로 감지된 가상의 센싱정보를 전송한다.
이후 센서블록(100)의 제어부A(140)는 통신모듈A(155)를 통해 증강현실구현부(400)로부터 가상의 센싱정보를 수신하게 되는데, 제어부A(140)는 미리 약속된 바에 따라 증강현실구현부(400)로부터 수신되는 가상의 센싱정보 역시 실제 센서부A(120)를 통해 감지된 센싱정보와 동일하다고 처리한다.
즉 실제 제1센서블록(100)의 센서부A(120)에서는 빨간색 물건(520)이 감지되지 않았다 하더라도, 증강현실구현부(400)의 디스플레이D(430)에서 제1센서블록(100) 인근으로 빨간색 물건(520)이 지나갔기 때문에, 제어부D(460)가 가상의 센싱정보를 생성하여 제1센서블록(100)으로 전송한 것이고, 제1센서블록(100)에서는 증강현실구현부(400)로부터 수신되는 가상의 센싱정보를 실제 센서부A(120)에서 감지한 것과 같이 처리한다는 것이다.
마찬가지로 가상의 환경조건인 조명부(550) 역시, 미리 프로그래밍 된 바에 따른 조도값을 가지게 되고, 이러한 조명부(550)가 증강현실 상에서 제2센서블록(100') 인근에 배치되어 있음에 따라, 제어부D(460)는 제2센서블록(100') 측으로 가상으로 감지된 센싱정보, 즉 조도값에 대한 정보를 전송하게 된다. 따라서 제2센서블록(100')의 제어부A(140)에서도 동작기준에 해당하는 조도의 빛이 센서부A(120)를 통해 감지되었다고 처리한다.
이러한 방식으로 컨베이어벨트(510)를 통해 제1센서블록(100) 및 제2센서블록(100')의 동작기준에 해당하는 가상의 환경조건 변화가 발생하였다면, 즉 제1센서블록(100)의 화면 영역으로 빨간색 물건(520), 파란색 물건(530) 및 노란색 물건(540)이 순차적으로 지나가게 되고, 제2센서블록(100')에서 일정 수준 이상의 조도가 인식되는 것이 확인되었다면, 센서블록(100,100')의 제어부A(140)에서는 증강현실구현부(400)에서 보내어 온 가상의 센싱정보를 통해 미리 메모리A(150)에 설정해 놓은 동작기준에 해당하는 물리값이 인식된 것이라 판단하고 각각 인에이블 신호를 출력하게 된다.
실물의 센서블록(100,100')에서 모두 인에이블 신호가 출력되면 AND 게이트로 설정된 논리블록(200)의 입력부B(240) 측으로 모두 인에이블 신호가 입력되고, 출력부B(250)에서 비로소 인에이블 신호가 출력된다.
따라서 동작블록(300)의 입력부C(360) 측으로 인에이블 신호가 입력됨에 따라 출력부C(370)가 동작하여 그립부가 하강한 후 물건을 움켜쥐는 동작을 취하게 되고, 그 상태로 상승하였다가 일정 거리 옆으로 이동한 후 펼쳐지는 동작이 수행된다. 이러한 그립부의 동작은 실물의 동작블록(300)에서 이루어지는 것이며, 증강현실구현부(400)는 실물의 동작블록(300) 역시 실시간으로 촬영하고 있기 때문에 디스플레이D(430)를 통해 그립부의 움직임을 확인할 수 있게 된다.
이때 제어부D(460)는 증강현실처리부D(450)와 연계하여 그립부의 움직임에 따라 가상의 환경조건 데이터들이 함께 연동 동작하도록 화면 합성을 처리한다. 즉 그립부가 하강한 후 움켜쥐는 동작을 취하면 해당 위치의 물건이 그립부에 매달리게 되고, 그립부의 움직임에 따라 물건이 매달린 채로 이동하여 수거함(590)에 놓여지는 동작이 이루어지도록 하는 것이다.
한편 이상의 설명에서는 실물 조립체가 촬영된 화면 그대로 디스플레이를 통해 출력되도록 하였지만, 실시하기에 따라 촬영된 코딩블록에 덧대어 해당 코딩블록의 설계에 대응하는 증강현실 이미지가 표출될 수도 있다. 예컨대 사용자가 코딩블록(100,100',200,300)들을 조립하여 악어가 입을 벌렸다가 먹이가 인접하면 입이 닫히도록 하는 동작기준과 출력내용을 저장해 놓았다고 가정하자. 이 경우 증강현실구현부(400)는 대표 표식(111,311)이나 복수 표식(111,311)의 조합에 따라 미리 저장된 악어 이미지가 코딩블록 화면 영역에 덧대어 출력되도록 처리할 수도 있는 것이다.
이상에서 상세히 설명한 바와 같이 본 발명에 따른 스마트 코딩블록 시스템에 의하면, 사용자가 센서블록(100), 논리블록(200) 및 동작블록(300)들을 적절하게 결합하여 입력에 따른 출력의 흐름, 논리 연산 등의 알고리즘을 놀이의 과정으로 흥미롭게 학습할 수가 있다.
특히 각각의 블록들은 물리적, 전기적 결합이 동시에 이루어지는 커넥터를 통해 결합될 수 있기 때문에 블록 조립 과정만으로 신호 전송을 위한 연결 과정도 함께 이루어져 통신 설정 등의 복잡한 작업을 하지 않아도 된다.
또한 미리 설정된 동작기준을 반드시 입력해야 할 필요 없이 사용자가 동작기준을 스스로 다시 설정할 수가 있고, 동작블록(300)이 재현해야 하는 동작 역시 다양한 형태로 변형하여 저장해 놓을 수 있기 때문에, 적은 개수의 블록들만 구비하더라도 다양한 형태의 창작물을 만들어 흥미로운 코딩 학습을 지속할 수가 있다.
더불어 조립된 창작품을 시연해 볼 수 있는 환경적 여건이 되지 않더라도 증강현실구현부(400)를 통해 실물 조립품을 촬영하면, 해당 조립품에 대응하는 가상의 환경조건 데이터들이 증강현실을 통해 화면 출력되고, 가상의 환경조건 변화에 따른 센싱정보가 실제 센서블록(100)에서 인식한 것과 같이 연동 동작되도록 할 수 있다. 즉, 실물에서 재현하기 힘든 환경 조건을 증강현실 상에서 재현시켜 시뮬레이션이 가능하며, 이에 따라 코딩블록을 이용한 학습 효과가 증대되고, 사용자의 흥미를 유발시킬 수 있다.
한편, 본 발명의 원리는 반드시 교육용 블록에만 사용할 수 있는 것은 아니며 실감형 사용자 인터페이스가 적용되는 산업현장이나 일상생활에서도 증강현실과 연동되도록 한 후 특정 환경 조건을 부여하여 재현시키는 등 다양한 분야에서 응용할 수 있다.
또한 이상의 설명에서는 실감형 사용자 인터페이스(TUI, Tangible User Interface)를 적용하여 사용자가 직접 물리적 값을 입력시켜 동작기준이나 출력내용을 설정할 수 있는 코딩블록에 대해서만 예시하고 설명하였는데, 본 발명의 사상은 반드시 이러한 종류의 코딩블록에만 적용되는 것은 아니다.
즉 사용자가 직접 동작기준이나 출력내용을 입력할 수는 없고, 동작기준과 출력내용은 미리 설정되어 있고, 설정된 동작기준에 대한 센싱정보가 입력되면 설정된 출력내용이 재생되는 블록이나 장치에 대해서도 본 발명의 사상에 따른 증강현실을 접목시킬 수가 있다.
예컨대 장애물이 감지되면 방향을 전환하여 주행하는 AI자동차에 있어서, AI자동차에 증강현실구현부로부터 센싱정보를 수신할 수 있는 통신모듈A가 탑재되어 있다면, 증강현실구현부에서 해당 자동차를 촬영한 후 가상의 환경조건, 즉 장애물이 사용자의 설정에 따라 또는 랜덤하게 증강현실로 구현되고, AI자동차가 주행하면서 가상의 장애물과 인접하게 된다면, 증강현실구현부의 제어부D가 이를 감지하여 가상의 센싱정보를 생성한 후 AI자동차 측으로 전송하는 것이다. 이에 따라 AI자동차는 실제 장애물을 만나지는 않았더라도 가상의 장애물에 따라 감지된 가상의 센싱정보에 따라 주행 방향을 변환하며 주행토록 할 수도 있다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면, 본 발명의 사상과 범위 안에서 다양한 수정, 변경 및 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 본 발명의 특허청구 범위에 속하는 것으로 보아야 할 것이다.
100,100' : 센서블록
110 : 본체A
111 : 표식A
120 : 센서부A
130 : 조작부A
140 : 제어부A
150 : 메모리A
155 : 통신모듈A
160 : 출력부A
200 : 논리블록
210 : 본체B
220 : 조작부B
230 : 표시부B
240 : 입력부B
250 : 출력부B
260 : 제어부B
300 : 동작블록
310 : 본체C
311 : 표식C
320 : 조작부C
330 : 센서부C
340 : 제어부C
350 : 메모리C
360 : 입력부C
370 : 출력부C
400 : 증강현실구현부
410 : 통신부D
420 : 촬영부D
430 : 디스플레이D
440 : 입력부D
450 : 증강현실처리부D
460 : 제어부D
470 : 메모리D
510 : 컨베이어벨트
520 : 빨간색 물건
530 : 파란색 물건
540 : 노란색 물건
550 : 조명부
590 : 수거함

Claims (3)

  1. 센싱정보를 동작기준과 비교하여 인에이블 신호를 출력하는 센서블록;
    상기 센서블록과 결합되며, 상기 센서블록으로부터 인에이블 신호가 입력되면 기 저장된 출력내용을 출력하여 특정 동작을 수행하는 동작블록; 및
    상기 센서블록과 상기 동작블록을 촬영하여 화면 출력하되, 상기 센서블록 및 동작블록에 대응하는 가상의 환경조건 데이터를 합성하여 출력하며, 상기 가상의 환경조건 데이터 변화에 따라 감지되는 가상의 센싱정보를 생성하여 상기 센서블록 측에 전송하는 증강현실구현부;를 포함하는 것을 특징으로 하는 스마트 코딩블록 시스템.
  2. 제1항에 있어서,
    상기 증강현실구현부는,
    상기 센서블록과 통신채널을 연결하는 통신부D;
    상기 센서블록 및 동작블록을 촬영하는 촬영부D;
    상기 촬영부D에서 촬영된 영상을 화면 출력하는 디스플레이D;
    가상의 환경조건 데이터를 저장하는 메모리D; 및
    상기 촬영부D에서 촬영된 영상과 상기 메모리D에 저장된 가상의 환경조건 데이터를 합성하여 상기 디스플레이D에서 화면 출력되도록 처리하고, 상기 가상의 환경조건 데이터 변화에 따라 감지되는 가상의 센싱정보를 생성하여 상기 센서블록 측으로 전송하는 제어부D;를 포함하되,
    상기 센서블록과 동작블록에는 고유의 표식이 인자되어 있고,
    상기 제어부D는 상기 촬영부D에서 촬영된 영상에서 상기 표식을 분석한 후 이에 대응하는 가상의 환경조건 데이터를 상기 메모리D에서 추출하는 것을 특징으로 하는 스마트 코딩블록 시스템.
  3. 제2항에 있어서,
    상기 증강현실구현부의 제어부D는, 상기 동작블록의 동작에 따라 상기 디스플레이D를 통해 화면 출력되는 가상의 환경조건 데이터가 연동 동작되도록 처리하는 것을 특징으로 하는 스마트 코딩블록 시스템.
KR1020200019805A 2019-02-18 2020-02-18 증강현실과 연계 동작 가능한 스마트 코딩블록 시스템 KR102391628B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190018632 2019-02-18
KR20190018632 2019-02-18

Publications (2)

Publication Number Publication Date
KR20200101300A true KR20200101300A (ko) 2020-08-27
KR102391628B1 KR102391628B1 (ko) 2022-04-28

Family

ID=72237319

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200019805A KR102391628B1 (ko) 2019-02-18 2020-02-18 증강현실과 연계 동작 가능한 스마트 코딩블록 시스템

Country Status (1)

Country Link
KR (1) KR102391628B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022149635A1 (ko) * 2021-01-08 2022-07-14 주식회사 럭스로보 Ar을 통한 모듈 조립이 가능한 코딩 교육용 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070084372A (ko) * 2004-10-20 2007-08-24 레고 에이/에스 기능 브릭을 갖는 장난감 조립 시스템
JP2015136451A (ja) * 2014-01-21 2015-07-30 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
KR20200020295A (ko) * 2018-08-17 2020-02-26 주식회사 트레셋 로봇과 인터랙션하는 증강현실 서비스 제공 장치 및 방법
KR102116511B1 (ko) * 2019-01-31 2020-05-28 (주)이이알에스소프트 블록형 스마트토이를 활용한 증강현실 기반 교육용 프로그래밍언어 저작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070084372A (ko) * 2004-10-20 2007-08-24 레고 에이/에스 기능 브릭을 갖는 장난감 조립 시스템
JP2015136451A (ja) * 2014-01-21 2015-07-30 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
KR20200020295A (ko) * 2018-08-17 2020-02-26 주식회사 트레셋 로봇과 인터랙션하는 증강현실 서비스 제공 장치 및 방법
KR102116511B1 (ko) * 2019-01-31 2020-05-28 (주)이이알에스소프트 블록형 스마트토이를 활용한 증강현실 기반 교육용 프로그래밍언어 저작 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022149635A1 (ko) * 2021-01-08 2022-07-14 주식회사 럭스로보 Ar을 통한 모듈 조립이 가능한 코딩 교육용 시스템
KR20220100271A (ko) * 2021-01-08 2022-07-15 주식회사 럭스로보 Ar을 통한 모듈 조립이 가능한 코딩 교육용 시스템

Also Published As

Publication number Publication date
KR102391628B1 (ko) 2022-04-28

Similar Documents

Publication Publication Date Title
KR101817206B1 (ko) 코딩 학습을 위한 회로기판 키트
WO2011074838A2 (ko) 로봇 동기화 장치 및 그 방법
US10456910B2 (en) Educational systems comprising programmable controllers and methods of teaching therewith
US20070173974A1 (en) Device and method for interacting with autonomous robot
KR20170053185A (ko) 동작카드를 이용한 블록완구 동작 제어시스템 및 그 제어방법
KR102296385B1 (ko) 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록
KR102391628B1 (ko) 증강현실과 연계 동작 가능한 스마트 코딩블록 시스템
Chang et al. Smart hat: design and implementation of a wearable learning device for kids using AI and IoTs techniques
KR20150124009A (ko) 손동작을 이용한 로봇 코칭 시스템
KR101428597B1 (ko) 오디오와 비디오의 동시 재생 기능을 갖는 학습용 펜
KR101734987B1 (ko) 유아교육용 로봇 컨트롤러 및 그 작동방법
US20200166990A1 (en) Device and methodology for the interaction through gestures and movements of human limbs and fingers
US9131107B2 (en) Telepresence device communication and control system
CN102854806A (zh) 微处理设备控制系统及其使用方法
KR101313794B1 (ko) 로봇 교육 서비스 장치
KR102528181B1 (ko) 인공지능 칩과 센서가 임베디드된 컨트롤 보드 및 이를 이용한 자율주행 코딩로봇
KR102463835B1 (ko) 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법
KR102479950B1 (ko) Ar을 통한 모듈 조립이 가능한 코딩 교육용 시스템
KR20240069241A (ko) 동작 내용과 동작 기준의 자유로운 설정이 가능한 블록모듈
KR102073698B1 (ko) 영상표시장치의 광신호를 이용한 외부기기 동작 제어방법
KR102097164B1 (ko) 프로그래밍 가능한 모션블록의 지원장치
WO2023234061A1 (ja) データ取得装置、データ取得方法、及びデータ取得台
KR102456243B1 (ko) 코딩 학습교구에서 수행되는 모양만들기 미션수행방법
KR102525276B1 (ko) 로봇시스템 및 그에 대한 스마트 코딩방법
TW201540250A (zh) 器械定位系統及器械定位方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant