KR102211422B1 - A Programable Module Assembly And Executable Code Producing System Therefore - Google Patents

A Programable Module Assembly And Executable Code Producing System Therefore Download PDF

Info

Publication number
KR102211422B1
KR102211422B1 KR1020190003099A KR20190003099A KR102211422B1 KR 102211422 B1 KR102211422 B1 KR 102211422B1 KR 1020190003099 A KR1020190003099 A KR 1020190003099A KR 20190003099 A KR20190003099 A KR 20190003099A KR 102211422 B1 KR102211422 B1 KR 102211422B1
Authority
KR
South Korea
Prior art keywords
module
assembly
button
code
logic
Prior art date
Application number
KR1020190003099A
Other languages
Korean (ko)
Other versions
KR20200086834A (en
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/en
Publication of KR20200086834A publication Critical patent/KR20200086834A/en
Application granted granted Critical
Publication of KR102211422B1 publication Critical patent/KR102211422B1/en

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
    • H01BASIC ELECTRIC 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

Abstract

본 발명에 따른 모듈 어셈블리는, 제1 기능 모듈; 제2 기능 모듈 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈과 연결될 때에 연결되는 조립 구조 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈의 모듈 ID를 포함하는 조립 정보를 생성하는 조립 정보 생성부, 복수의 프로그래머블 버튼을 포함하며 각 복수의 프로그래머블 버튼의 눌림 여부를 입력 패턴으로서 저장하는 버튼 입력 제어부를 포함하는 하드웨어 인터페이스 모듈;을 포함하되, 상기 하드웨어 인터페이스 모듈은 상기 입력 패턴 및 상기 조립 구조에 기초하여 상기 제1 기능 모듈에서 생성하는 신호에 대한 논리 연산을 수행하는 코드를 생성하거나, 또는 복수의 미리 저장된 패턴 중 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩할 수 있다. 따라서, 본 발명에 따르면, 모듈 어셈블리의 조립 정보 및 모듈 어셈블리에서 제공하는 입력 버튼에 기초하여 하드웨어 상에서 직관적으로 직접 코딩하거나, 소프트웨어 상의 코딩을 용이하게 하도록 도울 수 있으며, 하드웨어 상에서 쉽게 정보를 입력할 수 있도록 하는 모듈 어셈블리가 제공된다.The module assembly according to the present invention comprises: a first functional module; An assembly information generation unit that generates assembly information including a second function module, an assembly structure connected when the first function module and the second function module are connected, and a module ID of the first function module and the second function module , A hardware interface module including a plurality of programmable buttons and including a button input control unit for storing whether or not each of the plurality of programmable buttons is pressed as an input pattern; including, wherein the hardware interface module is based on the input pattern and the assembly structure Accordingly, a code for performing a logical operation on a signal generated by the first function module may be generated, or a code corresponding to a pre-stored pattern selected by a user among a plurality of pre-stored patterns may be loaded. Therefore, according to the present invention, based on the assembly information of the module assembly and the input button provided by the module assembly, it is possible to directly code directly on the hardware or to help facilitate coding on the software, and it is possible to easily input information on the hardware. A module assembly is provided to enable it.

Description

프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템{A Programable Module Assembly And Executable Code Producing System Therefore}A Programable Module Assembly And Executable Code Producing System Therefore}

본 발명은 모듈 어셈블리 및 모듈 어셈블리 실행 코드 저작 시스템에 관한 것으로서, 보다 상세하게는 프로그래머블 버튼을 포함하는 하드웨어 인터페이스 모듈을 이용하여 하드웨어적으로 손쉽게 소스코드를 생성할 수 있는 모듈 어셈블리 및 이러한 모듈 어셈블리에 대한 실행 코드 저작툴에 관한 것이다.The present invention relates to a module assembly and a module assembly execution code authoring system, and more particularly, a module assembly capable of easily generating source code in hardware using a hardware interface module including a programmable button, and the module assembly. It is about an executable code authoring tool.

최근 교육, 취미, 연구, 생산 등을 목적으로 하는 다양한 모듈 기반 제작 도구들이 제안되고 있다. 이러한 제작 도구들에 포함된 모듈들은 각각 특정한 기능을 수행할 수 있으며, 서로 연결되어 모듈 어셈블리를 형성할 수 있도록 제공된다. 이때, 각각의 모듈은 서로 전기적으로도 연결되어 에너지, 신호, 데이터 등을 송수신할 수 있도록 제공될 수도 있다. 사용자는 제공된 매뉴얼 또는 스스로 창작한 방식에 따라 모듈들을 조립하여 특정한 목적을 수행하는 모듈 어셈블리를 제작할 수 있다.Recently, various module-based manufacturing tools for the purpose of education, hobby, research, production, etc. have been proposed. Modules included in these manufacturing tools may each perform a specific function, and are provided to be connected to each other to form a module assembly. In this case, each module may be provided to be electrically connected to each other to transmit and receive energy, signals, data, and the like. A user may assemble modules according to a provided manual or a self-created method to produce a module assembly that performs a specific purpose.

일 예로, 특허문헌 1(대한민국 등록특허 제1761596호)은 네트워크 모듈, 구동 모듈, 센서 모듈 등 다양한 종류의 모듈을 조립하여 제작한 모듈 어셈블리를 개시하고 있다. 이 때, 모듈 어셈블리는 학생이나 사용자가 모듈(10, 20, 30, 40)들을 조립하면서 전자 장치의 작동 원리를 이해할 수 있는 교육용 키트 또는, 연구원이 특정 목적을 수행하기 위한 장치를 제작하기 위해 사용되는 연구용 키트 및 사용자가 취미용으로 조립 가능한 장난감 키트 등의 다양한 용도로 활용될 수 있다.For example, Patent Document 1 (Korean Patent No. 1771596) discloses a module assembly manufactured by assembling various types of modules such as a network module, a driving module, and a sensor module. At this time, the module assembly is an educational kit that allows students or users to understand the operating principle of electronic devices while assembling modules (10, 20, 30, 40), or to be used by researchers to manufacture devices for specific purposes. It can be used for various purposes, such as research kits and toy kits that users can assemble for hobbies.

이러한 모듈 어셈블리들은 위에 언급한 바와 같이 소프트웨어 또는 하드웨어의 전문가인 연구원부터 학생, 일반인 등 다양한 사람들이 이용하고 있다. 단, 전문가를 제외한 일반인이나 학생들은 각 모듈들이 제대로 동작할 수 있도록 조립하고, 조립된 모듈 어셈블리를 구동시키기에 적합한 소프트웨어를 작성하여 사용하는 것이 어려울 수 있어서, 상술한 모듈의 보급에 제약이 될 수 있다.As mentioned above, these module assemblies are used by various people, from researchers who are experts in software or hardware, to students, and to the general public. However, it may be difficult for the general public or students excluding experts to assemble each module so that they can operate properly and to write and use software suitable for driving the assembled module assembly, which may limit the spread of the above-described modules. have.

특히, 센서나 버튼 등의 다양한 하드웨어에서 생성된 신호들을 논리 연산하는 등의 코딩들은 다양한 API(Application Program Interface)를 활용해야 하므로, 일반인이나 학생들에게는 난이도가 높은 코딩 기법이 될 수 있다. 따라서, 전문가를 제외한 사람들에게 보다 직관적이고, 다양한 방법으로 쉽게 다양한 하드웨어를 활용할 수 있는 프로그램을 작성할 수 있는 모듈 어셈블리 및 모듈 어셈블리 실행 코드 저작툴이 절실히 요구되고 있다.In particular, coding such as logical operation of signals generated by various hardware such as sensors or buttons must utilize various application program interfaces (APIs), so it can be a coding technique with high difficulty for ordinary people or students. Accordingly, there is an urgent need for a module assembly and a module assembly execution code authoring tool that is more intuitive to people except experts and can easily use various hardware in various ways.

본 발명은 상술한 기술적 문제에 대응하기 위하여 안출된 것으로, 본 발명의 목적은 종래 기술에서의 한계와 단점에 의해 발생하는 다양한 문제점을 실질적으로 보완할 수 있는 것으로, 모듈 어셈블리의 조립 정보 및 모듈 어셈블리에서 제공하는 입력 버튼에 기초하여 하드웨어 상에서 직관적으로 직접 코딩하거나, 소프트웨어 상의 코딩을 용이하게 하도록 도울 수 있으며, 하드웨어 상에서 쉽게 정보를 입력할 수 있도록 하는 모듈 어셈블리를 제공하는 것을 목적으로 한다.The present invention was conceived to cope with the above-described technical problem, and an object of the present invention is to substantially supplement various problems caused by limitations and disadvantages in the prior art, and assembly information and module assembly of a module assembly An object of the present invention is to provide a module assembly that can intuitively directly code on hardware or facilitate coding on software based on an input button provided by, and can easily input information on hardware.

본 발명의 일 실시예에 따른 모듈 어셈블리는, 제1 기능 모듈; 제2 기능 모듈 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈과 연결될 때에 연결되는 조립 구조 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈의 모듈 ID를 포함하는 조립 정보를 생성하는 조립 정보 생성부, 복수의 프로그래머블 버튼을 포함하며 각 복수의 프로그래머블 버튼의 눌림 여부를 입력 패턴으로서 저장하는 버튼 입력 제어부를 포함하는 하드웨어 인터페이스 모듈;을 포함하되, 상기 하드웨어 인터페이스 모듈은 상기 입력 패턴 및 상기 조립 구조에 기초하여 상기 제1 기능 모듈에서 생성하는 신호에 대한 논리 연산을 수행하는 코드를 생성하거나, 또는 복수의 미리 저장된 패턴 중 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩할 수 있다.A module assembly according to an embodiment of the present invention includes: a first functional module; An assembly information generation unit that generates assembly information including a second function module, an assembly structure connected when the first function module and the second function module are connected, and a module ID of the first function module and the second function module , A hardware interface module including a plurality of programmable buttons and including a button input control unit for storing whether or not each of the plurality of programmable buttons is pressed as an input pattern; including, wherein the hardware interface module is based on the input pattern and the assembly structure Accordingly, a code for performing a logical operation on a signal generated by the first function module may be generated, or a code corresponding to a pre-stored pattern selected by a user among a plurality of pre-stored patterns may be loaded.

이 경우, 상기 복수의 프로그래머블 버튼은 각각 강성 반투명 고무, 3색 LED 및 푸시 스위치를 포함하며, 사용자가 상기 강성 반투명 고무를 누르면, 푸시 스위치가 눌려지면서 3색 LED의 점등 상태를 변화시키고 상기 입력 패턴을 변화시킬 수 있다.In this case, the plurality of programmable buttons each include a rigid translucent rubber, a 3-color LED, and a push switch, and when the user presses the rigid translucent rubber, a push switch is pressed to change the lighting state of the 3-color LED and the input pattern Can change.

또한, 상기 복수의 프로그래머블 버튼은 상기 논리 연산을 수행하는 코드를 생성하는 논리 모드에서 논리 버튼, 방향 버튼 및 설정 버튼을 포함하며, 상기 방향 버튼은 상기 제1 기능 모듈 및 제2 기능 모듈 중 어느 하나를 지정하고, 상기 논리 버튼은 지정된 모듈에 대하여 논리 버튼에 대응하는 논리 연산을 수행하는 코드를 생성하도록 구성될 수 있다.In addition, the plurality of programmable buttons includes a logic button, a direction button, and a setting button in a logic mode for generating a code for performing the logical operation, and the direction button is any one of the first function module and the second function module. And the logic button may be configured to generate a code for performing a logic operation corresponding to the logic button with respect to the designated module.

또한, 상기 설정 버튼에 의하여 상기 논리 모드가 시작되며, 상기 방향 버튼 및 상기 논리 버튼에 의하여 모듈 지정 및 논리 연산 지정이 완료된 후에 상기 설정 버튼이 눌려지면 상기 논리 연산을 수행하는 코드가 생성될 수 있다.Further, the logic mode is started by the setting button, and when the setting button is pressed after module designation and logic operation designation are completed by the direction button and the logic button, a code for performing the logic operation may be generated. .

또한, 상기 복수의 프로그래머블 버튼은 취소 버튼을 더 포함하며, 상기 모듈 지정 및 논리 연산 지정이 완료된 후에 상기 취소 버튼이 눌려지면 상기 모듈 지정 및 논리 연산 지정이 취소될 수 있다.Further, the plurality of programmable buttons further includes a cancel button, and when the cancel button is pressed after the module designation and the logical operation designation are completed, the module designation and the logic operation designation may be canceled.

또한, 상기 복수의 프로그래머블 버튼은 설정 버튼을 포함하며, 상기 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩하는 패턴 인식 모드에서, 상기 모듈 어셈블리의 메모리에 저장된 패턴 프로파일에 해당하는 패턴을 표시될 때에 상기 설정 버튼을 누르면, 상기 복수의 미리 저장된 패턴 중 어느 하나의 미리 저장된 패턴이 선택될 수 있다.In addition, the plurality of programmable buttons includes a setting button, and when a pattern corresponding to a pattern profile stored in the memory of the module assembly is displayed in a pattern recognition mode in which a code corresponding to a pre-stored pattern selected by the user is loaded. By pressing the setting button, any one of the plurality of pre-stored patterns may be selected.

한편, 본 발명의 실시예에 따른 모듈 어셈블리 실행 코드 저작시스템은, 모듈 어셈블리 및 상기 모듈 어셈블리와 연결되며, 사용자 단말에서 실행되며 상기 모듈 어셈블리에서 동작할 프로그램을 코딩할 수 있는 실행 코드 저작툴을 포함하며, 상기 모듈 어셈블리는 : 제1 기능 모듈; 제2 기능 모듈 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈과 연결될 때에 연결되는 조립 구조 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈의 모듈 ID를 포함하는 조립 정보를 생성하는 조립 정보 생성부, 복수의 프로그래머블 버튼을 포함하며 각 복수의 프로그래머블 버튼의 눌림 여부를 입력 패턴으로서 저장하는 버튼 입력 제어부를 포함하는 하드웨어 인터페이스 모듈;을 포함하며, 상기 하드웨어 인터페이스 모듈은 상기 입력 패턴 및 상기 조립 구조에 기초하여 상기 제1 기능 모듈에서 생성하는 신호에 대한 논리 연산을 수행하는 코드를 생성하거나, 또는 복수의 미리 저장된 패턴 중 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩할 수 있다.On the other hand, the module assembly execution code authoring system according to an embodiment of the present invention includes a module assembly and an execution code writing tool that is connected to the module assembly and is executed in a user terminal and is capable of coding a program to be operated in the module assembly, , The module assembly comprises: a first functional module; An assembly information generation unit that generates assembly information including a second function module, an assembly structure connected when the first function module and the second function module are connected, and a module ID of the first function module and the second function module , A hardware interface module including a plurality of programmable buttons and including a button input control unit for storing whether or not each of the plurality of programmable buttons is pressed as an input pattern, wherein the hardware interface module is based on the input pattern and the assembly structure Accordingly, a code for performing a logical operation on a signal generated by the first function module may be generated, or a code corresponding to a pre-stored pattern selected by a user among a plurality of pre-stored patterns may be loaded.

이 경우, 상기 실행 코드 저작툴은 상기 논리 연산을 수행하는 코드 또는 상기 사용자가 선택한 미리 저장된 패턴에 대응하는 코드에 대응하는 아이콘을 포함할 수 있다.In this case, the execution code authoring tool may include an icon corresponding to a code that performs the logical operation or a code corresponding to a pre-stored pattern selected by the user.

또한, 상기 실행 코드 저작툴은 상기 하드웨어 인터페이스 모듈에 대응하는 아이콘을 포함하며, 상기 아이콘을 이용하여 상기 입력 패턴을 이용하는 코드를 제공하도록 구성될 수 있다.In addition, the execution code authoring tool includes an icon corresponding to the hardware interface module, and may be configured to provide a code using the input pattern by using the icon.

본 발명에 따르면, 모듈 어셈블리의 조립 정보 및 모듈 어셈블리에서 제공하는 입력 버튼에 기초하여 하드웨어 상에서 직관적으로 직접 코딩하거나, 소프트웨어 상의 코딩을 용이하게 하도록 도울 수 있으며, 하드웨어 상에서 쉽게 정보를 입력할 수 있도록 하는 모듈 어셈블리를 제공할 수 있다.According to the present invention, based on the assembly information of the module assembly and the input button provided by the module assembly, it is possible to directly code directly on hardware or to help facilitate coding on software, and to easily input information on the hardware. Module assembly can be provided.

본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.The effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the present specification.

도 1은 본 발명의 실시예에 따른 모듈 어셈블리가 조립된 모습을 보여주는 사시도이다.
도 2는 본 발명의 실시예에 따른 모듈의 내부 구조를 보여주는 평면도이다.
도 3은 본 발명의 실시예에 따른 하드웨어 인터페이스 모듈의 프로그래머블 버튼의 구조를 개략적으로 도시한다.
도 4는 본 발명의 실시예에 따른 모듈 어셈블리 실행 코드 저작시스템을 도시한다.
도 5는 본 발명의 실시예에 따른 하드웨어 인터페이스 모듈의 기능 블록을 예시한 블록도를 도시한다.
도 6은 본 발명의 실시예에 따른 조립 정보를 도시한다.
도 7은 본 발명의 실시예에 따른 프로그래머블 버튼을 포함하는 하드웨어 인터페이스 모듈의 평면도를 도시한다.
도 8 및 도 9는 본 발명의 실시예에 따른 논리 모드의 입력 방법을 나타낸 도면이다.
도 10은 본 발명의 실시예에 따른 논리 모드를 통하여 생성된 PnP 코드를 나타낸 예시이다.
도 11은 본 발명의 실시예에 따른 하드웨어 인터페이스 모듈과 기능 모듈의 연결을 설명하기 위한 도면이다.
도 12는 본 발명의 실시예에 따른 패턴 인식 모드의 입력을 나타낸 예시도면이다.
도 13은 본 발명의 실시예에 따른 패턴 인식 모드에서 나타나는 패턴들을 나타낸 예시 도면이다.
도 14는 본 발명의 실시예에 따른 패턴 인식 모드를 통해 생성한 패턴들을 이용한 모듈 어셈블리를 예시하기 위한 도면이다.
도 15는 본 발명의 실시예에 따른 업로드 모드 중 PnP 코드 업로드 모드를 설명하기 위한 도면이다.
도 16은 본 발명의 실시예에 따른 업로드 모드 중, 패턴 입력 모드를 설명하기 위한 도면이다.
1 is a perspective view showing the assembly of a module assembly according to an embodiment of the present invention.
2 is a plan view showing an internal structure of a module according to an embodiment of the present invention.
3 schematically shows a structure of a programmable button of a hardware interface module according to an embodiment of the present invention.
4 shows a module assembly execution code authoring system according to an embodiment of the present invention.
5 is a block diagram illustrating functional blocks of a hardware interface module according to an embodiment of the present invention.
6 shows assembly information according to an embodiment of the present invention.
7 is a plan view of a hardware interface module including a programmable button according to an embodiment of the present invention.
8 and 9 are diagrams illustrating a method of inputting a logic mode according to an embodiment of the present invention.
10 is an example of a PnP code generated through a logical mode according to an embodiment of the present invention.
11 is a diagram for explaining connection between a hardware interface module and a function module according to an embodiment of the present invention.
12 is an exemplary view showing an input of a pattern recognition mode according to an embodiment of the present invention.
13 is an exemplary diagram showing patterns appearing in a pattern recognition mode according to an embodiment of the present invention.
14 is a diagram for illustrating a module assembly using patterns generated through a pattern recognition mode according to an embodiment of the present invention.
15 is a diagram for explaining a PnP code upload mode among upload modes according to an embodiment of the present invention.
16 is a diagram illustrating a pattern input mode among upload modes according to an embodiment of the present invention.

본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.The present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, only these embodiments are intended to complete the disclosure of the present invention, and those skilled in the art to which the present invention pertains. It is provided to fully inform the person of the scope of the invention, and the invention is only defined by the scope of the claims.

비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Although the first, second, and the like are used to describe various components, it goes without saying that these components are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical idea of the present invention.

본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 전송하는 경우에는 구성요소는 다른 구성요소로 직접 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 데이터 또는 신호를 다른 구성요소로 전송할 수 있음을 의미한다.In the present specification, when one component transmits data or signals to another component, the component can directly transmit data or signals to the other component, and data or signals through at least one other component Means that can be transmitted to other components.

본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.Each of the features of the various embodiments of the present invention can be partially or entirely combined or combined with each other, and as a person skilled in the art can fully understand, technically various interlocking and driving are possible, and each of the embodiments may be implemented independently of each other. It may be possible to do it together in a related relationship.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다. 도면에서 동일한 참조부호는 동일한 구성요소를 지칭하며, 도면 상에서 각 구성 요소의 크기는 설명의 명료성을 위하여 과장되어 있을 수 있다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals refer to the same components, and the size of each component in the drawings may be exaggerated for clarity of description.

도 1은 본 발명의 실시예에 따른 모듈 어셈블리가 조립된 모습을 보여주는 사시도이고, 도 2는 모듈의 하부 구조를 보여주는 평면도이다.FIG. 1 is a perspective view showing an assembled module assembly according to an embodiment of the present invention, and FIG. 2 is a plan view showing a lower structure of the module.

도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 모듈 어셈블리(1)는 서로 조립 가능한 복수 개의 모듈 (10, 20, 30, 40)들로 구성된다. Referring to FIGS. 1 and 2, a module assembly 1 according to an embodiment of the present invention includes a plurality of modules 10, 20, 30, and 40 that can be assembled to each other.

본 실시예에서, 모듈 어셈블리(1)는 서로 조립 가능한 하나 이상의 모듈(10, 20, 30, 40)들의 집합 또는 이들이 조립된 구조체로 정의될 수 있으며, 그 목적, 종류, 형태, 모듈의 개수 등에 의해 제한되지 않는다. 예를 들어, 모듈 어셈블리(1)는 학생이나 사용자가 모듈(10, 20, 30, 40)들을 조립하면서 전자 장치의 작동 원리를 이해할 수 있는 교육용 키트의 일부일 수 있다. 또는, 모듈 어셈블리(1)는 연구원이 특정 목적을 수행하기 위한 장치를 제작하기 위해 사용되는 연구용 키트의 일부일 수 있다. 또한, 모듈 어셈블리(1)는 사용자가 취미용으로 조립 가능한 장난감 키트의 일부일 수 있다.In this embodiment, the module assembly 1 may be defined as a set of one or more modules 10, 20, 30, 40 that can be assembled with each other or a structure in which they are assembled, and the purpose, type, shape, number of modules, etc. Not limited by For example, the module assembly 1 may be a part of an educational kit through which a student or a user assembles the modules 10, 20, 30, and 40 and understands the operating principle of the electronic device. Alternatively, the module assembly 1 may be part of a research kit used by a researcher to manufacture a device for performing a specific purpose. In addition, the module assembly 1 may be a part of a toy kit that a user can assemble for a hobby.

설명의 용이함을 위하여 본 실시예에서는 모듈 어셈블리(1)가 도 1에 도시된 것과 같이 프로그래머블 버튼(Programable Button, 185)을 구비한 하드웨어 인터페이스 모듈(10) 및 각각의 기능을 구비한 기능 모듈(20 내지 40)들로 구성된 예를 설명하며, 기능 모듈들은 제1 모듈(20), 제2 모듈(30), 및 제3 모듈(40)로 지칭한다. For ease of explanation, in this embodiment, the module assembly 1 includes a hardware interface module 10 having a programmable button 185 and a functional module 20 having respective functions as shown in FIG. 1. An example consisting of 40) will be described, and the functional modules are referred to as a first module 20, a second module 30, and a third module 40.

여기서, 모듈(10, 20, 30, 40)은 전압 또는 전류의 변화로서 나타내는 신호, 데이터, 또는 전기 에너지(이하 '전기적 신호')를 다른 모듈 또는 외부 장치와 송수신할 수 있도록 구성된 객체로 정의될 수 있다. 이러한 모듈(10, 20, 30, 40)들은 중앙처리장치(CPU), 메모리, 전원 등을 구비하거나 또는 다른 모듈의 제어를 받아 작동 가능한 감지(sensing) 수단, 처리(processing) 수단, 구동 수단 등을 구비하여 각각 독립적으로 구동 가능할 수 있다. 또한, 각각의 모듈(10, 20, 30, 40)은 독립적으로 특정한 기능을 수행하거나, 다른 모듈과의 상호 작용에 의해 특정한 기능을 수행하도록 구성될 수도 있다. 모듈(10, 20, 30, 40)들이 중앙처리장치를 구비하는 경우, 각각의 모듈별로 펌웨어가 설치될 수도 있다.Here, the module 10, 20, 30, 40 is defined as an object configured to transmit/receive signals, data, or electrical energy (hereinafter referred to as'electrical signals') represented as changes in voltage or current with other modules or external devices. I can. These modules (10, 20, 30, 40) are provided with a central processing unit (CPU), memory, power, etc., or are operated under the control of other modules, such as sensing means, processing means, driving means, etc. Each may be independently driven by having. In addition, each of the modules 10, 20, 30, and 40 may be configured to independently perform a specific function, or to perform a specific function by interaction with other modules. When the modules 10, 20, 30, and 40 have a central processing unit, firmware may be installed for each module.

제1 모듈(20) 내지 제3 모듈(30)은 예컨대, 리모컨 등으로부터 적외선 신호를 수신할 수 있는 적외선 센서 모듈, 스마트폰 등과 무선 통신할 수 있는 무선 통신 모듈이고, 자이로스코프 센서 모듈 또는 모터(41) 등의 구동 모듈일 수 있다. 또한, 제1 모듈(20) 내지 제3 모듈(40)은 외부의 구동 장치(41)와 케이블(42)에 의해 연결될 수도 있다. 이 경우, 모듈 어셈블리(1)는 리모컨 또는 스마트폰의 신호를 수신하여 모터(41)를 선택적으로 작동시키는 장치일 수 있다. 상기와 같은 모듈 어셈블리(1)의 구성은 하나의 예에 불과하며, 각각의 모듈은 독립적으로, 또는 다른 모듈과의 연동을 통해 임의의 기능을 수행할 수 있도록 제공될 수 있다.The first module 20 to the third module 30 are, for example, an infrared sensor module capable of receiving an infrared signal from a remote control, a wireless communication module capable of wireless communication with a smartphone, etc., and a gyroscope sensor module or a motor ( 41) may be a driving module such as. In addition, the first module 20 to the third module 40 may be connected to an external driving device 41 by a cable 42. In this case, the module assembly 1 may be a device that selectively operates the motor 41 by receiving a signal from a remote control or a smartphone. The configuration of the module assembly 1 as described above is only an example, and each module may be provided to perform an arbitrary function independently or through interlocking with other modules.

모듈(10, 20, 30, 40)들은 다른 모듈과 면 접촉 가능한 복수 개의 측면을 갖는 다각형 기둥 형상인 입체일 수 있다. 여기서, 면 접촉은 측면의 모든 면적이 모두 접촉되는 것 만을 의미하는 것은 아니며, 측면의 일부만 접촉되어 어느 하나의 모듈의 측면과 다른 모듈의 측면이 서로 마주보며 일부분이 접촉되는 것을 포함하는 의미로 이해되어야 한다.The modules 10, 20, 30, and 40 may be three-dimensional in the shape of a polygonal column having a plurality of side surfaces capable of surface contact with other modules. Here, surface contact does not mean that all areas of the side are in contact with each other, but is understood to mean that only a part of the side is in contact with the side of one module and the side of another module facing each other, and that part of it is in contact. Should be.

본 실시예에서는 기능 모듈(20, 30, 40)들이 정사각형 형상의 평면을 갖는 것을 예로 들어 도시하였다. 즉, 본 실시예에서의 모듈(10, 20, 30, 40)들은 4개의 측면을 갖는다. 또한, 본 실시예에서는 모듈 (10, 20, 30, 40)들의 직육면체인 것을 예로 설명한다.In this embodiment, the functional modules 20, 30, and 40 are illustrated as an example having a square-shaped plane. That is, the modules 10, 20, 30, and 40 in this embodiment have four sides. In addition, in this embodiment, a rectangular parallelepiped of the modules 10, 20, 30, 40 will be described as an example.

다른 실시예로서, 모듈(10, 20, 30, 40)들은 평면상 정삼각형, 직사각형, 정오각형 등의 다각형 기둥 형상으로 형성될 수도 있고, 특히, 정다각형 형상으로 형성될 수 있다. 일부의 모듈(10, 20, 30, 40)들이 서로 다른 입체적 형상을 가질 수도 있다. 또한, 모듈(10, 20, 30, 40)들 중 일부는 뿔, 다면체 등의 다양한 입체적 형상을 가질 수도 있다. As another embodiment, the modules 10, 20, 30, and 40 may be formed in a polygonal column shape such as an equilateral triangle, a rectangle, or an equilateral pentagon in plan, and in particular, may be formed in a regular polygonal shape. Some of the modules 10, 20, 30, and 40 may have different three-dimensional shapes. In addition, some of the modules 10, 20, 30, and 40 may have various three-dimensional shapes such as a horn and a polyhedron.

여기서, 하드웨어 인터페이스 모듈(10)은 외관을 형성하는 하우징(11)과, 하우징(11)의 측면에 노출되어 전기 신호 등을 연결된 다른 모듈에 전달하거나 수신할 수 있는 단자(107)와, 하우징(11)의 외부로 선택적으로 돌출되는 핀(180)이 제공된 핀 설치부(150) 및 다른 모듈의 핀이 삽입되는 핀 수용부(160)를 포함할 수 있다. 또한, 하드웨어 인터페이스 모듈(10)의 일 측면에는 외부 장치와 통신할 수 있는 시리얼 포트(190)를 포함할 수 있다. 이 때, 시리얼 포트(190)는 예컨대, USB(Universal Serial Bus), USB-C type, IEEE 1394, 썬더볼트(Thunderbolt) 등의 유선 시리얼 통신을 할 수 있는 다양한 규격의 포트를 사용할 수 있다.Here, the hardware interface module 10 includes a housing 11 forming an external appearance, a terminal 107 that is exposed on the side of the housing 11 to transmit or receive an electrical signal to other connected modules, and a housing ( 11) may include a pin mounting portion 150 provided with a pin 180 selectively protruding to the outside of 11) and a pin receiving portion 160 into which a pin of another module is inserted. In addition, one side of the hardware interface module 10 may include a serial port 190 capable of communicating with an external device. In this case, the serial port 190 may use a port of various standards capable of wired serial communication such as, for example, Universal Serial Bus (USB), USB-C type, IEEE 1394, and Thunderbolt.

하우징(11)은 예컨대, 직육면체 형상으로 형성된 케이스일 수 있다. 하우징(11)은 도 1에 도시된 것처럼 상부 케이스(11a)와 하부 케이스(11b)가 결합되는 형태로 제공될 수 있다. 하우징(11)을 구성하는 방법은 필요에 따라 상부 케이스(11a)와 하부 케이스(11b)가 일체로 형성되거나, 더 많은 부분으로 나뉘어 조립될 수 있다.The housing 11 may be, for example, a case formed in a rectangular parallelepiped shape. The housing 11 may be provided in a form in which the upper case 11a and the lower case 11b are combined as shown in FIG. 1. As a method of configuring the housing 11, the upper case 11a and the lower case 11b may be integrally formed or may be divided into more parts and assembled as necessary.

단자(107)는 전기 신호 등을 연결된 다른 모듈에 전달하거나 다른 모듈로부터 받을 수 있으며, 일 예로, 하우징 (11)의 내부에 제공된 기판(102)으로부터 전기 신호 등을 전달받아 단자(107)에 접촉된 다른 모듈의 단자로 전달할 수 있다. 단자(107)는 다수 개의 접촉 점이나 연결 핀을 가질 수 있으며, 이는 전기 신호 등의 전달 방법, 표준화된 규격 등에 따라 다양한 형태를 가질 수 있다. 이와 같은 단자(107)는 핀(180), 핀 설치부(150), 핀 수 용부(160)와 한 셋트를 이루어 하우징(11)의 일 측면에 배치될 수 있다. 구체적으로, 단자(107)는 핀(180)과 핀 수용부(160) 사이에 배치될 수 있으며, 다른 모듈의 핀과 핀 수용부 사이에 배치된 단자에 접촉될 수 있다. The terminal 107 may transmit an electrical signal, etc. to another module connected or receive it from another module. For example, the terminal 107 receives an electrical signal from the substrate 102 provided inside the housing 11 and contacts the terminal 107 Can be transferred to the terminal of another module. The terminal 107 may have a plurality of contact points or connection pins, which may have various shapes according to a method of transmitting an electric signal, a standardized standard, and the like. Such a terminal 107 may be formed on one side of the housing 11 by forming a set with the pin 180, the pin installation part 150, and the pin receiving part 160. Specifically, the terminal 107 may be disposed between the pin 180 and the pin receiving portion 160, and may contact a terminal disposed between the pin and the pin receiving portion of another module.

본 발명의 특징인 하드웨어 인터페이스 모듈(10)은 프로그래머블 버튼(185)를 포함하고 있으며, 이 프로그래머블 버튼을 통하여 하드웨어 적으로 코딩을 수행하거나, 또는 다양한 입출력을 수행할 수 있으며, 구조 및 사용법에 대해서는 상세히 후술하도록 한다.The hardware interface module 10, which is a feature of the present invention, includes a programmable button 185, and it is possible to perform hardware coding or various input/output through the programmable button, and the structure and usage are detailed. It will be described later.

한편, 기능 모듈(20, 30, 40)은 프로그래머블 버튼(185)을 제외하고 하드웨어 인터페이스 모듈(10)과 동일하게 단자(107), 케이스(11), 핀(180) 및 핀 수용부(160) 등을 포함하고 있다. 간략화를 위하여 설명을 생략하며, 본원 발명의 모듈의 더욱 상세한 구조 및 결합에 대해서는 대한민국 등록특허 공보 제10-1761596에 상세하게 기재되어 있으며, 본원 특허 명세서에 참조로서 포함된다.On the other hand, the function modules 20, 30, and 40 are the same as the hardware interface module 10 except for the programmable button 185, the terminal 107, the case 11, the pin 180 and the pin receiving portion 160 Etc. A description is omitted for simplicity, and more detailed structures and combinations of the modules of the present invention are described in detail in Korean Patent Publication No. 10-1761596, and are incorporated by reference in the present patent specification.

도 2를 참조하면, 하부 케이스(11b)는 외형 및 내부 구조를 형성하는 프레임(100), 프레임(100)의 내측에 제공되는 기판(102), 기판(102)에 설치되는 기능 유닛(104)을 포함할 수 있다.Referring to FIG. 2, the lower case 11b includes a frame 100 forming an external and internal structure, a substrate 102 provided on the inside of the frame 100, and a functional unit 104 installed on the substrate 102. It may include.

프레임(100)은 하우징(11)의 일부 또는 전부를 구성하는 구조물로서, 하우징(11)의 일부 또는 전부의 외형을 형성하고, 내부에 각종 부품이 설치되기 위한 공간과 구조를 제공할 수 있다. 본 실시예에서 프레임(100)은 하우징(11)의 하부 케이스(11b)를 형성하는 것을 예로 들어 설명하나, 본 발명의 권리범위는 이에 한정되지 않는다. 또한, 본 실시예에서 프레임(100)은 사각형 형상으로 형성되며, 4개의 코너(corner, 101)를 갖는다.The frame 100 is a structure constituting a part or all of the housing 11, and may form an external shape of a part or all of the housing 11, and provide a space and a structure for installing various parts therein. In this embodiment, the frame 100 is described as an example of forming the lower case 11b of the housing 11, but the scope of the present invention is not limited thereto. Further, in this embodiment, the frame 100 is formed in a square shape and has four corners 101.

기판(102)에는 제1 모듈(20)의 기능을 구현하기 위한 기능 유닛(104)이 실장될 수 있으며, 프레임(100)의 내측 공간 중앙부에 고정 설치될 수 있다. 기능 유닛(104)은 예를 들어 마이크로프로세서를 포함할 수 있으며, 이 때 제1 모듈(20)이 독립적인 펌웨어에 의해 구동되면 제1 모듈(20)을 제어하기 위해 제공될 수 있다. 또 다른 예로서, 제1 모듈(20)이 적외선 센서 모듈인 경우, 기능 유닛(104)은 적외선 센서 및 적외선 센서로부터 감지된 값을 처리하는데 필요한 ADC(Analog Digital Converter) 및 다른 모듈 또는 외부 하드웨어와 통신하는 데 필요한 인터페이스 예컨대, I2C 또는 UART, 또는 USB 등의 통신 인터페이스 등 필요한 디바이스들을 포함할 수 있다. A functional unit 104 for implementing the functions of the first module 20 may be mounted on the substrate 102, and may be fixedly installed in the center of the inner space of the frame 100. The functional unit 104 may include, for example, a microprocessor, and in this case, when the first module 20 is driven by an independent firmware, it may be provided to control the first module 20. As another example, when the first module 20 is an infrared sensor module, the functional unit 104 may be connected to an infrared sensor and an analog digital converter (ADC) and other modules or external hardware required to process values sensed from the infrared sensor. Interfaces required for communication may include necessary devices such as I2C or UART, or a communication interface such as USB.

본 발명의 기능 모듈(20 내지 40)은 상술한 기능 유닛(104)의 기능에 따라 모듈의 종류가 정해진다. 예컨대, 기능 유닛(104)이 마이크로프로세서 및 메모리를 포함하고 있으며, 다른 유닛들을 제어할 수 있는 OS 또는 펌웨어를 포함하고 있는 경우에는 컨트롤 모듈이 된다. 또는, 기능 유닛(104)이 센서의 센싱 값을 다른 모듈 또는 외부 디바이스에 전달할 수 있는 경우에는 센서 모듈이 된다. 또는, 기능 유닛(104)이 NB-IOT, LTE, LoRa, WiFi, Bluetooth, USB, 케이블 모뎀 등 다양한 유무선 통신 장치를 포함하면서 다른 모듈로부터 전기적 신호를 수신하여 상술한 유무선 통신 장치를 통하여 다른 외부 디바이스에 전기적 신호를 전송할 수 있는 경우에는 통신 모듈이 될 수 있다. 또는, 기능 유닛(104)이 모터 등의 다양한 액추에이터 및 액추에이터 제어 회로들을 포함하여 구동이 가능하게 하는 경우에는 구동 모듈이 될 수 있다. 기타 본원 발명의 모듈의 더욱 상세한 구조 및 결합에 대해서는 대한민국 등록특허 공보 제10-1761596에 상세하게 기재되어 있으며, 본원 특허 명세서에 참조로서 포함된다.In the functional modules 20 to 40 of the present invention, the type of module is determined according to the function of the functional unit 104 described above. For example, when the functional unit 104 includes a microprocessor and a memory, and includes an OS or firmware capable of controlling other units, it becomes a control module. Alternatively, when the functional unit 104 can transmit the sensing value of the sensor to another module or an external device, it becomes a sensor module. Alternatively, the functional unit 104 includes various wired/wireless communication devices such as NB-IOT, LTE, LoRa, WiFi, Bluetooth, USB, cable modem, and other external devices through the wired/wireless communication device described above by receiving electrical signals from other modules. If it can transmit an electrical signal to, it can be a communication module. Alternatively, when the functional unit 104 includes various actuators such as a motor and actuator control circuits to be driven, it may be a driving module. Other detailed structures and combinations of the modules of the present invention are described in detail in Korean Patent Publication No. 10-1761596, and are incorporated by reference in the present patent specification.

한편, 하우징(11)에는 단자(107)가 형성되지 않은 측면이 존재할 수도 있다. 예를 들어, A 측면 부분은 단자(107)이 형성되지 않으며, 시리얼 포트(190)가 형성될 수 있다.Meanwhile, the housing 11 may have a side surface on which the terminal 107 is not formed. For example, the terminal 107 is not formed in the A side portion, and the serial port 190 may be formed.

이하에서는 도 3을 참조하여 상술한 하드웨어 인터페이스 모듈(10)의 구조에 관하여 상세하게 설명한다.Hereinafter, the structure of the hardware interface module 10 described above will be described in detail with reference to FIG. 3.

하드웨어 인터페이스 모듈(10)은 앞서 설명한 단자(107), 핀(180), 핀 수용부(160) 및 하우징(11) 외에도, 프로그래머블 버튼(185), 인쇄회로 기판(14, 16)을 포함할 수 있다.The hardware interface module 10 may include a programmable button 185 and a printed circuit board 14 and 16 in addition to the terminal 107, pin 180, pin receiving portion 160 and housing 11 described above. have.

이 때, 프로그래머블 버튼(185)은 강성 반투명 고무(19), 3색 LED(15), 푸시 스위치(13)을 포함하며, 기판(14)에 장착된다. 강성 반투명 고무(19)는 외부에서 사용자가 누를 경우에, 푸시 스위치(13)가 눌려지고 하부의 삼색 LED의 빛이 외부에서 보일 수 있도록 충분하게 단단한 반투명의 고무 재질로 제작될 수 있다. At this time, the programmable button 185 includes a rigid translucent rubber 19, a three-color LED 15, and a push switch 13, and is mounted on the substrate 14. The rigid translucent rubber 19 may be made of a sufficiently hard translucent rubber material so that when the user presses it from the outside, the push switch 13 is pressed and the light of the lower tricolor LED can be seen from the outside.

또한, 본 실시예에서는 프로그래머블 버튼(185)이 레고 등의 블록 완구와 결합될 수 있는 사이즈를 고려하여 25개의 버튼으로 제작될 수 있다. 단, 본 발명은 본 실시예의 프로그래머블 버튼(185)의 개수에 제한되지 않으며, 당업자라면, 블록 완구와의 결합 여부를 고려하여 적절한 개수로 프로그래머블 버튼(185)의 개수를 선택할 수 있다.In addition, in this embodiment, the programmable button 185 may be manufactured with 25 buttons in consideration of a size that can be combined with a block toy such as Lego. However, the present invention is not limited to the number of programmable buttons 185 of the present embodiment, and those skilled in the art may select the number of programmable buttons 185 as appropriate in consideration of whether they are combined with a block toy.

한편, 3색 LED(15)는 푸시 스위치(13)에 의하여 점등/소등이 제어되며, 후술될 버튼 입력 제어부(540)에 의하여 색상이 제어될 수 있다. 즉, 푸시 스위치(13)의 눌림 상태에 따라서 점등 상태(점등/소등 및 색상)가 제어될 수 있다. 이 때, 복수의 프로그래머블 버튼(185) 각각의 점등/소등(On/Off) 여부 및 색상 정보는 버튼 입력 제어부(540)에 의하여 입력 패턴으로서 저장될 수 있다.Meanwhile, the three-color LED 15 is turned on/off by a push switch 13, and the color may be controlled by a button input control unit 540, which will be described later. That is, the lighting state (ON/OFF and color) may be controlled according to the pressed state of the push switch 13. In this case, information on whether to turn on/off each of the plurality of programmable buttons 185 and color information may be stored as an input pattern by the button input controller 540.

푸시 스위치(13)는 눌렸는지 여부에 따라 3색 LED(15)의 점등/소등을 제어할 수 있다. 또한, 예컨대, 눌려진 회수 또는 정해진 모드에 따라 색상이 변화하거나, 점멸할 수도 있다. 이 때, 푸시 스위치(13)의 점등/소등 여부 또는 눌려진 회수 등은 버튼 입력 제어부(540)에 저장될 수 있다.The push switch 13 can control the on/off of the three-color LED 15 depending on whether or not it is pressed. In addition, for example, the color may change or flash according to the number of times it is pressed or a predetermined mode. In this case, whether the push switch 13 is turned on/off or the number of times it is pressed may be stored in the button input control unit 540.

인쇄회로기판(14 및 16)은 프로그래머블 버튼(185), 마이크로프로세서(16-1) 및 메모리(16-2) 등의 다양한 소자들을 수용하고, 그 다양한 소자들을 연결시킬 수 있다. 본 실시예에서는 2개의 기판에 프로그래머블 버튼(185) 및 다양한 소자들이 수용되는 것으로 기재하고 있으나, 하나의 기판 또는 3개 이상의 기판에 소자들이 수용되는 것도 가능하다.The printed circuit boards 14 and 16 accommodate various elements such as a programmable button 185, a microprocessor 16-1, and a memory 16-2, and may connect the various elements. In the present embodiment, it is described that the programmable button 185 and various elements are accommodated on two substrates, but elements may be accommodated on one substrate or three or more substrates.

도 4를 참조하면, 상술한 하드웨어 인터페이스 모듈(10) 및 기능 모듈(20 내지 40)들로 이루어진 모듈 어셈블리(1)는 인터넷, 인트라넷, 또는 광대역 통신망 등의 네트워크를 통하여 서버(2) 및 사용자 단말(3)와 연결될 수 있다. 또는 각종 유무선 통신 특히, 시리얼 포트(190) 연결을 통하여 사용자 단말(3)과 직접 연결될 수도 있다. 이 때, 서버(2) 또는 사용자 단말(3)는 모듈 어셈블리(1)를 구동시킬 수 있는 프로그램의 소스 코드를 작성, 추천 및 컴파일(또는 인터프리트)할 수 있는 저작툴을 제공할 수 있다. 이러한 소스 코드의 작성, 추천 및 컴파일(또는 인터프리트)할 수 있는 저작툴에 대해서는 본 출원인이 이전에 발명한 대한민국 특허출원 제10-2018-0114166호 및 제10-2018-0114171호에 상세하게 기재되어 있으며, 위의 두 특허는 참조로서 포함된다.4, the module assembly 1 consisting of the hardware interface module 10 and the function modules 20 to 40 described above is a server 2 and a user terminal through a network such as the Internet, an intranet, or a broadband communication network. (3) can be connected. Alternatively, it may be directly connected to the user terminal 3 through various wired/wireless communications, in particular, the serial port 190 connection. In this case, the server 2 or the user terminal 3 may provide a writing tool capable of creating, recommending, and compiling (or interpreting) a source code of a program capable of driving the module assembly 1. The authoring tools that can create, recommend, and compile (or interpret) the source code are described in detail in Korean Patent Application Nos. 10-2018-0114166 and 10-2018-0114171 previously invented by the applicant. And the above two patents are incorporated by reference.

이하에서는 도 5를 참조하여 상술한 하드웨어 인터페이스 모듈(10)의 인쇄회로기판(16) 상에 구현된 기능을 상세하게 설명한다. 도 5는 하드웨어 인터페이스 모듈(10)의 인쇄회로기판(16) 상에 구현된 기능들의 블록도이다. 이 경우, 도 5에 나타낸 마이크로프로세서(570) 및 조립 정보 생성부(510) 등의 블록들은 하드웨어 모듈 또는 소프트웨어 모듈 또는 소프트웨어 또는 하드웨어 모듈의 결합으로 구현될 수 있다. 이 경우, 소프트웨어 모듈은 메모리(590)에 저장되고 마이크로프로세서(16-1)에 의해 실행될 수 있다.Hereinafter, functions implemented on the printed circuit board 16 of the hardware interface module 10 described above will be described in detail with reference to FIG. 5. 5 is a block diagram of functions implemented on the printed circuit board 16 of the hardware interface module 10. In this case, blocks such as the microprocessor 570 and the assembly information generator 510 shown in FIG. 5 may be implemented as a hardware module or a software module, or a combination of software or hardware modules. In this case, the software module may be stored in the memory 590 and executed by the microprocessor 16-1.

도 5를 참조하면, 하드웨어 인터페이스 모듈(10)은 조립 정보 생성부(510), 논리 모드 제어부(520), 패턴 모드 제어부(530), 버튼 입력 제어부(540), 업로드 모드 제어부(550), 마이크로프로세서(570), 통신 제어부(580), 메모리(590)를 포함할 수 있다.5, the hardware interface module 10 includes an assembly information generation unit 510, a logic mode control unit 520, a pattern mode control unit 530, a button input control unit 540, an upload mode control unit 550, and a microcontroller. A processor 570, a communication controller 580, and a memory 590 may be included.

조립 정보 생성부(510)는 하드웨어 인터페이스 모듈(10)과 연결되는 복수의 기능 모듈(20 내지 40) 또는 연결되는 또 다른 하드웨어 인터페이스 모듈(1420, 1440, 도 14 참조)의 연결 정보를 생성할 수 있다. 구체적으로, 조립 정보 생성부(510)는 예컨대, 도 6과 같은 조립 정보를 저장할 수 있다.The assembly information generation unit 510 may generate connection information of a plurality of functional modules 20 to 40 connected to the hardware interface module 10 or another connected hardware interface module 1420, 1440, see FIG. 14. have. Specifically, the assembly information generation unit 510 may store assembly information, for example, as shown in FIG. 6.

조립 정보는 모듈 어셈블리(1) 내의 모듈들의 모듈 고유 정보(모듈 ID)(1048-1), 단계 정보(1048-2), 하위 연결 모듈 정보(1048-3), 연결 순위(1048-4) 및 모듈 카테고리(1048-6)를 포함한다. 조립 정보는 추가적으로 연결 방향(1048-5)을 더 포함할 수 있다.The assembly information includes module-specific information (module ID) (1048-1), step information (1048-2), sub-connection module information (1048-3), connection ranking (1048-4) of modules in the module assembly (1), and Includes module category 1048-6. The assembly information may further include a connection direction 1048-5.

모듈 고유 정보(1048-1)는 모듈 어셈블리에 포함되고 연결되는 기능 모듈들의 모듈 ID를 나타낸다. 이 경우, 모듈 ID는 UUID(Universally Unique IDentifier)와 같은 모듈 고유의 식별자 일 수 있으며, 컨트롤 모듈에서 연결 시 부여하는 임시 ID 일 수도 있다. 여기서, 컨트롤 모듈은 마이크로프로세서를 포함하면서, 소프트웨어의 실행을 통하여 연결된 기능 모듈들을 제어할 수 있는 모듈로서, 상술한 하드웨어 인터페이스 모듈(10)은 컨트롤 모듈 중 하나이다. 설명의 간략화를 위하여, 본 실시예에서는 컨트롤 모듈에 대한 설명을 하드웨어 인터페이스 모듈(10)을 중심으로 설명한다.The module-specific information 1048-1 indicates module IDs of functional modules included in and connected to the module assembly. In this case, the module ID may be a module-specific identifier such as a Universally Unique IDentifier (UUID), or may be a temporary ID given when connecting from the control module. Here, the control module is a module capable of controlling functional modules connected through the execution of software while including a microprocessor, and the hardware interface module 10 described above is one of the control modules. For simplicity of explanation, in the present embodiment, the description of the control module will be described centering on the hardware interface module 10.

한편, 단계 정보(1048-2)는 하드웨어 인터페이스 모듈(10)과의 거리를 의미하며, 하드웨어 인터페이스 모듈(10)로부터 해당 모듈까지 최단 경로 상으로 연결된 모듈을 카운팅하여 결정된다.Meanwhile, the step information 1048-2 means a distance from the hardware interface module 10, and is determined by counting modules connected from the hardware interface module 10 to the corresponding module in the shortest path.

하위 연결 모듈 정보(1048-3)는 해당 모듈보다 단계가 낮은(하드웨어 인터페이스 모듈(10)과의 거리가 더 먼) 모듈의 모듈 고유 정보를 나타낸다. 기본적으로 각 모듈은 해당 모듈과 연결된 모듈들의 정보를 저장하고 하드웨어 인터페이스 모듈(10)에 연결될 때, 하위로 연결된 모듈의 정보를 하드웨어 인터페이스 모듈(10)에게 제공할 수 있다.The lower connection module information 1048-3 indicates module-specific information of a module having a lower level than the corresponding module (the distance from the hardware interface module 10 is greater). Basically, each module may store information on modules connected to the corresponding module and, when connected to the hardware interface module 10, provide information on a lower connected module to the hardware interface module 10.

연결 순위(1048-4)는 하드웨어 인터페이스 모듈(10)에 접속하는 순서를 나타낸다. 하드웨어 인터페이스 모듈(10)에 이미 결합되어 있는 복수의 모듈인 모듈 그룹이 결합되는 경우에는 모듈 그룹에 동일한 공통 연결 순위(1048-7)가 부여될 수 있다.The connection order 1048-4 indicates an order of connection to the hardware interface module 10. When a module group, which is a plurality of modules already coupled to the hardware interface module 10, is combined, the same common connection order 1048-7 may be assigned to the module group.

연결 방향(1048-5)은 부가적인 정보로서, 하위 연결 모듈 및 상위 연결 모듈이 어떤 포트와 물리적으로 접속되었는지를 나타내는 정보이다. 예를 들어, 통신 모듈과 자이로스코프 센서 모듈이 있는 경우에, 통신 모듈의 전자기파가 자이로스코프 센서 모듈의 센싱에 영향을 줄 수도 있으므로, 가급적이면 영향을 주지 않는 위치에 연결 방향을 결정하여 서로 배치할 수 있다.The connection direction 1048-5 is additional information, and is information indicating to which port the lower connection module and the upper connection module are physically connected. For example, if there is a communication module and a gyroscope sensor module, the electromagnetic waves of the communication module may affect the sensing of the gyroscope sensor module, so if possible, determine the connection direction at a location that does not affect and arrange them. I can.

모듈 카테고리(1048-6)는 모듈의 기능에 따라 모듈을 분류한 정보이다. 예를 들어, 입력 모듈은 입력되는 전기 신호를 수집하는 모듈로서, 마이크로폰, 온도 센서, 자이로스코프 센서, 적외선 센서, 초음파 센서 등의 각종 센서와 다이얼, 버튼, 키보드 등의 키 입력을 포함한다. 출력 모듈은 모터 등의 액추에이터, 발광다이오드(LED), 액정 디스플레이 장치, 스피커를 포함한다. 통신 모듈은 LTE, Bluetooth 등의 네트워크 모듈을 포함한다. 하드웨어 인터페이스 모듈(10)은 사용자 단말(3)에서 프로그래밍한 애플리케이션을 실행할 수 있는 모듈로서, 마이크로프로세서를 포함한다. 이러한 카테고리 정보에 기초하여 서버에서는 모듈 추천 시 치환 가능한 모듈인지, 추가 가능한 모듈인지 여부를 판단할 수 있다. 앞서 기능 유닛(104)에 관한 설명에서 기술한 바와 같이, 기능 모듈(20 내지 40)의 기능은 기능 유닛(104)의 구성에 따라 정해지게 된다. The module category 1048-6 is information that classifies a module according to the function of the module. For example, the input module is a module that collects an input electric signal, and includes various sensors such as a microphone, a temperature sensor, a gyroscope sensor, an infrared sensor, an ultrasonic sensor, and a key input such as a dial, a button, and a keyboard. The output module includes an actuator such as a motor, a light-emitting diode (LED), a liquid crystal display device, and a speaker. The communication module includes network modules such as LTE and Bluetooth. The hardware interface module 10 is a module capable of executing an application programmed in the user terminal 3 and includes a microprocessor. Based on this category information, the server may determine whether a module is replaceable or a module that can be added when recommending a module. As previously described in the description of the functional unit 104, the functions of the functional modules 20 to 40 are determined according to the configuration of the functional unit 104.

다시 도 5를 참조하면, 논리 모드 제어부(520)는 하드웨어 인터페이스 모듈(10)이 논리 모드에서 동작할 때에 1) 조립 정보 생성부(510)로부터 조립 정보를 수신하여 2) 주변 기능 모듈(20 내지 40)에서 생성한 신호들에 대한 논리 연산을 수행할 수 있는 논리 연산 코드를 생성하고, 3) 생성된 논리 연산 코드를 다시 업로드 모드 제어부(550)에 전송하여 서버(2) 또는 사용자 단말(3)에 업로드할 수 있도록 한다. 논리 모드 제어부(520)의 상세 동작에 대해서는 도 7 내지 도 10을 참조하여 상세하게 후술하도록 한다.Referring back to FIG. 5, when the hardware interface module 10 operates in the logic mode, the logic mode control unit 520 receives 1) assembly information from the assembly information generation unit 510 and 2) the peripheral function modules 20 to 40) generates a logical operation code capable of performing a logical operation on the signals generated in), and 3) transmits the generated logical operation code back to the upload mode control unit 550 so that the server 2 or the user terminal 3 ) To be uploaded. Detailed operations of the logic mode controller 520 will be described later in detail with reference to FIGS. 7 to 10.

한편, 패턴 모드 제어부(530)는 패턴 모드에서 동작할 때에 1) 패턴 프로파일을 생성하고, 2) 패턴 프로파일에 기초하여 입력 가이드를 3색 LED를 통하여 표시하게 하며, 3) 입력 가이드에 따른 결정 입력이 인가되면 해당 패턴에 대응하는 패턴 대응 코드를 실행시킬 수 있으며, 4) 또는 해당 패턴에 대한 코드를 업로드 모드 제어부(550)에 전송하여 서버(2) 또는 사용자 단말(3)에 업로드할 수 있도록 한다. 패턴 모드 제어부(530)의 상세 동작에 대해서는 도 11 내지 도 13을 참조하여 상세하게 후술하도록 한다.Meanwhile, when the pattern mode control unit 530 operates in the pattern mode, 1) generates a pattern profile, 2) displays an input guide through a 3-color LED based on the pattern profile, and 3) inputs a decision according to the input guide. When this is authorized, the pattern-corresponding code corresponding to the pattern can be executed, and 4) or the code for the pattern can be transmitted to the upload mode control unit 550 so that it can be uploaded to the server 2 or the user terminal 3. do. Detailed operations of the pattern mode controller 530 will be described later in detail with reference to FIGS. 11 to 13.

버튼 입력 제어부(540)는 프로그래머블 버튼(185)이 눌렸는지 여부 또는 프로그래머블 버튼(185)의 눌린 회수 또는 프로그래머블 버튼(185)이 눌려진 시간에 따라 강성 반투명 고무(19) 하부의 3색 LED의 색상이 바뀌도록 제어하며, 스위치의 상태 및 상태 변화에 따라 프로그래머블 버튼(185)의 스위치 상태 정보를 생성하여 논리 모드 제어부(520) 및 패턴 모드 제어부(530)에 제공한다. The button input control unit 540 determines whether the programmable button 185 is pressed, the number of times the programmable button 185 is pressed, or the time when the programmable button 185 is pressed, the color of the three-color LED under the rigid translucent rubber 19 It is controlled to change, and according to the state of the switch and the state change, the switch state information of the programmable button 185 is generated and provided to the logic mode controller 520 and the pattern mode controller 530.

한편, 마이크로프로세서(570)는 토폴로지 정보 생성부(510), 논리 모드 제어부(520), 패턴 모드 제어부(530) 및 버튼 입력 제어부(540) 중 적어도 일부가 소프트웨어 모듈로 구현되는 경우에, 그 소프트웨어 모듈을 실행하게 한다.Meanwhile, when at least some of the topology information generation unit 510, the logic mode control unit 520, the pattern mode control unit 530, and the button input control unit 540 are implemented as a software module, the microprocessor 570 Let the module run.

통신 제어부(580)는 시리얼 포트(190)를 통한 유선 통신 또는 무선 통신을 통하여 하드웨어 인터페이스 모듈(10)과 서버(2) 또는 사용자 단말(3)이 서로 통신할 때, 통신을 제어한다.The communication control unit 580 controls communication when the hardware interface module 10 and the server 2 or the user terminal 3 communicate with each other through wired communication or wireless communication through the serial port 190.

한편, 메모리(590)는 마이크로프로세서(590)에서 실행될 수 있는 소프트웨어 모듈과, 조립 정보, PnP 코드, 모듈 정보 및 패턴 프로파일을 저장할 수 있다.Meanwhile, the memory 590 may store a software module that can be executed in the microprocessor 590, assembly information, PnP code, module information, and pattern profile.

여기서, 소프트웨어 모듈은 예를 들어, 조립 정보 생성부(510), 논리 모드 제어부(520) 등 본 발명에 따른 다양한 기능들을 수행하는 모듈로서 마이크로프로세서(570) 상에서 실행되는 모듈들을 의미하며, 조립 정보는 위의 도 6에 관련한 설명에서 설명한 바와 같다. 모듈 ID는 각 모듈 내에 저장되어 있는 해당 모듈에 관한 정보를 의미하며, 앞서 설명한 UUID 등이 될 수 있다. 또한, 모듈 ID로서, 해당 모듈의 기능 등의 상세 정보를 추가적으로 저장하고 있을 수 있다. Here, the software module refers to modules that are executed on the microprocessor 570 as modules that perform various functions according to the present invention, such as the assembly information generation unit 510 and the logic mode control unit 520, and assembly information Is as described in the description of FIG. 6 above. The module ID means information on the corresponding module stored in each module, and may be the UUID described above. In addition, as a module ID, detailed information such as a function of a corresponding module may be additionally stored.

한편, PnP 코드는 각 기능 모듈로부터 수신한 논리 모드 제어부(520)에서 생성한 논리 연산 코드 및 패턴 모드 제어부(530)에서 수신한 패턴 대응 코드를 포함한다. 또한, 패턴 프로파일은 어떤 패턴이 어떤 패턴 대응 코드에 연결되는지의 연결 관계를 나타내는 프로파일이다. 이는 사용자 단말(3)의 유저 인터페이스를 통하여 사용자가 지정할 수도 있다.Meanwhile, the PnP code includes a logic operation code generated by the logic mode controller 520 received from each function module and a pattern correspondence code received from the pattern mode controller 530. Further, the pattern profile is a profile representing a connection relationship between which pattern is connected to which pattern corresponding code. This may be designated by the user through the user interface of the user terminal 3.

상술한 바와 같은 소프트웨어 및 하드웨어 구조를 가진 본 발명에 따른 프로그램 가능한 모듈 어셈블리는 2가지 모드에서 동작할 수 있다. 하나는 PnP(Plug & Play) 모드로서, 상기 하드웨어 인터페이스 모듈(10)을 통하여 필요한 PnP 코드를 생성하는 모드이다. 상세하게, PnP 모드는 하위 모드로서, 논리 모드와 패턴 인식 모드가 있을 수 있다.The programmable module assembly according to the present invention having the software and hardware structures as described above can operate in two modes. One is a PnP (Plug & Play) mode, which generates a necessary PnP code through the hardware interface module 10. In detail, the PnP mode is a sub-mode and may include a logic mode and a pattern recognition mode.

다른 하나의 모드는 펌웨어 업로드 모드로서, 상술한 하드웨어 인터페이스 모듈(10)의 패턴을 하나의 사용자의 입력 인터페이스로서 활용하는 모드이며, 출력 모듈 모드는 상술한 PnP 코드를 사용자 단말(3) 또는 서버(2)에 전송하는 모드이다. 이 때, The other mode is a firmware upload mode, which utilizes the pattern of the hardware interface module 10 as an input interface of a user, and the output module mode uses the PnP code described above as the user terminal 3 or the server ( 2) This is the transmission mode. At this time,

이하에서는 각 모드의 동작에 대하여 상세하게 설명한다.Hereinafter, the operation of each mode will be described in detail.

먼저, 도 7 내지 도 10을 참조하여, PnP 모드 중 논리 모드를 설명한다.First, a logical mode among PnP modes will be described with reference to FIGS. 7 to 10.

논리 모드는, 모듈들에서 입력되는 데이터들의 논리 연산을 할 수 있는 하드웨어적으로 로직 게이트로서의 역할을 수행하는 모드이다.The logic mode is a mode that functions as a logic gate in hardware capable of performing logical operations on data input from modules.

도 7을 참조하면, 하드웨어 인터페이스 모듈(10)은 복수의 프로그래머블 버튼(185), 방향 표시 LED(750) 및 연산 표시(721, 741, 761 및 771)를 포함할 수 있다. Referring to FIG. 7, the hardware interface module 10 may include a plurality of programmable buttons 185, a direction display LED 750, and operation displays 721, 741, 761 and 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)은 논리 모드의 시작 및 논리 연산 입력의 종료를 표시하기 위하여 누르는 버튼이다.The plurality of programmable buttons 185 includes first to fourth logic buttons 720, 740, 760, and 770, a direction button 730, a setting button 780, and a cancel button 790. At this time, the first to fourth logical buttons 720, 740, 760, and 770 perform corresponding logical operations, and logical operations corresponding to the first to fourth logical buttons 720, 740, 760, and 770, respectively Is displayed on each operation display 721, 741, 761 and 771 so that the user can recognize it. Meanwhile, the direction button 730 is a button for determining a device to perform a logical operation, and modules in a direction in which the direction button is pressed are objects of the logical operation. Also, the setting button 780 is a button pressed to display the start of the logic mode and the end of the logic operation input.

본 실시예에서 표시한 바와 같이, 제1 논리버튼(720)는 두 입력이 동일한 경우, 제2 논리 버튼(740)는 두 입력이 다른 경우, 제3 및 제4 논리 버튼(760)는 두 입력의 크기를 비교하는 경우를 의미한다. 단, 본 발명은 이에 한정되는 것은 아니며, 하드웨어 인터페이스 모듈(10)은 두 입력의 “AND”, “OR” “XOR” 등 필요에 따라 다양한 논리 연산을 포함할 수 있다.As shown in this embodiment, when the first logic button 720 has the same two inputs, the second logic button 740 has two different inputs, and the third and fourth logic buttons 760 have two inputs. It means when comparing the size of. However, the present invention is not limited thereto, and the hardware interface module 10 may include various logic operations such as “AND”, “OR” and “XOR” of two inputs as needed.

방향 표시 LED(750)는 논리 모드에서 논리 연산의 대상으로 설정된 모듈을 표시하며, 구체적으로, 논리 연산의 대상으로 설정된 모듈들이 어떤 방향으로 연결되어 있는지를 표시한다. 예를 들어, 논리 모드에서 방향 버튼(730)이 눌려진 경우에, 그 방향 버튼에 대응하는 방향 표시 LED(750)가 점등되게 된다. The direction display LED 750 indicates a module set as an object of a logic operation in a logic mode, and specifically, in which direction modules set as an object of a logic operation are connected. For example, when the direction button 730 is pressed in the logical mode, the direction display LED 750 corresponding to the direction button is turned on.

이와 같은 논리 모드는 예를 들어, 도 8에 도시한 바와 같이, 설정 버튼(780)을 1~2 초간 길게 누른 것(Long Press)을 버튼 입력 제어부(540)에서 인지할 때에 개시된다. 이 때, 버튼 입력 제어부(540)는 설정 버튼(780)의 롱 프레스가 입력된 후에 논리 모드가 시작되었음을 3색 LED(15)를 점등하여 표시할 수 있다. Such a logic mode is initiated when, for example, as shown in FIG. 8, when the button input control unit 540 recognizes a long press of the setting button 780 for 1 to 2 seconds. At this time, the button input control unit 540 may light up the three-color LED 15 to indicate that the logic mode has started after the long press of the setting button 780 is input.

도 9은 예시적인 논리 연산의 설정을 설명하기 위한 도면이다. 도 9를 참조하면, 먼저, 논리 모드의 시작을 설정한 후(도 9(a)), 방향 버튼(730)을 이용하여 논리 연산의 대상 모듈이 연결된 방향을 지정한다.(도 9(b)) 이 때, 방향 버튼(730) 하부의 3색 LED가 점멸하며, 동시에 방향 표시 LED(750)이 점등되면서, 논리 연산의 대상 모듈이 연결된 방향을 표시한다.(도 9(c)) 9 is a diagram for describing an exemplary logical operation setting. Referring to FIG. 9, first, after setting the start of the logic mode (FIG. 9(a)), the direction to which the target module of the logical operation is connected is designated using the direction button 730 (FIG. 9(b)). ) At this time, the three-color LED under the direction button 730 blinks, and the direction indicator LED 750 lights up at the same time, indicating the direction in which the target module of the logic operation is connected (Fig. 9(c)).

그리고, 사용자는 필요한 논리 연산을 입력한다.(도9(d)) 도 9(d)는 “NOT” 연산을 설정한 예를 나타낸다. 다시, 사용자는 논리 연산의 대상이 되는 다른 모듈의 연결 방향을 방향 버튼(730)을 이용하여 지정한다.(도 9(f)) 이 때도 역시, 방향 버튼(730) 하부의 3색 LED가 점멸하면서, 동시에 방향 표시 LED(750)이 점등되어 논리 연산의 대상 모듈이 연결된 방향을 표시한다.(도 9(g)) 마지막으로 논리 연산의 결과를 반영할 모듈의 방향을 지정하고(도 9(h)) 다시 설정 버튼을 누르게 되면, 논리 연산의 입력은 마무리 되게 된다.Then, the user inputs a necessary logical operation. (Fig. 9(d)) Fig. 9(d) shows an example of setting the “NOT” operation. Again, the user designates the connection direction of the other module, which is the object of the logical operation, using the direction button 730 (Fig. 9(f)). Again, in this case, the three-color LED under the direction button 730 flashes. At the same time, the direction display LED 750 lights up to indicate the direction in which the target module of the logic operation is connected. (Fig. 9(g)) Finally, the direction of the module to reflect the result of the logic operation is designated (Fig. 9( h)) When pressing the set button again, the input of the logic operation is completed.

도 10은 예시적으로 입력된 논리 연산을 나타낸 도면이다. 도 9의 절차를 거쳐서 입력된 논리 연산의 예시이다. 예를 들어, 하드웨어 인터페이스 모듈(10)의 제1 면에 연결된 기능 모듈이 근접 센서 모듈(1010), 제2 면에 연결된 기능 모듈이 버튼 모듈(1020) 이며, 제3면에 연결된 모듈은 조명 모듈(1030)이다.10 is a diagram illustrating an exemplary input logic operation. This is an example of a logical operation input through the procedure of FIG. 9. For example, the function module connected to the first side of the hardware interface module 10 is the proximity sensor module 1010, the function module connected to the second side is the button module 1020, and the module connected to the third side is a lighting module. (1030).

도 10에서 나타낸 하드웨어 인터페이스 모듈(10)에서 코딩된 프로그램은, 근접 센서 모듈(1010)에서 출력한 신호와 버튼 모듈(1020)에서 출력한 신호의 논리 값이 다를 경우에, 조명 모듈(1030)을 현재와 다른 상태로 변경하는(예를 들어, 현재, 소등된 상태일 때 점등된 상태로 변경) 동작을 나타낸다.In the program coded by the hardware interface module 10 shown in FIG. 10, when the logic values of the signal output from the proximity sensor module 1010 and the signal output from the button module 1020 are different, the lighting module 1030 is Represents an action of changing to a different state from the present (for example, changing to a lit state when the current or unlit state).

근접 센서 모듈(1010)은 예를 들어, 적외선 조사부를 통해 조사된 광이 반사되어 수광부를 통하여 다시 입사되는 시간을 측정하는 방식으로 근접 여부를 판별하여 “1” 또는 “0”의 신호를 하드웨어 인터페이스 모듈(10)로 입력한다. 버튼 모듈(1020)도 눌려졌는지 여부에 따라 “1” 또는 “0”의 신호를 하드웨어 인터페이스 모듈(10)로 입력한다. 이 때, 하드웨어 인터페이스 모듈(10)은 입력된 두 신호를 입력하여 제어 신호를 조명 모듈(1030) 방향으로 전송하고, 조명 모듈(1030)은 제어 신호에 따라 점등 또는 소등되게 된다.The proximity sensor module 1010 determines whether or not it is close by measuring the time that the light irradiated through the infrared irradiation unit is reflected and incident again through the light receiving unit, and transmits a signal of “1” or “0” to the hardware interface. Input to module 10. A signal of "1" or "0" is input to the hardware interface module 10 depending on whether the button module 1020 is also pressed. At this time, the hardware interface module 10 inputs two input signals to transmit a control signal to the lighting module 1030, and the lighting module 1030 is turned on or off according to the control signal.

도 7 내지 도 10에 나타낸 방법과 같이, 본 발명에 따르면, 하드웨어 인터페이스를 통하여 별도의 코딩 없이 논리 연산을 프로그래밍할 수 있다. 7 to 10, according to the present invention, logic operations can be programmed through a hardware interface without additional coding.

이하에서는 도 11 내지 도 13을 참조하여 패턴 인식 모드에 대하여 상세하게 설명한다. 도 11은 기능 모듈(20 내지 40)과 하드웨어 인터페이스 모듈(10)이 접속한 경우를 설명하기 위한 도면이다.Hereinafter, a pattern recognition mode will be described in detail with reference to FIGS. 11 to 13. 11 is a diagram for explaining a case in which the function modules 20 to 40 and the hardware interface module 10 are connected.

기능 모듈(20 내지 40)과 하드웨어 인터페이스 모듈(10)이 접속하게 되면, 조립 정보 생성부(510)에서 조립 정보를 생성하게 된다. 이 경우, 기능 모듈(1010)이 접속하게 되면, 하드웨어 인터페이스 모듈(10)은 기능 모듈(1010)로부터 모듈 ID 및 해당 모듈의 기능에 대한 정보를 수신한다. When the functional modules 20 to 40 and the hardware interface module 10 are connected, the assembly information generation unit 510 generates assembly information. In this case, when the function module 1010 is connected, the hardware interface module 10 receives a module ID and information on the function of the corresponding module from the function module 1010.

추가적으로, 필요한 경우에는 기능 모듈(1010)의 구동에 필요한 코드, 예컨대, 드라이버 등을 수신한다. 이 경우, 해당 모듈의 드라이버는 연결된 기능 모듈(1010)에 저장된 드라이버를 다운로드 받을 수도 있고, 또는 시리얼 포트(190) 또는 무선 통신을 통해 사용자 단말(3) 또는 서버(2)로부터 다운로드 받을 수도 있다.Additionally, if necessary, a code necessary for driving the function module 1010, for example, a driver, is received. In this case, the driver of the module may download a driver stored in the connected function module 1010, or may be downloaded from the user terminal 3 or the server 2 through the serial port 190 or wireless communication.

이 때, 하드웨어 인터페이스 모듈(10)은 기능 모듈(1010)의 접속 및 구동을 준비하는 동안, 방향 표시 LED(750)를 통하여 준비중임을 표시할 수 있다. 구체적으로, 방향 표시 LED(750)는 하드웨어 인터페이스 모듈(10)이 기능 모듈(1010)의 접속 및 구동을 준비하는 동안에 시간의 경과 또는 단계의 경과에 따라 방향 표시 LED(750)의 색상을 변화시켜서, 예를 들면, 점차 낮은 밝기를 가지는 색상으로 변화시킨다(점차 소등).In this case, the hardware interface module 10 may indicate that it is being prepared through the direction LED 750 while preparing to connect and drive the function module 1010. Specifically, the direction display LED 750 changes the color of the direction display LED 750 according to the passage of time or steps while the hardware interface module 10 prepares for connection and driving of the function module 1010. , For example, gradually change to a color with lower brightness (gradually turns off).

구동 준비 완료 후, 사용자가 방향 버튼(730)를 눌러 패턴 인식 모드를 시작하게 되면(도 12(a)), 하드웨어 인터페이스 모듈(10)은 사용가능한 기능 예시를 복수의 프로그래머블 버튼(185) 하의 3색 LED(15)를 점멸시켜 표시하게 된다. (도 12(b)) 이 때, 3색 LED(15)가 점멸하는 동안에 다시, 눌렀던 방향 버튼(730)을 누르게 되면, 패턴 인식 모드가 취소되게 된다. (도 12(c)) 한편, 3색 LED(15)가 점멸하는 동안에 설정 버튼(780)을 누르면 해당 기능을 실행하게 된다((도 12(d), 도 12(f)). After the driving preparation is completed, when the user presses the direction button 730 to start the pattern recognition mode (Fig. 12(a)), the hardware interface module 10 provides examples of usable functions by 3 under the plurality of programmable buttons 185. The color LED 15 is displayed by blinking. (Fig. 12(b)) At this time, when the pressed direction button 730 is pressed again while the three-color LED 15 is blinking, the pattern recognition mode is canceled. (Fig. 12(c)) On the other hand, if the setting button 780 is pressed while the three-color LED 15 is blinking, the corresponding function is executed ((Fig. 12(d), Fig. 12(f))).

이 경우, 제시되는 패턴의 예시는 도 13에 나타낸 바와 같다. 도 13(a)는 계산 방향, 모듈 어셈블리의 실행 방향을 설정하는 화살표 패턴을 나타낸다. 도 13(b)는 모듈 어셈블리의 실행 일시 중단 또는 실행 중단을 설정하는 패턴이다. 도 13(a) 및 도 13(b)의 활용 예는 도 14를 참조하여 상세하게 후술한다.In this case, an example of the presented pattern is as shown in FIG. 13. 13(a) shows an arrow pattern for setting the calculation direction and the execution direction of the module assembly. 13(b) is a pattern for setting the execution pause or execution suspension of the module assembly. An example of application of FIGS. 13A and 13B will be described later in detail with reference to FIG. 14.

도 13(c)에 입력된 예는 0~9 번호에 미리 저장된 기능을 실행하도록 설정된 패턴이다. 패턴에 대응되는 PnP 코드들은 패턴 프로파일에 저장된 후, 해당 숫자 패턴이 점멸할 때에 설정 버튼(780)을 눌러 해당 코드를 로딩하거나 실행할 수 있다. 여기서 해당 코드의 로딩은 예를 들어, 메모리에 저장된 코드를 로딩하는 경우거나, 또는 패턴에 대응하는 코드를 서버(2) 또는 사용자 단말(3)에 저장된 코드로부터 저작툴에 로딩하는 경우를 포함할 수 있다.The example input to Fig. 13(c) is a pattern set to execute a function previously stored in numbers 0 to 9. After the PnP codes corresponding to the pattern are stored in the pattern profile, when the corresponding number pattern flashes, the setting button 780 may be pressed to load or execute the corresponding code. Here, the loading of the code may include, for example, loading the code stored in the memory, or loading the code corresponding to the pattern from the code stored in the server 2 or the user terminal 3 to the authoring tool. have.

이하에서는 도 14를 통하여 패턴 인식 모드에 의한 실행 동작에 대하여 설명한다. 도 14는 도 11 내지 도 13의 실시예에 기초하여 패턴 인식 모드에서 설정한 화살표 패턴 및 실행 일시 중단 패턴을 이용한 모듈 어셈블리의 동작 예시를 나타낸다.Hereinafter, an execution operation by the pattern recognition mode will be described with reference to FIG. 14. 14 illustrates an operation example of a module assembly using an arrow pattern and an execution pause pattern set in a pattern recognition mode based on the embodiments of FIGS. 11 to 13.

모듈 어셈블리(1400)는 모듈 1410 내지 모듈 1460을 포함한다. 모듈 어셈블리(1400)은 모듈 어셈블리의 실행 순서 상의 모듈 기능 또는 실행 방향을 결정하는 모듈 기능을 나타내는 실행 카테고리 중, 'START' 모듈(1410), 'SEQUENCE DOWN' 모듈(1420) 및 'POSE' 모듈(1440)의 기능을 수행하게 된다.The module assembly 1400 includes modules 1410 to 1460. The module assembly 1400 is a'START' module 1410, a'SEQUENCE DOWN' module 1420, and a'POSE' module among execution categories representing module functions or module functions that determine the execution direction in the execution order of the module assembly ( 1440).

모듈(1410)은 모듈 어셈블리(1400)의 실행 순서 상에서 시작 기능을 수행하고, 모듈(1420)은 모듈 어셈블리(1400)의 실행 방향을 아래 방향으로 변경한다. 모듈(1440)은 모듈 어셈블리(1400)의 실행을 일시 정지시킨다. 따라서, 모듈 어셈블리(1400)는 모듈 1410, 모듈 1420, 모듈 1430, 모듈 1440의 순으로 실행된 후, 일시 정지된다.The module 1410 performs a start function on the execution order of the module assembly 1400, and the module 1420 changes the execution direction of the module assembly 1400 downward. The module 1440 temporarily stops the execution of the module assembly 1400. Accordingly, the module assembly 1400 is executed in the order of module 1410, module 1420, module 1430, and module 1440, and then pauses.

본 발명의 실시예에 따르면 모듈 어셈블리(1400)에서 컨트롤 모듈이 하나 존재하면, 예를 들어, 하드웨어 인터페이스 모듈(1410)이 컨트롤 모듈의 역할을 수행하는 경우, 해당 하드웨어 인터페이스 모듈(1410)이 도 6에서 전술한 바와 같은 조립 정보를 수집하며, 수집된 조립 정보는 조립 정보 제공 서버(2) 또는 사용자 단말(3)에 제공될 수 있다. According to an embodiment of the present invention, if there is one control module in the module assembly 1400, for example, when the hardware interface module 1410 serves as a control module, the corresponding hardware interface module 1410 is shown in FIG. 6. In the assembly information as described above is collected, and the collected assembly information may be provided to the assembly information providing server 2 or the user terminal 3.

이 경우, 조립 정보 제공 서버(2)는 조립 정보에 기초하여, 소스 코드를 생성할 수 있다. 조립 정보 제공 서버(2)는 사전에 미리 구성해 두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고 현재 사용자의 모듈 어셈블리(1400)의 조립 정보 및 데이터베이스에 기초하여 소스 코드를 제공한다. 이 때 조립 정보 제공 서버(2)가 복수의 소스 코드를 제공하는 경우에 사용자 단말(3)은 선호하는 소스 코드를 선택할 수 있는 인터페이스를 제공할 수 있다. In this case, the assembly information providing server 2 may generate a source code based on the assembly information. The assembly information providing server 2 stores the module assembly assembly information history and the corresponding source code as a database that has been configured in advance or already used by existing users, and the assembly information and database of the current user's module assembly 1400 Provide source code based on In this case, when the assembly information providing server 2 provides a plurality of source codes, the user terminal 3 may provide an interface for selecting a preferred source code.

조립 정보 제공 서버(2)는 상기 소스 코드의 실행 순서 및 문법을 체크하여, 모듈 어셈블리(1400) 조립에 오류가 있는지 여부를 판단하고, 사용자 단말(3) 또는 모듈 어셈블리(1400)에 조립 오류 정보를 제공한다. 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈 고유 정보(모듈 ID)를 포함한다.The assembly information providing server 2 checks the execution order and syntax of the source code, determines whether there is an error in assembly of the module assembly 1400, and provides assembly error information to the user terminal 3 or the module assembly 1400. Provides. The assembly error information includes at least one module-specific information (module ID) in which an error has occurred.

모듈 어셈블리(1400)는 조립 정보 제공 서버(2)로부터 제공받은 조립 오류 정보에 기초하여, 적어도 하나의 오류가 있는 모듈에 조립 오류가 있음을 출력한다. 모듈 어셈블리(600)는 적어도 하나의 오류가 있는 모듈의 LED를 소정의 색깔로 점멸시킴으로써, 조립 오류가 있음을 출력할 수 있으나, 다른 방식으로 조립 오류가 있음을 출력할 수 있음은 당업자에게 자명하다. 조립 오류의 출력은 사용자 단말(3)로부터 체크 버튼과 같은 외부 입력을 받거나, 사용자가 오류가 있는 모듈을 연결할 때 가능하나, 다양한 방식으로 조립 오류의 출력 시점을 결정할 수 있음은 당업자에게 자명하다.The module assembly 1400 outputs that there is an assembly error in a module having at least one error based on the assembly error information provided from the assembly information providing server 2. The module assembly 600 may output that there is an assembly error by flashing the LED of the module having at least one error in a predetermined color, but it is obvious to those skilled in the art that it can output that there is an assembly error in another way. . The output of the assembly error is possible when an external input such as a check button is received from the user terminal 3, or when a user connects a module with an error, but it is obvious to those skilled in the art that the timing of the assembly error can be determined in various ways.

예를 들어, 모듈 어셈블리(1400)가 모듈 630에 'START' 모듈을 포함하는 경우, 조립 정보 제공 서버(2)는 실행 순서 상에 'START' 모듈이 중복되었다는 오류를 판단하고, 모듈 1430의 모듈 고유 정보를 포함하는 조립 오류 정보를 사용자 단말(3) 또는 모듈 어셈블리(1400)에 제공한다. 모듈 어셈블리(1400)는 조립 오류 정보에 기초하여 모듈 1430의 LED를 빨간색으로 점멸시킴으로써, 조립 오류가 있음을 출력할 수 있다.For example, when the module assembly 1400 includes the'START' module in the module 630, the assembly information providing server 2 determines an error that the'START' module is duplicated in the execution order, and the module 1430 Assembly error information including unique information is provided to the user terminal 3 or the module assembly 1400. The module assembly 1400 may output that there is an assembly error by blinking the LED of the module 1430 in red based on the assembly error information.

조립 정보 제공 서버(2)는 조립 정보에 기초하여 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천할 수 있다. 조립 정보 제공 서버(2)는 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고, 현재 조립된 모듈 어셈블리(1400)의 조립 정보 및 데이터베이스에 기초하여 소스 코드를 제공한다. 이 때 조립 정보 제공 서버(2)가 복수의 소스 코드를 제공하는 경우에 사용자 단말(3)은 선호하는 소스 코드를 선택할 수 있는 인터페이스를 제공할 수 있다.The assembly information providing server 2 may recommend module information of a location to be removed, replaced, or added and the location based on the assembly information. The assembly information providing server 2 stores the module assembly assembly information history and the corresponding source code as a database, which has been configured in advance or already used by existing users, and stores the assembly information of the currently assembled module assembly 1400 and Provide source code based on database. In this case, when the assembly information providing server 2 provides a plurality of source codes, the user terminal 3 may provide an interface for selecting a preferred source code.

조립 정보 제공 서버(2)는 상기 소스 코드에 기초하여, 모듈 어셈블리(1400)에서 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천한다. 조립 정보 제공 서버(2)는 현재 조립된 모듈 어셈블리(1400)의 상기 소스 코드의 실행 순서 및 문법을 체크하여, 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 조립 도움 정보에 포함하여 사용자 단말(3) 또는 모듈 어셈블리(1400)에게 제공한다.The assembly information providing server 2 recommends module information of a location to be removed, replaced, or added from the module assembly 1400 and the location based on the source code. The assembly information providing server 2 checks the execution order and syntax of the source code of the currently assembled module assembly 1400, and includes module information of locations to be removed, replaced, and added, and the location of the module assembly 1400 in assembly help information. It is provided to the terminal 3 or the module assembly 1400.

예를 들어 조립 정보 제공 서버(2)는 모듈 어셈블리(1400)의 실행 순서 상 추가할 위치의 모듈인 모듈 1440의 정보와 오른쪽 방향의 위치를 조립 도움 정보에 포함하여 사용자 단말(3) 또는 모듈 어셈블리(1400)에게 제공한다. 모듈 어셈블리(600)는 조립 도움 정보에 기초하여, 모듈 1440의 LED를 오른쪽 방향으로 점멸시킨다. LED를 오른쪽 방향으로 점멸시키는 방식은 모듈의 LED를 상, 하, 좌, 우의 구역으로 나누고 '우' 구역을 점멸시킬 수 있으나, 다양한 방식으로 오른쪽 방향 점멸을 구현할 수 있음은 당업자에게 자명하다. 모듈 어셈블리(600)가 조립 도움 정보에 기초하여, 제거, 치환 및 추가할 위치의 모듈을 출력하는 시점은 사용자 단말(3)로부터 체크 버튼과 같은 외부 입력을 받거나, 사용자가 제거, 치환 및 추가할 위치의 모듈을 연결할 때 가능하나, 다양한 방식으로 제거, 치환 및 추가할 위치의 모듈을 출력하는 시점을 결정할 수 있음은 당업자에게 자명하다.For example, the assembly information providing server 2 includes information on the module 1440, which is a module at a location to be added in the execution order of the module assembly 1400, and a location in the right direction in the assembly help information, so that the user terminal 3 or the module assembly Provided to (1400). The module assembly 600 blinks the LED of the module 1440 in the right direction based on the assembly assistance information. The method of blinking the LED in the right direction divides the LED of the module into upper, lower, left, and right areas and flashes the'right' area, but it is obvious to those skilled in the art that the right direction blinking can be implemented in various ways. The time point at which the module assembly 600 outputs the module at the location to be removed, replaced, or added based on the assembly assistance information is, it receives an external input such as a check button from the user terminal 3, or the user can remove, replace, or add. It is possible to connect the module of the location, but it is obvious to those skilled in the art that the timing of outputting the module of the location to be removed, replaced and added can be determined in various ways.

또한, 조립 정보 제공 서버(2)는 조립 정보에 기초하여, 디버깅용 소스 코드를 생성한다. 조립 정보 제공 서버(2)는 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 디버깅용 소스 코드를 데이터베이스로 저장하고 현재 사용자의 모듈 어셈블리(600)의 조립 정보 및 데이터베이스에 기초하여 디버깅용 소스 코드를 제공한다. 조립 정보 제공 서버(2) 또는 사용자 단말(3)은 디버깅용 소스 코드를 컴파일한 실행 파일(이하, 펌웨어)을 모듈 어셈블리(1400)에게 제공한다. 디버깅용 펌웨어는 모듈 어셈블리(1400)에 다운로드된다. 디버깅용 펌웨어는 모듈 어셈블리(1400)의 실행 순서에 따라, 실행되는 모듈의 LED를 소정의 속도로 점멸시킨다. 예를 들어, 모듈 어셈블리(1400)는 실행 순서에 따라, 모듈 610, 모듈 1420, 모듈 1430, 모듈 1440의 순서로 각각의 모듈의 LED를 빨간색으로 소정의 속도로 점멸시킨다. 모듈 어셈블리(1400)가 입력 모듈에서 입력 순서를 기다리는 경우, LED 색깔을 빨간색과 다른 색깔(예. 파란색)로 다르게 점멸시킬 수 있다.In addition, the assembly information providing server 2 generates a source code for debugging based on the assembly information. The assembly information providing server 2 stores the module assembly assembly information history and corresponding debugging source code in a database that has been configured in advance or already used by existing users, and assembly information of the current user's module assembly 600 And a source code for debugging based on a database. The assembly information providing server 2 or the user terminal 3 provides the module assembly 1400 with an executable file (hereinafter, referred to as firmware) compiled with the source code for debugging. The firmware for debugging is downloaded to the module assembly 1400. The debugging firmware flashes the LED of the module to be executed at a predetermined speed according to the execution order of the module assembly 1400. For example, the module assembly 1400 blinks the LED of each module in red at a predetermined speed in the order of module 610, module 1420, module 1430, and module 1440 according to the execution order. When the module assembly 1400 waits for an input sequence from the input module, the color of the LED may flash differently from red (eg, blue).

상술한 바와 같이, 패턴 인식 모드 또는 논리 모드를 포함하는 PnP 모드를 통하여 생성된 또는 저장된 코드는 서버(2) 또는 사용자 단말(3)으로 직접 로드될 수 있으며, 모듈 어셈블리(1400)의 동작을 위한 실행 프로그램 코딩시에 사용될 수 있다. (업로드 모드)As described above, the code generated or stored through the PnP mode including the pattern recognition mode or the logical mode may be directly loaded into the server 2 or the user terminal 3, and for the operation of the module assembly 1400 It can be used when coding an executable program. (Upload mode)

하드웨어 인터페이스 모듈(10)을 포함하는 모듈 어셈블리(1400)가 사용자 단말(10)(또는 서버)과 연결되고. 하드웨어 인터페이스 모듈(10)에서 생성된 PnP 코드는 연결된 사용자 단말에서 실행되는 모듈 어셈블리 실행 코드 저작시스템(1500)에 업로드가 된다. A module assembly 1400 including a hardware interface module 10 is connected to the user terminal 10 (or server). The PnP code generated by the hardware interface module 10 is uploaded to the module assembly execution code authoring system 1500 executed in the connected user terminal.

예를 들어, 도 15와 같이, 패턴에서 생성된 시퀀스 또는 논리 모드에서 생성된 PnP 코드는 업로드 후 아이콘(1510)으로 표시되게 되는데, 이 아이콘(1510)을 드래그하면, 실행 함수(1520)로 형성되어 모듈 어셈블리 실행 코드 저작시스템(1500)에 표시된다. 즉, 도 15의 실시예는 업로드 모드 중 PnP 코드 출력 모드로서 하드웨어 인터페이스 모듈(10)의 아이콘(1510)이 하드웨어 인터페이스 모듈(10)을 통해 생성한 PnP 코드의 실행 함수를 나타내게 된다. For example, as shown in FIG. 15, a sequence generated from a pattern or a PnP code generated in a logical mode is displayed as an icon 1510 after uploading. When this icon 1510 is dragged, it is formed as an execution function 1520 Is displayed in the module assembly execution code authoring system 1500. That is, the embodiment of FIG. 15 is a PnP code output mode among upload modes, and the icon 1510 of the hardware interface module 10 represents an execution function of the PnP code generated through the hardware interface module 10.

한편, 업로드 모드 중, PnP 코드 출력 모드가 아닌 패턴 입력 업로드 모드 인 경우에는 패턴 자체가 입력 수단으로서 사용될 수 있다. 예컨대, 도 16을 참조하면, PnP 코드를 포함하지 않는 경우에, 하드웨어 인터페이스 모듈(10)의 아이콘(1610)을 이용하여 코딩이 가능하다(1610). Meanwhile, in the upload mode, when the pattern input upload mode is not the PnP code output mode, the pattern itself may be used as an input means. For example, referring to FIG. 16, when a PnP code is not included, coding is possible using an icon 1610 of the hardware interface module 10 (1610).

도 16의 실시예에서는, 하드웨어 인터페이스 모듈(10) 상의 프로그래머블 버튼(185)이 특정 패턴을 나타내는 경우에, 특정 그림 파일을 출력하고, 500ms동안 대기하라는 코드를 생성하였다. 즉, 사용자는 하드웨어 인터페이스 모듈(10)의 아이콘(1610)을 활용하여 코딩을 수행하였다.In the embodiment of FIG. 16, when the programmable button 185 on the hardware interface module 10 represents a specific pattern, a code to output a specific picture file and wait for 500 ms is generated. That is, the user has performed coding by using the icon 1610 of the hardware interface module 10.

따라서, 본 발명에 따르면, 모듈 어셈블리의 조립 정보 및 모듈 어셈블리에서 제공하는 입력 버튼에 기초하여 하드웨어 상에서 직관적으로 직접 코딩하거나, 소프트웨어 상의 코딩을 용이하게 하도록 도울 수 있으며, 하드웨어 상에서 쉽게 정보를 입력할 수 있도록 하는 모듈 어셈블리를 제공할 수 있다.Therefore, according to the present invention, based on the assembly information of the module assembly and the input button provided by the module assembly, it is possible to directly code directly on the hardware or to help facilitate coding on the software, and it is possible to easily input information on the hardware. You can provide a module assembly that allows you to

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 펌웨어(firmware), 소프트웨어(software) 또는 하드웨어(hardware)로 구성된다. 알고리즘 또는 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 디지털 신호 처리 디바이스(Digital Signal Processing Device)의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.Combinations of each block of the attached block diagram and each step of the flowchart are composed of firmware, software, or hardware. It may be performed by algorithms or computer program instructions. These algorithms or computer program instructions can be mounted on the processor of a general purpose computer, special purpose computer or other programmable digital signal processing device, so that the instructions executed by the processor of the computer or other programmable data processing equipment. These will create means for performing the functions described in each block of the block diagram or each step of the flowchart.

이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.These algorithms or computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular manner, so that the computer-readable or computer-readable It is also possible to produce an article of manufacture containing instruction means for performing the functions described in each block of the block diagram or each step of the flow chart. Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operating steps are performed on a computer or other programmable data processing equipment to create a computer-executable process to create a computer or other programmable data processing equipment. It is also possible for the instructions to perform the processing equipment to provide steps for performing the functions described in each block of the block diagram and each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block or each step may represent a module, segment, or part of code comprising one or more executable instructions for executing the specified logical function(s). It should also be noted that in some alternative embodiments, the functions mentioned in blocks or steps may occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially simultaneously, or the blocks or steps may sometimes be performed in the reverse order depending on the corresponding function.

이상으로 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the present invention has been described in more detail by way of examples above, the present invention is not necessarily limited to these embodiments, and various modifications may be made without departing from the spirit of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

본 발명의 예시적인 실시예에 따른 장치는 도시된 바와 같은 장치 각각의 유닛들에 커플링된 버스, 상기 버스에 커플링된 적어도 하나의 프로세서를 포함할 수 있고, 명령, 수신된 메시지 또는 생성된 메시지를 저장하기 위해 상기 버스에 커플링되고, 전술한 바와 같은 명령들을 수행하기 위한 적어도 하나의 프로세서에 커플링된 메모리를 포함할 수 있다. An apparatus according to an exemplary embodiment of the present invention may include a bus coupled to each unit of the apparatus as shown, at least one processor coupled to the bus, and may include an instruction, a received message or a generated A memory coupled to the bus for storing messages and coupled to at least one processor for performing instructions as described above may be included.

또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 상기 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등) 및 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.In addition, the system according to the present invention can be implemented as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices that store data that can be read by a computer system. The computer-readable recording media include magnetic storage media (eg, ROM, floppy disk, hard disk, etc.) and optical reading media (eg, CD-ROM, DVD, etc.). In addition, the computer-readable recording medium can be distributed over a computer system connected through a network to store and execute computer-readable codes in a distributed manner.

Claims (17)

제1 기능 모듈; 제2 기능 모듈 및
상기 제1 기능 모듈과 상기 제2 기능 모듈과 연결될 때에 연결되는 조립 구조 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈의 모듈 ID를 포함하는 조립 정보를 생성하는 조립 정보 생성부; 및 복수의 프로그래머블 버튼;을 포함하며 각 복수의 프로그래머블 버튼의 눌림 여부를 입력 패턴으로서 저장하는 버튼 입력 제어부를 포함하는 하드웨어 인터페이스 모듈;을 포함하되,
상기 하드웨어 인터페이스 모듈은 상기 입력 패턴 및 상기 조립 정보에 기초하여 상기 제1 기능 모듈 및 상기 제2 기능 모듈에서 생성하는 신호에 대한 논리 연산을 수행하는 코드를 로딩하고,
상기 프로그래머블 버튼은 인쇄회로기판 상에 배치된 푸시 스위치 상면에 장착되는 3색 LED를 포함하며, 사용자에 의해 상기 프로그래머블 버튼이 사용자에 의해 눌릴 경우, 상기 3색 LED의 빛을 외부에서 시인할 수 있도록 상기 3색 LED 상면에는 반투명한 재질로 이루어진 원통형의 강성 반투명 고무가 배치되는,
모듈 어셈블리.
A first function module; The second function module and
An assembly information generator for generating assembly information including an assembly structure connected when the first function module and the second function module are connected and module IDs of the first and second function modules; And a plurality of programmable buttons; and a hardware interface module including a button input control unit that stores whether or not each of the plurality of programmable buttons is pressed as an input pattern;
The hardware interface module loads a code for performing a logical operation on signals generated by the first function module and the second function module based on the input pattern and the assembly information,
The programmable button includes a three-color LED mounted on an upper surface of a push switch disposed on a printed circuit board, and when the programmable button is pressed by a user, the light of the three-color LED can be visually recognized from the outside. A cylindrical rigid translucent rubber made of a translucent material is disposed on the upper surface of the three-color LED,
Module assembly.
삭제delete 제1항에 있어서,
상기 복수의 프로그래머블 버튼은 상기 논리 연산을 수행하는 코드를 생성하는 논리 모드에서 논리 버튼, 방향 버튼 및 설정 버튼을 포함하며, 상기 방향 버튼은 외곽부의 방향설정 영역에 배치되며 상기 제1 기능 모듈 및 제2 기능 모듈 중 어느 하나를 지정하고, 상기 논리 버튼은 서로 상이한 연산 표시를 포함한 중심부의 네 측 모서리 영역에 배치되며 지정된 모듈에 대하여 논리 버튼에 대응하는 논리 연산을 수행하는 코드를 생성하도록 구성되는,
모듈 어셈블리.
The method of claim 1,
The plurality of programmable buttons include a logic button, a direction button, and a setting button in a logic mode for generating a code for performing the logical operation, and the direction button is disposed in a direction setting area of an outer portion, and the first function module and the first function module 2 designating any one of the function modules, the logic button is disposed in the four corner regions of the center including the operation display different from each other and configured to generate a code for performing a logic operation corresponding to the logic button for the designated module,
Module assembly.
제3항에 있어서,
상기 설정 버튼에 의하여 상기 논리 모드의 시작을 설정하며, 상기 방향 버튼을 이용하여 상기 논리 연산의 대상 모듈 및 상기 논리 연산의 결과를 반영할 모듈이 연결된 방향을 지정하고 상기 논리 버튼을 이용하여 논리 연산을 입력한 후, 상기 설정 버튼이 눌려지면 상기 논리 연산을 수행하는 코드가 생성되는,
모듈 어셈블리.
The method of claim 3,
The start of the logic mode is set by the setting button, and the direction button is used to designate a direction in which the target module of the logical operation and the module to reflect the result of the logical operation are connected, and the logical operation is performed by using the logic button. After inputting, when the setting button is pressed, a code for performing the logical operation is generated,
Module assembly.
삭제delete 제1항에 있어서,
상기 복수의 프로그래머블 버튼은 설정 버튼을 포함하며, 상기 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩하는 패턴 인식 모드에서, 상기 모듈 어셈블리의 메모리에 저장된 패턴 프로파일에 해당하는 패턴을 표시될 때에 상기 설정 버튼을 누르면, 상기 복수의 미리 저장된 패턴 중 어느 하나의 미리 저장된 패턴이 선택되는,
모듈 어셈블리.
The method of claim 1,
The plurality of programmable buttons includes a setting button, and in a pattern recognition mode in which a code corresponding to a previously stored pattern selected by the user is loaded, the setting when a pattern corresponding to a pattern profile stored in the memory of the module assembly is displayed. When a button is pressed, any one of the plurality of pre-stored patterns is selected,
Module assembly.
모듈 어셈블리 및
상기 모듈 어셈블리와 연결되며, 사용자 단말에서 실행되며 상기 모듈 어셈블리에서 동작할 프로그램을 코딩할 수 있는 실행 코드 저작툴을 포함하며,
상기 모듈 어셈블리는 :
제1 기능 모듈; 제2 기능 모듈 및
상기 제1 기능 모듈 및 상기 제2 기능 모듈과 연결될 때에 연결되는 조립 구조 및 상기 제1 기능 모듈 및 상기 제2 기능 모듈의 모듈 ID를 포함하는 조립 정보를 생성하는 조립 정보 생성부, 복수의 프로그래머블 버튼을 포함하며 각 복수의 프로그래머블 버튼의 눌림 여부를 입력 패턴으로서 저장하는 버튼 입력 제어부를 포함하는 하드웨어 인터페이스 모듈;을 포함하며,
상기 하드웨어 인터페이스 모듈은 상기 입력 패턴 및 상기 조립 구조에 기초하여 상기 제1 기능 모듈에서 생성하는 신호에 대한 논리 연산을 수행하는 코드를 로딩하고,
상기 프로그래머블 버튼은 인쇄회로기판 상에 배치된 푸시 스위치 상면에 장착되는 3색 LED를 포함하며, 사용자에 의해 상기 프로그래머블 버튼이 사용자에 의해 눌릴 경우, 상기 3색 LED의 빛을 외부에서 시인할 수 있도록 상기 3색 LED 상면에는 반투명한 재질로 이루어진 원통형의 강성 반투명 고무가 배치되는,
모듈 어셈블리 실행 코드 저작시스템.
Module assembly and
It is connected to the module assembly and includes an execution code writing tool that is executed in a user terminal and capable of coding a program to be operated in the module assembly,
The module assembly is:
A first function module; The second function module and
An assembly information generation unit for generating assembly information including an assembly structure connected when the first function module and the second function module are connected, and module IDs of the first function module and the second function module, and a plurality of programmable buttons And a hardware interface module including a button input control unit that stores whether or not each of the plurality of programmable buttons is pressed as an input pattern; and
The hardware interface module loads a code for performing a logical operation on a signal generated by the first function module based on the input pattern and the assembly structure,
The programmable button includes a three-color LED mounted on an upper surface of a push switch disposed on a printed circuit board, and when the programmable button is pressed by a user, the light of the three-color LED can be visually recognized from the outside. A cylindrical rigid translucent rubber made of a translucent material is disposed on the upper surface of the three-color LED,
Module assembly execution code authoring system.
삭제delete 제7항에 있어서,
상기 복수의 프로그래머블 버튼은 상기 논리 연산을 수행하는 코드를 생성하는 논리 모드에서 논리 버튼, 방향 버튼 및 설정 버튼을 포함하며, 상기 방향 버튼은 상기 제1 기능 모듈 및 제2 기능 모듈 중 어느 하나를 지정하고, 상기 논리 버튼은 지정된 모듈에 대하여 논리 버튼에 대응하는 논리 연산을 수행하는 코드를 생성하도록 구성되는,
모듈 어셈블리 실행 코드 저작시스템.
The method of claim 7,
The plurality of programmable buttons includes a logic button, a direction button, and a setting button in a logic mode for generating a code for performing the logical operation, and the direction button designates any one of the first function module and the second function module. And, the logic button is configured to generate a code for performing a logic operation corresponding to the logic button on the designated module,
Module assembly execution code authoring system.
제9항에 있어서,
상기 설정 버튼에 의하여 상기 논리 모드가 시작되며, 상기 방향 버튼 및 상기 논리 버튼에 의하여 모듈 지정 및 논리 연산 지정이 완료된 후에 상기 설정 버튼이 눌려지면 상기 논리 연산을 수행하는 코드가 생성되는,
모듈 어셈블리 실행 코드 저작시스템.
The method of claim 9,
The logic mode is started by the setting button, and when the setting button is pressed after module designation and logic operation designation are completed by the direction button and the logic button, a code for performing the logic operation is generated,
Module assembly execution code authoring system.
삭제delete 제9항에 있어서,
상기 복수의 프로그래머블 버튼은 설정 버튼을 포함하며, 상기 사용자가 선택한 미리 저장된 패턴에 대응하는 코드를 로딩하는 패턴 인식 모드에서, 상기 모듈 어셈블리의 메모리에 저장된 패턴 프로파일에 해당하는 패턴을 표시될 때에 상기 설정 버튼을 누르면, 상기 복수의 미리 저장된 패턴 중 어느 하나의 미리 저장된 패턴이 선택되는,
모듈 어셈블리 실행 코드 저작시스템.
The method of claim 9,
The plurality of programmable buttons includes a setting button, and in a pattern recognition mode in which a code corresponding to a previously stored pattern selected by the user is loaded, the setting when a pattern corresponding to a pattern profile stored in the memory of the module assembly is displayed. When a button is pressed, any one of the plurality of pre-stored patterns is selected,
Module assembly execution code authoring system.
제7항에 있어서,
상기 실행 코드 저작툴은 상기 하드웨어 인터페이스 모듈에 의해 생성되어 상기 논리 연산을 수행하는 코드 또는 상기 사용자가 선택한 미리 저장된 패턴에 대응하는 코드에 대응하는 아이콘을 표시하고, 상기 아이콘이 표시되는 영역에서 타 영역으로 상기 아이콘을 드래그 하면 상기 아이콘에 해당하는 상기 코드의 논리 연산을 프로그래밍할 수 있는 실행 함수가 표시되는,
모듈 어셈블리 실행 코드 저작시스템.
The method of claim 7,
The execution code authoring tool displays an icon corresponding to a code that is generated by the hardware interface module to perform the logical operation or a code corresponding to a pre-stored pattern selected by the user, and moves the icon from the displayed area to another area. When the icon is dragged, an execution function capable of programming a logical operation of the code corresponding to the icon is displayed,
Module assembly execution code authoring system.
제7항에 있어서,
상기 실행 코드 저작툴은 상기 하드웨어 인터페이스 모듈에 대응하는 아이콘을 포함하며, 상기 아이콘을 이용하여 상기 입력 패턴을 이용하는 코드를 제공하도록 구성되는,
모듈 어셈블리 실행 코드 저작시스템.
The method of claim 7,
The execution code authoring tool includes an icon corresponding to the hardware interface module, and is configured to provide a code using the input pattern by using the icon,
Module assembly execution code authoring system.
서로 조립 가능한 하나 이상의 모듈들로 구성된 모듈 어셈블리에 있어서,
상기 모듈 어셈블리는 하드웨어적으로 코딩을 수행할 수 있도록 기능하는 복수의 프로그래머블 버튼을 구비한 하드웨어 인터페이스 모듈 및 서로 상이한 기능을 수행하는 적어도 하나의 기능 모듈을 포함하며,
상기 하드웨어 인터페이스 모듈은 상기 복수의 프로그래머블 버튼 각각에 대한 눌림 여부에 기초한 3색 LED의 점등 여부, 소등 여부 및 색상 정보를 입력 패턴으로 서버에 저장시키고, 사용자가 손쉬운 코딩이 가능하도록 상기 입력 패턴에 대응되는 아이콘이 제공되는,
모듈 어셈블리.
In the module assembly consisting of one or more modules that can be assembled with each other,
The module assembly includes a hardware interface module having a plurality of programmable buttons functioning to perform coding in hardware and at least one function module performing different functions,
The hardware interface module stores information on whether the three-color LED is turned on or off, and color information based on whether each of the plurality of programmable buttons is pressed as an input pattern, and corresponds to the input pattern so that the user can easily code. Icon that is provided,
Module assembly.
제15항에 있어서,
상기 아이콘이 표시되는 영역에서 타 영역으로 상기 아이콘을 드래그 하면 상기 아이콘에 해당하는 코드의 논리 연산을 프로그래밍할 수 있는 실행 함수가 표시되는,
모듈 어셈블리.
The method of claim 15,
When the icon is dragged from the area where the icon is displayed to another area, an execution function capable of programming a logical operation of a code corresponding to the icon is displayed,
Module assembly.
제15항에 있어서,
상기 아이콘은 상기 3색 LED의 점등 여부 표시를 포함하는,
모듈 어셈블리.
The method of claim 15,
The icon includes an indication of whether the three-color LED is lit or not,
Module assembly.
KR1020190003099A 2019-01-10 2019-01-10 A Programable Module Assembly And Executable Code Producing System Therefore KR102211422B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190003099A KR102211422B1 (en) 2019-01-10 2019-01-10 A Programable Module Assembly And Executable Code Producing System Therefore

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190003099A KR102211422B1 (en) 2019-01-10 2019-01-10 A Programable Module Assembly And Executable Code Producing System Therefore

Publications (2)

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

Family

ID=71831804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190003099A KR102211422B1 (en) 2019-01-10 2019-01-10 A Programable Module Assembly And Executable Code Producing System Therefore

Country Status (1)

Country Link
KR (1) KR102211422B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012186061A (en) * 2011-03-07 2012-09-27 Fujitsu Component Ltd Illuminated keyboard device
KR101368749B1 (en) * 2012-10-25 2014-02-28 전석주 A digital arty toy kit for programming education
KR101483017B1 (en) * 2014-06-26 2015-01-16 주식회사 헬로긱스 Connectable apparatus for self programable blocks
KR101696151B1 (en) * 2016-06-09 2017-01-12 신재광 MODULAR ROBOTICS SYSTEM BASED ON IoT

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
등록특허공보 제10-1368749호(2014.2.28. 공고) 1부.*
등록특허공보 제10-1483017호(2015.1.16. 공고) 1부.*
등록특허공보 제10-1696151호(2017.1.12. 공고) 1부.*
일본 공개특허공보 특개2012-186061호(2012.9.27. 공개) 1부.*

Also Published As

Publication number Publication date
KR20200086834A (en) 2020-07-20

Similar Documents

Publication Publication Date Title
JP7100086B2 (en) Toy building system with function building elements
JP2011500116A (en) Toy construction system
CN104096366A (en) Intelligent toy block system and control method for intelligent toy blocks
KR20030012488A (en) Training system for microrobot control program and method thereof
KR20180130934A (en) A smart coding block sets of wireless communication-based capable of software coding education
KR102211422B1 (en) A Programable Module Assembly And Executable Code Producing System Therefore
KR102217922B1 (en) A system for providing assembly information and a module assembly
EP3191940B1 (en) A method for establishing a functional relationship between input and output functions
EP3478380A1 (en) 3d multi-threaded, parameter layered, physical programming interface
US20220118376A1 (en) A toy construction system with interactive function construction elements
US20210252701A1 (en) Modular robot system
US20120021732A1 (en) Cloud computing system configured for a consumer to program a smart phone or touch pad
KR102289872B1 (en) A plug and play module assembly and a plug and play system
US20210200516A1 (en) System for coding without compilation and a module assembly
US10136242B2 (en) Cloud computing system configured for a consumer to program a smart phone and touch pad
CN109545035A (en) The graphical hardware programming compatible system of more interacting messages and method
CN211383805U (en) Electronic building block and electronic building block system
US20210213356A1 (en) Reader participation type electronic book system using module and operation method
KR102301027B1 (en) A system and method for constructing a reader participation type electronic book using module
CN213521368U (en) Multifunctional intelligent controller
KR102205158B1 (en) Smart toy
CN213432984U (en) Building block assembly and remote control building block system
CN213667911U (en) Toy car
CN103019667B (en) It is configured the cloud computing system that consumer programs to smart phone or Trackpad
JP2021511924A (en) Toy construction system with robot control device

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