KR20200086834A - 프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템 - Google Patents

프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템 Download PDF

Info

Publication number
KR20200086834A
KR20200086834A KR1020190003099A KR20190003099A KR20200086834A KR 20200086834 A KR20200086834 A KR 20200086834A KR 1020190003099 A KR1020190003099 A KR 1020190003099A KR 20190003099 A KR20190003099 A KR 20190003099A KR 20200086834 A KR20200086834 A KR 20200086834A
Authority
KR
South Korea
Prior art keywords
module
assembly
button
code
pattern
Prior art date
Application number
KR1020190003099A
Other languages
English (en)
Other versions
KR102211422B1 (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 KR1020190003099A priority Critical patent/KR102211422B1/ko
Publication of KR20200086834A publication Critical patent/KR20200086834A/ko
Application granted granted Critical
Publication of KR102211422B1 publication Critical patent/KR102211422B1/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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01HELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
    • H01H13/00Switches having rectilinearly-movable operating part or parts adapted for pushing or pulling in one direction only, e.g. push-button switch
    • H01H13/02Details
    • H01H13/12Movable parts; Contacts mounted thereon
    • H01H13/14Operating parts, e.g. push-button

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명에 따른 모듈 어셈블리는, 제1 기능 모듈; 제2 기능 모듈 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈과 연결될 때에 연결되는 조립 구조 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈의 모듈 ID를 포함하는 조립 정보를 생성하는 조립 정보 생성부, 복수의 프로그래머블 버튼을 포함하며 각 복수의 프로그래머블 버튼의 눌림 여부를 입력 패턴으로서 저장하는 버튼 입력 제어부를 포함하는 하드웨어 인터페이스 모듈;을 포함하되, 상기 하드웨어 인터페이스 모듈은 상기 입력 패턴 및 상기 조립 구조에 기초하여 상기 제1 기능 모듈에서 생성하는 신호에 대한 논리 연산을 수행하는 코드를 생성하거나, 또는 복수의 미리 저장된 패턴 중 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩할 수 있다. 따라서, 본 발명에 따르면, 모듈 어셈블리의 조립 정보 및 모듈 어셈블리에서 제공하는 입력 버튼에 기초하여 하드웨어 상에서 직관적으로 직접 코딩하거나, 소프트웨어 상의 코딩을 용이하게 하도록 도울 수 있으며, 하드웨어 상에서 쉽게 정보를 입력할 수 있도록 하는 모듈 어셈블리가 제공된다.

Description

프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템{A Programable Module Assembly And Executable Code Producing System Therefore}
본 발명은 모듈 어셈블리 및 모듈 어셈블리 실행 코드 저작 시스템에 관한 것으로서, 보다 상세하게는 프로그래머블 버튼을 포함하는 하드웨어 인터페이스 모듈을 이용하여 하드웨어적으로 손쉽게 소스코드를 생성할 수 있는 모듈 어셈블리 및 이러한 모듈 어셈블리에 대한 실행 코드 저작툴에 관한 것이다.
최근 교육, 취미, 연구, 생산 등을 목적으로 하는 다양한 모듈 기반 제작 도구들이 제안되고 있다. 이러한 제작 도구들에 포함된 모듈들은 각각 특정한 기능을 수행할 수 있으며, 서로 연결되어 모듈 어셈블리를 형성할 수 있도록 제공된다. 이때, 각각의 모듈은 서로 전기적으로도 연결되어 에너지, 신호, 데이터 등을 송수신할 수 있도록 제공될 수도 있다. 사용자는 제공된 매뉴얼 또는 스스로 창작한 방식에 따라 모듈들을 조립하여 특정한 목적을 수행하는 모듈 어셈블리를 제작할 수 있다.
일 예로, 특허문헌 1(대한민국 등록특허 제1761596호)은 네트워크 모듈, 구동 모듈, 센서 모듈 등 다양한 종류의 모듈을 조립하여 제작한 모듈 어셈블리를 개시하고 있다. 이 때, 모듈 어셈블리는 학생이나 사용자가 모듈(10, 20, 30, 40)들을 조립하면서 전자 장치의 작동 원리를 이해할 수 있는 교육용 키트 또는, 연구원이 특정 목적을 수행하기 위한 장치를 제작하기 위해 사용되는 연구용 키트 및 사용자가 취미용으로 조립 가능한 장난감 키트 등의 다양한 용도로 활용될 수 있다.
이러한 모듈 어셈블리들은 위에 언급한 바와 같이 소프트웨어 또는 하드웨어의 전문가인 연구원부터 학생, 일반인 등 다양한 사람들이 이용하고 있다. 단, 전문가를 제외한 일반인이나 학생들은 각 모듈들이 제대로 동작할 수 있도록 조립하고, 조립된 모듈 어셈블리를 구동시키기에 적합한 소프트웨어를 작성하여 사용하는 것이 어려울 수 있어서, 상술한 모듈의 보급에 제약이 될 수 있다.
특히, 센서나 버튼 등의 다양한 하드웨어에서 생성된 신호들을 논리 연산하는 등의 코딩들은 다양한 API(Application Program Interface)를 활용해야 하므로, 일반인이나 학생들에게는 난이도가 높은 코딩 기법이 될 수 있다. 따라서, 전문가를 제외한 사람들에게 보다 직관적이고, 다양한 방법으로 쉽게 다양한 하드웨어를 활용할 수 있는 프로그램을 작성할 수 있는 모듈 어셈블리 및 모듈 어셈블리 실행 코드 저작툴이 절실히 요구되고 있다.
본 발명은 상술한 기술적 문제에 대응하기 위하여 안출된 것으로, 본 발명의 목적은 종래 기술에서의 한계와 단점에 의해 발생하는 다양한 문제점을 실질적으로 보완할 수 있는 것으로, 모듈 어셈블리의 조립 정보 및 모듈 어셈블리에서 제공하는 입력 버튼에 기초하여 하드웨어 상에서 직관적으로 직접 코딩하거나, 소프트웨어 상의 코딩을 용이하게 하도록 도울 수 있으며, 하드웨어 상에서 쉽게 정보를 입력할 수 있도록 하는 모듈 어셈블리를 제공하는 것을 목적으로 한다.
본 발명의 일 실시예에 따른 모듈 어셈블리는, 제1 기능 모듈; 제2 기능 모듈 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈과 연결될 때에 연결되는 조립 구조 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈의 모듈 ID를 포함하는 조립 정보를 생성하는 조립 정보 생성부, 복수의 프로그래머블 버튼을 포함하며 각 복수의 프로그래머블 버튼의 눌림 여부를 입력 패턴으로서 저장하는 버튼 입력 제어부를 포함하는 하드웨어 인터페이스 모듈;을 포함하되, 상기 하드웨어 인터페이스 모듈은 상기 입력 패턴 및 상기 조립 구조에 기초하여 상기 제1 기능 모듈에서 생성하는 신호에 대한 논리 연산을 수행하는 코드를 생성하거나, 또는 복수의 미리 저장된 패턴 중 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩할 수 있다.
이 경우, 상기 복수의 프로그래머블 버튼은 각각 강성 반투명 고무, 3색 LED 및 푸시 스위치를 포함하며, 사용자가 상기 각성 반투명 고무를 누르면, 푸시 스위치가 눌려지면서 3색 LED의 점등 상태를 변화시키고 상기 입력 패턴을 변화시킬 수 있다.
또한, 상기 복수의 프로그래머블 버튼은 상기 논리 연산을 수행하는 코드를 생성하는 논리 모드에서 논리 버튼, 방향 버튼 및 설정 버튼을 포함하며, 상기 방향 버튼은 상기 제1 기능 모듈 및 제2 기능 모듈 중 어느 하나를 지정하고, 상기 논리 버튼은 지정된 모듈에 대하여 논리 버튼에 대응하는 논리 연산을 수행하는 코드를 생성하도록 구성될 수 있다.
또한, 상기 설정 버튼에 의하여 상기 논리 모드가 시작되며, 상기 방향 버튼 및 상기 논리 버튼에 의하여 모듈 지정 및 논리 연산 지정이 완료된 후에 상기 설정 버튼이 눌려지면 상기 논리 연산을 수행하는 코드가 생성될 수 있다.
또한, 상기 복수의 프로그래머블 버튼은 취소 버튼을 더 포함하며, 상기 모듈 지정 및 논리 연산 지정이 완료된 후에 상기 취소 버튼이 눌려지면 상기 모듈 지정 및 논리 연산 지정이 취소될 수 있다.
또한, 상기 복수의 프로그래머블 버튼은 설정 버튼을 포함하며, 상기 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩하는 패턴 인식 모드에서, 상기 모듈 어셈블리의 메모리에 저장된 패턴 프로파일에 해당하는 패턴을 표시될 때에 상기 설정 버튼을 누르면, 상기 복수의 미리 저장된 패턴 중 어느 하나의 미리 저장된 패턴이 선택될 수 있다.
한편, 본 발명의 실시예에 따른 모듈 어셈블리 실행 코드 저작시스템은, 모듈 어셈블리 및 상기 모듈 어셈블리와 연결되며, 사용자 단말에서 실행되며 상기 모듈 어셈블리에서 동작할 프로그램을 코딩할 수 있는 실행 코드 저작툴을 포함하며, 상기 모듈 어셈블리는 : 제1 기능 모듈; 제2 기능 모듈 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈과 연결될 때에 연결되는 조립 구조 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈의 모듈 ID를 포함하는 조립 정보를 생성하는 조립 정보 생성부, 복수의 프로그래머블 버튼을 포함하며 각 복수의 프로그래머블 버튼의 눌림 여부를 입력 패턴으로서 저장하는 버튼 입력 제어부를 포함하는 하드웨어 인터페이스 모듈;을 포함하며, 상기 하드웨어 인터페이스 모듈은 상기 입력 패턴 및 상기 조립 구조에 기초하여 상기 제1 기능 모듈에서 생성하는 신호에 대한 논리 연산을 수행하는 코드를 생성하거나, 또는 복수의 미리 저장된 패턴 중 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩할 수 있다.
이 경우, 상기 실행 코드 저작툴은 상기 논리 연산을 수행하는 코드 또는 상기 사용자가 선택한 미리 저장된 패턴에 대응하는 코드에 대응하는 아이콘을 포함할 수 있다.
또한, 상기 실행 코드 저작툴은 상기 하드웨어 인터페이스 모듈에 대응하는 아이콘을 포함하며, 상기 아이콘을 이용하여 상기 입력 패턴을 이용하는 코드를 제공하도록 구성될 수 있다.
본 발명에 따르면, 모듈 어셈블리의 조립 정보 및 모듈 어셈블리에서 제공하는 입력 버튼에 기초하여 하드웨어 상에서 직관적으로 직접 코딩하거나, 소프트웨어 상의 코딩을 용이하게 하도록 도울 수 있으며, 하드웨어 상에서 쉽게 정보를 입력할 수 있도록 하는 모듈 어셈블리를 제공할 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 실시예에 따른 모듈 어셈블리가 조립된 모습을 보여주는 사시도이다.
도 2는 본 발명의 실시예에 따른 모듈의 내부 구조를 보여주는 평면도이다.
도 3은 본 발명의 실시예에 따른 하드웨어 인터페이스 모듈의 프로그래머블 버튼의 구조를 개략적으로 도시한다.
도 4는 본 발명의 실시예에 따른 모듈 어셈블리 실행 코드 저작시스템을 도시한다.
도 5는 본 발명의 실시예에 따른 하드웨어 인터페이스 모듈의 기능 블록을 예시한 블록도를 도시한다.
도 6은 본 발명의 실시예에 따른 조립 정보를 도시한다.
도 7은 본 발명의 실시예에 따른 프로그래머블 버튼을 포함하는 하드웨어 인터페이스 모듈의 평면도를 도시한다.
도 8 및 도 9는 본 발명의 실시예에 따른 논리 모드의 입력 방법을 나타낸 도면이다.
도 10은 본 발명의 실시예에 따른 논리 모드를 통하여 생성된 PnP 코드를 나타낸 예시이다.
도 11은 본 발명의 실시예에 따른 하드웨어 인터페이스 모듈과 기능 모듈의 연결을 설명하기 위한 도면이다.
도 12는 본 발명의 실시예에 따른 패턴 인식 모드의 입력을 나타낸 예시도면이다.
도 13은 본 발명의 실시예에 따른 패턴 인식 모드에서 나타나는 패턴들을 나타낸 예시 도면이다.
도 14는 본 발명의 실시예에 따른 패턴 인식 모드를 통해 생성한 패턴들을 이용한 모듈 어셈블리를 예시하기 위한 도면이다.
도 15는 본 발명의 실시예에 따른 업로드 모드 중 PnP 코드 업로드 모드를 설명하기 위한 도면이다.
도 16은 본 발명의 실시예에 따른 업로드 모드 중, 패턴 입력 모드를 설명하기 위한 도면이다.
본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 전송하는 경우에는 구성요소는 다른 구성요소로 직접 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 데이터 또는 신호를 다른 구성요소로 전송할 수 있음을 의미한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다. 도면에서 동일한 참조부호는 동일한 구성요소를 지칭하며, 도면 상에서 각 구성 요소의 크기는 설명의 명료성을 위하여 과장되어 있을 수 있다.
도 1은 본 발명의 실시예에 따른 모듈 어셈블리가 조립된 모습을 보여주는 사시도이고, 도 2는 모듈의 하부 구조를 보여주는 평면도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 모듈 어셈블리(1)는 서로 조립 가능한 복수 개의 모듈 (10, 20, 30, 40)들로 구성된다.
본 실시예에서, 모듈 어셈블리(1)는 서로 조립 가능한 하나 이상의 모듈(10, 20, 30, 40)들의 집합 또는 이들이 조립된 구조체로 정의될 수 있으며, 그 목적, 종류, 형태, 모듈의 개수 등에 의해 제한되지 않는다. 예를 들어, 모듈 어셈블리(1)는 학생이나 사용자가 모듈(10, 20, 30, 40)들을 조립하면서 전자 장치의 작동 원리를 이해할 수 있는 교육용 키트의 일부일 수 있다. 또는, 모듈 어셈블리(1)는 연구원이 특정 목적을 수행하기 위한 장치를 제작하기 위해 사용되는 연구용 키트의 일부일 수 있다. 또한, 모듈 어셈블리(1)는 사용자가 취미용으로 조립 가능한 장난감 키트의 일부일 수 있다.
설명의 용이함을 위하여 본 실시예에서는 모듈 어셈블리(1)가 도 1에 도시된 것과 같이 프로그래머블 버튼(Programable Button, 185)을 구비한 하드웨어 인터페이스 모듈(10) 및 각각의 기능을 구비한 기능 모듈(20 내지 40)들로 구성된 예를 설명하며, 기능 모듈들은 제1 모듈(20), 제2 모듈(30), 및 제3 모듈(40)로 지칭한다.
여기서, 모듈(10, 20, 30, 40)은 전압 또는 전류의 변화로서 나타내는 신호, 데이터, 또는 전기 에너지(이하 '전기적 신호')를 다른 모듈 또는 외부 장치와 송수신할 수 있도록 구성된 객체로 정의될 수 있다. 이러한 모듈(10, 20, 30, 40)들은 중앙처리장치(CPU), 메모리, 전원 등을 구비하거나 또는 다른 모듈의 제어를 받아 작동 가능한 감지(sensing) 수단, 처리(processing) 수단, 구동 수단 등을 구비하여 각각 독립적으로 구동 가능할 수 있다. 또한, 각각의 모듈(10, 20, 30, 40)은 독립적으로 특정한 기능을 수행하거나, 다른 모듈과의 상호 작용에 의해 특정한 기능을 수행하도록 구성될 수도 있다. 모듈(10, 20, 30, 40)들이 중앙처리장치를 구비하는 경우, 각각의 모듈별로 펌웨어가 설치될 수도 있다.
제1 모듈(20) 내지 제3 모듈(30)은 예컨대, 리모컨 등으로부터 적외선 신호를 수신할 수 있는 적외선 센서 모듈, 스마트폰 등과 무선 통신할 수 있는 무선 통신 모듈이고, 자이로스코프 센서 모듈 또는 모터(41) 등의 구동 모듈일 수 있다. 또한, 제1 모듈(20) 내지 제3 모듈(40)은 외부의 구동 장치(41)와 케이블(42)에 의해 연결될 수도 있다. 이 경우, 모듈 어셈블리(1)는 리모컨 또는 스마트폰의 신호를 수신하여 모터(41)를 선택적으로 작동시키는 장치일 수 있다. 상기와 같은 모듈 어셈블리(1)의 구성은 하나의 예에 불과하며, 각각의 모듈은 독립적으로, 또는 다른 모듈과의 연동을 통해 임의의 기능을 수행할 수 있도록 제공될 수 있다.
모듈(10, 20, 30, 40)들은 다른 모듈과 면 접촉 가능한 복수 개의 측면을 갖는 다각형 기둥 형상인 입체일 수 있다. 여기서, 면 접촉은 측면의 모든 면적이 모두 접촉되는 것 만을 의미하는 것은 아니며, 측면의 일부만 접촉되어 어느 하나의 모듈의 측면과 다른 모듈의 측면이 서로 마주보며 일부분이 접촉되는 것을 포함하는 의미로 이해되어야 한다.
본 실시예에서는 기능 모듈(20, 30, 40)들이 정사각형 형상의 평면을 갖는 것을 예로 들어 도시하였다. 즉, 본 실시예에서의 모듈(10, 20, 30, 40)들은 4개의 측면을 갖는다. 또한, 본 실시예에서는 모듈 (10, 20, 30, 40)들의 직육면체인 것을 예로 설명한다.
다른 실시예로서, 모듈(10, 20, 30, 40)들은 평면상 정삼각형, 직사각형, 정오각형 등의 다각형 기둥 형상으로 형성될 수도 있고, 특히, 정다각형 형상으로 형성될 수 있다. 일부의 모듈(10, 20, 30, 40)들이 서로 다른 입체적 형상을 가질 수도 있다. 또한, 모듈(10, 20, 30, 40)들 중 일부는 뿔, 다면체 등의 다양한 입체적 형상을 가질 수도 있다.
여기서, 하드웨어 인터페이스 모듈(10)은 외관을 형성하는 하우징(11)과, 하우징(11)의 측면에 노출되어 전기 신호 등을 연결된 다른 모듈에 전달하거나 수신할 수 있는 단자(107)와, 하우징(11)의 외부로 선택적으로 돌출되는 핀(180)이 제공된 핀 설치부(150) 및 다른 모듈의 핀이 삽입되는 핀 수용부(160)를 포함할 수 있다. 또한, 하드웨어 인터페이스 모듈(10)의 일 측면에는 외부 장치와 통신할 수 있는 시리얼 포트(190)를 포함할 수 있다. 이 때, 시리얼 포트(190)는 예컨대, USB(Universal Serial Bus), USB-C type, IEEE 1394, 썬더볼트(Thunderbolt) 등의 유선 시리얼 통신을 할 수 있는 다양한 규격의 포트를 사용할 수 있다.
하우징(11)은 예컨대, 직육면체 형상으로 형성된 케이스일 수 있다. 하우징(11)은 도 1에 도시된 것처럼 상부 케이스(11a)와 하부 케이스(11b)가 결합되는 형태로 제공될 수 있다. 하우징(11)을 구성하는 방법은 필요에 따라 상부 케이스(11a)와 하부 케이스(11b)가 일체로 형성되거나, 더 많은 부분으로 나뉘어 조립될 수 있다.
단자(107)는 전기 신호 등을 연결된 다른 모듈에 전달하거나 다른 모듈로부터 받을 수 있으며, 일 예로, 하우징 (11)의 내부에 제공된 기판(102)으로부터 전기 신호 등을 전달받아 단자(107)에 접촉된 다른 모듈의 단자로 전달할 수 있다. 단자(107)는 다수 개의 접촉 점이나 연결 핀을 가질 수 있으며, 이는 전기 신호 등의 전달 방법, 표준화된 규격 등에 따라 다양한 형태를 가질 수 있다. 이와 같은 단자(107)는 핀(180), 핀 설치부(150), 핀 수 용부(160)와 한 셋트를 이루어 하우징(11)의 일 측면에 배치될 수 있다. 구체적으로, 단자(107)는 핀(180)과 핀 수용부(160) 사이에 배치될 수 있으며, 다른 모듈의 핀과 핀 수용부 사이에 배치된 단자에 접촉될 수 있다.
본 발명의 특징인 하드웨어 인터페이스 모듈(10)은 프로그래머블 버튼(185)를 포함하고 있으며, 이 프로그래머블 버튼을 통하여 하드웨어 적으로 코딩을 수행하거나, 또는 다양한 입출력을 수행할 수 있으며, 구조 및 사용법에 대해서는 상세히 후술하도록 한다.
한편, 기능 모듈(20, 30, 40)은 프로그래머블 버튼(185)을 제외하고 하드웨어 인터페이스 모듈(10)과 동일하게 단자(107), 케이스(11), 핀(180) 및 핀 수용부(160) 등을 포함하고 있다. 간략화를 위하여 설명을 생략하며, 본원 발명의 모듈의 더욱 상세한 구조 및 결합에 대해서는 대한민국 등록특허 공보 제10-1761596에 상세하게 기재되어 있으며, 본원 특허 명세서에 참조로서 포함된다.
도 2를 참조하면, 하부 케이스(11b)는 외형 및 내부 구조를 형성하는 프레임(100), 프레임(100)의 내측에 제공되는 기판(102), 기판(102)에 설치되는 기능 유닛(104)을 포함할 수 있다.
프레임(100)은 하우징(11)의 일부 또는 전부를 구성하는 구조물로서, 하우징(11)의 일부 또는 전부의 외형을 형성하고, 내부에 각종 부품이 설치되기 위한 공간과 구조를 제공할 수 있다. 본 실시예에서 프레임(100)은 하우징(11)의 하부 케이스(11b)를 형성하는 것을 예로 들어 설명하나, 본 발명의 권리범위는 이에 한정되지 않는다. 또한, 본 실시예에서 프레임(100)은 사각형 형상으로 형성되며, 4개의 코너(corner, 101)를 갖는다.
기판(102)에는 제1 모듈(20)의 기능을 구현하기 위한 기능 유닛(104)이 실장될 수 있으며, 프레임(100)의 내측 공간 중앙부에 고정 설치될 수 있다. 기능 유닛(104)은 예를 들어 마이크로프로세서를 포함할 수 있으며, 이 때 제1 모듈(20)이 독립적인 펌웨어에 의해 구동되면 제1 모듈(20)을 제어하기 위해 제공될 수 있다. 또 다른 예로서, 제1 모듈(20)이 적외선 센서 모듈인 경우, 기능 유닛(104)은 적외선 센서 및 적외선 센서로부터 감지된 값을 처리하는데 필요한 ADC(Analog Digital Converter) 및 다른 모듈 또는 외부 하드웨어와 통신하는 데 필요한 인터페이스 예컨대, I2C 또는 UART, 또는 USB 등의 통신 인터페이스 등 필요한 디바이스들을 포함할 수 있다.
본 발명의 기능 모듈(20 내지 40)은 상술한 기능 유닛(104)의 기능에 따라 모듈의 종류가 정해진다. 예컨대, 기능 유닛(104)이 마이크로프로세서 및 메모리를 포함하고 있으며, 다른 유닛들을 제어할 수 있는 OS 또는 펌웨어를 포함하고 있는 경우에는 컨트롤 모듈이 된다. 또는, 기능 유닛(104)이 센서의 센싱 값을 다른 모듈 또는 외부 디바이스에 전달할 수 있는 경우에는 센서 모듈이 된다. 또는, 기능 유닛(104)이 NB-IOT, LTE, LoRa, WiFi, Bluetooth, USB, 케이블 모뎀 등 다양한 유무선 통신 장치를 포함하면서 다른 모듈로부터 전기적 신호를 수신하여 상술한 유무선 통신 장치를 통하여 다른 외부 디바이스에 전기적 신호를 전송할 수 있는 경우에는 통신 모듈이 될 수 있다. 또는, 기능 유닛(104)이 모터 등의 다양한 액추에이터 및 액추에이터 제어 회로들을 포함하여 구동이 가능하게 하는 경우에는 구동 모듈이 될 수 있다. 기타 본원 발명의 모듈의 더욱 상세한 구조 및 결합에 대해서는 대한민국 등록특허 공보 제10-1761596에 상세하게 기재되어 있으며, 본원 특허 명세서에 참조로서 포함된다.
한편, 하우징(11)에는 단자(107)가 형성되지 않은 측면이 존재할 수도 있다. 예를 들어, A 측면 부분은 단자(107)이 형성되지 않으며, 시리얼 포트(190)가 형성될 수 있다.
이하에서는 도 3을 참조하여 상술한 하드웨어 인터페이스 모듈(10)의 구조에 관하여 상세하게 설명한다.
하드웨어 인터페이스 모듈(10)은 앞서 설명한 단자(107), 핀(180), 핀 수용부(160) 및 하우징(11) 외에도, 프로그래머블 버튼(185), 인쇄회로 기판(14, 16)을 포함할 수 있다.
이 때, 프로그래머블 버튼(185)은 강성 반투명 고무(19), 3색 LED(15), 푸시 스위치(13)을 포함하며, 기판(14)에 장착된다. 강성 반투명 고무(19)는 외부에서 사용자가 누를 경우에, 푸시 스위치(13)가 눌려지고 하부의 삼색 LED의 빛이 외부에서 보일 수 있도록 충분하게 단단한 반투명의 고무 재질로 제작될 수 있다.
또한, 본 실시예에서는 프로그래머블 버튼(185)이 레고 등의 블록 완구와 결합될 수 있는 사이즈를 고려하여 25개의 버튼으로 제작될 수 있다. 단, 본 발명은 본 실시예의 프로그래머블 버튼(185)의 개수에 제한되지 않으며, 당업자라면, 블록 완구와의 결합 여부를 고려하여 적절한 개수로 프로그래머블 버튼(185)의 개수를 선택할 수 있다.
한편, 3색 LED(15)는 푸시 스위치(13)에 의하여 점등/소등이 제어되며, 후술될 버튼 입력 제어부(540)에 의하여 색상이 제어될 수 있다. 즉, 푸시 스위치(13)의 눌림 상태에 따라서 점등 상태(점등/소등 및 색상)가 제어될 수 있다. 이 때, 복수의 프로그래머블 버튼(185) 각각의 점등/소등(On/Off) 여부 및 색상 정보는 버튼 입력 제어부(540)에 의하여 입력 패턴으로서 저장될 수 있다.
푸시 스위치(13)는 눌렸는지 여부에 따라 3색 LED(15)의 점등/소등을 제어할 수 있다. 또한, 예컨대, 눌려진 회수 또는 정해진 모드에 따라 색상이 변화하거나, 점멸할 수도 있다. 이 때, 푸시 스위치(13)의 점등/소등 여부 또는 눌려진 회수 등은 버튼 입력 제어부(540)에 저장될 수 있다.
인쇄회로기판(14 및 16)은 프로그래머블 버튼(185), 마이크로프로세서(16-1) 및 메모리(16-2) 등의 다양한 소자들을 수용하고, 그 다양한 소자들을 연결시킬 수 있다. 본 실시예에서는 2개의 기판에 프로그래머블 버튼(185) 및 다양한 소자들이 수용되는 것으로 기재하고 있으나, 하나의 기판 또는 3개 이상의 기판에 소자들이 수용되는 것도 가능하다.
도 4를 참조하면, 상술한 하드웨어 인터페이스 모듈(10) 및 기능 모듈(20 내지 40)들로 이루어진 모듈 어셈블리(1)는 인터넷, 인트라넷, 또는 광대역 통신망 등의 네트워크를 통하여 서버(2) 및 사용자 단말(3)와 연결될 수 있다. 또는 각종 유무선 통신 특히, 시리얼 포트(190) 연결을 통하여 사용자 단말(3)과 직접 연결될 수도 있다. 이 때, 서버(2) 또는 사용자 단말(3)는 모듈 어셈블리(1)를 구동시킬 수 있는 프로그램의 소스 코드를 작성, 추천 및 컴파일(또는 인터프리트)할 수 있는 저작툴을 제공할 수 있다. 이러한 소스 코드의 작성, 추천 및 컴파일(또는 인터프리트)할 수 있는 저작툴에 대해서는 본 출원인이 이전에 발명한 대한민국 특허출원 제10-2018-0114166호 및 제10-2018-0114171호에 상세하게 기재되어 있으며, 위의 두 특허는 참조로서 포함된다.
이하에서는 도 5를 참조하여 상술한 하드웨어 인터페이스 모듈(10)의 인쇄회로기판(16) 상에 구현된 기능을 상세하게 설명한다. 도 5는 하드웨어 인터페이스 모듈(10)의 인쇄회로기판(16) 상에 구현된 기능들의 블록도이다. 이 경우, 도 5에 나타낸 마이크로프로세서(570) 및 조립 정보 생성부(510) 등의 블록들은 하드웨어 모듈 또는 소프트웨어 모듈 또는 소프트웨어 또는 하드웨어 모듈의 결합으로 구현될 수 있다. 이 경우, 소프트웨어 모듈은 메모리(590)에 저장되고 마이크로프로세서(16-1)에 의해 실행될 수 있다.
도 5를 참조하면, 하드웨어 인터페이스 모듈(10)은 조립 정보 생성부(510), 논리 모드 제어부(520), 패턴 모드 제어부(530), 버튼 입력 제어부(540), 업로드 모드 제어부(550), 마이크로프로세서(570), 통신 제어부(580), 메모리(590)를 포함할 수 있다.
조립 정보 생성부(510)는 하드웨어 인터페이스 모듈(10)과 연결되는 복수의 기능 모듈(20 내지 40) 또는 연결되는 또 다른 하드웨어 인터페이스 모듈(1420, 1440, 도 14 참조)의 연결 정보를 생성할 수 있다. 구체적으로, 조립 정보 생성부(510)는 예컨대, 도 6과 같은 조립 정보를 저장할 수 있다.
조립 정보는 모듈 어셈블리(1) 내의 모듈들의 모듈 고유 정보(모듈 ID)(1048-1), 단계 정보(1048-2), 하위 연결 모듈 정보(1048-3), 연결 순위(1048-4) 및 모듈 카테고리(1048-6)를 포함한다. 조립 정보는 추가적으로 연결 방향(1048-5)을 더 포함할 수 있다.
모듈 고유 정보(1048-1)는 모듈 어셈블리에 포함되고 연결되는 기능 모듈들의 모듈 ID를 나타낸다. 이 경우, 모듈 ID는 UUID(Universally Unique IDentifier)와 같은 모듈 고유의 식별자 일 수 있으며, 컨트롤 모듈에서 연결 시 부여하는 임시 ID 일 수도 있다. 여기서, 컨트롤 모듈은 마이크로프로세서를 포함하면서, 소프트웨어의 실행을 통하여 연결된 기능 모듈들을 제어할 수 있는 모듈로서, 상술한 하드웨어 인터페이스 모듈(10)은 컨트롤 모듈 중 하나이다. 설명의 간략화를 위하여, 본 실시예에서는 컨트롤 모듈에 대한 설명을 하드웨어 인터페이스 모듈(10)을 중심으로 설명한다.
한편, 단계 정보(1048-2)는 하드웨어 인터페이스 모듈(10)과의 거리를 의미하며, 하드웨어 인터페이스 모듈(10)로부터 해당 모듈까지 최단 경로 상으로 연결된 모듈을 카운팅하여 결정된다.
하위 연결 모듈 정보(1048-3)는 해당 모듈보다 단계가 낮은(하드웨어 인터페이스 모듈(10)과의 거리가 더 먼) 모듈의 모듈 고유 정보를 나타낸다. 기본적으로 각 모듈은 해당 모듈과 연결된 모듈들의 정보를 저장하고 하드웨어 인터페이스 모듈(10)에 연결될 때, 하위로 연결된 모듈의 정보를 하드웨어 인터페이스 모듈(10)에게 제공할 수 있다.
연결 순위(1048-4)는 하드웨어 인터페이스 모듈(10)에 접속하는 순서를 나타낸다. 하드웨어 인터페이스 모듈(10)에 이미 결합되어 있는 복수의 모듈인 모듈 그룹이 결합되는 경우에는 모듈 그룹에 동일한 공통 연결 순위(1048-7)가 부여될 수 있다.
연결 방향(1048-5)은 부가적인 정보로서, 하위 연결 모듈 및 상위 연결 모듈이 어떤 포트와 물리적으로 접속되었는지를 나타내는 정보이다. 예를 들어, 통신 모듈과 자이로스코프 센서 모듈이 있는 경우에, 통신 모듈의 전자기파가 자이로스코프 센서 모듈의 센싱에 영향을 줄 수도 있으므로, 가급적이면 영향을 주지 않는 위치에 연결 방향을 결정하여 서로 배치할 수 있다.
모듈 카테고리(1048-6)는 모듈의 기능에 따라 모듈을 분류한 정보이다. 예를 들어, 입력 모듈은 입력되는 전기 신호를 수집하는 모듈로서, 마이크로폰, 온도 센서, 자이로스코프 센서, 적외선 센서, 초음파 센서 등의 각종 센서와 다이얼, 버튼, 키보드 등의 키 입력을 포함한다. 출력 모듈은 모터 등의 액추에이터, 발광다이오드(LED), 액정 디스플레이 장치, 스피커를 포함한다. 통신 모듈은 LTE, Bluetooth 등의 네트워크 모듈을 포함한다. 하드웨어 인터페이스 모듈(10)은 사용자 단말(3)에서 프로그래밍한 애플리케이션을 실행할 수 있는 모듈로서, 마이크로프로세서를 포함한다. 이러한 카테고리 정보에 기초하여 서버에서는 모듈 추천 시 치환 가능한 모듈인지, 추가 가능한 모듈인지 여부를 판단할 수 있다. 앞서 기능 유닛(104)에 관한 설명에서 기술한 바와 같이, 기능 모듈(20 내지 40)의 기능은 기능 유닛(104)의 구성에 따라 정해지게 된다.
다시 도 5를 참조하면, 논리 모드 제어부(520)는 하드웨어 인터페이스 모듈(10)이 논리 모드에서 동작할 때에 1) 조립 정보 생성부(510)로부터 조립 정보를 수신하여 2) 주변 기능 모듈(20 내지 40)에서 생성한 신호들에 대한 논리 연산을 수행할 수 있는 논리 연산 코드를 생성하고, 3) 생성된 논리 연산 코드를 다시 업로드 모드 제어부(550)에 전송하여 서버(2) 또는 사용자 단말(3)에 업로드할 수 있도록 한다. 논리 모드 제어부(520)의 상세 동작에 대해서는 도 7 내지 도 10을 참조하여 상세하게 후술하도록 한다.
한편, 패턴 모드 제어부(530)는 패턴 모드에서 동작할 때에 1) 패턴 프로파일을 생성하고, 2) 패턴 프로파일에 기초하여 입력 가이드를 3색 LED를 통하여 표시하게 하며, 3) 입력 가이드에 따른 결정 입력이 인가되면 해당 패턴에 대응하는 패턴 대응 코드를 실행시킬 수 있으며, 4) 또는 해당 패턴에 대한 코드를 업로드 모드 제어부(550)에 전송하여 서버(2) 또는 사용자 단말(3)에 업로드할 수 있도록 한다. 패턴 모드 제어부(530)의 상세 동작에 대해서는 도 11 내지 도 13을 참조하여 상세하게 후술하도록 한다.
버튼 입력 제어부(540)는 프로그래머블 버튼(185)이 눌렸는지 여부 또는 프로그래머블 버튼(185)의 눌린 회수 또는 프로그래머블 버튼(185)이 눌려진 시간에 따라 강성 반투명 고무(19) 하부의 3색 LED의 색상이 바뀌도록 제어하며, 스위치의 상태 및 상태 변화에 따라 프로그래머블 버튼(185)의 스위치 상태 정보를 생성하여 논리 모드 제어부(520) 및 패턴 모드 제어부(530)에 제공한다.
한편, 마이크로프로세서(570)는 토폴로지 정보 생성부(510), 논리 모드 제어부(520), 패턴 모드 제어부(530) 및 버튼 입력 제어부(540) 중 적어도 일부가 소프트웨어 모듈로 구현되는 경우에, 그 소프트웨어 모듈을 실행하게 한다.
통신 제어부(580)는 시리얼 포트(190)를 통한 유선 통신 또는 무선 통신을 통하여 하드웨어 인터페이스 모듈(10)과 서버(2) 또는 사용자 단말(3)이 서로 통신할 때, 통신을 제어한다.
한편, 메모리(590)는 마이크로프로세서(590)에서 실행될 수 있는 소프트웨어 모듈과, 조립 정보, PnP 코드, 모듈 정보 및 패턴 프로파일을 저장할 수 있다.
여기서, 소프트웨어 모듈은 예를 들어, 조립 정보 생성부(510), 논리 모드 제어부(520) 등 본 발명에 따른 다양한 기능들을 수행하는 모듈로서 마이크로프로세서(570) 상에서 실행되는 모듈들을 의미하며, 조립 정보는 위의 도 6에 관련한 설명에서 설명한 바와 같다. 모듈 ID는 각 모듈 내에 저장되어 있는 해당 모듈에 관한 정보를 의미하며, 앞서 설명한 UUID 등이 될 수 있다. 또한, 모듈 ID로서, 해당 모듈의 기능 등의 상세 정보를 추가적으로 저장하고 있을 수 있다.
한편, PnP 코드는 각 기능 모듈로부터 수신한 논리 모드 제어부(520)에서 생성한 논리 연산 코드 및 패턴 모드 제어부(530)에서 수신한 패턴 대응 코드를 포함한다. 또한, 패턴 프로파일은 어떤 패턴이 어떤 패턴 대응 코드에 연결되는지의 연결 관계를 나타내는 프로파일이다. 이는 사용자 단말(3)의 유저 인터페이스를 통하여 사용자가 지정할 수도 있다.
상술한 바와 같은 소프트웨어 및 하드웨어 구조를 가진 본 발명에 따른 프로그램 가능한 모듈 어셈블리는 2가지 모드에서 동작할 수 있다. 하나는 PnP(Plug & Play) 모드로서, 상기 하드웨어 인터페이스 모듈(10)을 통하여 필요한 PnP 코드를 생성하는 모드이다. 상세하게, PnP 모드는 하위 모드로서, 논리 모드와 패턴 인식 모드가 있을 수 있다.
다른 하나의 모드는 펌웨어 업로드 모드로서, 상술한 하드웨어 인터페이스 모듈(10)의 패턴을 하나의 사용자의 입력 인터페이스로서 활용하는 모드이며, 출력 모듈 모드는 상술한 PnP 코드를 사용자 단말(3) 또는 서버(2)에 전송하는 모드이다. 이 때,
이하에서는 각 모드의 동작에 대하여 상세하게 설명한다.
먼저, 도 7 내지 도 10을 참조하여, PnP 모드 중 논리 모드를 설명한다.
논리 모드는, 모듈들에서 입력되는 데이터들의 논리 연산을 할 수 있는 하드웨어적으로 로직 게이트로서의 역할을 수행하는 모드이다.
도 7을 참조하면, 하드웨어 인터페이스 모듈(10)은 복수의 프로그래머블 버튼(185), 방향 표시 LED(750) 및 연산 표시(721, 741, 761 및 771)를 포함할 수 있다.
복수의 프로그래머블 버튼(185)는 제1 내지 제4 논리 버튼(720, 740, 760, 770), 방향 버튼(730), 설정 버튼(780) 및 취소버튼(790)을 포함한다. 이 때, 제1 내지 제4 논리 버튼(720, 740, 760, 770)은 대응하는 논리 연산을 수행하며, 제1 내지 제4 논리 버튼(720, 740, 760, 770)에 각각 대응하는 논리 연산은 각 연산 표시(721, 741, 761 및 771)에 표시되어 사용자로 하여금 인식할 수 있게 한다. 한편, 방향 버튼(730)은 논리 연산을 수행할 기기를 결정하는 버튼으로, 방향 버튼이 눌려진 방향의 모듈들이 논리 연산의 대상이 된다. 또한, 설정 버튼(780)은 논리 모드의 시작 및 논리 연산 입력의 종료를 표시하기 위하여 누르는 버튼이다.
본 실시예에서 표시한 바와 같이, 제1 논리버튼(720)는 두 입력이 동일한 경우, 제2 논리 버튼(740)는 두 입력이 다른 경우, 제3 및 제4 논리 버튼(760)는 두 입력의 크기를 비교하는 경우를 의미한다. 단, 본 발명은 이에 한정되는 것은 아니며, 하드웨어 인터페이스 모듈(10)은 두 입력의 “AND”, “OR” “XOR” 등 필요에 따라 다양한 논리 연산을 포함할 수 있다.
방향 표시 LED(750)는 논리 모드에서 논리 연산의 대상으로 설정된 모듈을 표시하며, 구체적으로, 논리 연산의 대상으로 설정된 모듈들이 어떤 방향으로 연결되어 있는지를 표시한다. 예를 들어, 논리 모드에서 방향 버튼(730)이 눌려진 경우에, 그 방향 버튼에 대응하는 방향 표시 LED(750)가 점등되게 된다.
이와 같은 논리 모드는 예를 들어, 도 8에 도시한 바와 같이, 설정 버튼(780)을 1~2 초간 길게 누른 것(Long Press)을 버튼 입력 제어부(540)에서 인지할 때에 개시된다. 이 때, 버튼 입력 제어부(540)는 설정 버튼(780)의 롱 프레스가 입력된 후에 논리 모드가 시작되었음을 3색 LED(15)를 점등하여 표시할 수 있다.
도 9은 예시적인 논리 연산의 설정을 설명하기 위한 도면이다. 도 9를 참조하면, 먼저, 논리 모드의 시작을 설정한 후(도 9(a)), 방향 버튼(730)을 이용하여 논리 연산의 대상 모듈이 연결된 방향을 지정한다.(도 9(b)) 이 때, 방향 버튼(730) 하부의 3색 LED가 점멸하며, 동시에 방향 표시 LED(750)이 점등되면서, 논리 연산의 대상 모듈이 연결된 방향을 표시한다.(도 9(c))
그리고, 사용자는 필요한 논리 연산을 입력한다.(도9(d)) 도 9(d)는 “NOT” 연산을 설정한 예를 나타낸다. 다시, 사용자는 논리 연산의 대상이 되는 다른 모듈의 연결 방향을 방향 버튼(730)을 이용하여 지정한다.(도 9(f)) 이 때도 역시, 방향 버튼(730) 하부의 3색 LED가 점멸하면서, 동시에 방향 표시 LED(750)이 점등되어 논리 연산의 대상 모듈이 연결된 방향을 표시한다.(도 9(g)) 마지막으로 논리 연산의 결과를 반영할 모듈의 방향을 지정하고(도 9(h)) 다시 설정 버튼을 누르게 되면, 논리 연산의 입력은 마무리 되게 된다.
도 10은 예시적으로 입력된 논리 연산을 나타낸 도면이다. 도 9의 절차를 거쳐서 입력된 논리 연산의 예시이다. 예를 들어, 하드웨어 인터페이스 모듈(10)의 제1 면에 연결된 기능 모듈이 근접 센서 모듈(1010), 제2 면에 연결된 기능 모듈이 버튼 모듈(1020) 이며, 제3면에 연결된 모듈은 조명 모듈(1030)이다.
도 10에서 나타낸 하드웨어 인터페이스 모듈(10)에서 코딩된 프로그램은, 근접 센서 모듈(1010)에서 출력한 신호와 버튼 모듈(1020)에서 출력한 신호의 논리 값이 다를 경우에, 조명 모듈(1030)을 현재와 다른 상태로 변경하는(예를 들어, 현재, 소등된 상태일 때 점등된 상태로 변경) 동작을 나타낸다.
근접 센서 모듈(1010)은 예를 들어, 적외선 조사부를 통해 조사된 광이 반사되어 수광부를 통하여 다시 입사되는 시간을 측정하는 방식으로 근접 여부를 판별하여 “1” 또는 “0”의 신호를 하드웨어 인터페이스 모듈(10)로 입력한다. 버튼 모듈(1020)도 눌려졌는지 여부에 따라 “1” 또는 “0”의 신호를 하드웨어 인터페이스 모듈(10)로 입력한다. 이 때, 하드웨어 인터페이스 모듈(10)은 입력된 두 신호를 입력하여 제어 신호를 조명 모듈(1030) 방향으로 전송하고, 조명 모듈(1030)은 제어 신호에 따라 점등 또는 소등되게 된다.
도 7 내지 도 10에 나타낸 방법과 같이, 본 발명에 따르면, 하드웨어 인터페이스를 통하여 별도의 코딩 없이 논리 연산을 프로그래밍할 수 있다.
이하에서는 도 11 내지 도 13을 참조하여 패턴 인식 모드에 대하여 상세하게 설명한다. 도 11은 기능 모듈(20 내지 40)과 하드웨어 인터페이스 모듈(10)이 접속한 경우를 설명하기 위한 도면이다.
기능 모듈(20 내지 40)과 하드웨어 인터페이스 모듈(10)이 접속하게 되면, 조립 정보 생성부(510)에서 조립 정보를 생성하게 된다. 이 경우, 기능 모듈(1010)이 접속하게 되면, 하드웨어 인터페이스 모듈(10)은 기능 모듈(1010)로부터 모듈 ID 및 해당 모듈의 기능에 대한 정보를 수신한다.
추가적으로, 필요한 경우에는 기능 모듈(1010)의 구동에 필요한 코드, 예컨대, 드라이버 등을 수신한다. 이 경우, 해당 모듈의 드라이버는 연결된 기능 모듈(1010)에 저장된 드라이버를 다운로드 받을 수도 있고, 또는 시리얼 포트(190) 또는 무선 통신을 통해 사용자 단말(3) 또는 서버(2)로부터 다운로드 받을 수도 있다.
이 때, 하드웨어 인터페이스 모듈(10)은 기능 모듈(1010)의 접속 및 구동을 준비하는 동안, 방향 표시 LED(750)를 통하여 준비중임을 표시할 수 있다. 구체적으로, 방향 표시 LED(750)는 하드웨어 인터페이스 모듈(10)이 기능 모듈(1010)의 접속 및 구동을 준비하는 동안에 시간의 경과 또는 단계의 경과에 따라 방향 표시 LED(750)의 색상을 변화시켜서, 예를 들면, 점차 낮은 밝기를 가지는 색상으로 변화시킨다(점차 소등).
구동 준비 완료 후, 사용자가 방향 버튼(730)를 눌러 패턴 인식 모드를 시작하게 되면(도 12(a)), 하드웨어 인터페이스 모듈(10)은 사용가능한 기능 예시를 복수의 프로그래머블 버튼(185) 하의 3색 LED(15)를 점멸시켜 표시하게 된다. (도 12(b)) 이 때, 3색 LED(15)가 점멸하는 동안에 다시, 눌렀던 방향 버튼(730)을 누르게 되면, 패턴 인식 모드가 취소되게 된다. (도 12(c)) 한편, 3색 LED(15)가 점멸하는 동안에 설정 버튼(780)을 누르면 해당 기능을 실행하게 된다((도 12(d), 도 12(f)).
이 경우, 제시되는 패턴의 예시는 도 13에 나타낸 바와 같다. 도 13(a)는 계산 방향, 모듈 어셈블리의 실행 방향을 설정하는 화살표 패턴을 나타낸다. 도 13(b)는 모듈 어셈블리의 실행 일시 중단 또는 실행 중단을 설정하는 패턴이다. 도 13(a) 및 도 13(b)의 활용 예는 도 14를 참조하여 상세하게 후술한다.
도 13(c)에 입력된 예는 0~9 번호에 미리 저장된 기능을 실행하도록 설정된 패턴이다. 패턴에 대응되는 PnP 코드들은 패턴 프로파일에 저장된 후, 해당 숫자 패턴이 점멸할 때에 설정 버튼(780)을 눌러 해당 코드를 로딩하거나 실행할 수 있다. 여기서 해당 코드의 로딩은 예를 들어, 메모리에 저장된 코드를 로딩하는 경우거나, 또는 패턴에 대응하는 코드를 서버(2) 또는 사용자 단말(3)에 저장된 코드로부터 저작툴에 로딩하는 경우를 포함할 수 있다.
이하에서는 도 14를 통하여 패턴 인식 모드에 의한 실행 동작에 대하여 설명한다. 도 14는 도 11 내지 도 13의 실시예에 기초하여 패턴 인식 모드에서 설정한 화살표 패턴 및 실행 일시 중단 패턴을 이용한 모듈 어셈블리의 동작 예시를 나타낸다.
모듈 어셈블리(1400)는 모듈 1410 내지 모듈 1460을 포함한다. 모듈 어셈블리(1400)은 모듈 어셈블리의 실행 순서 상의 모듈 기능 또는 실행 방향을 결정하는 모듈 기능을 나타내는 실행 카테고리 중, 'START' 모듈(1410), 'SEQUENCE DOWN' 모듈(1420) 및 'POSE' 모듈(1440)의 기능을 수행하게 된다.
모듈(1410)은 모듈 어셈블리(1400)의 실행 순서 상에서 시작 기능을 수행하고, 모듈(1420)은 모듈 어셈블리(1400)의 실행 방향을 아래 방향으로 변경한다. 모듈(1440)은 모듈 어셈블리(1400)의 실행을 일시 정지시킨다. 따라서, 모듈 어셈블리(1400)는 모듈 1410, 모듈 1420, 모듈 1430, 모듈 1440의 순으로 실행된 후, 일시 정지된다.
본 발명의 실시예에 따르면 모듈 어셈블리(1400)에서 컨트롤 모듈이 하나 존재하면, 예를 들어, 하드웨어 인터페이스 모듈(1410)이 컨트롤 모듈의 역할을 수행하는 경우, 해당 하드웨어 인터페이스 모듈(1410)이 도 6에서 전술한 바와 같은 조립 정보를 수집하며, 수집된 조립 정보는 조립 정보 제공 서버(2) 또는 사용자 단말(3)에 제공될 수 있다.
이 경우, 조립 정보 제공 서버(2)는 조립 정보에 기초하여, 소스 코드를 생성할 수 있다. 조립 정보 제공 서버(2)는 사전에 미리 구성해 두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고 현재 사용자의 모듈 어셈블리(1400)의 조립 정보 및 데이터베이스에 기초하여 소스 코드를 제공한다. 이 때 조립 정보 제공 서버(2)가 복수의 소스 코드를 제공하는 경우에 사용자 단말(3)은 선호하는 소스 코드를 선택할 수 있는 인터페이스를 제공할 수 있다.
조립 정보 제공 서버(2)는 상기 소스 코드의 실행 순서 및 문법을 체크하여, 모듈 어셈블리(1400) 조립에 오류가 있는지 여부를 판단하고, 사용자 단말(3) 또는 모듈 어셈블리(1400)에 조립 오류 정보를 제공한다. 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈 고유 정보(모듈 ID)를 포함한다.
모듈 어셈블리(1400)는 조립 정보 제공 서버(2)로부터 제공받은 조립 오류 정보에 기초하여, 적어도 하나의 오류가 있는 모듈에 조립 오류가 있음을 출력한다. 모듈 어셈블리(600)는 적어도 하나의 오류가 있는 모듈의 LED를 소정의 색깔로 점멸시킴으로써, 조립 오류가 있음을 출력할 수 있으나, 다른 방식으로 조립 오류가 있음을 출력할 수 있음은 당업자에게 자명하다. 조립 오류의 출력은 사용자 단말(3)로부터 체크 버튼과 같은 외부 입력을 받거나, 사용자가 오류가 있는 모듈을 연결할 때 가능하나, 다양한 방식으로 조립 오류의 출력 시점을 결정할 수 있음은 당업자에게 자명하다.
예를 들어, 모듈 어셈블리(1400)가 모듈 630에 'START' 모듈을 포함하는 경우, 조립 정보 제공 서버(2)는 실행 순서 상에 'START' 모듈이 중복되었다는 오류를 판단하고, 모듈 1430의 모듈 고유 정보를 포함하는 조립 오류 정보를 사용자 단말(3) 또는 모듈 어셈블리(1400)에 제공한다. 모듈 어셈블리(1400)는 조립 오류 정보에 기초하여 모듈 1430의 LED를 빨간색으로 점멸시킴으로써, 조립 오류가 있음을 출력할 수 있다.
조립 정보 제공 서버(2)는 조립 정보에 기초하여 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천할 수 있다. 조립 정보 제공 서버(2)는 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고, 현재 조립된 모듈 어셈블리(1400)의 조립 정보 및 데이터베이스에 기초하여 소스 코드를 제공한다. 이 때 조립 정보 제공 서버(2)가 복수의 소스 코드를 제공하는 경우에 사용자 단말(3)은 선호하는 소스 코드를 선택할 수 있는 인터페이스를 제공할 수 있다.
조립 정보 제공 서버(2)는 상기 소스 코드에 기초하여, 모듈 어셈블리(1400)에서 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천한다. 조립 정보 제공 서버(2)는 현재 조립된 모듈 어셈블리(1400)의 상기 소스 코드의 실행 순서 및 문법을 체크하여, 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 조립 도움 정보에 포함하여 사용자 단말(3) 또는 모듈 어셈블리(1400)에게 제공한다.
예를 들어 조립 정보 제공 서버(2)는 모듈 어셈블리(1400)의 실행 순서 상 추가할 위치의 모듈인 모듈 1440의 정보와 오른쪽 방향의 위치를 조립 도움 정보에 포함하여 사용자 단말(3) 또는 모듈 어셈블리(1400)에게 제공한다. 모듈 어셈블리(600)는 조립 도움 정보에 기초하여, 모듈 1440의 LED를 오른쪽 방향으로 점멸시킨다. LED를 오른쪽 방향으로 점멸시키는 방식은 모듈의 LED를 상, 하, 좌, 우의 구역으로 나누고 '우' 구역을 점멸시킬 수 있으나, 다양한 방식으로 오른쪽 방향 점멸을 구현할 수 있음은 당업자에게 자명하다. 모듈 어셈블리(600)가 조립 도움 정보에 기초하여, 제거, 치환 및 추가할 위치의 모듈을 출력하는 시점은 사용자 단말(3)로부터 체크 버튼과 같은 외부 입력을 받거나, 사용자가 제거, 치환 및 추가할 위치의 모듈을 연결할 때 가능하나, 다양한 방식으로 제거, 치환 및 추가할 위치의 모듈을 출력하는 시점을 결정할 수 있음은 당업자에게 자명하다.
또한, 조립 정보 제공 서버(2)는 조립 정보에 기초하여, 디버깅용 소스 코드를 생성한다. 조립 정보 제공 서버(2)는 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 디버깅용 소스 코드를 데이터베이스로 저장하고 현재 사용자의 모듈 어셈블리(600)의 조립 정보 및 데이터베이스에 기초하여 디버깅용 소스 코드를 제공한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 디버깅용 소스 코드를 컴파일한 실행 파일(이하, 펌웨어)을 모듈 어셈블리(1400)에게 제공한다. 디버깅용 펌웨어는 모듈 어셈블리(1400)에 다운로드된다. 디버깅용 펌웨어는 모듈 어셈블리(1400)의 실행 순서에 따라, 실행되는 모듈의 LED를 소정의 속도로 점멸시킨다. 예를 들어, 모듈 어셈블리(1400)는 실행 순서에 따라, 모듈 610, 모듈 1420, 모듈 1430, 모듈 1440의 순서로 각각의 모듈의 LED를 빨간색으로 소정의 속도로 점멸시킨다. 모듈 어셈블리(1400)가 입력 모듈에서 입력 순서를 기다리는 경우, LED 색깔을 빨간색과 다른 색깔(예. 파란색)로 다르게 점멸시킬 수 있다.
상술한 바와 같이, 패턴 인식 모드 또는 논리 모드를 포함하는 PnP 모드를 통하여 생성된 또는 저장된 코드는 서버(2) 또는 사용자 단말(3)으로 직접 로드될 수 있으며, 모듈 어셈블리(1400)의 동작을 위한 실행 프로그램 코딩시에 사용될 수 있다. (업로드 모드)
하드웨어 인터페이스 모듈(10)을 포함하는 모듈 어셈블리(1400)가 사용자 단말(10)(또는 서버)과 연결되고. 하드웨어 인터페이스 모듈(10)에서 생성된 PnP 코드는 연결된 사용자 단말에서 실행되는 모듈 어셈블리 실행 코드 저작시스템(1500)에 업로드가 된다.
예를 들어, 도 15와 같이, 패턴에서 생성된 시퀀스 또는 논리 모드에서 생성된 PnP 코드는 업로드 후 아이콘(1510)으로 표시되게 되는데, 이 아이콘(1510)을 드래그하면, 실행 함수(1520)로 형성되어 모듈 어셈블리 실행 코드 저작시스템(1500)에 표시된다. 즉, 도 15의 실시예는 업로드 모드 중 PnP 코드 출력 모드로서 하드웨어 인터페이스 모듈(10)의 아이콘(1510)이 하드웨어 인터페이스 모듈(10)을 통해 생성한 PnP 코드의 실행 함수를 나타내게 된다.
한편, 업로드 모드 중, PnP 코드 출력 모드가 아닌 패턴 입력 업로드 모드 인 경우에는 패턴 자체가 입력 수단으로서 사용될 수 있다. 예컨대, 도 16을 참조하면, PnP 코드를 포함하지 않는 경우에, 하드웨어 인터페이스 모듈(10)의 아이콘(1610)을 이용하여 코딩이 가능하다(1610).
도 16의 실시예에서는, 하드웨어 인터페이스 모듈(10) 상의 프로그래머블 버튼(185)이 특정 패턴을 나타내는 경우에, 특정 그림 파일을 출력하고, 500ms동안 대기하라는 코드를 생성하였다. 즉, 사용자는 하드웨어 인터페이스 모듈(10)의 아이콘(1610)을 활용하여 코딩을 수행하였다.
따라서, 본 발명에 따르면, 모듈 어셈블리의 조립 정보 및 모듈 어셈블리에서 제공하는 입력 버튼에 기초하여 하드웨어 상에서 직관적으로 직접 코딩하거나, 소프트웨어 상의 코딩을 용이하게 하도록 도울 수 있으며, 하드웨어 상에서 쉽게 정보를 입력할 수 있도록 하는 모듈 어셈블리를 제공할 수 있다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 펌웨어(firmware), 소프트웨어(software) 또는 하드웨어(hardware)로 구성된다. 알고리즘 또는 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 디지털 신호 처리 디바이스(Digital Signal Processing Device)의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상으로 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 예시적인 실시예에 따른 장치는 도시된 바와 같은 장치 각각의 유닛들에 커플링된 버스, 상기 버스에 커플링된 적어도 하나의 프로세서를 포함할 수 있고, 명령, 수신된 메시지 또는 생성된 메시지를 저장하기 위해 상기 버스에 커플링되고, 전술한 바와 같은 명령들을 수행하기 위한 적어도 하나의 프로세서에 커플링된 메모리를 포함할 수 있다.
또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 상기 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등) 및 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.

Claims (14)

  1. 제1 기능 모듈; 제2 기능 모듈 및
    상기 제1 기능 모듈 및 상기 제2 기능 모듈과 연결될 때에 연결되는 조립 구조 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈의 모듈 ID를 포함하는 조립 정보를 생성하는 조립 정보 생성부, 복수의 프로그래머블 버튼을 포함하며 각 복수의 프로그래머블 버튼의 눌림 여부를 입력 패턴으로서 저장하는 버튼 입력 제어부를 포함하는 하드웨어 인터페이스 모듈;을 포함하되,
    상기 하드웨어 인터페이스 모듈은 상기 입력 패턴 및 상기 조립 정보에 기초하여 상기 제1 기능 모듈 및 상기 제2 기능 모듈에서 생성하는 신호에 대한 논리 연산을 수행하는 코드를 생성하거나, 또는 복수의 미리 저장된 패턴 중 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩하는,
    모듈 어셈블리.
  2. 제1항에 있어서,
    상기 복수의 프로그래머블 버튼은 각각 강성 반투명 고무, 3색 LED 및 푸시 스위치를 포함하며, 사용자가 상기 각성 반투명 고무를 누르면, 푸시 스위치가 눌려지면서 3색 LED의 점등 상태를 변화시키고 상기 입력 패턴을 변화시키는,
    모듈 어셈블리.
  3. 제1항에 있어서,
    상기 복수의 프로그래머블 버튼은 상기 논리 연산을 수행하는 코드를 생성하는 논리 모드에서 논리 버튼, 방향 버튼 및 설정 버튼을 포함하며, 상기 방향 버튼은 상기 제1 기능 모듈 및 제2 기능 모듈 중 어느 하나를 지정하고, 상기 논리 버튼은 지정된 모듈에 대하여 논리 버튼에 대응하는 논리 연산을 수행하는 코드를 생성하도록 구성되는,
    모듈 어셈블리.
  4. 제3항에 있어서,
    상기 설정 버튼에 의하여 상기 논리 모드가 시작되며, 상기 방향 버튼 및 상기 논리 버튼에 의하여 모듈 지정 및 논리 연산 지정이 완료된 후에 상기 설정 버튼이 눌려지면 상기 논리 연산을 수행하는 코드가 생성되는,
    모듈 어셈블리.
  5. 제3항에 있어서,
    상기 복수의 프로그래머블 버튼은 취소 버튼을 더 포함하며, 상기 모듈 지정 및 논리 연산 지정이 완료된 후에 상기 취소 버튼이 눌려지면 상기 모듈 지정 및 논리 연산 지정이 취소되는,
    모듈 어셈블리.
  6. 제1항에 있어서,
    상기 복수의 프로그래머블 버튼은 설정 버튼을 포함하며, 상기 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩하는 패턴 인식 모드에서, 상기 모듈 어셈블리의 메모리에 저장된 패턴 프로파일에 해당하는 패턴을 표시될 때에 상기 설정 버튼을 누르면, 상기 복수의 미리 저장된 패턴 중 어느 하나의 미리 저장된 패턴이 선택되는,
    모듈 어셈블리.
  7. 모듈 어셈블리 및
    상기 모듈 어셈블리와 연결되며, 사용자 단말에서 실행되며 상기 모듈 어셈블리에서 동작할 프로그램을 코딩할 수 있는 실행 코드 저작툴을 포함하며,
    상기 모듈 어셈블리는 :
    제1 기능 모듈; 제2 기능 모듈 및
    상기 제1 기능 모듈 및 상기 제2 기능 모듈과 연결될 때에 연결되는 조립 구조 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈의 모듈 ID를 포함하는 조립 정보를 생성하는 조립 정보 생성부, 복수의 프로그래머블 버튼을 포함하며 각 복수의 프로그래머블 버튼의 눌림 여부를 입력 패턴으로서 저장하는 버튼 입력 제어부를 포함하는 하드웨어 인터페이스 모듈;을 포함하며,
    상기 하드웨어 인터페이스 모듈은 상기 입력 패턴 및 상기 조립 구조에 기초하여 상기 제1 기능 모듈에서 생성하는 신호에 대한 논리 연산을 수행하는 코드를 생성하거나, 또는 복수의 미리 저장된 패턴 중 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩하는,
    모듈 어셈블리 실행 코드 저작시스템.
  8. 제7항에 있어서,
    상기 복수의 프로그래머블 버튼은 각각 강성 반투명 고무, 3색 LED 및 푸시 스위치를 포함하며, 사용자가 상기 각성 반투명 고무를 누르면, 푸시 스위치가 눌려지면서 3색 LED의 점등 상태를 변화시키고 상기 입력 패턴을 변화시키는,
    모듈 어셈블리 실행 코드 저작시스템.
  9. 제7항에 있어서,
    상기 복수의 프로그래머블 버튼은 상기 논리 연산을 수행하는 코드를 생성하는 논리 모드에서 논리 버튼, 방향 버튼 및 설정 버튼을 포함하며, 상기 방향 버튼은 상기 제1 기능 모듈 및 제2 기능 모듈 중 어느 하나를 지정하고, 상기 논리 버튼은 지정된 모듈에 대하여 논리 버튼에 대응하는 논리 연산을 수행하는 코드를 생성하도록 구성되는,
    모듈 어셈블리 실행 코드 저작시스템.
  10. 제9항에 있어서,
    상기 설정 버튼에 의하여 상기 논리 모드가 시작되며, 상기 방향 버튼 및 상기 논리 버튼에 의하여 모듈 지정 및 논리 연산 지정이 완료된 후에 상기 설정 버튼이 눌려지면 상기 논리 연산을 수행하는 코드가 생성되는,
    모듈 어셈블리 실행 코드 저작시스템.
  11. 제9항에 있어서,
    상기 복수의 프로그래머블 버튼은 취소 버튼을 더 포함하며, 상기 모듈 지정 및 논리 연산 지정이 완료된 후에 상기 취소 버튼이 눌려지면 상기 모듈 지정 및 논리 연산 지정이 취소되는,
    모듈 어셈블리 실행 코드 저작시스템.
  12. 제9항에 있어서,
    상기 복수의 프로그래머블 버튼은 설정 버튼을 포함하며, 상기 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩하는 패턴 인식 모드에서, 상기 모듈 어셈블리의 메모리에 저장된 패턴 프로파일에 해당하는 패턴을 표시될 때에 상기 설정 버튼을 누르면, 상기 복수의 미리 저장된 패턴 중 어느 하나의 미리 저장된 패턴이 선택되는,
    모듈 어셈블리 실행 코드 저작시스템.
  13. 제7항에 있어서,
    상기 실행 코드 저작툴은 상기 논리 연산을 수행하는 코드 또는 상기 사용자가 선택한 미리 저장된 패턴에 대응하는 코드에 대응하는 아이콘을 포함하는,
    모듈 어셈블리 실행 코드 저작시스템.
  14. 제7항에 있어서,
    상기 실행 코드 저작툴은 상기 하드웨어 인터페이스 모듈에 대응하는 아이콘을 포함하며, 상기 아이콘을 이용하여 상기 입력 패턴을 이용하는 코드를 제공하도록 구성되는,
    모듈 어셈블리 실행 코드 저작시스템.
KR1020190003099A 2019-01-10 2019-01-10 프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템 KR102211422B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190003099A KR102211422B1 (ko) 2019-01-10 2019-01-10 프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190003099A KR102211422B1 (ko) 2019-01-10 2019-01-10 프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템

Publications (2)

Publication Number Publication Date
KR20200086834A true KR20200086834A (ko) 2020-07-20
KR102211422B1 KR102211422B1 (ko) 2021-02-03

Family

ID=71831804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190003099A KR102211422B1 (ko) 2019-01-10 2019-01-10 프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템

Country Status (1)

Country Link
KR (1) KR102211422B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113031939A (zh) * 2021-04-28 2021-06-25 深圳市腾讯网域计算机网络有限公司 图形化编程工具中的积木块调整方法及相关装置
KR20220085650A (ko) * 2020-12-15 2022-06-22 주식회사크리모 코딩 알고리즘 훈련 교구
KR20220095997A (ko) * 2020-12-30 2022-07-07 주식회사 럭스로보 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법
KR20230010976A (ko) * 2021-07-13 2023-01-20 주식회사크리모 코딩 알고리즘 훈련 교구
KR20230010987A (ko) * 2021-07-13 2023-01-20 주식회사크리모 음성 인식이 가능한 코딩 알고리즘 훈련 교구
KR20230094370A (ko) * 2021-12-21 2023-06-28 주식회사크리모 영유아 피지컬 컴퓨팅 교육용 음성인식과 터치 혼합 입력장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012186061A (ja) * 2011-03-07 2012-09-27 Fujitsu Component Ltd 照光式キーボード装置
KR101368749B1 (ko) * 2012-10-25 2014-02-28 전석주 프로그래밍 학습용 디지털 예술 토이 키트
KR101483017B1 (ko) * 2014-06-26 2015-01-16 주식회사 헬로긱스 프로그래밍 가능한 결합형 블록장치
KR101696151B1 (ko) * 2016-06-09 2017-01-12 신재광 IoT 기반의 모듈러 로보틱스 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012186061A (ja) * 2011-03-07 2012-09-27 Fujitsu Component Ltd 照光式キーボード装置
KR101368749B1 (ko) * 2012-10-25 2014-02-28 전석주 프로그래밍 학습용 디지털 예술 토이 키트
KR101483017B1 (ko) * 2014-06-26 2015-01-16 주식회사 헬로긱스 프로그래밍 가능한 결합형 블록장치
KR101696151B1 (ko) * 2016-06-09 2017-01-12 신재광 IoT 기반의 모듈러 로보틱스 시스템

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220085650A (ko) * 2020-12-15 2022-06-22 주식회사크리모 코딩 알고리즘 훈련 교구
KR20220095997A (ko) * 2020-12-30 2022-07-07 주식회사 럭스로보 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법
CN113031939A (zh) * 2021-04-28 2021-06-25 深圳市腾讯网域计算机网络有限公司 图形化编程工具中的积木块调整方法及相关装置
CN113031939B (zh) * 2021-04-28 2023-10-24 深圳市腾讯网域计算机网络有限公司 图形化编程工具中的积木块调整方法及相关装置
KR20230010976A (ko) * 2021-07-13 2023-01-20 주식회사크리모 코딩 알고리즘 훈련 교구
KR20230010987A (ko) * 2021-07-13 2023-01-20 주식회사크리모 음성 인식이 가능한 코딩 알고리즘 훈련 교구
KR20230094370A (ko) * 2021-12-21 2023-06-28 주식회사크리모 영유아 피지컬 컴퓨팅 교육용 음성인식과 터치 혼합 입력장치

Also Published As

Publication number Publication date
KR102211422B1 (ko) 2021-02-03

Similar Documents

Publication Publication Date Title
KR102211422B1 (ko) 프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템
US10256568B2 (en) Modular electronic building systems with magnetic interconnections and methods of using the same
US10244630B2 (en) Modular electronic building systems with magnetic interconnections and methods of using the same
KR102494005B1 (ko) 기능 구축 요소를 갖는 완구 구축 시스템
KR20150086231A (ko) 자기적 상호연결을 구비한 모듈러 전자 빌딩 시스템 및 이를 이용한 방법
EP3917636B1 (en) A toy construction system with interactive function construction elements
US20220377890A1 (en) Modular electronic building systems with magnetic interconnections and methods of using the same
CN113453771A (zh) 智能魔方及其操作方法
JP2021511924A (ja) ロボット制御装置を備えた玩具構築システム
KR102217922B1 (ko) 조립 정보 제공 시스템 및 모듈 어셈블리
EP3478380A1 (en) 3d multi-threaded, parameter layered, physical programming interface
EP3815855B1 (en) Modular robot system
US11455147B2 (en) System for coding without compilation and a module assembly
EP3905056A1 (en) Reader participation type e-book system and operation method using modules
CN114055482A (zh) 一种多模块教育机器人套件
CN201741304U (zh) 一种电子积木
KR102137667B1 (ko) 소스 코드 및 모듈 추천 시스템 및 모듈 어셈블리
CN112827195A (zh) 一种带有主控器遥控器的智能幼儿编程积木套装
KR102289872B1 (ko) 플러그 앤 플레이 모듈 어셈블리 및 플러그 앤 플레이 시스템
KR102543159B1 (ko) 전원 공급 및 위치 인식이 가능한 스마트블록 및 이의 제어시스템
KR100824585B1 (ko) 보드 상에 조립되는 블록을 가지는 교구
KR20200080375A (ko) 스마트 토이
RU2772388C2 (ru) Игрушечный конструктор с блоком управления робототехникой
RU2763108C1 (ru) Способ обучения программированию и конструктор для его реализации
WO2020240424A1 (en) Interactive electronic toy system

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