KR102298631B1 - 컴파일 없는 코딩시스템 및 모듈 어셈블리 - Google Patents

컴파일 없는 코딩시스템 및 모듈 어셈블리 Download PDF

Info

Publication number
KR102298631B1
KR102298631B1 KR1020190175319A KR20190175319A KR102298631B1 KR 102298631 B1 KR102298631 B1 KR 102298631B1 KR 1020190175319 A KR1020190175319 A KR 1020190175319A KR 20190175319 A KR20190175319 A KR 20190175319A KR 102298631 B1 KR102298631 B1 KR 102298631B1
Authority
KR
South Korea
Prior art keywords
module
function
modules
sequence
function operation
Prior art date
Application number
KR1020190175319A
Other languages
English (en)
Other versions
KR20210082897A (ko
Inventor
박휘재
정윤상
손승배
Original Assignee
주식회사 럭스로보
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 럭스로보 filed Critical 주식회사 럭스로보
Priority to KR1020190175319A priority Critical patent/KR102298631B1/ko
Priority to US16/992,372 priority patent/US11455147B2/en
Priority to EP20193928.7A priority patent/EP3842107A1/en
Publication of KR20210082897A publication Critical patent/KR20210082897A/ko
Application granted granted Critical
Publication of KR102298631B1 publication Critical patent/KR102298631B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R13/00Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
    • H01R13/62Means for facilitating engagement or disengagement of coupling parts or for holding them in engagement
    • H01R13/6205Two-part coupling devices held in engagement by a magnet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H30/00Remote-control arrangements specially adapted for toys, e.g. for toy vehicles
    • A63H30/02Electrical arrangements
    • A63H30/04Electrical arrangements using wireless transmission
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/04Building blocks, strips, or similar building parts
    • A63H33/042Mechanical, electrical, optical, pneumatic or hydraulic arrangements; Motors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/04Building blocks, strips, or similar building parts
    • A63H33/06Building blocks, strips, or similar building parts to be assembled without the use of additional elements
    • A63H33/08Building blocks, strips, or similar building parts to be assembled without the use of additional elements provided with complementary holes, grooves, or protuberances, e.g. dovetails
    • A63H33/084Building blocks, strips, or similar building parts to be assembled without the use of additional elements provided with complementary holes, grooves, or protuberances, e.g. dovetails with grooves
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B1/00Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways
    • G09B1/32Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support
    • G09B1/325Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support the elements comprising interacting electronic components
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B1/00Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways
    • G09B1/32Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support
    • G09B1/36Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support the elements being connectible by corresponding projections and recesses
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R9/00Structural associations of a plurality of mutually-insulated electrical connecting elements, e.g. terminal strips or terminal blocks; Terminals or binding posts mounted upon a base or in a case; Bases therefor
    • H01R9/22Bases, e.g. strip, block, panel
    • H01R9/24Terminal blocks
    • H01R9/2408Modular blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Toys (AREA)
  • Selective Calling Equipment (AREA)

Abstract

본 발명은 사용자 단말 및 펑션 정보 제공 서버와 네트워크에 의해 연결되며 복수의 모듈을 포함하는 모듈 어셈블리; 및 모듈 어셈블리를 구성하는 복수의 모듈로부터 펑션 정보를 수신하는 펑션 정보 수신부; 펑션 정보에 기초하여 펑션 동작 순서에 대한 전체 시퀀스를 생성하는 펑션 동작 순서 생성부; 및 펑션 동작 순서에 기초하여 모듈에 명령어를 전달하는 펑션 동작 정보 전송부를 포함하는 펑션 정보 제공 서버;를 포함하고, 명령어는 펑션 동작 순서에 기초하여 동작하는 모듈에 대하여 다음으로 릴레이되는 넥스트 모듈의 고유 정보 및 넥스트 모듈에서 실행하고자 하는 펑션 넘버(Function number) 형태의 펑션 정보 중 적어도 하나를 포함하며, 명령어는 펑션 동작 순서에 기초하여 릴레이(Relay)되는 모듈에 순차적으로 전달되도록 구성된 컴파일 없는 코딩시스템이다.

Description

컴파일 없는 코딩시스템 및 모듈 어셈블리{A SYSTEM FOR CODING WITHOUT COMPILE AND A MODULE ASSEMBLY}
본 발명은 컴파일 없는 코딩시스템 및 모듈 어셈블리에 관한 것으로서, 보다 상세하게는 펑션 동작 순서에 기초하여 모듈 어셈블리가 릴레이 동작할 수 있도록 컴파일 과정을 생략함으로써 작업을 간소화함과 동시에 효율을 극대화할 수 있는 컴파일 없는 코딩시스템 및 모듈 어셈블리에 관한 것이다.
최근 교육, 취미, 연구, 생산 등을 목적으로 하는 다양한 모듈 기반 제작 도구들이 제안되고 있다. 이러한 제작 도구들에 포함된 모듈들은 각각 특정한 기능을 수행할 수 있으며, 서로 연결되어 모듈 어셈블리를 형성할 수 있도록 제공된다. 이때, 각각의 모듈은 서로 전기적으로도 연결되어 에너지, 신호, 데이터 등을 송수신할 수 있도록 제공될 수도 있다. 사용자는 제공된 매뉴얼 또는 스스로 창작한 방식에 따라 모듈들을 조립하여 특정한 목적을 수행하는 모듈 어셈블리를 제작할 수 있다.
일 예로, 특허문헌 1(대한민국 등록특허 제1761596호)은 네트워크 모듈, 구동 모듈, 센서 모듈 등 다양한 종류의 모듈을 조립하여 제작한 모듈 어셈블리를 개시하고 있다. 이 때, 모듈 어셈블리는 학생이나 사용자가 모듈(10, 20, 30, 40)들을 조립하면서 전자 장치의 작동 원리를 이해할 수 있는 교육용 키트 또는, 연구원이 특정 목적을 수행하기 위한 장치를 제작하기 위해 사용되는 연구용 키트 및 사용자가 취미용으로 조립 가능한 장난감 키트 등의 다양한 용도로 활용될 수 있다.
이러한 모듈 어셈블리들은 위에 언급한 바와 같이 소프트웨어 또는 하드웨어의 전문가인 연구원부터 학생, 일반인 등 다양한 사람들이 이용하고 있다. 단, 전문가를 제외한 일반인이나 학생들은 각 모듈들이 제대로 동작할 수 있도록 조립하고, 조립된 모듈 어셈블리를 구동시키기에 적합한 소프트웨어를 작성하여 사용하는 것이 어려울 수 있어서, 상술한 모듈의 보급에 제약이 될 수 있다.
특히, 센서나 버튼 등의 다양한 하드웨어에서 생성된 신호들을 논리 연산하는 등의 코딩들은 다양한 API(Application Program Interface)를 활용해야 하므로, 일반인이나 학생들에게는 난이도가 높은 코딩 기법이 될 수 있다. 따라서, 전문가를 제외한 사람들이 보다 쉽게 다양한 하드웨어를 활용할 수 있도록 컴파일 과정이 생략된 시스템이 필요하다.
본 발명은 상술한 기술적 문제에 대응하기 위하여 안출된 것으로, 본 발명의 목적은 종래 기술에서의 한계와 단점에 의해 발생하는 다양한 문제점을 실질적으로 보완할 수 있는 것으로, 펑션 동작 순서에 기초하여 모듈 어셈블리가 릴레이 동작할 수 있도록 컴파일 과정을 생략함으로써 작업을 간소화함과 동시에 효율을 극대화할 수 있는 컴파일 없는 코딩 시스템 및 모듈 어셈블리를 제공하는데 있다.
본 발명의 일 실시예에 따르면 컴파일 없는 코딩시스템은 사용자 단말 및 펑션 정보 제공 서버와 네트워크에 의해 연결되며 복수의 모듈을 포함하는 모듈 어셈블리; 및 모듈 어셈블리를 구성하는 복수의 모듈로부터 펑션 정보를 수신하는 펑션 정보 수신부; 펑션 정보에 기초하여 펑션 동작 순서에 대한 전체 시퀀스를 생성하는 펑션 동작 순서 생성부; 및 펑션 동작 순서에 기초하여 모듈에 명령어를 전달하는 펑션 동작 정보 전송부를 포함하는 펑션 정보 제공 서버;를 포함하고, 명령어는 펑션 동작 순서에 기초하여 동작하는 모듈에 대하여 다음으로 릴레이되는 넥스트 모듈의 고유 정보 및 넥스트 모듈에서 실행하고자 하는 펑션 넘버(Function number) 형태의 펑션 정보 중 적어도 하나를 포함하며, 명령어는 펑션 동작 순서에 기초하여 릴레이(Relay)되는 모듈에 순차적으로 전달된다.
본 발명의 일 실시예에 따르면 복수의 모듈은 모듈별로 고유의 펑션 정보를 저장하며, 모듈별로 적어도 하나의 펑션 정보를 포함한다.
본 발명의 일 실시예에 따르면 펑션 동작 순서는 사용자에 의해 모듈 어셈블리가 조립되는 순서이다.
본 발명의 일 실시예에 따르면 펑션 동작 순서는 펑션 정보에 기초하여 시퀀스 제작 시스템 내에서 생성되며 모듈 어셈블리가 조립되는 순서와 무관하다.
본 발명의 일 실시예에 따르면 펑션 정보 제공 서버는 펑션 동작 순서에 의하여 릴레이되는 모듈과 순차적으로 무선 통신하고, 전체 시퀀스 내에서 릴레이되는 모듈에 매칭되는 명령어를 전달한다.
본 발명의 일 실시예에 따르면 펑션 정보 제공 서버는 펑션 동작 순서에 의하여 릴레이되는 모듈에 전체 시퀀스를 일괄적으로 전달하고, 일괄적으로 전달된 전체 시퀀스를 수신한 모듈은 전체 시퀀스 내에서 모듈의 펑션 동작과 매칭하는 동작을 수행하고, 펑션 동작이 완료된 후 전체 시퀀스를 넥스트 모듈로 전달한다.
본 발명의 일 실시예에 따르면 펑션 동작 순서에 의하여 릴레이 되는 복수의 모듈 중 펑션 결과를 출력하는 모듈의 경우, 0 또는 1로 결과를 출력하고 펑션 정보 제공 서버는 결과를 수신하는 펑션 결과 수신부를 더 포함한다.
본 발명의 일 실시예에 따르면 펑션 동작 정보 전송부는 펑션 결과 수신부로부터 수신한 결과에 기초하여 명령어를 전달한다.
본 발명의 일 실시예에 따르면 명령어는 펑션 결과 수신부로부터 수신한 결과에 기초하여 적어도 한번 실행되거나 동일한 동작이 반복된다.
본 발명의 일 실시예에 따르면 모듈 어셈블리는 입력 모듈 및 출력 모듈 중 적어도 하나를 포함하고; 입력 모듈은 환경 모듈, 버튼 모듈, 자이로스코프 모듈, 마이크 모듈, 적외선 모듈, 다이얼 모듈 및 초음파 모듈 중 적어도 하나이고; 출력 모듈은 LED 모듈, 스피커 모듈, 디스플레이 모듈, 모터 컨트롤러 모듈 및 모터 모듈 중 적어도 하나이다.
본 발명의 일 실시예에 따르면 모듈 어셈블리는 다이얼 모듈, 버튼 모듈 및 디스플레이 모듈을 더 포함한다.
또한, 본 발명의 일 실시예에 따르면 복수의 모듈을 포함하는 모듈 어셈블리에 있어서, 복수의 모듈로부터 펑션 정보를 수신하는 펑션 정보 수신부; 펑션 정보에 기초하여 펑션 동작 순서에 대한 전체 시퀀스를 생성하는 펑션 동작 순서 생성부; 및 펑션 동작 순서에 기초하여 모듈에 명령어를 전달하는 펑션 동작 정보 전송부를 포함하는 마스터 모듈; 및 마스터 모듈로부터 수신한 1펑션 동작 순서에 기초하여 릴레이되는 동작 모듈을 포함한다.
본 발명에 따른 과제의 해결수단은 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
본 발명의 실시예들에 의하면 적어도 다음과 같은 효과가 있다.
본 발명에 따르면, 펑션 동작 순서에 기초하여 모듈 어셈블리가 릴레이 동작할 수 있도록 컴파일 과정을 생략함으로써 작업을 간소화함과 동시에 효율을 극대화할 수 있다.
본 발명에 따르면, 펑션 동작 순서에 대한 시퀀스를 마스터 모듈에 저장하고, 모듈간에 전체 시퀀스 자체를 전달하고, 펑션 정보 중 모듈에 매칭되는 펑션 동작을 수행함으로써 불필요한 데이터 송수신 과정을 생략하여 작업 속도를 증가시킬 수 있다.
본 발명에 따르면, 모듈간에 펑션 동작 정보 넘길 때 변수 입력함으로써 모듈 어셈블리의 동작을 구체화함으로써 제품의 활용도를 증대시킬 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 실시예에 따른 모듈 어셈블리가 조립된 모습을 보여주는 사시도이다.
도 2는 본 발명의 실시예에 따른 모듈의 내부 구조를 보여주는 평면도이다.
도 3은 본 발명의 실시예에 따른 컴파일 없는 코딩시스템의 개략도이다.
도 4는 본 발명의 일 실시예에 따른 모듈 어셈블리를 설명하기 위한 개략도이다.
도 5는 본 발명의 다른 실시예에 따른 모듈 어셈블리를 설명하기 위한 예시도이다.
도 6a 내지 도 6b는 본 발명의 실시예에 따른 모듈 어셈블리를 이용한 스마트카의 펑션 동작을 나타낸 예시도이다.
도 7은 본 발명의 실시예에 따른 마스터 모듈의 구성 요소를 설명하기 위한 블럭도이다.
발명의 이점, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우, '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.
구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 도 1 및 도 2를 참조하여 본 발명에 따른 모듈 어셈블리를 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 모듈 어셈블리가 조립된 모습을 보여주는 사시도이다. 도 2는 본 발명의 실시예에 따른 모듈의 내부 구조를 보여주는 평면도이다.
도 1을 참조하면, 모듈 어셈블리(1)는 서로 조립 가능한 복수개의 모듈(10, 20, 30, 40)들로 구성된다.
본 실시예에서 모듈 어셈블리(1)는 서로 조립 가능한 하나 이상의 모듈들(10, 20, 30, 40)의 집합 또는 이들이 조립된 구조체로 정의될 수 있으며, 그 목적, 종류, 형태, 모듈의 개수 등에 의해 제한되지 않는다. 예를 들어, 모듈 어셈블리(1)는 학생이나 사용자가 모듈들을 조립하면서 전자 장치의 작동 원리를 이해할 수 있는 교육용 키트의 일부일 수 있다. 또는, 모듈 어셈블리(1)는 연구원이 특정 목적을 수행하기 위한 장치를 제작하기 위해 사용되는 연구용 키트의 일부일 수 있다. 또는, 모듈 어셈블리(1)는 사용자가 취미용으로 조립 가능한 장난감 키트의 일부일 수 있다.
설명의 용이함을 위하여 본 실시예에서는 모듈 어셈블리(1)가 도 1에 도시된 바와 같이 네 개의 모듈들(10, 20, 30, 40)로 구성된 것으로 예를 설명하며, 각각 제1 모듈(10), 제2 모듈(20), 제3 모듈(30) 및 제4 모듈(40)로 지칭한다.
복수개의 모듈(10, 20, 30, 40)은 전압 또는 전류의 변화로서 나타내는 신호, 데이터, 또는 전기 에너지(이하, “전기적 신호”라고도 함)를 다른 모듈 또는 외부 장치와 송수신할 수 있도록 구성된 객체로 정의될 수 있다. 이러한 모듈들(10, 20, 30, 40)은 중앙처리장치(CPU), 메모리, 전원 등을 구비하거나 또는 다른 모듈의 제어를 받아 작동 가능한 감지(Sensing) 수단, 처리(Processing) 수단 및 구동(Driving) 수단 등을 구비하여 각각 독립적으로 구동 가능할 수 있다.
또한, 각각의 모듈들(10, 20, 30, 40)은 독립적으로 특정한 기능을 수행하거나, 다른 모듈과의 상호 작용에 의해 특정한 기능을 수행하도록 구성될 수도 있다. 모듈들이 중앙처리장치(CPU)를 구비하는 경우에는 각각의 모듈별로 펌웨어(Firmware)가 설치될 수도 있다.
예컨대, 각각의 모듈들(10, 20, 30, 40)은 크게 입력(Input) 모듈, 출력(Output) 모듈, 셋업(Setup) 모듈로 구분할 수 있다.
여기서, 입력 모듈은 리모컨 등으로부터 적외선 신호를 수신할 수 있는 적외선 모듈(IR(Infrared) module), X,Y,Z축 변화 각도와 가속도를 감지할 수 있는 자이로스코프 센서 모듈(Gyroscope module), 모듈 손잡이의 회전을 이용하여 회전 각도 혹은 회전 속도를 측정할 수 있는 다이얼 모듈(Dial module), 버튼의 눌림을 감지하여, 클릭, 더블 클릭, 눌린 상태를 감지하고, 토글(Toggle)을 사용해 온/오프(On/Off) 상태가 유지될 수 있도록 하는 버튼 모듈(Button module), 온도, 습도, 조도 등을 측정할 수 있는 환경 모듈(Environment module), 주변의 소리 세기(dB)와 주파수를 감지할 수 있는 마이크 모듈(Mic module) 및 거리를 감지할 수 있는 초음파 모듈(Ultrasonic module) 등으로 구성될 수 있다.
출력 모듈은 색 변경에 따른 시각적 표시가 가능한 LED 모듈(LED module), 스피커 모듈(Speaker module), 사용자가 그린 그림이나, 글자 또는 모듈 정보 등을 화면에 표시하는 디스플레이 모듈(Display module), 속도, 각도, 토크(Torque)를 설정하여 전기 신호를 모터 모듈로 보내서 회전 운동을 시켜주는 모터 컨트롤러 모듈(Motor Controller module), 또는 모터 컨트롤러에서 받은 전기적 신호를 회전운동으로 변환할 수 있는 모터 모듈(Motor; MDP-14) 등으로 구성될 수 있다.
셋업 모듈은 다른 모듈에 전원을 공급할 때 사용되는 배터리 모듈(Battery module) 및 블루투스(Bluetooth), 와이파이(Wifi) 혹은 USB연결을 통해 모듈을 PC, 스마트폰 또는 모듈과 연결시킬 수 있는 네트워크 모듈(Network module) 등으로 구성될 수 있다.
또한, 각각의 모듈들(10, 20, 30, 40)은 외부의 구동 장치(41)와 케이블(42)에 의해 연결될 수도 있다. 이 경우, 모듈 어셈블리(1)는 리모컨 또는 스마트폰의 신호를 수신하여 모터를 선택적으로 작동시키는 장치일 수 있다. 상기와 같은 모듈 어셈블리(1)의 구성은 하나의 예에 불과하며, 각각의 모듈(10, 20, 30, 40)은 독립적으로, 또는 다른 모듈과의 연동을 통해 임의의 기능을 수행할 수 있도록 제공될 수 있다.
모듈들(10, 20, 30, 40)은 이웃하는 다른 모듈과 면 접촉 가능하도록 복수 개의 측면을 갖는 다각형 기둥 형상인 입체일 수 있다. 여기서, 면 접촉은 측면의 모든 면적이 모두 접촉되는 것만을 의미하는 것은 아니며, 측면의 일부만 접촉되어 어느 하나의 모듈의 측면과 다른 모듈의 측면이 서로 마주보며 일부분이 접촉되는 것을 포함하는 의미로 이해되어야 한다
본 실시예에서는 모듈들(10, 20, 30, 40)이 정사각형 형상의 평면을 갖는 것을 예로 들어 도시하였다. 즉, 본 실시예에서의 모듈들은 4개의 측면을 갖는 직육면체인 것을 예로 설명한다. 한편, 다른 실시예로서 모듈들(10, 20, 30, 40)은 평면상 정삼각형, 직사각형, 정오각형 등의 다각형 기중 형상으로 형성될 수도 있고, 특히, 정다각형 형상으로 형성될 수 있다. 일부의 모듈들이 서로 다른 입체적 형상을 가질 수도 있다. 또한, 모듈들 중 일부는 뿔, 다면체 등의 다양한 입체적 형상을 가질 수도 있다.
이하에서는, 복수의 모듈들 중에서 제1 모듈(10)을 기초로 모듈의 구성을 설명하기로 한다.
여기서, 제1 모듈(10)은 외관을 형성하는 하우징(11)과, 상기 하우징(11)의 측면에 노출되어 전기 신호 등을 연결된 다른 모듈에 전달하거나 수신할 수 있는 단자(107)와, 하우징의 외부로 선택적으로 돌출되는 핀(180)이 제공된 핀 설치부(150) 및 다른 모듈의 핀이 삽입되는 핀 수용부(160)를 포함할 수 있다.
한편, 제1 모듈(10)의 일 측면에는 외부 장치와 통신할 수 있는 시리얼 포트(Serial Port)를 포함할 수 있다. 예컨대, 시리얼 포트는 USB(Universal Serial Bus), USB-C type, IEEE 1394, 썬더볼트(Thunderbolt) 등의 유선 시리얼 통신을 할 수 있는 다양한 규격의 포트를 사용할 수 있다.
하우징(11)은 평면이 정사각형인 직육면체 형상으로 형성된 케이스로서, 내부의 구성품들을 보호한다. 하우징(11)은 도 1에 도시된 바와 같이 상부 케이스(11a)와 하부 케이스(11b)가 결합되는 형태로 제공될 수 있다. 하우징(11)을 구성하는 방법은 필요에 따라 상부 케이스(11a)와 하부 케이스(11b)가 일체로 형성되거나, 더 많은 부분으로 나뉘어 조립될 수도 있다.
단자(107)는 전기 신호 등을 연결된 다른 모듈에 전달하거나 다른 모듈로부터 받을 수 있으며, 일 예로 하우징(11)의 내부에 제공된 기판(102)으로부터 전기 신호 등을 전달받아 단자에 접촉된 다른 모듈의 단자로 전달할 수 있다. 단자(107)는 다수 개의 접촉 점이나 연결 핀을 가질 수 있으며, 이는 전기 신호 등의 전달 방법, 표준화된 규격 등에 따라 다양한 형태를 가질 수 있다.
이와 같은 단자(107)는 핀(180), 핀 설치부(150), 핀 수용부(160)와 한 셋트를 이루어 하우징(11)의 일 측면에 배치될 수 있다. 구체적으로, 단자(107)는 핀(180)과 핀 수용부(160) 사이에 배치될 수 있으며, 다른 모듈의 핀과 핀 수용부 사이에 배치된 단자에 접촉될 수 있다.
본 실시예에서는 하우징(11)의 모든 측면에 단자(107)가 제공되는 것을 예로 들었으나, 실시예에 따라서는 단자(107)가 형성되지 않은 측면이 존재할 수도 있다.
도 2를 참조하면, 하부 케이스(11b)는 외형 및 내부 구조를 형성하는 프레임(100), 프레임(100)의 내측에 제공되는 기판(102) 및 기판(102)에 설치되는 기능 유닛(104)을 포함할 수 있다.
프레임(100)은 하우징(11)의 일부 또는 전부를 구성하는 구조물로서, 하우징(11)의 일부 또는 전부의 외형을 형성하고, 내부에 각종 부품이 설치되기 위한 공간과 구조를 제공할 수 있다. 본 실시예에서 프레임(100)은 하우징(11)의 하부 케이스(11b)를 형성하는 것을 예로 들어 설명하나, 본 발명의 권리범위는 이에 한정되지 않는다. 또한, 본 실시예에서 프레임(100)은 사각형 형상으로 형성되며, 4개의 코너(corner, 101)를 갖는다.
기판(102)에는 제1 모듈(10)의 기능을 구현하기 위한 기능 유닛(104)이 실장될 수 있으며, 프레임(100)의 내측 공간 중앙부에 고정 설치될 수 있다. 기능 유닛(104)은 예를 들어 마이크로프로세서를 포함할 수 있으며, 이 때 제1 모듈(10)이 독립적인 펌웨어에 의해 구동되면 제1 모듈(10)을 제어하기 위해 제공될 수 있다.
또 다른 예로서, 제1 모듈(10)이 적외선 센서 모듈인 경우, 기능 유닛(104)은 적외선 센서 및 적외선 센서로부터 감지된 값을 처리하는데 필요한 ADC(Analog Digital Converter) 및 다른 모듈 또는 외부 하드웨어와 통신하는 데 필요한 인터페이스 예컨대, I2C 또는 UART, 또는 USB 등의 통신 인터페이스 등 필요한 디바이스들을 포함할 수 있다. 이처럼 본 발명의 모듈(10, 20, 30, 40)은 상술한 기능 유닛(104)의 기능에 따라 모듈의 종류가 정해질 수 있다.
또 다른 예로서, 기능 유닛(104)이 마이크로프로세서 및 메모리를 포함하고 있으며, 다른 유닛들을 제어할 수 있는 OS 또는 펌웨어를 포함하고 있는 경우에는 컨트롤 모듈이 된다.
또는, 기능 유닛(104)이 센서의 센싱 값을 다른 모듈 또는 외부 디바이스에 전달할 수 있는 경우에는 센서 모듈이 된다.
또는, 기능 유닛(104)이 NB-IOT, LTE, LoRa, WiFi, Bluetooth, USB, 케이블 모뎀 등 다양한 유무선 통신 장치를 포함하면서 다른 모듈로부터 전기적 신호를 수신하여 상술한 유무선 통신 장치를 통하여 다른 외부 디바이스에 전기적 신호를 전송할 수 있는 경우에는 통신 모듈이 될 수 있다.
또는, 기능 유닛(104)이 모터 등의 다양한 액추에이터 및 액추에이터 제어 회로들을 포함하여 구동이 가능하게 하는 경우에는 구동 모듈이 될 수 있다. 기타 본원 발명의 모듈의 더욱 상세한 구조 및 결합에 대해서는 대한민국 등록특허 공보 제10-1761596에 상세하게 기재되어 있으며, 본원 특허 명세서에 참조로서 포함된다.
이하에서는 도 3을 참조하여 상술한 구조의 모듈 어셈블리(1)를 조립하고, 모듈 어셈블리(1)의 펑션 정보에 기초하여 모듈에 펑션 동작 정보를 제공하는 컴파일 없는 코딩시스템에 대하여 설명하기로 한다.
도 3은 본 발명의 실시예에 따른 컴파일 없는 코딩시스템의 개략도이다.
도 3을 참조하면, 컴파일 없는 코딩시스템은 모듈 어셈블리(1), 펑션 정보 제공 서버(2) 및 사용자 단말(3)을 포함할 수 있다. 이 경우, 모듈 어셈블리(1)는 펑션 정보 제공 서버(2) 및 사용자 단말(3)과 네트워트(4)로 연결될 수 있다. 본 실시예에서 상술한 네트워크(4)가 인터넷으로 구현되는 예에 대하여 설명하도록 한다. 단, 본 발명은 이에 한정되는 것은 아니며 당업자는 다양한 네트워크를 통하여 모듈 어셈블리(1)의 펑션 정보 제공 서버(2) 및 사용자 단말(3)과 연결을 구현할 수 있다.
네트워크(4)는 네트워크(4)는 USB, RS-232 및 IEEE1394 등의 유선 근거리 통신 수단, WiFi 및 Bluetooth 등의 무선 근거리 통신 수단 및 인터넷 연결 등을 포함한다.
모듈 어셈블리(1)는 적어도 하나 또는 둘 이상의 모듈들로 구성되며, 각각의 모듈에서 수행하는 동작들을 펑션 넘버(Function number) 형태로 모둘 내의 데이터베이스에 저장한다. 즉, 모듈 내에는 적어도 하나의 펑션 정보(Function Information)가 넘버링되어 펑션 넘버 형태로 포함된다. 이와 관련된 상세한 설명은 후술하기로 한다.
펑션 정보 제공 서버(2) 또는 사용자 단말(3)은 네트워크(4)를 통하여 모듈 어셈블리(1)를 구성하는 각각의 모듈로부터 펑션 정보(Function Information)를 수신할 수 있으며, 이러한 펑션 정보를 데이터베이스로 저장할 수 있다. 이 경우, 펑션 정보 제공 서버(2) 또는 사용자 단말(3)은 펑션 정보에 기초하여 펑션 동작 정보(Function Action Information)를 모듈 어셈블리(1)를 구성하는 모듈들에게 제공한다. 펑션 정보 및 펑션 동작 정보와 관련한 상세한 설명은 도 5 등을 이용하여 상세히 후술한다.
펑션 정보 제공 서버(2) 또는 사용자 단말(3)은 모듈 어셈블리(1)를 구성하는 모듈들의 펑션 정보들을 데이터베이스로 저장해둘 수 있다. 이에, 현재 사용자의 모듈 어셈블리의 펑션 정보 및 데이터베이스에 기초하여 각 모듈에 펑션 동작 정보를 제공할 수 있다.
펑션 정보 제공 서버(2) 또는 사용자 단말(3)은 동작 순서에 대한 전체 시퀀스의 실행 규칙의 정합성을 체크하여, 모듈 어셈블리(1) 조립에 오류가 있는지 여부를 판단하고, 모듈 어셈블리(1)에 조립 오류 정보를 제공할 수 있다. 다시 말해, 펑션 정보 제공 서버(2) 또는 사용자 단말(3)은 모듈 어셈블리(1)가 실행 규칙에 맞게 동작하고 있는지 등을 실행 규칙의 정합성으로 체크한다.
여기서, 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈 고유 정보(모듈 ID)를 포함할 수 있다.
모듈 어셈블리(1)는 펑션 정보 제공 서버(2) 또는 사용자 단말(3)로부터 제공받은 조립 오류 정보에 기초하여, 적어도 하나의 오류가 있는 모듈에 조립 오류가 있음을 출력한다. 모듈 어셈블리(1)는 적어도 하나의 오류가 있는 모듈의 LED를 소정의 색깔로 점멸시킴으로써, 조립 오류가 있음을 출력할 수 있으나, 다른 방식으로 조립 오류가 있음을 출력할 수 있음은 당업자에게 자명하다.
본 발명의 다른 실시예에 따르면, 펑션 정보 제공 서버(2) 또는 사용자 단말(3)은 모듈 어셈블리(1)를 구성하는 모듈 고유의 펑션 정보와 모듈들의 동작 순서(혹은 “실행 순서”라고도 함)에 대한 전체 시퀀스(Total Sequence)를 데이터베이스로 저장해둘 수 있다. 이때, 전체 시퀀스는 사용자가 시퀀스 제작 시스템을 통해 설정하는 것일 수 있고, 또는 사용자의 조립 순서에 매칭되도록 자동으로 생성될 수도 있다. 이와 관련된 구체적인 동작은 도 6a 내지 도 6b를 참조하여 후술하기로 한다. 한편, 전체 시퀀스는 펑션 정보 제공 서버(2)가 아닌 별도의 모듈에 저장되어 펑션 동작 수행에 도움을 줄 수도 있다. 다시 말해, 전체 시퀀스는 서버 또는 별도의 모듈(혹은 “마스터 모듈”이라고도 함)의 데이터베이스에 저장되어 조립된 모듈에 각각에 매칭되는 펑션 정보를 전달할 수 있다. 또는, 조립된 모듈 사이에서 전체 시퀀스가 통째로 전달되면서 모듈에 매칭되는 펑션 넘버가 모듈 내에서 동작될 수도 있다. 여기서, 마스터 모듈과 관련한 구체적인 설명은 도 7을 참조하여 후술하기로 한다.
본 발명의 또 다른 실시예에 따르면, 펑션 정보 제공 서버(2) 또는 사용자 단말(3)은 현재 조립된 모듈 어셈블리(1)의 조립 정보 및 데이터베이스에 기초하여 소스 코드를 제공할 수도 있다. 이에 따라, 펑션 정보 제공 서버(2) 또는 사용자 단말(3)은 상기 소스 코드에 기초하여, 모듈 어셈블리(1)에서 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천할 수도 있다. 이 경우, 추가 또는 치환할 위치의 모듈 정보는 모듈 어셈블리(1)의 현재 구성에서, 모듈을 추가 부착하여 현재 구성 대비 추가적인 동작을 수행하거나, 또는 현재 구성에서 치환할 수 있는 모듈에 대한 정보를 의미한다.
이하에서는 도 4를 참조하여 본 발명의 일 실시예에 따른 모듈 어셈블리의 펑션 동작에 관하여 상세하게 설명한다.
도 4는 본 발명의 일 실시예에 따른 모듈 어셈블리를 설명하기 위한 개략도이다. 도 4는 설명의 편의를 위해 본 실시예에의 모듈들 중에서 일부만을 도시하였으며, 각 모듈에 대한 중복 설명은 생략하기로 한다.
도 4를 참조하면, 모듈 어셈블리(400)는 복수의 모듈들로 구성되며, 각 모듈들은 순차적으로 조립된다. 도 4와 같이, 9개의 모듈(1 내지 9)로 구성된 모듈 어셈블리(400)는 'ㄹ'자 형태로 조립되는 것으로 가정하여 설명한다. 이에 따라, 모듈은 사용자에 의해 조립되는 순서대로 동작하며, 이때, 각 모듈은 펑션 정보 제공 서버(2)에 데이터베이스로 저장된 펑션 정보에 기초하여 동작할 수 있다. 여기서, 펑션 정보는 모듈별로 수행되는 펑션들에 대한 것으로, 펑션 넘버(Function Number)의 형태로 모듈별 데이터베이스(혹은 서버의 데이터베이스)에 저장된다. 본 발명의 일 실시예에 따른 펑션 정보는 모듈별로 하나씩 설정되는 것을 특징으로 한다.
다시 말해, 펑션 정보는 조립되는 모듈의 개수에 대응하는 데이터베이스에 개수만큼 저장되며, 펑션 정보에 기초하여 펑션 정보 제공 서버(2)는 모듈이 조립되는 순서에 따라 매칭되는 펑션 동작 정보를 전송한다. 한편, 모듈 어셈블리(400)는 'ㄹ'자 형태로 조립되는 것으로 가정하였으나, 연결 방향이 이에 제한되는 것은 아니며, 가로 또는 세로의 일 방향으로 한 층씩 조립될 수도 있다. 다만, 각 모듈간의 기능 수행 시, 가급적이면 영향을 주지 않는 위치로 연결 방향을 결정하여 배치해야 한다. 예컨대, 통신 모듈과 자이로스코프 센서 모듈이 있는 경우에, 통신 모듈의 전자기파가 자이로스코프 센서 모듈의 센싱에 영향을 줄 수 있기 때문에 이러한 상황을 고려하여 위치를 결정하는 것이 필요하다.
이처럼, 본 발명의 일 실시예에 따른 모듈 어셈블리(400)는 모듈의 조립 순서 자체가 모듈 어셈블리(400)의 동작 순서로 결정되는 것을 특징으로 한다. 따라서, 펑션 정보 제공 서버(2)는 데이터베이스에 펑션 정보만을 저장함으로써 서버의 부담을 최소화할 수 있다.
이하에서는, 도 5를 참조하여 본 발명의 다른 실시예에 따른 모듈 어셈블리의 펑션 동작에 관하여 상세하게 설명한다.
도 5는 본 발명의 다른 실시예에 따른 모듈 어셈블리를 설명하기 위한 예시도이다. 도 5에 도시된 모듈 어셈블리는 도 4에 도시된 모듈 어셈블리와 펑션 동작이 수행되는 과정이 상이할 뿐, 구성은 동일하므로 중복설명은 생략하기로 한다.
도 5를 참조하면, 모듈 어셈블리(500)는 네트워크 모듈(510), 다이얼 모듈(520), 디스플레이 모듈(530), 적외선 모듈(540), LED 모듈(550), 버튼 모듈(560), 모터컨트롤러 모듈(570), 스피커 모듈(580) 및 자이로 센서 모듈(590)을 포함한다. 모듈 어셈블리(500)의 동작을 제어할 수 있도록 상기 동작에 대한 전체 시퀀스는 펑션 정보 제공 서버(2)에 저장되는 것을 기본으로 하나 별도의 모듈을 더 포함하여 구현될 수도 있다. 즉, 도 5에 도시하지는 않았지만, 모듈 어셈블리(500)에는 구성된 모듈들의 동작을 제어하기 위한 전체 시퀀스가 저장된 마스터 모듈을 더 포함할 수 있다. 이때, 마스터 모듈은 모듈 어셈블리(500)를 구성하는 모듈들과 동일한 형태로 구현되는 것을 기본으로 하지만, 이에 제한되는 것은 아니다.
본 발명의 다른 실시예에 따른 모듈 어셈블리(500)는 모듈의 동작 순서와 상관없이 조립된다. 이에 따라, 모듈 어셈블리(500)를 구성하는 각 모듈들은 도 5에 도시된 모듈들의 위치가 아닌 다른 위치에 조립되어도 사용자가 미리 설정한 펑션 동작 순서대로 동작을 수행할 수 있다.
모듈 어셈블리(500)를 구성하는 모듈들(510 내지 590)은 네트워크를 통해 펑션 정보 제공 서버(2)로 펑션 정보를 전송하고, 펑션 정보를 수신한 펑션 정보 제공 서버(2)는 모듈들(510 내지 590)에 순차적으로 펑션 동작 정보를 전송한다. 여기서, 펑션 정보는 각 모듈들이 수행하는 고유의 동작들을 넘버링하여 분류한 정보로서, 하나의 모듈에는 적어도 하나의 펑션이 포함될 수 있다. 즉, 본 발명의 다른 실시예에 따른 펑션 정보는 모듈 당 적어도 하나씩 설정될 수 있으며, 이에 따라 펑션 정보 제공 서버(2)의 데이터베이스에는 복수의 펑션 정보와 함께 펑션 동작 순서가 저장되는 것을 특징으로 한다.
도 5에 도시된 모듈들을 참조하여 모듈별 펑션 정보의 예를 들어 설명하자면, 다이얼 모듈(520)은 눈금 한 칸만큼 회전하기(펑션2), 눈금 두 칸만큼 회전하기(펑션3), 눈금 세 칸만큼 회전하기(펑션4) 등 복수개의 펑션 정보를 포함할 수 있다. 또는, 적외선 모듈(540)은 0 내지 10cm 이내에 반사되어 돌아오는 적외선이 있는지 감지하기(펑션1), 11cm 내지 20cm 이내에 반사되어 돌아오는 적외선이 있는지 감지하기(펑션2), 21cm 내지 30cm 이내에 반사되어 돌아오는 적외선이 있는지 감지하기(펑션3) 등과 같은 펑션 정보를 포함할 수 있다. 또는, LED 모듈(550)은 한번 깜박이기(펑션1), 1초에 한번씩 반복하여 깜박이기(펑션2), 한 가지 색을 유지하여 출력하기(펑션3) 등 복수개의 펑션 정보를 포함할 수 있다. 또는, 모터 모듈은 직진하기(펑션1), 후진하기(펑션2), 우회전하기(펑션3), 좌회전하기(펑션4), 제자리에서 한 바퀴 돌기(펑션5) 및 정지하기(펑션6) 등 복수개의 펑션 정보를 포함할 수 있다.
이에 따라, 상술한 펑션 정보에 기초하여 각 모듈들이 펑션 동작을 수행할 수 있도록 모듈에 매칭되는 펑션 넘버를 동작 명령으로서 모듈들에 전달한다. 즉, 모듈들에는 데이터베이스에 저장된 펑션 정보에 기초하여 펑션 동작 정보가 전달되는 것으로 이해되는 것이 바람직하다.
한편, 각 모듈에 포함된 펑션 정보의 개수와 펑션 정보의 기능은 이로 한정되는 것은 아니며, 사용자에 의해 사전에 미리 설정될 수 있다. 또한, 펑션 넘버는 상술한 바와 같이 각 모듈 내에서 서로 상이한 번호로 설정되되, 모듈간 펑션 넘버가 서로 겹칠 수 있는 것으로 가정하였으나, 이에 한정되는 것은 아니다. 예컨대, 모듈별로 펑션 넘버가 겹치지 않도록 펑션 넘버가 모듈의 개수에 대응하도록 매겨질 수도 있다. 즉, 모듈 A는 펑션1, 펑션2, 펑션3을 포함할 수 있고, 모듈 B는 펑션4, 펑션5, 펑션6을 포함할 수 있다.
이에 따라, 모듈 어셈블리(500)를 구성하는 모듈 각각은 데이터베이스에 저장된 펑션 동작 순서에 기초하여 동작하며, 펑션 정보 제공 서버(2)는 상기 순서에 기초하여 동작하는 모듈에 펑션 명령을 생성할 수 있다. 예컨대, 펑션 정보 제공 서버(2)는 모듈 A에 “펑션 1을 수행하세요”와 같은 명령을 전송할 수 있고, 명령을 수신한 모듈 A는 펑션 1을 수행한 후, 모듈 A의 다음 동작 순번인 모듈 B에 “펑션 2를 수행하세요”와 같은 명령을 전송할 수 있다. 이때, 생성된 펑션 명령에 따라 펑션 동작을 수행하는 모듈은 순차적으로 동작하는 것을 특징으로 하되, 모듈의 동작 횟수는 제한되지 않는다. 즉, 모듈의 동작이 중복하여 발생하지만 않는다면 하나의 모듈이 여러 번 동작하여도 무방한 것으로 이해되는 것이 바람직하다. 이와 관련된 구체적인 설명은 도 5를 참조하여 상세히 후술하기로 한다.
또한, 모듈 어셈블리(500)를 구성하는 각 모듈의 일 측 모서리에는 릴레이 표시등(RL)이 배치될 수 있다. 릴레이 표시등(RL)은 모듈 어셈블리(500) 내에서 펑션 동작이 어디까지 진행되었는지 확인할 수 있는 LED 표시등이며, 본 발명의 실시예에 따른 LED 모듈과 상이한 구성인 것으로 이해되는 것이 바람직하다. 릴레이 표시등(RL)은 사용자가 미리 설정한 펑션 동작 순서에 기초하여 기 설정된 소정의 색을 LED로 출력한다. 이에 따라, 모듈이 펑션 동작을 수행하는 동안 릴레이 표시등(RL)이 켜지고, 평션 동작이 끝나면 릴레이 표시등(RL)이 꺼진다.
이에 따라, 모듈 어셈블리(500)을 구성하는 모듈들(510 내지 590)의 릴레이 표시등(RL)에 기설정된 시간 이상 LED가 표시되지 않으면 오류가 발생한 것으로 판단할 수 있다. 또는, 모듈들(510 내지 590)이 펑션 동작 순서에 따라 동작하는 과정에서 특정 모듈에 오류 또는 외부로부터의 인터럽트(Interrupt)가 발생한 경우에는 상기 특정 모듈의 릴레이 표시등(RL)에 오류가 발생했음을 표시해줄 수도 있다. 예컨대, 특정 모듈에 오류가 발생한 경우에는 릴레이 확인용 표시색(정상 동작 시 발현되는 색)과 상이한 색을 LED로 출력함으로써, 사용자가 오류가 발생했음을 확인할 수 있도록 할 수 있다. 여기서, 오류가 발생한 경우는 어느 모듈에서 모듈 고유의 펑션 동작이 수행되지 않는 상황 또는 복수의 모듈에서 펑션 동작이 동시다발적으로 발생하는 상황인 것으로 정의될 수 있다. 또한, 외부로부터의 인터럽트는 사용자에 의해 고의적으로 펑션 동작이 중지된 상황 또는 외부의 장애물에 의해 펑션 동작이 중지된 상황인 것으로 정의될 수 있다.
따라서, 본 발명의 다른 실시예에 따른 모듈 어셈블리(500)는 동작 순서와 상관없이 모듈들을 조립함으로써 누구나 쉽게 모듈 어셈블리를 제작하고 활용할 수 있는 효과가 있다.
이하에서는 도 6a 내지 도 6b를 참조하여 본 발명의 실시예에 따른 펑션 동작에 기초하여 장애물을 감지했을 때 펑션 동작 순서에 따라 움직이는 스마트카(Smart car)에 관하여 상세하게 설명한다.
도 6a 내지 도 6b는 본 발명의 실시예에 따른 모듈 어셈블리를 이용한 스마트카의 펑션 동작을 나타낸 예시도이다. 도 6a 내지 도 6b에 도시된 스마트카를 구성하는 모듈들은 펑션 동작 순서와 상관없이 조립되는 것으로 가정한다. 도 6a 내지 도 6b에 도시된 스마트카는 앞서 상술한 모듈들 중 일부를 이용하여 조립한 것이므로 모듈 기능에 대한 중복 설명은 생략하기로 한다. 또한, 스마트카(600)를 구성하는 복수의 모듈은 사용자에 의해 선택적으로 조립된 것으로서 동작에 문제가 있지 않은 한 모듈을 치환, 제거 및 추가할 수도 있다. 또한, 스마트카(600)를 구성하는 모듈들의 위치도 변경할 수 있다.
도 6a를 참조하면, 스마트카(600)는 모듈들이 조립되도록 하면에 배치되는 베이스 기판(B)과 상기 베이스 기판(B) 상에 배치되는 스피커 모듈(610), 디스플레이 모듈(620), 적외선 모듈(630), 네트워크 모듈(640), 자이로 센서 모듈(650), 모터 모듈(660) 및 배터리 모듈(670)을 포함한다. 이때, 복수의 모듈들은 한 개의 층 또는 두 개의 층으로 적층되도록 조립된 것으로 도시하였으나, 세개의 층 또는 그 이상일 수도 있다. 또한, 복수의 모듈들 중에서 어느 하나는 마스트 모듈로서 역할을 수행하거나 마스터 모듈로 치환될 수도 있다.
도 6a를 참조하면, 베이스 기판(B)의 양 측에 배치되며 아랫층에 위치한 모터 모듈(660)에는 바퀴(WH)가 연결된다. 이때, 두 개의 모터 모듈(660)에서 일 측에는 스피커 모듈(610)이, 타 측에는 자이로 센서 모듈(650)이 조립된다.
또한, 베이스 기판(B)의 중앙부에는 두 개의 적외선 모듈(630)이 배치된다. 이때, 중앙부에 배치된 두 개의 적외선 모듈(630)은 서로 상이할 높이에 배치되는 제1 적외선 모듈(630-1)과 제2 적외선 모듈(630-2)로 구성된다.
제1 적외선 모듈(630-1)은 베이스 기판(B)에 부착(아랫층에 위치)되도록 조립되며 근거리에 대하여 근접도를 측정하는데 사용한다. 제2 적외선 모듈(630-2)은 베이스 기판(B)에 부착된 네트워크 모듈(670)의 상부에 조립되며 상기 제1 적외선 모듈(630-1)이 측정하는 거리보다 소정의 길이만큼 더 먼 거리에 대하여 근접도를 측정하는데 사용한다. 이하에서는 예컨대, 제1 적외선 모듈(630-1)이 0 내지 10cm 이내의 거리를 측정하고, 제2 적외선 모듈(630-2)이 11 내지 20cm 이내의 거리를 측정하는 것으로 가정하여 설명한다.
스마트카(600)는 펑션 정보 제공 서버(2)에 저장된 전체 시퀀스에서 모듈별로 매칭되는 펑션 넘버를 전달받고 상기 펑션 넘버에 대응하는 동작을 수행하거나(case 1), 전체 시퀀스를 모듈 간에 랜덤하게 전달함으로써 펑션 넘버에 대응하는 동작을 수행할 수 있다(case 2).
먼저, case 1에 따라 스마트카(600)를 동작시키는 경우에는 사용자가 임의로 조립한 복수의 모듈들(610 내지 670) 내에 포함된 펑션 정보를 펑션 정보 제공 서버(2)로 전송한다. 펑션 정보를 수신한 펑션 정보 제공 서버(2)는 시퀀스 제작 시스템을 이용하여 상기 펑션 정보들이 릴레이(Relay)되도록 펑션 동작 순서를 설정하는 전체 시퀀스를 생성하고 데이터베이스에 저장하거나 마스터 모듈로 전달하여 마스터 모듈에 저장한다. 이에, 펑션 정보 제공 서버(2) 또는 마스터 모듈은 저장된 펑션 동작 순서에 기초하여 릴레이 순서대로 다음 모듈을 지정하고, 해당 모듈에 펑션 넘버를 전송하는 과정을 반복함으로써 스마트카(600)를 동작시킬 수 있다.
또한, case 2에 따라 스마트카(600)를 동작시키는 경우에는 사용자가 임의로 조립한 복수의 모듈들(610 내지 670) 내에 포함된 펑션 정보를 이용하여 상술한 방법과 같이 전체 시퀀스를 생성한다. 이때, 생성된 전체 시퀀스는 모듈들의 펑션 동작 순서에 따라 모듈들 사이에서 랜덤하게 송수신되며, 전체 시퀀스를 랜덤하게 수신한 모듈이 상기 전체 시퀀스 내에 포함된 펑션 동작 순서에 매칭되는 펑션 넘버를 갖고 있을 경우에 매칭되는 펑션 넘버에 상응하는 펑션 동작을 수행한 후 다음 모듈로 전체 시퀀스를 전달하는 과정을 반복함으로써 스마트카(600)를 동작시킬 수 있다.
상술한 바와 같이 동작하도록 설정된 스마트카(600)는 두 개의 적외선 모듈(630)을 이용하여 장애물을 감지하고, 장애물 감지 거리에 따라 스피커 모듈(610)을 통해 비퍼음(Beep)을 출력하고, 두개의 적외선 모듈(630)에서의 장애물 감지 여부에 따라 모터 모듈(660)을 동작시켜 스마트카(600)를 직진 또는 정지 또는 후진하기 등과 같은 동작을 수행할 수 있다.
구체적으로 설명하기에 앞서 본 명세서에서는 설명의 편의상 모듈에 명령을 전달한다고 기재하였으나 명령을 전달한다는 것은 모듈 어셈블리의 릴레이 동작을 위해 모듈 고유의 펑션 넘버를 해당 모듈로 전달한다는 것으로 이해되는 것이 바람직하다.
도 6a를 참조하면, 펑션 정보 제공 서버(2)는 스마트카(600)의 제1 적외선 모듈(630-1)에 특정 펑션 넘버(예컨대, 펑션1)로 명령을 전달한다. 이후, 명령을 받은 제1 적외선 모듈(630-1)은 0 내지 10cm 이내에 반사되어 돌아오는 적외선이 있는지를 확인한다. 제1 적외선 모듈(630-1)로부터 반사되어 돌아오는 적외선이 있는 경우에는 장애물이 있다고 판단(즉, Ouput이 YES(=1))하고, 돌아오는 적외선이 없는 경우에는 장애물이 없다고 판단(즉, Output이 No(=0)) 한다. 이때, 도 6a에 도시된 바와 같이, 장애물(690)이 있다고 판단된 경우에는 펑션 정보 제공 서버(2)가 제2 적외선 모듈(630-2)로 명령을 전달하여 제2 적외선 모듈(630-2)이 장애물 여부를 판단할 수 있도록 하거나, 또는, 모터 모듈(660)로 명령을 전달하여 바퀴를 정지시키도록 할 수 있다. 이 밖에도 스피커 모듈(610)을 통해 비프음(Beep)을 울리는 등 다음 모듈로 다양한 펑션 명령을 전달할 수 있다.
이처럼, 제1 적외선 모듈(630-1)은 판단 결과를 펑션 정보 제공 서버(2)로 전송하고, 펑션 정보 제공 서버(2)는 상술한 바와 같은 판단 결과에 따라 다음 모듈로 명령을 전달할 수 있다. 도 6a에 도시된 바와 같이, 펑션 정보 제공 서버(2)가 저장된 펑션 동작 정보에 기초하여 다음 모듈인 제2 적외선 모듈(630-2)이 장애물 여부를 판단한 결과 장애물이 없다(Out=0)고 판단된 경우에는 모터 모듈(660)로 명령을 전달하여 스마트카(600)를 화살표 방향으로 직진시키도록 할 수 있다. 이때, 장애물(690)이 있음에도 낮게 형성되어 높은 위치에 위치한 제2 적외선 모듈(630-2)에서 감지하지 못하는 경우에는 장애물(690)을 넘어갈 수 있을 정도라고 판단할 수 있다. 다만 장애물이 없다고 판단된 경우에는 앞서 상술한 바와 같이 모터 모듈(660)에 직진하기 명령을 전달하는 등 다양한 명령이 실행될 수 있다.
이후, 다음 모듈을 지정하고, 상기 다음 모듈에 펑션 넘버를 전송하는 과정을 반복하여 모터 모듈(660)과 적외선 모듈(630)의 펑션 동작을 중복하여 수행할 수 있다. 도 6b와 같이 스마트카(600)가 크기가 큰 장애물을 마주한 경우, 제1 적외선 모듈(630-1)과 제2 적외선 모듈(630-2)은 순차적으로 동작하면서 장애물 여부를 판단하고, 두 개의 적외선 모듈(630)에서 모두 장애물인 것으로 감지된 경우에는 펑션 정보 제공 서버(2)는 모터 모듈(660)에 정지하기와 관련된 펑션 넘버를 명령(어)으로서 전달하게 된다.
또한, 스마트카(600)는 LED 모듈을 더 포함할 수 있다. 예컨대, LED 모듈은 자동차가 움직이는 동안은 녹색 LED를 출력하고, 정지하는 동안은 적색 LED를 출력하는 등 색깔로 자동차의 움직임을 구분할 수 있다. 또는 비상 상황인 경우에 경고의 의미로 적색 LED를 깜박일 수도 있는데, 이는 펑션 정보 제공 서버(2)가 펑션 동작 정보를 LED 모듈에 전달할 때 변수 정보를 함께 전달함으로써 실행할 수 있다. 즉, 예를 들면 펑션 정보 제공 서버(2)가 LED 모듈에 펑션3(적색 LED 출력하기)을 명령어로 전달함과 동시에 변수 '3'을 전달할 경우, LED 모듈은 적색 LED를 출력하되 3번 깜박이는 동작을 수행할 수 있다.
이처럼, 본 발명의 또 다른 실시예에 따른 펑션 정보 제공 서버(2)는 펑션 동작 정보를 모듈에 전달할 때 변수를 함께 전달함으로써 모듈 어셈블리의 동작을 좀더 구체화하여 제품의 활용도를 증대시킬 수 있다. 이때, 변수는 모듈의 형태를 갖으며 독립적인 기능을 수행하는 변수 모듈에 의해 입력될 수 있고, 또는 카드 리더기나 칩 등의 형태로 모듈에 인식시키는 방식으로 입력될 수도 있다.
이하에서는, 도 7을 참조하여 마스터 모듈의 구체적인 구성 요소에 대하여 상세하게 설명한다.
도 7은 본 발명의 실시예에 따른 마스터 모듈의 구성 요소를 설명하기 위한 블럭도이다.
도 7을 참조하면, 마스터 모듈(700)은 펑션 정보 수신부(710), 펑션 동작 순서 생성부(720), 펑션 동작 정보 전송부(730), 펑션 결과 수신부(740), 마이크로프로세서(750), 통신 제어부(760) 및 메모리(770)를 포함하는 네트워크 모듈일 수 있으나, 다른 모듈 카테고리도 기능할 수 있음은 당업자에게 자명하다.
펑션 정보 수신부(710)는 마스터 모듈(700)이 타 모듈 또는 서버와 연결될 때 복수의 모듈들에 대한 펑션 정보를 수신하는 소프트웨어 구성요소이다. 상기 펑션 정보는 모듈 고유의 정보를 포함한다.
펑션 동작 순서 생성부(720)는 수신한 펑션 정보에 기초하여 펑션 동작 순서를 생성하는 구성요소이다. 이때, 펑션 동작 순서는 사용자가 시퀀스 제작 시스템을 이용하여 설정함으로써 생성되거나 사용자가 모듈을 조립하면서 자동으로 생성될 수 있다. 펑션 동작 순서 생성부(720)는 생성된 펑션 동작 순서에 대응되도록 릴레이 동작하는 모듈들에 순차적으로 명령할 수 있다.
펑션 동작 정보 전송부(730)는 수신한 펑션 정보에 기초하여 펑션 동작 순서에 매칭되는 모듈에 펑션 넘버 형태의 명령을 순차적으로 전달하는 구성요소이다. 특정 모듈이 펑션 동작 정보 전송부(730)로부터 전달받은 펑션 넘버에 대응하는 동작을 수행한 후에는 동작에 대한 유무를 '예/아니요' 로 구분하여 펑션 결과 수신부(740)로 전송한다.
펑션 결과 수신부(740)는 특정 모듈에서 동작의 수행 여부를 확인할 수 있도록 1과 0으로 예, 아니요를 구분하여 표시하고, 이를 수신하여 동작을 판단할 수 있는 구성요소이다.
마이크로프로세서(750)는 펑션 정보 수신부(710), 펑션 동작 순서 생성부(720), 펑션 동작 정보 전송부(730), 펑션 결과 수신부(740) 및 통신 제어부(760) 중 적어도 일부가 소프트웨어 모듈로 구현되는 경우에, 그 소프트웨어 모듈을 실행하게 된다.
통신 제어부(760)는 외부 기기와의 통신 및 모듈 사이의 통신을 제어할 수 있다. 외부 기기와의 통신은 NB-IOT, LTE, LoRa, WiFi, Bluetooth, USB, 케이블 모뎀 등 다양한 유무선 통신을 포함할 수 있다. 한편, 모듈 사이의 통신은 UART, I2C, LIN, CAN 등 다양한 내부 통신 수단을 이용하여 모듈간 통신을 수행할 수 있다. 통신 제어부(570) 내에는 상술한 다양한 유무선 통신 수단 또는 모듈 사이의 통신 수단을 포함할 수도 있고, 별도의 네트워크 모듈과 연결될 때 별도의 네트워크 모듈을 제어하는 방식으로 통신할 수도 있다.
한편, 메모리(770)는 마이크로프로세서(750)에서 실행될 수 있는 소프트웨어 모듈과 펑션 정보, 펑션 동작 순서 및 모듈 ID를 저장할 수 있다.
본 발명에 따르면, 펑션 동작 순서에 기초하여 모듈 어셈블리가 릴레이 동작할 수 있도록 컴파일 과정을 생략함으로써 작업을 간소화함과 동시에 효율을 극대화할 수 있다.
본 발명에 따르면, 펑션 동작 순서에 대한 시퀀스를 마스터 모듈에 저장하고, 모듈 간에 전체 시퀀스 자체를 전달하고, 펑션 정보 중 모듈에 매칭되는 펑션 동작을 수행함으로써 불필요한 데이터 송수신 과정을 생략하여 작업 속도를 증가시킬 수 있다.
본 발명에 따르면, 모듈 간에 펑션 동작 정보 넘길 때 변수 입력함으로써 모듈 어셈블리의 동작을 구체화함으로써 제품의 활용도를 증대시킬 수 있다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 펌웨어(firmware), 소프트웨어(software) 또는 하드웨어(hardware)로 구성된다. 알고리즘 또는 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 디지털 신호 처리 디바이스(Digital Signal Processing Device)의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 상기 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등) 및 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.

Claims (23)

  1. 펑션 정보 제공 서버와 네트워크에 의해 연결되며 복수의 모듈을 포함하는 모듈 어셈블리; 및
    상기 모듈 어셈블리를 구성하는 복수의 모듈로부터 펑션 정보를 수신하는 펑션 정보 수신부; 상기 펑션 정보에 기초하여 펑션 동작 순서에 대한 전체 시퀀스를 생성하는 펑션 동작 순서 생성부; 및 상기 펑션 동작 순서에 기초하여 모듈에 명령어를 전달하는 펑션 동작 정보 전송부를 포함하는 펑션 정보 제공 서버;를 포함하고,
    상기 명령어는 상기 펑션 동작 순서에 기초하여 동작하는 모듈에 대하여 다음으로 릴레이되는 넥스트 모듈의 고유 정보 및 상기 넥스트 모듈에서 실행하고자 하는 펑션 넘버(Function number) 형태의 펑션 정보 중 적어도 하나를 포함하며,
    상기 명령어는 상기 펑션 동작 순서에 기초하여 릴레이(Relay)되는 모듈에 순차적으로 전달되는, 컴파일 없는 코딩시스템.
  2. 제1항에 있어서,
    상기 복수의 모듈은 모듈별로 고유의 펑션 정보를 저장하며, 상기 모듈별로 적어도 하나의 펑션 정보를 포함하는, 컴파일 없는 코딩시스템.
  3. 제1항에 있어서,
    상기 펑션 동작 순서는 사용자에 의해 상기 모듈 어셈블리가 조립되는 순서인 것을 특징으로 하는, 컴파일 없는 코딩시스템.
  4. 제1항에 있어서,
    상기 펑션 동작 순서는 상기 펑션 정보에 기초하여 시퀀스 제작 시스템 내에서 생성되며 상기 모듈 어셈블리가 조립되는 순서와 무관한 것을 특징으로 하는, 컴파일 없는 코딩시스템.
  5. 제1항에 있어서,
    상기 펑션 정보 제공 서버는 상기 펑션 동작 순서에 의하여 릴레이되는 모듈과 순차적으로 무선 통신하고, 상기 전체 시퀀스 내에서 상기 릴레이되는 모듈에 매칭되는 상기 명령어를 전달하는, 컴파일 없는 코딩시스템.
  6. 제1항에 있어서,
    상기 펑션 정보 제공 서버는 상기 펑션 동작 순서에 의하여 릴레이되는 모듈에 상기 전체 시퀀스를 일괄적으로 전달하고, 일괄적으로 전달된 상기 전체 시퀀스를 수신한 모듈은 상기 전체 시퀀스 내에서 상기 모듈의 펑션 동작과 매칭하는 동작을 수행하고, 상기 펑션 동작이 완료된 후 상기 전체 시퀀스를 상기 넥스트 모듈로 전달하는, 컴파일 없는 코딩시스템.
  7. 제1항에 있어서,
    상기 펑션 동작 순서에 의하여 릴레이 되는 상기 복수의 모듈 중 펑션 결과를 출력하는 모듈의 경우, 0 또는 1로 결과를 출력하고 상기 펑션 정보 제공 서버는 상기 결과를 수신하는 펑션 결과 수신부를 더 포함하는, 컴파일 없는 코딩시스템.
  8. 제7항에 있어서,
    상기 펑션 동작 정보 전송부는 상기 펑션 결과 수신부로부터 수신한 상기 결과에 기초하여 상기 명령어를 전달하는, 컴파일 없는 코딩시스템.
  9. 제7항에 있어서,
    상기 명령어는 상기 펑션 결과 수신부로부터 수신한 상기 결과에 기초하여 적어도 한번 실행되거나 동일한 동작이 반복되는, 컴파일 없는 코딩시스템.
  10. 제1항에 있어서,
    상기 모듈 어셈블리는 입력 모듈 및 출력 모듈 중 적어도 하나를 포함하고,
    상기 입력 모듈은 환경 모듈, 버튼 모듈, 자이로스코프 모듈, 마이크 모듈, 적외선 모듈, 다이얼 모듈 및 초음파 모듈 중 적어도 하나이고,
    상기 출력 모듈은 LED 모듈, 스피커 모듈, 디스플레이 모듈, 모터 컨트롤러 모듈 및 모터 모듈 중 적어도 하나인, 컴파일 없는 코딩시스템.
  11. 제1항에 있어서,
    상기 모듈 어셈블리는 다이얼 모듈, 버튼 모듈 및 디스플레이 모듈을 더 포함하는, 컴파일 없는 코딩시스템.
  12. 복수의 모듈을 포함하는 모듈 어셈블리에 있어서,
    상기 복수의 모듈로부터 펑션 정보를 수신하는 펑션 정보 수신부; 상기 펑션 정보에 기초하여 펑션 동작 순서에 대한 전체 시퀀스를 생성하는 펑션 동작 순서 생성부; 및 상기 펑션 동작 순서에 기초하여 모듈에 명령어를 전달하는 펑션 동작 정보 전송부를 포함하는 마스터 모듈; 및
    상기 마스터 모듈로부터 수신한 상기 펑션 동작 순서에 기초하여 릴레이되는 동작 모듈을 포함하는, 모듈 어셈블리.
  13. 제12항에 있어서,
    상기 마스터 모듈은 상기 동작 모듈과 주기적으로 무선 통신하고, 상기 전체 시퀀스 내에서 릴레이 순번인 동작 모듈에 매칭되는 펑션 동작을 상기 릴레이 순번인 동작 모듈에 전달하는, 모듈 어셈블리.
  14. 제12항에 있어서,
    상기 마스터 모듈은 상기 전체 시퀀스를 상기 릴레이되는 동작 모듈에 순서대로 전달하는, 모듈 어셈블리.
  15. 제12항에 있어서,
    상기 펑션 동작 순서는 사용자에 의해 상기 모듈 어셈블리가 조립되는 순서와 대응하는, 모듈 어셈블리.
  16. 제12항에 있어서,
    상기 펑션 동작 순서는 상기 모듈 어셈블리가 조립되는 순서와 무관하게 시퀀스 제작 시스템 내에서 사용자가 설정한 순서인, 모듈 어셈블리.
  17. 제12항에 있어서,
    상기 모듈 어셈블리는 변수 입력이 가능한 변수 모듈을 더 포함하는, 모듈 어셈블리.
  18. 제17항에 있어서,
    상기 변수 모듈은 상기 모듈 어셈블리를 구성하는 상기 모듈과 동일한 형태 또는 카드 리더기 형태 또는 칩 형태인, 모듈 어셈블리.
  19. 제12항에 있어서,
    상기 명령어는 상기 펑션 동작 순서에 기초하여 동작하는 모듈에 대하여 다음으로 릴레이되는 넥스트 모듈의 고유 정보 및 상기 넥스트 모듈에서 실행하고자 하는 펑션 넘버(Function number) 형태의 펑션 정보 중 적어도 하나를 포함하는, 모듈 어셈블리.
  20. 제19항에 있어서,
    상기 펑션 넘버는 상기 펑션 정보 제공 서버가 상기 명령어를 전달할 때 상기 모듈들에서 동작이 중복되어 실행되지 않도록 서로 상이한 번호로 생성되는, 모듈 어셈블리.
  21. 제12항에 있어서,
    상기 마스터 모듈은 네트워크 모듈인, 모듈 어셈블리.
  22. 제12항에 있어서,
    상기 모듈 어셈블리는 입력 모듈 및 출력 모듈 중 적어도 하나를 포함하고; 상기 입력 모듈은 환경 모듈, 버튼 모듈, 자이로스코프 모듈, 마이크 모듈, 적외선 모듈, 다이얼 모듈 및 초음파 모듈 중 적어도 하나이고; 상기 출력 모듈은 LED 모듈, 스피커 모듈, 디스플레이 모듈, 모터 컨트롤러 모듈 및 모터 모듈 중 적어도 하나인, 모듈 어셈블리.
  23. 제22항에 있어서,
    다이얼 모듈, 버튼 모듈 및 디스플레이 모듈을 더 포함하는, 모듈 어셈블리.
KR1020190175319A 2019-12-26 2019-12-26 컴파일 없는 코딩시스템 및 모듈 어셈블리 KR102298631B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190175319A KR102298631B1 (ko) 2019-12-26 2019-12-26 컴파일 없는 코딩시스템 및 모듈 어셈블리
US16/992,372 US11455147B2 (en) 2019-12-26 2020-08-13 System for coding without compilation and a module assembly
EP20193928.7A EP3842107A1 (en) 2019-12-26 2020-09-01 System for coding without compilation and module assembly

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190175319A KR102298631B1 (ko) 2019-12-26 2019-12-26 컴파일 없는 코딩시스템 및 모듈 어셈블리

Publications (2)

Publication Number Publication Date
KR20210082897A KR20210082897A (ko) 2021-07-06
KR102298631B1 true KR102298631B1 (ko) 2021-09-06

Family

ID=72322405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190175319A KR102298631B1 (ko) 2019-12-26 2019-12-26 컴파일 없는 코딩시스템 및 모듈 어셈블리

Country Status (3)

Country Link
US (1) US11455147B2 (ko)
EP (1) EP3842107A1 (ko)
KR (1) KR102298631B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GR1010562B (el) * 2022-12-08 2023-10-31 Αριστοτελειο Πανεπιστημιο Θεσσαλονικης - Ειδικος Λογαριασμος Κονδυλιων Ερευνας, Συστημα και μεθοδος υβριδικης καθοδηγησης εκπαιδευτικου ρομποτ

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101696151B1 (ko) 2016-06-09 2017-01-12 신재광 IoT 기반의 모듈러 로보틱스 시스템

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050289265A1 (en) * 2004-06-08 2005-12-29 Daniel Illowsky System method and model for social synchronization interoperability among intermittently connected interoperating devices
US8257157B2 (en) * 2008-02-04 2012-09-04 Polchin George C Physical data building blocks system for video game interaction
EP3509717A4 (en) * 2015-06-25 2020-09-16 Patently Good PTY Ltd MODULAR ELECTRONICS SYSTEM
KR101761596B1 (ko) 2016-03-07 2017-07-26 주식회사 럭스로보 모듈 어셈블리
KR20180080919A (ko) * 2017-01-05 2018-07-13 조태연 코딩 교육 장치 및 코딩 교육 방법
KR20190048188A (ko) * 2017-10-30 2019-05-09 도완이 전자 블록을 이용한 언플러그드 코딩 시스템
KR20190088787A (ko) * 2018-01-19 2019-07-29 김태권 알고리즘 교육을 위한 작동 모듈이 구비된 조합가능형 로봇 블록
RU2746105C2 (ru) * 2019-02-07 2021-04-07 Акционерное общество "Лаборатория Касперского" Система и способ конфигурирования шлюза для защиты автоматизированных систем

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101696151B1 (ko) 2016-06-09 2017-01-12 신재광 IoT 기반의 모듈러 로보틱스 시스템

Also Published As

Publication number Publication date
KR20210082897A (ko) 2021-07-06
US11455147B2 (en) 2022-09-27
US20210200516A1 (en) 2021-07-01
EP3842107A1 (en) 2021-06-30

Similar Documents

Publication Publication Date Title
US20240157263A1 (en) Connecting structures in a modular construction kit
US20200261818A1 (en) Toy construction system with function construction elements
US20190042530A1 (en) Multi-direction connectable electronic module and modular electronic building system
KR102211422B1 (ko) 프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템
CN103930182A (zh) 用于玩具件的基板组件
GB2533314A (en) Modular robotic system
JP2011500116A (ja) 玩具構築システム
KR200480780Y1 (ko) 학생용 센서로봇
KR102298631B1 (ko) 컴파일 없는 코딩시스템 및 모듈 어셈블리
KR101966914B1 (ko) 코딩 교육을 위한 완구용 로봇 제어 시스템
CN110536729B (zh) 交互式模块化构造元件及具有交互式模块化构造元件的模块化构造系统
KR101413992B1 (ko) 사용자 입력 장치 및 이를 이용한 전자기기 제어 시스템
KR102301027B1 (ko) 모듈을 이용한 독자 참여형 전자책 시스템 및 동작 방법
KR102289872B1 (ko) 플러그 앤 플레이 모듈 어셈블리 및 플러그 앤 플레이 시스템
KR102463835B1 (ko) 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법
KR102479950B1 (ko) Ar을 통한 모듈 조립이 가능한 코딩 교육용 시스템
CN211654105U (zh) 一种可拼装的教育机器人搭建组件
KR102205158B1 (ko) 스마트 토이
Teoh Kok ARTIFICIAL INTELLIGENT REMOTE CONTROL CAR (AI MOBILE)(AKA REMOTE CONTROL CAR USING MATLAB)

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