KR101913833B1 - 프로그래밍 교육을 위한 전자블록 시스템 - Google Patents

프로그래밍 교육을 위한 전자블록 시스템 Download PDF

Info

Publication number
KR101913833B1
KR101913833B1 KR1020160152771A KR20160152771A KR101913833B1 KR 101913833 B1 KR101913833 B1 KR 101913833B1 KR 1020160152771 A KR1020160152771 A KR 1020160152771A KR 20160152771 A KR20160152771 A KR 20160152771A KR 101913833 B1 KR101913833 B1 KR 101913833B1
Authority
KR
South Korea
Prior art keywords
electronic block
block
slave
slave electronic
data
Prior art date
Application number
KR1020160152771A
Other languages
English (en)
Other versions
KR20180055207A (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 KR1020160152771A priority Critical patent/KR101913833B1/ko
Priority to PCT/KR2016/014207 priority patent/WO2017150788A1/ko
Priority to US16/081,615 priority patent/US10585649B2/en
Publication of KR20180055207A publication Critical patent/KR20180055207A/ko
Application granted granted Critical
Publication of KR101913833B1 publication Critical patent/KR101913833B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/06Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics
    • G09B23/18Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism
    • G09B23/183Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism for circuits
    • G09B23/185Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism for circuits for building block systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Toys (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)

Abstract

본 발명은 프로그램 코딩 교육을 위한 스크래치 프로그래밍의 명령 블록들을 하드웨어 형태의 전자블록으로 구성하고, 다수의 전자블록들을 프로그램 흐름도에 따라 연결하면 해당 흐름도에 따라 스프라이트를 제어하는 프로그램을 수행시켜주는, 프로그래밍 교육을 위한 전자블록 시스템에 관한 것으로서, 상기 스마트 단말과 연결되어, 데이터 통신 라인을 형성하고 전원을 공급받는 마스터 전자블록; 및, 다수의 슬레이브 전자블록들을 포함하고, 상기 슬레이브 전자블록은 상기 마스터 전자블록 또는 다른 슬레이브 전자블록과 조립될 수 있고, 상기 마스터 전자블록이 최상단에 조립되고, 상기 마스터 전자블록의 하단에 다수의 슬레이브 전자블록들이 순차적으로 조립되고, 상기 슬레이브 전자블록은 상단에 조립된 슬레이브 전자블록 또는 마스터 전자블록으로부터 데이터 통신 라인을 형성하고 전원을 공급받는 구성을 마련한다.
상기와 같은 전자블록 시스템에 의하여, 손으로 만질 수 있는 전자블록들을 서로 연결하여 스크래치 프로그래밍을 작성할 수 있고, 이로 인해, 컴퓨터 등이 없더라도 스프라이트를 제어하는 프로그래밍을 작성할 수 있다.

Description

프로그래밍 교육을 위한 전자블록 시스템 { An electronic block kit system for programming education }
본 발명은 프로그램 코딩 교육을 위한 스크래치 프로그래밍의 명령 블록들을 하드웨어 형태의 전자블록으로 구성하고, 다수의 전자블록들을 프로그램 흐름도에 따라 연결하면 해당 흐름도에 따라 스프라이트를 제어하는 프로그램을 수행시켜주는, 프로그래밍 교육을 위한 전자블록 시스템에 관한 것이다.
일반적으로, 스크래치(Scratch) 프로그램은 MIT(Massachusetts Institute of Technology) 미디어랩에서 학생들이 컴퓨터를 활용하여 스프라이트(스크래치에서 프로그램 화면에서 명령에 따라 움직이는 대상)를 제어(이동, 제어, 소리 등)할 수 있도록 다양한 명령블록을 제공하는 교육용 프로그래밍 언어이다. 즉, 스크래치(scratch)는 어린이들을 위한 간단한 스크립트 프로그래밍 언어로서, 각 명령이 블록 형태로 구성되고, 이들 명령 블록들을 구성하여 흐름도를 작성할 수 있다.
특히, 스크래치 프로그램은 프로그래밍을 통해 제어하려는 대상 객체를 스프라이트라고 한다. 즉, 스크래치 프로그래밍은 스프라이트를 동작시키는 동작 명령 블록들 및, 명령의 흐름을 제어하는 제어 명령 블록들로 구성되고, 이들을 하나의 흐름도와 같이 연결하여 프로그래밍을 작성한다. 이렇게 작성된 프로그래밍은 스프라이트를 제어하는 프로그램이다[특허문헌 1].
상기와 같은 스크래치 프로그램은 컴퓨터를 이용한 소프트웨어로만 제공되고 있다. 그런데 유아들은 컴퓨터를 자유자재로 사용하지 못하므로, 스크래치를 활용한 코딩교육을 유아들에게 제공해줄 수 없다.
따라서 기존의 스크래치의 각각의 명령블록들을 S/W 형태가 아니라 H/W 형태인 전자블록으로 만들어 제공하는 기술이 필요하다. 즉, 컴퓨터가 없이도 스크래치 프로그램에서와 같이 물리적인 명령블록들을 서로 조립하여, 스프라이트를 제어하는 프로그램을 만들 수 있도록 하는 기술이 필요하다.
미국공개특허공보 제2014-0170633호(2014.01.19. 공개)
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 프로그램 코딩 교육을 위한 스크래치 프로그래밍의 명령 블록들을 하드웨어 형태의 전자블록으로 구성하고, 다수의 전자블록들을 프로그램 흐름도에 따라 연결하면 해당 흐름도에 따라 스프라이트를 제어하는 프로그램을 수행시켜주는, 프로그래밍 교육을 위한 전자블록 시스템을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 스마트 단말과 연결되는 프로그래밍 교육을 위한 전자블록 시스템에 관한 것으로서, 상기 스마트 단말과 연결되어 전원을 공급받는 마스터 전자블록; 및, 다수의 슬레이브 전자블록들을 포함하고, 상기 슬레이브 전자블록은 상기 마스터 전자블록 또는 다른 슬레이브 전자블록과 조립될 수 있고, 상기 마스터 전자블록이 최상단에 조립되고, 상기 마스터 전자블록의 하단에 다수의 슬레이브 전자블록들이 순차적으로 조립되고, 상기 슬레이브 전자블록은 상단에 조립된 슬레이브 전자블록 또는 마스터 전자블록으로부터 데이터 라인을 형성하고 전원을 공급받고, 상기 데이터 라인으로 자신의 전자블록 식별 데이터를 송신하는 것을 특징으로 한다.
또한, 본 발명은 프로그래밍 교육을 위한 전자블록 시스템에 있어서, 상기 슬레이브 전자블록은 상위의 마스터 전자블록 또는 슬레이브 전자블록으로부터 제어신호를 수신하면, 상기 데이터 라인을 점유하여 자신의 전자블록 식별 데이터를 전송하고, 식별 데이터 전송이 완료되면, 하위 슬레이브 전자블록으로 제어신호를 전송하는 것을 특징으로 한다.
또한, 본 발명은 프로그래밍 교육을 위한 전자블록 시스템에 있어서, 상기 마스터 전자블록 또는 슬레이브 전자블록은 마이크로컨트롤러(MCU)로 구성되고, 식별 데이터 송신 작업이 상기 마이크로컨트롤러의 ROM에 프로그램으로 저장되고, 상기 데이터 라인은 상기 마이크로컨트롤러 간의 USART 방식 또는 I2C 방식의 시리얼 통신으로 송수신되는 것을 특징으로 한다.
또한, 본 발명은 프로그래밍 교육을 위한 전자블록 시스템에 있어서, 상기 제어신호는 상기 마이크로컨트롤러(MCU)의 범용 입출력 핀(GPIO)을 통해 송신되거나 수신되는 것을 특징으로 한다.
또한, 본 발명은 프로그래밍 교육을 위한 전자블록 시스템에 있어서, 상기 제어신호는 상기 마스터 전자블록 또는 슬레이브 전자블록의 마이크로컨트롤러의 범용 출력핀(GPO)로 송신되고, 상기 슬레이브 전자블록의 마이크로컨트롤러의 리셋핀(RST)으로 수신되고, 상기 슬레이브 전자블록의 마이크로컨트롤러는 상기 리셋핀에 의해 초기화되면, ROM에 기록된 프로그램이 실행함으로써 식별 데이터 송신 작업을 수행하는 것을 특징으로 한다.
또한, 본 발명은 프로그래밍 교육을 위한 전자블록 시스템에 있어서, 상기 슬레이브 전자블록은 마이크로컨트롤러의 전원핀(VCC)에 공급되는 전원을 스위칭하는 전원스위치(SW)를 구비하고, 상기 제어신호는 상기 마스터 전자블록 또는 슬레이브 전자블록의 마이크로컨트롤러의 범용 출력핀(GPO)로 송신되고, 상기 슬레이브 전자블록의 전원스위치를 연결시키는 신호로 수신되고, 상기 슬레이브 전자블록의 마이크로컨트롤러는 상기 전원스위치에 의해 전원이 공급되면, ROM에 기록된 프로그램이 실행함으로써 식별 데이터 송신 작업을 수행하는 것을 특징으로 한다.
또한, 본 발명은 프로그래밍 교육을 위한 전자블록 시스템에 있어서, 상기 슬레이브 전자블록은 상단에 마스터 전자블록 또는 슬레이브 전자블록에 조립되어 전원을 공급받으면, 하위 슬레이브 전자블록으로부터 조립신호를 대기하고, 조립신호가 들어오면 자신의 전자블록 식별 데이터를 상기 마스터 전자블록으로 전송하고, 자신과 연결된 상위 전자블록으로 조립신호를 전송하는 것을 특징으로 한다.
또한, 본 발명은 프로그래밍 교육을 위한 전자블록 시스템에 있어서, 상기 슬레이브 전자블록은 하위 슬레이브 전자블록으로부터 조립신호를 사전에 정해진 시간 동안 대기하고, 조립신호가 수신되지 않으면 자신의 전자블록 식별 데이터를 상기 마스터 전자블록으로 전송하고, 자신과 연결된 상위 전자블록으로 조립신호를 전송하는 것을 특징으로 한다.
또한, 본 발명은 프로그래밍 교육을 위한 전자블록 시스템에 있어서, 상기 시스템은, 상기 슬레이브 전자블록 내에 조립되어 옵션 값을 출력하는 옵션 전자블록을 더 포함하고, 상기 슬레이브 전자블록은 상기 옵션 전자블록으로부터 옵션 값을 수신하면 상기 옵션 값을 식별 데이터에 포함시켜 전송하는 것을 특징으로 한다.
또한, 본 발명은 프로그래밍 교육을 위한 전자블록 시스템에 있어서, 상기 옵션 전자블록은 상기 슬레이브 전자블록으로부터 전원을 공급받아 내부의 저항에 따라 달리 출력되는 전압을 상기 슬레이브 전자블록으로 출력하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 프로그래밍 교육을 위한 전자블록 시스템에 의하면, 손으로 만질 수 있는 전자블록들을 서로 연결하여 스크래치 프로그래밍을 작성할 수 있고, 이로 인해, 컴퓨터 등이 없더라도 스프라이트를 제어하는 프로그래밍을 작성할 수 있는 효과가 얻어진다.
도 1은 본 발명의 일실시예에 따른 프로그래밍 교육을 위한 전자블록 시스템의 구성에 대한 블록도.
도 2는 본 발명의 일실시예에 따른 프로그래밍 교육을 위한 전자블록 시스템에 대한 구성 예시도.
도 3은 본 발명의 제1 실시예에 따른 마스터 전자블록의 구성도.
도 4는 본 발명의 제1 실시예에 따른 마스터 전자블록의 내부 구성도.
도 5는 본 발명의 제1 실시예에 따른 제어부의 내부 구성도.
도 6는 본 발명의 제1-1 실시예에 따른 슬레이브 전자블록의 구성도.
도 7은 본 발명의 제1-1 실시예에 따른 슬레이브 전자블록의 내부 구성도.
도 8은 본 발명의 제1 실시예에 따라 마스터 전자블록과 다수의 슬레이브 전자블록들의 조립되어 전원 및 데이터 전송을 나타낸 구성 예시도.
도 9는 본 발명의 제1 실시예에 따라 각 슬레이브 전자블록의 제어부가 수행하는 작업을 설명하는 흐름도.
도 10은 본 발명의 제1 실시예에 따라 마스터 전자블록의 제어부가 수행하는 작업을 설명하는 흐름도.
도 11은 본 발명의 제1-2 실시예에 따른 슬레이브 전자블록의 구성도.
도 12는 본 발명의 제1-2 실시예에 따른 슬레이브 전자블록의 내부 구성도.
도 13은 본 발명의 제1 실시예에 따라 옵션 전자블록이 슬레이브 전자블록에 삽입되는 상태를 예시한 도면.
도 14은 본 발명의 제1 실시예에 따른 옵션 전자블록의 구성도.
도 15는 본 발명의 제1 실시예에 따른 옵션 전자블록의 내부 구성도.
도 16은 본 발명의 제1 실시예에 따른 슬레이브 전자블록과 옵션 전자블록이 결합된 상태의 내부 구성도.
도 17은 본 발명의 제2 실시예에 따른 마스터 전자블록의 내부 구성도.
도 18은 본 발명의 제2 실시예에 따른 슬레이브 전자블록의 내부 구성도.
도 19는 본 발명의 제2 실시예에 따라 마스터 전자블록과 다수의 슬레이브 전자블록들의 조립되어 전원 및 데이터 전송을 나타낸 구성 예시도.
도 20은 본 발명의 제3 실시예에 따른 마스터 전자블록의 내부 구성도.
도 21은 본 발명의 제3 실시예에 따른 슬레이브 전자블록의 내부 구성도.
도 22는 본 발명의 제3 실시예에 따라 마스터 전자블록과 다수의 슬레이브 전자블록들의 조립되어 전원 및 데이터 전송을 나타낸 구성 예시도.
도 23은 본 발명의 제4 실시예에 따른 마스터 전자블록의 내부 구성도.
도 24는 본 발명의 제4 실시예에 따른 슬레이브 전자블록의 내부 구성도.
도 25는 본 발명의 제4 실시예에 따라 마스터 전자블록과 다수의 슬레이브 전자블록들의 조립되어 전원 및 데이터 전송을 나타낸 구성 예시도.
도 26은 본 발명의 제5 실시예에 따른 마스터 전자블록의 내부 구성도.
도 27은 본 발명의 제5 실시예에 따른 슬레이브 전자블록의 내부 구성도.
도 28은 본 발명의 제5 실시예에 따라 마스터 전자블록과 다수의 슬레이브 전자블록들의 조립되어 전원 및 데이터 전송을 나타낸 구성 예시도.
도 29는 본 발명의 제5 실시예에 따라 각 슬레이브 전자블록의 제어부가 수행하는 작업을 설명하는 흐름도.
도 30은 본 발명의 제5 실시예에 따라 마스터 전자블록의 제어부가 수행하는 작업을 설명하는 흐름도.
도 31는 본 발명의 일실시예에 따른 프로그램의 단위 명령을 나타낸 표.
도 32는 본 발명의 실험에 따른 전자블록들에 대한 예시도.
도 33은 본 발명의 실험에 따른 흐름을 제어하는 전자블록들에 대한 예시도.
도 34은 본 발명의 실험에 따른 스프라이트 이동 및 회전 하면서 LED 색상을 변경하는 프로그램을 나타낸 조립도.
도 35은 본 발명의 실험에 따른 4각형 연속그리기의 예제 프로그램으로서, (a) 블록연결 예제, (b) 스크래치프로그램으로 작성된 코드와 (c) 실행결과에 대한예시도.
도 36는 본 발명의 실험에 따른 눈 꽃송이 만들기의 예제 프로그램으로서, (a) 블록연결예제이고, (b) 스크래치프로그램으로 작성된 코드와 (c) 실행결과의 예시도.
도 37은 본 발명의 실험에 따른 if else 블록을 사용한 팔각형 만들기에 대한 예제 프로그램으로서, (a) 블록연결예제이고, (b) 스크래치프로그램으로 작성된 코드와 (c) 실행결과의 예시도.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명의 일실시예에 따른 프로그래밍 교육을 위한 전자블록 시스템의 전체 구성을 도 1 및 도 2를 참조하여 설명한다.
도 1 또는 도 2에서 보는 바와 같이, 본 발명에 따른 프로그래밍 교육을 위한 전자블록 시스템은 컴퓨팅 기능과 디스플레이 기능을 구비한 스마트 단말(60), 스마트 단말(60)과 연결되는 마스터 전자블록(10), 마스터 전자블록(10)과 조립되거나 서로 조립이 가능한 슬레이브 전자블록(20), 및, 스마트 단말(60)에 설치되는 프로그램 수행도구(70)로 구성된다. 또한, 스마트 단말(60)과 마스터 전자블록(10) 간에 통신을 하도록 연결되는 통신수단(50)이 추가적으로 구성될 수 있다. 또한, 스마트 단말(60)과 통신하여 구동되는 스프라이트 장치(80)를 더 추가하여 구성될 수 있다. 또한, 슬레이브 전자블록(20) 내에 조립되어, 슬레이브 전자블록(20)의 옵션 값을 설정하는 옵션 전자블록(30)을 더 포함할 수 있다.
스마트 단말(10)은 스마트폰, 태블릿PC, 패블릿, PDA, PC, 노트북 등 컴퓨터 기능과 디스플레이 기능을 구비한 단말이다. 즉, 스마트 단말(10)은 프로그램을 설치하여 실행할 수 있고, 디스플레이를 구비하여 실행 결과 등을 디스플레이의 화면 상에 출력할 수 있다.
마스터 전자블록(10)은 조립식으로 결합할 수 있는 블록으로서, 슬레이브 전자블록(20)과 조립할 수 있는 블록이다. 특히, 마스터 전자블록(10)은 하나의 슬레이브 전자블록(20)과 조립할 수 있다. 바람직하게는, 마스터 전자블록(10)은 그 하단에 다른 전자블록과 조립되는 조립수단을 구비한다. 또한, 마스터 전자블록(10)은 스마트 단말(10)과 연결되어, 데이터 통신을 수행할 수 있다.
또한, 슬레이브 전자블록(20)은 조립식으로 결합할 수 있는 블록으로서, 마스터 전자블록(10)이나 다른 슬레이브 전자블록(20)과 조립할 수 있는 블록이다. 슬레이브 전자블록(20)은 다른 전자블록(10,20)과 조립할 수 있다. 바람직하게는, 슬레이브 전자블록(20)은 그 상단과 하단에 각각 다른 전자블록과 조립할 수 있는 조립수단을 구비한다.
따라서 마스터 전자블록(10)의 하단에 슬레이브 전자블록(20)이 조립되고, 조립된 슬레이브 전자블록(20)의 하단에 슬레이브 전자블록(20)이 조립되어, 다수의 슬레이브 전자블록(20)이 연속적으로 조립될 수 있다.
하나의 마스터 전자블록(10)과 다수의 슬레이브 전자블록(20)들이 일련으로 조립되면, 이들 전자블록(10,20)들의 조립 구성은 하나의 프로그래밍 흐름도를 나타낸다. 상기 조립 구성의 흐름도는 대상 객체 또는 스프라이트를 제어하는 흐름도이다. 즉, 앞서 전자블록(10,20)들은 각각 스프라이트를 제어하기 위한 명령을 의미하는 블록들로서, 스프라이트의 동작이나 색상, 횟수, 수행 흐름 등을 제어하는 블록들이다.
또한, 옵션 전자블록(30)은 슬레이브 전자블록(20) 내에 조립되어, 슬레이브 전자블록(20)의 옵션 값을 설정한다. 바람직하게는, 옵션 전자블록(30)은 숫자 등으로 표기되고, 슬레이브 전자블록(20) 내에 조립되면 해당 숫자 값을 옵션 값으로 설정하는 효과가 있다.
다음으로, 통신수단(50)은 마스터 전자블록(10)과 스마트 단말(60)을 연결하여 데이터 통신을 수행할 수 있는 수단이다. 통신수단(50)은 USB, 마이크로 USB 등 통상의 유선 케이블 수단으로 구성될 수 있다. 또한, 통신수단(50)은 블루투스, 와이파이(WiFi), 적외선 통신(IR), RF 통신 등 무선통신 또는 근거리 무선통신 수단으로 구성될 수 있다.
다음으로, 프로그램 수행도구(70)는 스마트 단말(60)에 설치되는 어플리케이션 또는 모바일 어플리케이션(어플, 앱)이다. 프로그램 수행도구(70)는 스마트 단말(60)과 마스터 전자블록(10) 간에 연결된 통신수단(50)을 통해, 마스터 전자블록(10)에 연결되어 조립된 전자블록(10,20)들을 감지한다. 프로그램 수행도구(70)는 감지된 전자블록(10,20)의 조립 구성으로부터 프로그램 흐름도를 인식하여, 인식된 프로그램 흐름도에 따라 대상 객체 또는 스프라이트를 제어한다.
이때, 프로그램 수행도구(70)는 스마트 단말(60)의 디스플레이에 대상 객체(또는 스프라이트)를 화면에 표시하고, 인식된 프로그램 흐름도에 따라 스프라이트를 화면 상에 동작하도록 제어한다.
또는 프로그램 수행도구(70)는 스마트 단말(60)에 (무선 또는 유선으로) 연결된 스프라이트 장치(80)가 동작하도록 제어할 수 있다. 즉, 프로그램 수행도구(70)는 인식된 프로그램 흐름도에 따라 물리적인 스프라이트 장치(60)를 동작하도록 제어한다.
다음으로, 스프라이트 장치(80)는 이동수단(또는 구동수단) 및 통신수단을 구비하여, 스마트 단말(60)과 통신하고, 스마트 단말(60)로부터 수신한 제어 명령에 따라 이동(또는 구동)하거나 동작된다. 즉, 스프라이트 장치(80)는 스마트 단말(60)의 화면 상에 제어되는 소프트웨어적인 스프라이트를 물리적인 실체로 구현된 장치이다. 일례로서, 스프라이트 장치(80)는 바퀴와 모터 등으로 구성된 원격제어 모형 자동차 등으로 구현될 수 있다. 또 다른 예로서, 스프라이트 장치(80)는 소정의 동작을 수행하는 장치 또는 로봇 등으로 구현될 수 있다.
다음으로, 본 발명의 제1 실시예에 따른 마스터 전자블록(10)의 구성에 대하여 도 3 및 도 4를 참조하여 보다 구체적으로 설명한다. 도 3은 마스터 전자블록(10)의 외형 구조를 나타낸 사시도이고, 도 4는 마스터 전자블록(10)의 내부 구성을 도시한 구성도이다.
도 3에서 보는 바와 같이, 본 발명에 따른 마스터 전자블록(10)은 본체(10a)와, 본체(10a) 하단에 구성된 조립부(10b)로 구성된다. 본체(10a)의 표면에는 마스터 전자블록(10)의 기능 또는 명령어를 쉽게 알 수 있도록, 문자열로 구성된 명령문이 표시된다. 바람직하게는, 문자열의 명령문은 영문 또는 한글 등으로 표시된다.
또한, 조립부(10b)는 다른 전자블록, 특히, 슬레이브 전자블록(20)과 조립할 수 있는 조립 수단이 구비된다. 일례로서, 조립부(10b)는 본체(10a)에서 돌출된 형태로 형성되어, 슬레이브 전자블록(20)의 홈 형태로 구성된 결합홈 또는 조립부와 결합되도록 구성될 수 있다. 다른 예로서, 마스터 전자블록(10)의 조립부(10b)가 결합홈 형태로 형성되어, 슬레이브 전자블록(20)의 돌출된 조립부와 결합되도록 구성될 수 있다. 또한, 조립부(10b)는 다수의 조립부로 형성될 수 있다. 즉, 여러 개의 돌출부 또는 결합홈으로 형성될 수 있다.
또한, 전자블록 본체(10a)의 일측면에는 통신수단(50)과 연결되어 구성되거나, 통신수단(50)과 연결될 수 있는 USB 단자, 마이크로 USB 단자, 전용 단자 등으로 형성될 수 있다. 다른 예로서, 마스터 전자블록(10)이 스마트 단말(60)과 블루투스나 IR, 와이파이 등 근거리 통신수단을 통해 연결되는 경우는 별도로 통신수단(50)과 연결시키는 연결수단을 구비하지 않을 수 있다.
또한, 도 4에서 보는 바와 같이, 본 발명에 따른 마스터 전자블록(10)은 전원(Vcc) 및 접지(Gnd)에 각각 연결하는 전원 단자(11) 및 접지 단자(12), 클럭신호를 송수신하는 클럭 단자(13), 데이터를 송수신하는 데이터 단자(14), 조립된 전자블록으로 제어신호를 송신하는 제어신호 송신단자(15), 통신수단(50)과 연결되는 전원 및 통신부(16), 및, 마이크로컨트롤러(MCU)를 구비한 제어부(19)로 구성된다. 또한, 버튼, 센서 등 입력장치에 의한 입력을 인식하는 입력수단(17)을 추가로 구성할 수 있다.
전원 및 통신부(16)는 통신수단(50)과 연결하여, 데이터를 송수신하거나, 전원을 공급받아 이를 제어부(19)로 공급하거나 전원 단자(11)와 접지 단자(12)로 전원을 공급한다.
또한, 전원 및 통신부(16)는 배터리 또는 자체적으로 전원공급모듈을 구비할 수 있다. 일례로서, 통신수단(50)이 무선으로 통신하는 경우, 통신수단(50)으로부터 전원을 공급받지 않고, 내부적으로 구비된 배터리 또는 전원공급모듈로부터 전원을 공급받는다.
전원 단자(11), 접지 단자(12), 클럭 단자(13), 데이터 단자(14), 제어신호 송신단자(15)는 전자블록(10)의 하단에 구비된 조립부(10b)의 단면에 구비된다. 따라서 조립부(10b)가 슬레이브 전자블록(20)과 조립되면, 해당 단자들이 슬레이브 전자블록(20)의 단자들과 서로 연결되도록 구성된다.
또한, 조립부(10b)가 다수 개로 형성되는 경우, 각 단자들은 다수 개의 조립부(10b)에 나뉘어져 형성될 수 있다.
전원 단자(11)와 접지 단자(12)는 전원 공급을 위한 단자들로서, 전원 라인(11c)과 접지 라인(12c)과 연결된 단자들다. 또한, 전원 라인(11c)과 접지 라인(12c)은 전원 및 통신부(16)를 통해 통신수단(50)과 연결되어, 전원을 공급받는다. 따라서 전원 단자(11)와 접지 단자(12)는 하부에 연결되는 전자블록(20)으로 전원을 공급하기 위한 단자이다. 또한, 전원 라인(11c)과 접지 라인(12c)은 제어부(19)로 연결되어 전원을 공급한다. 따라서 다수의 전자블록(10, 20)들이 연결되면, 각각 전원 라인(11c)과 접지 라인(12c)을 통해 병렬로 전원을 공급받게 된다. 이하에서 설명의 편의를 위하여 전원 라인과 접지라인을 합하여 전원 라인이라 혼용하기로 한다. 또한, 전원 단자 및 접지 단자를 합하여 전원 단자로 통칭하여 혼용하기로 한다.
클럭 단자(13) 및 데이터 단자(14)는 클럭 신호와 데이터 신호를 전송하기 위한 단자들로서, 특히, 시리얼 통신을 위한 단자들이다. 바람직하게는, 상기 통신 단자들(13, 14)은 I2C(Inter Integrated Circuit) 방식의 시리얼 통신을 위한 단자들로서, 클럭 신호의 SCL(Serial CLock) 신호 및, 데이터의 SDA(Serial DAta) 신호를 송수신하기 위한 단자들이다. 즉, 클럭신호(SCL신호)에 맞추어 SDA 라인을 통해 데이터를 전송한다.
또한, 클럭 단자(13) 및 데이터 단자(14)는 하부에 연결되는 전자블록(20)과 연결되고, MCU 등 제어부(19)의 입출력핀(SCL, SDA)과 연결된다. 따라서 MCU 등 제어부(19)는 입출력핀(SCL, SDA)을 통해 하부에 연결된 전자블록(20)과 시리얼 통신을 수행한다. 클럭 단자(13) 및 데이터 단자(14) 각각에 의해 제어부(19)와 하부 전자블록(20)과 연결되는 라인을 클럭 라인 및 데이터 라인이라 부르기로 한다.
제어신호 송신단자(15)는 하부의 슬레이브 전자블록(20)에 제어신호를 송신하는 단자이다. 제어신호 송신단자(15)는 MCU 등 제어부(19)의 입출력핀(GPIO)과 연결되어, 제어부(19)가 입출력핀(GPIO)을 통해 제어신호를 하부의 슬레이브 전자블록(20)으로 전송한다. 제어신호 송신단자(15)에 의해 제어부(19)와 하부 전자블록(20)과 연결되는 라인을 제어 라인이라 부르기로 한다.
제어부(19)의 제어신호는 하부에 연결된 전자블록(20)을 활성화시켜, 하부의 전자블록(20)이 자신의 명령어나 식별정보를 전송하도록 제어하는 신호이다. 제어부(19)는 제어신호를 송신한 후 데이터 라인으로부터 데이터 수신을 대기하고, 하부에 연결된 전자블록(20)의 명령어나 식별정보 등을 수신한다.
또한, 제어부(19)는 스마트 단말(60)과 데이터 통신을 수행하여, 자신의 전자블록(10)의 명령어나 식별정보, 또는, 하부에 연결된 다른 슬레이브 전자블록(20)로부터 수신한 명령어나 식별정보들을 스마트 단말(60)로 전송한다. 또한, 제어부(19)는 스마트 단말(60)로부터 시작 명령 등을 수신하여, 자신의 식별정보나 하위 전자블록(20)들의 식별정보 등을 수신하기 시작한다. 이때, 제어부(19)는 입출력핀들 중 일부핀(D1)을 이용하여 전원 및 통신부(16)와 통신한다.
한편, 입력수단(17)은 버튼, 센서, 터치 등 외부 입력을 인식하는 장치를 말한다. 앞서 도 3에서 보는 바와 같이, 마스터 전자블록(10)의 외부 상에 클릭을 할 수 있는 입력수단(17)이 구비되고, 사용자가 입력수단(17)으로 클릭 등을 입력하는 경우, 검출된 입력값을 MCU 등 제어부(19)로 전송한다. 이때, 제어부(19)는 입출력핀들 중 일부핀(D2)을 이용하여 입력수단(17)으로부터 입력값을 수신한다.
다음으로, 본 발명의 제1 실시예에 따른 마이크로컨트롤러(MCU)에 대하여 도 5를 참조하여 보다 구체적으로 설명한다. 바람직하게는, 마스터 전자블록(10) 또는 슬레이브 전자블록(20)의 제어부(19,29)는 마이크로컨트롤러(MCU)로 구현된다.
도 5에서 보는 바와 같이, 마이크로컨트롤러(MCU)는 데이터를 연산하고 처리하는 연산장치, 데이터를 저장하기 위한 RAM과 ROM으로 구성된다. ROM은 EEPROM(electrically erasable programmable read-only memory) 또는 플래시 메모리 등으로 구현되어, 프로그램이 저장된다. 즉, MCU는 ROM에 저장된 프로그램에 따라 자신의 작업을 수행한다.
또한, 마이크로컨트롤러(MCU)는 외부와 데이터를 통신하기 위한 통신부 및 입출력핀들이 구비된다. 도 5와 같이, 다수의 입출력핀(P1, P2, ..., PN)들이 마이크로컨트롤러(MCU)의 통신을 위한 입출력 단자로서 제공된다.
외부와의 데이터 통신은 SPI, USART, I2C 등 통신방식에 의해 데이터 통신을 수행한다. 마이크로컨트롤러(MCU)는 각각의 통신방식 또는 2개 이상의 통신방식을 지원하는 입출력핀들을 제공하고 있다. 따라서 각각의 경우에 따라 MCU의 입출력핀들을 이용하여, 외부 데이터와 통신을 수행한다.
특히, USART(Universal Synchronous/Asynchronous Receiver/Transmitter)는 RS232 등 시리얼 통신 방식을 이용한 범용 동기통신 또는 비동기통신 방식을 말한다. 즉, 마이크로컨트롤러(MCU)는 다른 슬레이브 전자블록(20)과 UART 또는 USRT 방식으로 시리얼 데이터 통신을 수행할 수 있다. USART에 의한 시리얼 통신은 통신라인의 개수를 최소화한다는 장점을 가진다. 특히, 본 발명에 따른 전자블록(10,20)들이 전송하는 데이터 양이 적기 때문에, 속도지연에 의한 문제는 발생되지 않는다.
또한, I2C(Inter Integrated Circuit)는 데이터를 전송하기 위한 SDA(Serial DAta)와, 클럭신호를 전송하기 위한 SCL(Serial CLock)의 2가지 신호를 사용하여 통신하는 방식이다. 즉, 클럭신호(SCL신호)에 맞추어 SDA 라인을 통해 데이터를 전송한다. I2C 통신 방식도 데이터를 SDA 라인을 통해 전송하는 시리얼 통신 방식이다. 다만, I2C 통신 방식은 앞서 USART 통신 방식에 비하여 클럭 신호를 위해 추가적인 통신라인을 1개 더 사용한다는 단점을 가진다.
앞서 마스터 전자블록(10)의 제어부(19)는 I2C 방식을 제공하는 입출력핀을 클럭 단자(13) 및 데이터 단자(14)에 연결하여 I2C 통신방식으로 데이터 통신을 수행한다. 또한, 제어부(19)는 범용적인 통신을 수행하는 입출력핀(GPIO)을 제어신호 송신단자(15)에 연결하여, 제어신호를 송신하는 통신핀으로 이용한다. 또한, 제어부(19)는 입출력핀들 중 일부핀(D1)을 이용하여 전원 및 통신부(16)와 통신한다. 또한, 제어부(19)는 입출력핀들 중 일부핀(D2)을 이용하여 입력수단(17)으로부터 입력값을 수신한다.
한편, 마이크로컨트롤러(MCU)는 전원을 공급받기 위한 전원핀(Vcc)와, 컨트롤러의 기능을 초기화하기 위한 리셋핀(Reset)을 구비한다. 또한, 전원핀(Vcc)은 전원을 공급하고, 동시에, 리셋핀(Rest)에 신호를 주어, MCU를 전체적으로 초기화한다. 마이크로컨트롤러(MCU)는 전원핀(Vcc) 또는 리셋핀(Reset)으로 입력이 들어오면, 초기화 되어 ROM에 기록된 프로그램이 처음부터(초기화되어) 실행된다.
다음으로, 본 발명의 제1-1 실시예에 따른 슬레이브 전자블록(20)의 구성에 대하여 도 6 및 도 7을 참조하여 보다 구체적으로 설명한다. 도 6는 슬레이브 전자블록(20)의 외형 구조를 나타낸 사시도이고, 도 7은 슬레이브 전자블록(20)의 내부 구성을 도시한 구성도이다.
도 6에서 보는 바와 같이, 본 발명에 따른 슬레이브 전자블록(20)은 본체(20a)와, 본체(20a) 상단 및 하단에 각각 형성된 제1 및 제2 조립부(20b, 20c)로 구성된다. 본체(20a)의 표면에는 슬레이브 전자블록(20)의 기능 또는 명령어를 쉽게 알 수 있도록, 문자열로 구성된 명령문이 표시된다. 바람직하게는, 문자열의 명령문은 영문 또는 한글 등으로 표시된다.
또한, 제1 및 제2 조립부(20b, 20c)는 다른 전자블록, 특히, 마스터 전자블록(10) 또는 슬레이브 전자블록(20)과 조립할 수 있는 조립 수단이 구비된다. 일례로서, 본체(20a)의 상단에 형성된 제1 조립부(20b)는 결합홈 형태로 형성되고, 하단에 형성된 제2 조립부(20c)는 돌출부 형태로 형성된다. 이때, 결합홈 형태의 제1 조립부(20b)는 다른 슬레이브 전자블록(20)의 돌출 형태의 제2 조립부(20c)와 결합되어 조립되거나, 마스터 전자블록(20)의 돌출부 형태의 조립부(10b)와 조립될 수 있다. 다른 예로서, 제1 조립부(20b)는 돌출부 형태로 형성되고, 제2 조립부(20c)는 결합홈 형태로 형성될 수 있다. 또한, 조립부(20b, 20c)는 다수의 조립부로 형성될 수 있다. 즉, 여러 개의 돌출부 또는 결합홈으로 형성될 수 있다.
또한, 도 7에서 보는 바와 같이, 본 발명에 따른 슬레이브 전자블록(20)은 전원(Vcc) 및 접지(Gnd)에 각각 연결하는 제1 및 제2 전원 단자(21a, 21b)와 제1 및 제2 접지 단자(22a, 22b), 데이터를 송신하는 제1 및 제2 클럭 단자(23a, 23b)와 제1 및 제2 데이터 단자(24a, 24b), 조립된 전자블록으로부터 제어신호를 수신하거나 송신하는 제어신호 수신단자(25a)와 제어신호 송신단자(25b), 그리고 마이크로컨트롤러를 구비한 제어부(29)로 구성된다.
제1 전원 단자(21a), 제1 접지 단자(22a), 제1 클럭 단자(23a), 제1 데이터 단자(24a), 제어신호 수신단자(25a)는 전자블록(20)의 상단에 구비된 제1 조립부(20b)의 단면에 구비된다. 또한, 제2 전원 단자(21b), 제2 접지 단자(22b), 제2 클럭 단자(23b), 제2 데이터 단자(24b), 제어신호 송신단자(25b)는 슬레이브 전자블록(20)의 하단에 구비된 제2 조립부(20c)의 단면에 구비된다. 또한, 제1 또는 제2 조립부(20b, 20c)가 다수 개로 형성되는 경우, 각 단자들은 다수 개의 제1 또는 제2 조립부(20b, 20c)에 나뉘어져 형성될 수 있다.
따라서 제1 또는 제2 조립부(20b, 20c)가 다른 마스터 전자블록(10) 또는 다른 슬레이브 전자블록(20)과 조립되면, 해당 단자들이 마스터 전자블록(10) 또는 슬레이브 전자블록(20)의 단자들과 서로 접촉되어 연결되도록 구성된다.
제1 및 제2 전원 단자(21a, 21b)와 제1 및 제2 접지 단자(22a, 22b)는 전원 공급을 위한 단자들로서, 전원 라인(21c)과 접지 라인(22c)과 연결되어, 상부 또는 하부에 연결되는 전자블록(10, 20)으로 전원을 공급받거나 공급하기 위한 단자이다. 즉, 전원 라인(21c)과 접지 라인(22c)은 제1 전원 단자(21a)와 제1 접지 단자(22a)와 연결되어, 상단에 조립된 전자블록(10, 20)으로부터 전원을 공급받아, 제어부(29)로 전원을 공급한다. 또한, 전원 라인(21c)과 접지 라인(22c)은 제2 전원 단자(21b)와 제2 접지 단자(22b)와 연결되어, 하단에 조립되어 연결된 전자블록(20)에 전원을 공급한다. 따라서 다수의 전자블록(10, 20)들이 연결되면, 각각 전원 라인(21c)과 접지 라인(22c)을 통해 병렬로 전원을 공급하게 된다.
제1 및 제2 클럭 단자(23a,23b)와 제1 및 제2 데이터 단자(24a,24b)는 데이터 통신, 특히, 시리얼 통신을 위한 단자들로서, 클럭 라인(23c) 및 데이터 라인(24c)과 연결되고, 상부 또는 하부에 연결되는 전자블록(10,20)과 연결되어 데이터 라인을 형성하기 위한 단자이다. 바람직하게는, 상기 통신 단자들(23a,23b,24a,24b)은 I2C(Inter Integrated Circuit) 방식의 시리얼 통신을 위한 단자들로서, 클럭 신호의 SCL(Serial CLock) 신호 및, 데이터의 SDA(Serial DAta) 신호를 송수신하기 위한 단자들이다. 즉, 클럭신호(SCL신호)에 맞추어 SDA 라인을 통해 데이터를 전송한다. 따라서 클럭 라인(23c) 및 데이터 라인(24c)는 I2C 방식의 시리얼 통신을 위한 SCL 라인 및 SDA 라인을 형성한다.
즉, 클럭 라인(23c) 및 데이터 라인(24c)은 제1 클럭 단자(23a) 및 제1 데이터 단자(24a)와 연결되어, 상단에 조립된 전자블록(10, 20)과 데이터통신 라인을 형성한다. 또한, 클럭 라인(23c) 및 데이터 라인(24c)은 제2 클럭 단자(23b) 및 제2 데이터 단자(24b)와 연결되어, 하단에 조립되어 연결된 전자블록(20)과 데이터통신 라인을 형성한다. 따라서 다수의 전자블록(10, 20)들이 연결되면, 각각 데이터 라인(23c)을 통해 시리얼 데이터 통신 라인을 형성한다. 또한, MCU 등 제어부(29)는 클럭 라인(23c) 및 데이터 라인(24c)과 연결되어, 해당 라인들을 통해 데이터를 전송할 수 있다.
앞서 설명한 다수의 전자블록(10, 20)들이 연결된 상태에서, 전원 라인(21c)과 접지 라인(22c), 클럭 라인(23c)과 데이터 라인(24c)의 구성을 도 8에 도시되고 있다. 도 8에서 보는 바와 같이, 연결된 데이터통신 라인은 마스터 전자블록(10)과 연결된다. 또한, 각 슬레이브 전자블록(20)과 마스터 전자블록(10)은 시리얼 데이터 통신을 형성하여, 각 슬레이브 전자블록(20)에서 마스터 전자블록(10)으로 데이터를 전송한다.
또한, 제어신호 수신단자(25a)는 상단에 연결된 슬레이브 전자블록(20)으로부터 제어신호를 수신하는 단자이다. 바람직하게는, 제어부(29)는 제어신호 수신단자(25a)로부터 제어신호를 "온(on)"으로 수신한다. 또한, 제어신호 송신단자(25b)는 하단에 연결된 전자블록(20)으로 제어신호를 송신하는 단자이다.
슬레이브 전자블록(20)의 제어부(29)는 I2C 방식을 제공하는 입출력핀 SCL과 SDA를 클럭 라인(23c)과 데이터 라인(24c)에 연결하여 I2C 통신방식으로 데이터 통신을 수행한다. 또한, 제어부(29)는 범용적인 통신을 수행하는 입출력핀(GPI,GPO)을 제어신호 수신단자(25a) 및 제어신호 송신단자(25b)에 연결하여, 제어신호를 수신 또는 송신하는 통신핀으로 이용한다.
도 8의 예에서, 마스터 전자블록(10) 및, 슬레이브 전자블록 #1, #2, ..., #n-1은 모두 그 하단에 연결된 전자블록(20)으로 제어신호를 송신한다. 각 슬레이브 전자블록은 상단의 전자블록으로부터 제어신호를 수신하면, 자신의 명령어나 식별정보를 데이터 라인을 통해 전송한 후, 하부의 전자블록으로 제어신호를 송신한다. 따라서 슬레이브 전자블록 #1, #2, ..., #n-1은 순차적으로 마스터 전자블록으로 데이터(명령어 또는 식별정보)를 전송한다.
제어부(29)는 도 5와 같은 마이크로콘트롤러(MCU) 등을 구비하여, 제어신호를 수신하거나, 데이터 라인(23c)을 통해 데이터 통신을 수행한다. 또는 제어부(29)는 자신의 전자블록(20)의 명령어나 식별정보 등을 전송한다.
제어부(29)의 마이크로콘트롤러(MCU)는 I2C 방식을 제공하는 입출력핀을 클럭 라인(23c)과 데이터 라인(24c)에 연결하여 I2C 통신방식으로 데이터 통신을 수행한다. 특히, 제어부(29)의 MCU는 클럭 라인(23c)과 데이터 라인(24c)에 의해 형성된 마스터 전자블록(10)간의 시리얼 데이터 통신을 통하여, 데이터를 마스터 전자블록(10)으로 데이터를 송신할 수 있다.
또한, 제어부(29)의 MCU는 범용적인 통신을 수행하는 입출력핀(GPIO)을 제어신호 송신단자(25b)에 연결함으로써, 출력핀(GPO)을 제어신호 송신용 통신핀으로 이용한다. 또한, 제어부(29)는 범용적인 통신을 수행하는 입출력핀(GPIO)을 제어신호 수신단자(25a)에 연결함으로써, 입력핀(GPI)을 제어신호 수신용 통신핀으로 이용한다.
또한, 제어부(29)의 MCU는 전원을 공급받기 위한 전원핀(Vcc) 및 접지핀(Gnd)이 전원 라인(21c)과 접지 라인(22c)에 연결되어 전원을 공급받는다.
다음으로, 본 발명의 제1 실시예에 따라 슬레이브 전자블록(20)이 동작하는 방법을 도 9를 참조하여 더 구체적으로 설명한다.
도 9에서 보는 바와 같이, 슬레이브 전자블록(20)의 제어부(29)는 전원이 공급되면(S11), 제어신호를 대기하는 대기모드로 진입한다(S12).
제어부(29)가 제어신호를 수신하면, 슬레이브 전자블록(20)은 트리거가 되어, 데이터를 전송한다(S13). 즉, 제어부(29)는 클럭 라인(23c)과 데이터 라인(24c), 또는 시리얼 데이터 통신 라인으로 자신의 식별 데이터를 전송한다. 이때, 제어부(29)는 마스터 전자블록(10)과 연결된 데이터통신 라인을 통해, 데이터를 마스터 전자블록(10)의 MCU로 직접 전송한다. 그리고 데이터 전송이 완료되면, 제어부(29)는 데이터 통신을 종료한다(disable 처리).
이때, 식별 데이터는 자신의 명령문 이나 식별 아이디, 옵션 전자블록의 옵션값(이하에서 설명) 등을 포함한다.
제어부(29)는 데이터 전송이 완료되면, 제어신호를 하위에 연결된 전자블록(20)으로 전송한다(S14).
또한, 바람직하게는, 제어부(29)는 하단의 전자블록(20)으로 제어신호를 전송한 후, 다시 제어신호 대기모드로 돌입한다(S16). 이것은 마스터 전자블록(10)이 새로이 제어신호를 송신하는 경우, 처음부터 다시 전자블록의 식별 데이터를 전송하기 위한 것이다.
다음으로, 본 발명의 제1 실시예에 따른 마스터 전자블록(10)이 동작하는 방법을 도 10을 참조하여 더 구체적으로 설명한다.
도 10에서 보는 바와 같이, 먼저, 마스터 전자블록(10)은 전원이 온(On) 되면(S21), 스마트 단말(10)로부터 시작 명령을 대기한다(S22). 시작 명령은 마스터 전자블록(10)에 연결된 다수의 슬레이브 전자블록(20)에 대한 정보를 수집하여 전송하라는 명령이다. 슬레이브 전자블록의 정보는 아이디 등 전자블록의 식별정보 및, 연결된 전자블록의 순서 등을 포함한다.
마스터 전자블록(10) 또는 제어부(19)는 시작 명령을 수신하면, 하위 슬레이브 전자블록(20)에 제어신호를 전송한다(S23). 하위 슬레이브 전자블록(20)은 마스터 전자블록(10)에 직접적으로 연결된 블록이다.
마스터 전자블록(10)은 슬레이브 전자블록(20)으로부터 전송되는 데이터를 수신한다(S24). 바람직하게는, 마스터 전자블록(10) 또는 제어부(19)는 데이터통신 라인(23c,24c)과 연결된 클럭 단자(13) 및 데이터 단자(14)로부터 데이터를 수신한다. 바람직하게는, I2C 방식의 시리얼 통신 방식으로 데이터를 수신한다.
다음으로, 마스터 전자블록(10)은 수신할 데이터가 추가적으로 없는지 체크하고(S24), 추가적인 데이터가 있으면, 반복적으로 슬레이브 전자블록(10)의 데이터를 수신한다(S25). 앞서 설명한 바와 같이, 마스터 전자블록(10)에는 다수의 슬레이브 전자블록(20)들이 순차적으로 연결되어 있고, 슬레이브 전자블록(20)들은 연결된 순서에 따라 각각 자신의 데이터를 마스터 전자블록(10)에게 순차적으로 전송한다. 즉, 1번째 연결된 슬레이브 전자블록(20)이 1번째로 자신의 데이터를 마스터 전자블록(10)에 전송하고, 다음으로, 2번째 슬레이브 전자블록(20)이 2번째로 자신의 데이터를 전송한다.
따라서 마스터 전자블록(10)은 연결된 모든 전자블록(20)으로부터 데이터를 수신할 때까지, 반복하여 전자블록들의 데이터를 수신한다.
바람직하게는, 마스터 전자블록(10)은 소정의 횟수로 데이터 수신을 시도하고, 데이터를 수신하지 못하면 수신할 데이터가 없는 것으로 판단한다. 바람직하게는, 수신 시도를 2-3회 시도한다. 또한, 데이터 통신을 완료한 후에 소정의 시간 이내에 추가적인 데이터의 수신이 있는지를 체크하고, 없으면 수신할 데이터가 없는 것으로 판단한다.
다음으로, 마스터 전자블록(10)은 수신할 데이터가 없으면, 슬레이브 전자블록(20)으로부터 수신한 데이터들을 모두 스마트 단말(60)로 전송한다(S26).
이때, 스마트 단말(60)로 전송하는 데이터는, 전제 블록(또는 노드)의 수(슬레이브 전자블록의 수), 블록들의 순서, 각 블록의 식별 데이터 등을 포함한다. 노드 수 또는 블록 수는 전체 슬레이브 전자블록의 개수로서, 수신하는 데이터의 개수이다. 또한, 노드의 순서 또는 블록의 순서는 데이터를 수신한 순서이다.
다음으로, 본 발명의 제1 실시예에 따라 스마트 단말(60) 또는 프로그램 수행도구(70)에서 조립된 전자블록들의 전체 흐름도를 추출하는 방법을 앞서 도 8 내지 도 10을 참조하여 보다 구체적으로 설명한다.
먼저, 스마트 단말(60) 또는 프로그램 수행도구(70)에서 시작명령을 마스터 전자블록(10)으로 전송하면, 마스터 전자블록(10)은 그 하위 슬레이브 전자블록 #1로 제어신호를 전송한다. 그러면, 슬레이브 전자블록 #1이 활성화(activate) 하여 시리얼 통신으로 SCL, SDA 단자를 통해 마스터 블록 간의 시리얼통신으로 데이터를 전송한다. 이때, 자신의 식별 데이터(또는 고유 식별자)를 전송한다. 추가적으로, 옵션 값(옵션 블록에 의한 값) 등도 함께 전송한다.
다음으로, 전자블록 #1은 그 하위 슬레이브 전자블록 #2에 제어신호를 전송하여, 전자블록 #2를 활성화시킨다. 계속해서 마지막 블록 #N까지 활성화시킨다. 즉, 전자블록 #1에서 전자블록 #N까지 순서대로 데이터를 전송한다.
그리고 마스터 전자블록은 시리얼 통신 라인으로부터 더 이상 데이터를 수신하지 못하면, 마지막으로 수신한 데이터가 마지막 전자블록으로 판단하여, 수신 작업을 종료한다.
다음으로, 마스터 전자블록은 수신한 데이터들과 그 개수 및 순서들을 스마트 단말(60) 또는 프로그램 수행도구(70)로 전송한다.
다음으로, 본 발명의 제1-2 실시예에 따른 슬레이브 전자블록(20)의 구성에 대하여 도 11 내지 도 13을 참조하여 보다 구체적으로 설명한다. 도 11은 슬레이브 전자블록(20)의 외형 구조를 나타낸 사시도이고, 도 12는 슬레이브 전자블록(20)의 내부 구성을 도시한 구성도이다. 또한, 도 13은 슬레이브 전자블록(20)에 옵션 전자블록(30)이 삽입되는 것을 예시한 도면이다.
도 11에서 보는 바와 같이, 본 발명의 제2 실시예에 따른 슬레이브 전자블록(20)은 앞서 설명한 제1 실시예의 슬레이브 전자블록(20)과 동일하나, 옵션 전자블록(30)이 삽입되어 조립될 수 있는 조립홈(20d)을 더 구비한다.
또한, 도 12와 같이, 슬레이브 전자블록(20)은 옵션 전자블록(30)과 전기접촉이 되는 옵션 삽입부(26)를 더 구비하고, 옵션 삽입부(26)는 제3 전원 단자(26a)와 제3 접지 단자(26b), 및, 옵션출력 단자(26c)로 구성된다. 또한, 이들 단자(26a, 26b, 26c)들은 조립홈(20d) 내부에 단자로 형성된다.
제3 전원 단자(26a)와 제3 접지 단자(26b)는 옵션 전자블록(30)에 전원을 공급하기 위한 단자들이고, 옵션출력 단자(26c)는 옵션 값을 출력하는 단자이다. 즉, 옵션 전자블록(30)은 옵션출력 단자(26c)를 통해 옵션 값을 출력하여, 제어부(29)로 전송한다.
제어부(29)는 옵션출력 단자(26c)로부터 출력되는 신호를 수신하여, 옵션 값을 알아낸다. 바람직하게는, 옵션출력 값은 아날로그 신호, 예를 들어, 전류나 전압의 세기로서, 상기 전류의 세기나 전압의 세기 등을 디지털 신호로 전환하여, 옵션 출력값을 획득한다.
다음으로, 본 발명의 제1-2 실시예에 따른 옵션 전자블록(30)에 대하여 도 14 내지 도 16을 참조하여 설명한다.
도 14에서 보는 바와 같이, 옵션 전자블록(30)은 네모난 박스 형태의 블록들로서, 앞서 제2 실시예에 따른 슬레이브 전자블록(20)의 조립홈(20d)에 삽입될 수 있는 블록이다. 앞서의 도 13의 예에서, 10개의 스텝만큼 이동하라는 명령을 나타낸 블록을 예시하고 있다. 이때, 옵션 전자블록(30)이 "10"을 나타낸다.
도 14과 같이, 옵션 전자블록(30)은 표면에 숫자 등의 기호로 표시되는 블록이거나, 센서 종류, 색상 등을 표시하는 블록일 수 있다. 도 15는 숫자나 기호 등으로 표기되는 옵션 전자블록(30)의 내부 구성을 도시한 것이고, 도 16은 옵션 전자블록(30)이 슬레이브 전자블록(20)에 삽입된 상태를 나타낸 구성도이다.
도 15 또는 도 16에서 보는 바와 같이, 저항 R1, R2 등으로 옵션 출력값을 다르게 하여, 각 숫자나 기호를 구분하여 나타낼 수 있다.
도 13의 예에서, "move 10 steps"로 인식하기 위해 제어부 또는 MCU(29)의 한 개의 포트를 통해 숫자 블록의 저항 값을 통해 옵션 값이 10이라는 것을 알 수 있다. 바람직하게는, 옵션 블록의 종류는 제어부 또는 MCU(29)의 ADC(Analog to Digital Convert)의 비트수가 8비트 인 경우 256개 까지 옵션 값을 구별할 수 있으며 각각의 저항 값을 서로 다르게 인식하여 최대 256개의 옵션 블록의 고유 값을 인식하도록 한다.
또한, 도 16과 같이, 옵션 전자블록(30)의 ADC 포트(port) 또는 핀에서 참조(Reference) 전압(Vcc) 전압과 저항(R2)의 양단 전압을 비교하여 전압차를 이용하여 옵션 값을 읽을 수 있다. ADC 포트(port)에서 측정되는 전압 값(또는 전류값)은 다음과 같은 수학식에 의해 구한다.
[수학식 1]
Figure 112016111946351-pat00001
한편, 옵션 전자블록(30)은 숫자나 기호 등을 나타내는 기능 외에도, 특정한 센서 종류나, 객체의 종류, 색상 종류 등을 나타낼 수 있다. 이 경우, 이들 각각 식별할 수 있는 옵션 값을 대응시킨다. 즉, 제어부(29)는 옵션 전자블록(30)의 옵션 값에 따라 해당 객체 종류를 식별한다.
즉, 옵션 전자블록(30)은 센서의 출력값을 전력 또는 전압 값으로 출력하고, 제어부(29)는 센서 또는 옵션 전자블록(30)에서 출력하는 전압 값을 변환하여, 센서의 측정값으로 획득한다.
다음으로, 본 발명의 제1 실시예에 따라 스마트 단말(60) 또는 프로그램 수행도구(70)에서 조립된 전자블록들의 전체 흐름도를 추출하는 방법을 보다 구체적으로 설명한다.
전자블록들의 흐름도 추출 방법은 먼저 GPIO(General Purpose Input/Output)를 이용하여 마지막 n번째 전자블록을 찾고, n번째 전자블록을 활성화(activate) 하여 시리얼 통신으로 n번째 블록의 Tx단자를 통해 마스터 블록의 Rx의 시리얼통신으로 데이터를 전송한다.
다음으로, n-1번째 블록을 활성화(activate) 하여 데이터를 전송하고 n-2번째 블록을 같은 방식으로 데이터를 전송한다. 계속해서 마지막 블록까지 데이터를 전송하여 모든 블록의 데이터를 n번째 블록부터 1번째 블록까지 순서대로 데이터를 전송한다. 그리고 마지막의 마스터 블록에서 모든 블록의 고유 식별자와 옵션 값을 순서대로 저장하게 된다.
새로운 블록이 추가되거나 블록의 순서가 변경되면 다시 n번째 블록을 활성화(activate) 하도록 한다.
다음으로, GPIO(General Purpose Input/Output)를 활용하여 마지막 n번째 블록을 찾는 방법과 MCU의 UART(Universal asynchronous receiver/transmitter) Tx-Rx를 통한 시리얼 데이터 전송 방식은 다음과 같다.
먼저, GPIO(general purpose IO)를 활용한 마지막 n번째 블록을 찾는 방법이다. 즉, n 개의 블록을 마스터 블록에 연결한 후에 마지막 n번째 블록에서 GPIO의 L 다음에 더 이상 블록이 연결되지 않았으므로, 제어신호가 L(low 또는 오프)인 상태가 되어 마지막 블록을 찾고, 마지막 블록부터 거꾸로 순서로 자신의 블록 식별자와 명령의 옵션 값을 마스터 블록으로 전송할 수 있다.
다음으로, MCU의 UART Tx-Rx를 통한 데이터 전송 방식에 대하여 설명한다.
앞서 설명한 GPIO를 활용하여 마지막 n번째 블록을 찾은 후에 n 번째 전자블록에서 MCU의 UART Tx 단자를 통해 마스터 블록 MCU의 UART Rx 단자로 자신의 블록 고유 식별자와 변경 값을 전송한다. 그 다음에 n-1 번째 전자블록이 데이터를 전송을 시작할 수 있도록 n번째 블록의 GPIO(general purpose IO)의 상단의 제어신호를 H(High 또는 온) 값을 L(low 또는 오프)로 바꾸어 n-1번째 블록이 통신을 시작하도록 신호를 준다. n-1번째 블록이 데이터를 전송한 후에 GPIO의 H 값을 L로 변경하여 n-2 블록이 데이터를 전송하도록 하며 이러한 방식으로 마지막 1번 블록이 데이터를 전송하도록 한다.
다음으로, 본 발명의 제2 실시예에 따른 마스터 전자블록(10)과 슬레이브 전자블록(20)의 구성, 및, 전체 구성에 대하여 도 17 내지 도 19를 참조하여 설명한다.
도 17에서 보는 바와 같이, 본 발명의 제2 실시예에 따른 마스터 전자블록(110)은 전원(Vcc) 및 접지(Gnd)에 각각 연결하는 전원 단자(111) 및 접지 단자(112), 데이터를 수신하는 Tx 단자(114), 조립된 전자블록으로 제어신호를 송신하는 제어신호 송신단자(115), 통신수단(50)과 연결되는 전원 및 통신부(116), 및, 마이크로컨트롤러(MCU)를 구비한 제어부(119)로 구성된다. 또한, 버튼, 센서 등 입력장치에 의한 입력을 인식하는 입력수단(117)을 추가로 구성할 수 있다.
본 발명의 제2 실시예는 앞서 제1 실시예에 비하여, 데이터를 전송하기 위해 UART(Universal asynchronous receiver/transmitter) 방식의 시리얼 통신 방식을 이용한다. 따라서 제1 실시예에서 데이터를 수신하기 위하여 클럭 라인과 데이터 라인 2개의 라인을 사용하는 반면, 제2 실시예는 데이터를 수신하기 위해 Tx 라인 1개만을 사용한다.
즉, 제2 실시예에 따른 마스터 전자블록(110)은 데이터를 수신하기 위해 Tx 단자(114)를 구비한다. Tx 단자(114)는 전원 단자(111), 접지 단자(112), 제어신호 송신단자(115)와 함께 전자블록(10)의 하단에 구비된 조립부(10b)의 단면에 구비된다. 따라서 조립부(10b)가 슬레이브 전자블록(20)과 조립되면, 해당 단자들이 슬레이브 전자블록(20)의 단자들과 서로 연결되도록 구성된다.
전원 단자(111), 접지 단자(112), 제어신호 송신단자(115), 전원 및 통신부(116), 입력수단(117)의 구성은 제1 실시예와 동일하므로, 구체적인 설명은 제1 실시예의 설명을 참조한다.
Rx 단자(114)는 데이터 통신, 특히, 시리얼 통신을 위한 단자들로서, 하부에 연결되는 전자블록(20)으로 데이터 라인을 연결하기 위한 단자이다. Rx 단자(114)는 MCU 등 제어부(119)의 입출력핀(Rx)으로 연결된다. 따라서 MCU 등 제어부(119)는 하부에 연결된 전자블록(20)과 시리얼 통신을 수행하고, 입출력핀(Rx)을 통해 데이터를 수신한다. Rx 단자(114)에 의해 제어부(119)와 하부 전자블록(20)과 연결되는 라인을 데이터 라인이라 부르기로 한다.
제어신호 송신단자(115)는 하부의 슬레이브 전자블록(20)에 제어신호를 송신하는 단자이다. 제어신호 송신단자(115)는 MCU 등 제어부(119)의 입출력핀(GPIO)과 연결되어, 제어부(119)가 출력핀(GPO)을 통해 제어신호를 하부의 슬레이브 전자블록(20)으로 전송한다.
제어부(119)의 제어신호는 하부에 연결된 전자블록(20)을 활성화시켜, 하부의 전자블록(20)이 자신의 명령어나 식별정보를 전송하도록 제어한다. 제어부(119)는 제어신호를 송신한 후 Rx 단자(114)에 연결된 데이터 라인으로부터 데이터 수신을 대기하고, 하부에 연결된 전자블록(20)의 명령어나 식별정보 등을 수신한다.
다음으로, 도 18에서 보는 바와 같이, 본 발명의 제2 실시예에 따른 슬레이브 전자블록(20)은 전원(Vcc) 및 접지(Gnd)에 각각 연결하는 제1 및 제2 전원 단자(121a, 121b)와 제1 및 제2 접지 단자(122a, 122b), 데이터를 송신하는 제1 및 제2 Tx 단자(124a, 124b), 조립된 전자블록으로부터 제어신호를 수신하거나 송신하는 제어신호 수신단자(125a)와 제어신호 송신단자(125b), 그리고 마이크로컨트롤러를 구비한 제어부(129)로 구성된다.
본 발명의 제2 실시예는 앞서 제1 실시예에 비하여, 데이터를 전송하기 위해 UART(Universal asynchronous receiver/transmitter) 방식의 시리얼 통신 방식을 이용한다. 따라서 제1 실시예에서 데이터를 수신하기 위하여 클럭 라인과 데이터 라인 2개의 라인을 사용하는 반면, 제2 실시예는 데이터를 수신하기 위해 Tx 라인 1개만을 사용한다.
즉, 제2 실시예에 따른 슬레이브 전자블록(20)은 데이터를 수신하기 위해 제1 및 제2 Tx 단자(124a,124b)를 구비한다.
제1 및 제2 Tx 단자(124a,124b)는 데이터 통신, 특히, 시리얼 통신을 위한 단자들로서, 데이터 라인(124c)과 연결되고, 상부 또는 하부에 연결되는 전자블록(10,20)과 연결되어 데이터 라인을 형성하기 위한 단자이다. 바람직하게는, 상기 통신 단자들(24a,24b)은 USART 방식의 시리얼 통신을 위한 단자들로서, Tx 신호를 송신하기 위한 단자들이다. 따라서 데이터 라인(24c)은 마스터 전자블록(10)의 Rx 단자와 연결되어, USART 방식의 시리얼 통신을 위한 Rx-Tx 라인을 형성한다.
즉, 데이터 라인(24c)은 제1 Tx 단자(124a)와 연결되어, 상단에 조립된 전자블록(10, 20)과 데이터통신 라인을 형성한다. 또한, 데이터 라인(24c)은 제2 Tx 단자(124b)와 연결되어, 하단에 조립되어 연결된 전자블록(20)과 데이터통신 라인을 형성한다. 따라서 다수의 전자블록(10, 20)들이 연결되면, 각각 데이터 라인(23c)을 통해 시리얼 데이터 통신 라인을 형성한다. 또한, MCU 등 제어부(29)는 데이터 라인(24c)과 연결되어, 해당 Rx-Tx 라인들을 통해 데이터를 전송할 수 있다.
앞서 설명한 다수의 전자블록(10, 20)들이 연결된 상태에서, 데이터 라인(124c)의 구성을 도 19에 도시되고 있다. 도 19에서 보는 바와 같이, 연결된 데이터통신 라인은 마스터 전자블록(10)과 연결된다. 또한, 각 슬레이브 전자블록(20)과 마스터 전자블록(10)은 시리얼 데이터 통신을 형성하여, 각 슬레이브 전자블록(20)에서 마스터 전자블록(10)으로 데이터를 전송한다.
슬레이브 전자블록(20)의 제어부(29)는 USART 방식을 제공하는 입출력핀 Tx를 데이터 라인(24c)에 연결하여 USART 통신방식 또는 Tx-Rx 라인으로 데이터 통신을 수행한다. 또한, 제어부(29)는 범용적인 통신을 수행하는 입출력핀(GPI,GPO)을 제어신호 수신단자(25a) 및 제어신호 송신단자(25b)에 연결하여, 제어신호를 수신 또는 송신하는 통신핀으로 이용한다.
또한, 제어신호 수신단자(125a)는 상단에 연결된 슬레이브 전자블록(20)으로부터 제어신호를 수신한다. 바람직하게는, 제어부(29)는 제어신호 수신단자(125a)로부터 제어신호를 "온(on)"으로 수신한다. 또한, 제어신호 송신단자(125b)는 하단에 연결된 전자블록(20)으로 제어신호를 송신하는 단자이다.
도 19의 예에서, 마스터 전자블록(10) 및, 슬레이브 전자블록 #1, #2, ..., #n-1은 모두 그 하단에 연결된 전자블록(20)으로 제어신호를 송신한다. 각 슬레이브 전자블록은 상단의 전자블록으로부터 제어신호를 수신하면, 자신의 명령어나 식별정보를 Tx-Rx 라인(또는 데이터 라인)을 통해 전송한 후, 하부의 전자블록으로 제어신호를 송신한다. 따라서 슬레이브 전자블록 #1, #2, ..., #n은 순차적으로 마스터 전자블록으로 데이터(명령어 또는 식별정보)를 전송한다.
다음으로, 본 발명의 제3 실시예에 따른 마스터 전자블록(10)과 슬레이브 전자블록(20)의 구성, 및, 전체 구성에 대하여 도 20 내지 도 22를 참조하여 설명한다.
도 20에서 보는 바와 같이, 본 발명의 제3 실시예에 따른 마스터 전자블록(10)은 전원(Vcc) 및 접지(Gnd)에 각각 연결하는 전원 단자(211) 및 접지 단자(212), 데이터를 수신하는 Tx 단자(214), 조립된 전자블록으로 제어신호를 송신하는 제어신호 송신단자(215), 통신수단(50)과 연결되는 전원 및 통신부(216), 및, 마이크로컨트롤러(MCU)를 구비한 제어부(219)로 구성된다. 또한, 버튼, 센서 등 입력장치에 의한 입력을 인식하는 입력수단(217)을 추가로 구성할 수 있다.
본 발명의 제3 실시예의 마스터 전자블록(10)의 구성은 앞서 제2 실시예와 동일하다. 다만, 제어신호 송신단자(215)가 하위 슬레이브 전자블록(20)의 리셋 단자(225a)와 연결된다는 점에서 차이가 있다. 따라서 제2 실시예에서는, 슬레이브 전자블록(20)이 제어신호를 수신하기 위한 범용 입력 단자(GPI)를 사용하는 반면, 제3 실시예에 따르면, 슬레이브 전자블록(20)이 제어신호를 수신하기 위한 범용 입력 단자(GPI)를 사용하지 않는다.
도 21에서 보는 바와 같이, 제3 실시예에 따른 슬레이브 전자블록(20)은 전원(Vcc) 및 접지(Gnd)에 각각 연결하는 제1 및 제2 전원 단자(221a, 221b)와 제1 및 제2 접지 단자(222a, 122b), 데이터를 송신하는 제1 및 제2 Tx 단자(224a, 224b), 조립된 전자블록으로부터 제어신호를 수신하는 리셋단자(225a), 조립된 전자블록으로 제어신호를 송신하는 송신단자(225b), 그리고 마이크로컨트롤러를 구비한 제어부(229)로 구성된다.
본 발명의 제3 실시예의 슬레이브 전자블록(20)의 구성은 앞서 제2 실시예와 동일하다. 다만, 슬레이브 전자블록(20)의 제어신호 수신단자를 리셋 단자(225a)로 사용한다는 점에서 차이가 있다. 즉, 제2 실시예에 따른 슬레이브 전자블록(20)이 제어신호를 수신하기 위한 범용 입력 단자(GPI)를 사용하는 반면, 제3 실시예에 따른 슬레이브 전자블록(20)이 제어신호를 수신하기 위해 리셋 단자(RST)를 사용한다. 제3 실시예에 따른 슬레이브 전자블록(20)은 제어신호를 수신하기 위해 리셋 단자(225a)를 구비한다. 나머지 구성은 제2 실시예의 구성을 참조한다.
한편, 슬레이브 전자블록(20)의 제어부(29)는 USART 방식을 제공하는 입출력핀 Tx를 데이터 라인(24c)에 연결하여 USART 통신방식 또는 Tx-Rx 라인으로 데이터 통신을 수행한다. 또한, 제어부(29)는 범용적인 통신을 수행하는 입출력핀(GPIO)을 제어신호 송신단자(25b)에 연결하여, 제어신호를 송신하는 통신핀으로 이용한다. 또한, 제어부(29)는 MCU를 초기화하는 리셋핀(RST)를 리셋단자(225a)에 연결하여, 제어신호를 수신하여 리셋시키는 핀으로 이용한다.
리셋단자(125a)는 상단에 연결된 슬레이브 전자블록(20)으로부터 제어신호를 수신하면, MCU 등 제어부(29)의 리셋핀(RST)을 "온(on)"시킨다. 제어부(29)는 리셋이 되면(초기화 되면), 자신의 식별 정보 등을 전송하고, 하위의 슬레이브 전자블록(20)으로 제어신호를 전송하는 작업을 수행한다.
앞서 도 5를 마이크로컨트롤러(MCU)의 설명과 같이, 리셋핀(RST)에 의해 MCU 또는 제어부(29)가 초기화되면, ROM에 저장된 프로그램이 처음부터 실행된다. ROM에 저장된 프로그램은 자신의 식별 정보 등을 전송하고 하위의 슬레이브 전자블록(20)으로 제어신호를 전송하는 작업을 수행하는 작업을 수행하는 프로그램이다. 따라서 제어부(29)가 리셋되면, ROM에 기록된 프로그램이 수행되어, 상기와 같은 작업이 수행된다.
도 22의 예에서, 마스터 전자블록(10) 및, 슬레이브 전자블록 #1, #2, ..., #n-1은 모두 그 하단에 연결된 전자블록(20)으로 제어신호를 송신하여 리셋시킨다. 각 슬레이브 전자블록은 상단의 전자블록에 의해 리셋되면, 초기화되어 자신의 명령어나 식별정보를 Tx-Rx 라인(또는 데이터 라인)을 통해 전송한 후, 하부의 전자블록으로 제어신호를 송신한다. 따라서 슬레이브 전자블록 #1, #2, ..., #n은 순차적으로 마스터 전자블록으로 데이터(명령어 또는 식별정보)를 전송한다.
다음으로, 본 발명의 제4 실시예에 따른 마스터 전자블록(10)과 슬레이브 전자블록(20)의 구성, 및, 전체 구성에 대하여 도 23 내지 도 25를 참조하여 설명한다.
도 23에서 보는 바와 같이, 본 발명의 제4 실시예에 따른 마스터 전자블록(10)은 전원(Vcc) 및 접지(Gnd)에 각각 연결하는 전원 단자(311) 및 접지 단자(312), 데이터를 수신하는 Tx 단자(314), 조립된 전자블록으로 제어신호를 송신하는 제어신호 송신단자(315), 통신수단(50)과 연결되는 전원 및 통신부(316), 및, 마이크로컨트롤러(MCU)를 구비한 제어부(319)로 구성된다. 또한, 버튼, 센서 등 입력장치에 의한 입력을 인식하는 입력수단(317)을 추가로 구성할 수 있다.
본 발명의 제4 실시예의 마스터 전자블록(10)의 구성은 앞서 제3 실시예와 동일하다. 다만, 제어신호 송신단자(315)가 하위 슬레이브 전자블록(20)의 전원스위치 단자(325a)와 연결된다는 점에서 차이가 있다. 즉, 제4 실시예는 전자블록(20)의 전원 스위치(power switch, SW)를 이용하여 전원 공급(power on)과 리셋(reset)을 함께 제어한다.
도 24에서 보는 바와 같이, 본 발명의 제4 실시예에 따른 슬레이브 전자블록(20)은 전원(Vcc) 및 접지(Gnd)에 각각 연결하는 제1 및 제2 전원 단자(321a, 321b)와 제1 및 제2 접지 단자(322a, 322b), 데이터를 송신하는 제1 및 제2 Tx 단자(324a, 324b), 조립된 전자블록으로부터 제어신호를 수신하는 전원스위치 단자(225a), 조립된 전자블록으로 제어신호를 송신하는 송신단자(325b), 그리고 마이크로컨트롤러를 구비한 제어부(329)로 구성된다.
제4 실시예의 슬레이브 전자블록(20)의 구성은 앞서 제3 실시예와 동일하다. 다만, 슬레이브 전자블록(20)의 제어신호 수신단자를 전원스위치 단자(225a)로 사용한다는 점에서 차이가 있다. 즉, 제4 실시예의 전자블록(20)은 전원스위치(SW)를 구비하고, 전원스위치 단자(225a)로부터 수신되는 제어신호에 따라 전원스위치(SW)를 온(on) 또는 오프(off)시킨다. 나머지 구성은 제3 실시예의 구성을 참조한다.
한편, 슬레이브 전자블록(20)의 제어부(29) 또는 MCU는 USART 방식을 제공하는 입출력핀 Tx를 데이터 라인(24c)에 연결하여 USART 통신방식 또는 Tx-Rx 라인으로 데이터 통신을 수행한다. 또한, 제어부(29)는 범용적인 통신을 수행하는 입출력핀(GPIO)을 제어신호 송신단자(325b)에 연결하여, 제어신호를 송신하는 통신핀으로 이용한다. 또한, 제어부(29)는 전원핀(VCC)에 전원스위치(SW)를 연결하여, 전원스위치(SW)에 의해 전원 공급을 받거나 차단된다.
전원스위치 단자(325a)는 상단에 연결된 슬레이브 전자블록(20)으로부터 제어신호를 수신하면, MCU 등 제어부(29)의 전원스위치(SW)을 "온(on)"시킨다. 제어부(29)는 전원의 공급을 받기 시작하면, 동시에 리셋(초기화) 된다. 초기화 되면, 제어부(29)는 자신의 식별 정보 등을 전송하고, 하위의 슬레이브 전자블록(20)으로 제어신호를 전송하는 작업을 수행한다.
앞서 마이크로컨트롤러(MCU)의 설명과 같이, 전원(VCC)에 전원이 공급되면, 리셋핀(RST)에 의해 MCU 또는 제어부(29)가 초기화된다. 그 이후, ROM에 저장된 프로그램이 처음부터 실행된다. ROM에 저장된 프로그램은 자신의 식별 정보 등을 전송하고 하위의 슬레이브 전자블록(20)으로 제어신호를 전송하는 작업을 수행하는 프로그램이다. 따라서 제어부(29)의 전원스위치(SW)가 온(on)되면, ROM에 기록된 프로그램이 수행되어, 데이터 전송 및 제어신호 전송 작업이 수행된다.
도 25의 예에서, 마스터 전자블록(10) 및, 슬레이브 전자블록 #1, #2, ..., #n-1은 모두 그 하단에 연결된 전자블록(20)으로 제어신호를 송신하여 전원스위치(SW)를 온(On) 시킨다. 각 슬레이브 전자블록(20)은 상단의 전자블록에 의해 전원스위치(SW)가 온(on) 되면, 초기화되고, 자신의 명령어나 식별정보를 Tx-Rx 라인(또는 데이터 라인)을 통해 전송한 후, 하부의 전자블록으로 제어신호를 송신한다. 따라서 슬레이브 전자블록 #1, #2, ..., #n은 순차적으로 마스터 전자블록으로 데이터(식별정보 등)를 전송한다.
다음으로, 본 발명의 제5 실시예에 따른 마스터 전자블록(10)과 슬레이브 전자블록(20)의 구성, 및, 전체 구성에 대하여 도 26 내지 도 28을 참조하여 설명한다.
도 26에서 보는 바와 같이, 본 발명의 제5 실시예에 따른 마스터 전자블록(10)은 전원(Vcc) 및 접지(Gnd)에 각각 연결하는 전원 단자(411) 및 접지 단자(412), 데이터를 수신하는 Rx 단자(414), 조립된 전자블록으로부터 신호를 수신하는 조립신호 수신단자(415), 통신수단(50)과 연결되는 전원 및 통신부(416), 그리고 마이크로컨트롤러(MCU)를 구비한 제어부(419)로 구성된다. 또한, 버튼, 센서 등 입력장치에 의한 입력을 인식하는 입력수단(417)을 추가로 구성할 수 있다.
본 발명의 제4 실시예의 마스터 전자블록(10)의 구성은 앞서 제2 실시예와 동일하다. 다만, 제어신호 송신단자 대신 조립신호 수신단자(415)를 구비하는 점에서 차이가 있다. 즉, 마스터 전자블록(10)은 제어신호를 하위의 전자블록(20)으로 전송하지 않는다. 대신, 마스터 전자블록(10)은 조립신호를 하위의 전자블록(20)으로부터 수신한다. 조립신호는 하위의 전자블록(20)이 조립되었다는 것을 알려주는 신호이다.
조립신호 수신단자(15)는 마스터 전자블록(10)이 아래에 다른 슬레이브 전자블록(20)과 연결된 경우, 조립신호를 수신하는 단자이다. 조립신호 수신단자(15)는 MCU 등 제어부(19)의 입출력핀(GPIO)과 연결되어, 제어부(19)가 하부의 슬레이브 전자블록(20)에서 전송되는 조립신호를 입력핀(GPI)을 통해 수신한다. 조립신호 수신단자(15)에 의해 제어부(19)와 하부 전자블록(20)과 연결되는 라인을 제어 라인이라 부르기로 한다.
제어부(19)는 조립신호 수신단자(15) 또는 입출력핀(GPIO)의 수신 여부에 따라 다른 전자블록(20)과 조립되었는지를 판단한다. 즉, 제어부(19)는 조립신호가 들어오면 다른 전자블록(20)이 조립된 것으로 판단하고, 그렇지 않으면 조립되지 않는 것으로 판단한다.
또한, 제어부(19)는 조립신호가 들어오면 데이터 라인을 점유하여 데이터 통신을 수행한다. 바람직하게는, 제어부(19)는 하부에 연결된 전자블록(20)의 명령어나 식별정보 등을 수신한다.
또한, 도 27에서 보는 바와 같이, 본 발명의 제5 실시예에 따른 슬레이브 전자블록(20)은 전원(Vcc) 및 접지(Gnd)에 각각 연결하는 제1 및 제2 전원 단자(421a, 421b)와 제1 및 제2 접지 단자(422a, 422b), 데이터를 송신하는 제1 및 제2 Tx 단자(423a, 423b), 조립된 전자블록으로부터 신호를 송신하거나 수신하는 조립신호 송신단자(425a)와 조립신호 수신단자(425b), 그리고 마이크로컨트롤러를 구비한 제어부(429)로 구성된다.
제4 실시예의 슬레이브 전자블록(20)의 구성은 앞서 제3 실시예와 동일하다. 다만, 슬레이브 전자블록(20)의 제어신호를 수신하거나 송신하지 않고, 대신, 조립신호를 송신하거나 수신한다. 즉, 슬레이브 전자블록(20)은 조립신호를 하위 전자블록(20)으로부터 수신하고, 조립신호를 상위 전자블록(20)으로 송신한다.
또한, 조립신호 송신단자(425a)는 슬레이브 전자블록(20)이 위에 다른 전자블록(10,20)과 연결된 경우, 조립신호를 송신하는 단자이다. 제어부(429)는 디폴트로 조립신호 송신단자(425a)로 조립신호를 "온(on)"으로 전송한다. 즉, 슬레이브 전자블록(20)이 상단에 다른 전자블록(10,20)과 연결되면, 기본적으로 조립신호를 조립된 전자블록(10,20)으로 전송한다.
또한, 조립신호 수신단자(425b)는 슬레이브 전자블록(20)이 아래에 다른 전자블록(20)과 연결된 경우, 조립신호를 수신하는 단자이다. 제어부(429)는 조립신호 수신단자(425b)의 수신 여부에 따라 다른 전자블록(20)과 조립되었는지를 판단한다. 즉, 제어부(429)는 조립신호가 들어오면 다른 전자블록(20)이 조립된 것으로 판단하고, 그렇지 않으면 조립되지 않는 것으로 판단한다.
도 28의 예에서, 마스터 전자블록(10) 및, 슬레이브 전자블록 #1, #2, ..., #n-1은 모두 그 하단에 연결된 전자블록(20)으로부터 조립신호를 수신한다. 그러나 마지막 슬레이브 전자블록 #n은 조립신호를 받지 못한다. 따라서 조립신호를 받지 못하는 슬레이브 전자블록이 마지막 블록임을 알 수 있다.
또한, 제어부(429)의 MCU는 범용적인 통신을 수행하는 입출력핀(GPIO)을 조립신호 수신단자(425b)에 연결하여, 조립신호를 수신하는 통신핀으로 이용한다. 또한, 제어부(429)는 범용적인 통신을 수행하는 입출력핀(GPIO)을 조립신호 송신단자(425a)에 연결하여, 조립신호를 송신하는 통신핀으로 이용한다.
다음으로, 본 발명의 제5 실시예에 따라 슬레이브 전자블록(20)이 동작하는 방법을 도 29를 참조하여 더 구체적으로 설명한다.
도 29에서 보는 바와 같이, 슬레이브 전자블록(20)의 제어부(429)는 전원이 공급되면(S31), 조립신호를 대기하는 대기모드로 진입한다(S32).
제어부(429)가 조립신호를 수신하면, 슬레이브 전자블록(20)은 트리거가 되어, 데이터를 전송한다(S33). 즉, 제어부(429)는 데이터 라인(423c) 또는 시리얼 데이터 통신 라인으로 자신의 식별 데이터를 전송한다. 이때, 제어부(429)는 마스터 전자블록(10)과 연결된 데이터 라인을 통해, 데이터를 마스터 전자블록(10)의 MCU로 직접 전송한다.
이때, 식별 데이터는 자신의 명령문 이나 식별 아이디, 옵션 전자블록의 옵션값(이하에서 설명) 등을 포함한다.
제어부(429)는 데이터 전송이 완료되면, 조립신호를 상위에 연결된 전자블록(10,20)으로 전송한다(S34).
또한, 제어부(429)는 조립신호를 대기하였으나 일정한 시간(또는 임계시간)이 경과되었는지를 확인한다(S35). 만약 임계시간 동안 조립신호가 수신되지 않으면, 앞서의 데이터 전송 단계(S33)를 수행한다. 즉, 이 경우, 해당 슬레이브 전자블록(20)이 마지막 전자블록으로 판단되는 경우이다. 마지막 전자블록이므로, 조립신호를 수신하지 못한다. 따라서 마지막 전자블록은 조립신호를 수신하지 못하더라도 데이터를 전송하고 조립신호를 상단의 전자블록(10,20)으로 전송한다.
또한, 바람직하게는, 제어부(429)는 상단의 전자블록(10,20)으로 조립신호를 전송한 후, 다시 조립신호 대기모드로 돌입한다(S36). 이것은 추가적으로 전자블록(20)이 하단에 연결되는 경우, 처음부터 다시 전자블록의 식별 데이터를 전송하기 위한 것이다.
다음으로, 본 발명의 제5 실시예에 따른 마스터 전자블록(10)이 동작하는 방법을 도 30을 참조하여 더 구체적으로 설명한다.
도 30에서 보는 바와 같이, 먼저, 마스터 전자블록(10)은 전원이 온(On) 되면(S41), 하위 슬레이브 전자블록(20)로부터 데이터 수신을 대기한다(S42).
데이터가 수신되면, 마스터 전자블록(10)은 슬레이브 전자블록(20)으로부터 전송되는 데이터를 수신한다(S43). 바람직하게는, 마스터 전자블록(10) 또는 제어부(419)는 데이터 라인(424c)과 연결된 Rx 단자(414)로부터 데이터를 수신한다. 바람직하게는, USART 방식의 시리얼 통신 방식으로 데이터를 수신한다.
다음으로, 마스터 전자블록(10)은 조립신호가 들어오는지를 체크하고(S44), 조립신호가 없으면, 반복적으로 슬레이브 전자블록(20)의 데이터를 대기하였다가 수신한다. 앞서 설명한 바와 같이, 마스터 전자블록(10)에는 다수의 슬레이브 전자블록(20)들이 순차적으로 연결되어 있고, 슬레이브 전자블록(20)들은 연결된 순서의 역순에 따라 각각 자신의 데이터를 마스터 전자블록(10)에게 순차적으로 전송한다. 즉, N번째 연결된 슬레이브 전자블록(20)이 1번째로 자신의 데이터를 마스터 전자블록(10)에 전송하고, 다음으로, N-1번째 슬레이브 전자블록(20)이 2번째로 자신의 데이터를 전송한다.
따라서 마스터 전자블록(10)은 연결된 모든 전자블록(20)으로부터 데이터를 수신할 때까지, 반복하여 전자블록들의 데이터를 수신한다.
그리고 마스터 전자블록(10)은 조립신호를 수신하면(S44), 더 이상 수신할 데이터가 없는 것으로 판단한다. 즉, 마스터 전자블록(10)이 수신한 조립신호는 마스터 전자블록(10)의 하단에 직접 연결된 슬레이브 전자블록(20)이 자신의 데이터를 전송한 후 보내는 조립신호이다. 따라서 역순의 마지막인 전자블록(20)이 데이터를 송신한 후 조립신호를 마스터 전자블록(10)에게 보낸 것이다.
다음으로, 마스터 전자블록(10)은 조립신호를 수신하면, 슬레이브 전자블록(20)으로부터 수신한 데이터들을 모두 스마트 단말(60)로 전송한다(S45). 이때, 스마트 단말(60)로 전송하는 데이터는, 전제 블록(또는 노드)의 수(슬레이브 전자블록의 수), 블록들의 순서, 각 블록의 식별 데이터 등을 포함한다. 노드 수 또는 블록 수는 전체 슬레이브 전자블록의 개수로서, 수신하는 데이터의 개수이다. 또한, 노드의 순서 또는 블록의 순서는 데이터를 수신한 순서의 역순이다.
다음으로, 본 발명의 일실시예에 따라 전자블록들로 표현할 수 있는 프로그래밍 단위들에 대하여 도 31를 참조하여 설명한다.
도 31(a)는 각 프로그래밍의 명령 단위들을 표시한 것으로서, 기본 단계와 고급 단계로 구분하여 표시한다. 기본 단계와 고급 단계는 각각 서로 다른 실시예로 구현하거나, 두 가지를 합쳐 하나의 실시예로 구현할 수 있다.
이벤트 명령은 특정한 이벤트가 발생되었을 때 구동되는 명령이다. 상기 이벤트 명령은 앞서 설명한 마스터 전자블록(10)으로 구현된다.
다음으로, 명령 단위들은 직선 동작, 회전 동작, 사운드 명령, 데이터 명령, 펜 동작 명령 등 특정한 작업을 수행하는 명령이나, 반복 흐름제어나 조건 흐름제어를 위한 명령, 또한, 함수 명령 등을 포함할 수 있다.
또한, 도 31(b)는 각 프로그래밍의 명령 단위 중 옵션 명령이나, 스프라이트(80)에 대한 설명을 나타내고 있다.
옵션 명령은 앞서 설명한 옵션 전자블록(30)에 의해 구현될 수 있다. 스프라이트(80)는 자동차 등 이동수단과 통신수단을 구비한 장치로서, 모형 자동차 등으로 구현될 수 있다.
다음으로, 본 발명의 일실시예에 따른 전자블록들을 도 32 및 도 33을 참조하여 설명한다.
도 32에서 보는 바와 같이, 슬레이브 전자블록(20)은 이벤트 블록, 동작을 나타내는 모션 블록, 색상을 나타내는 색상표시 블록, 펜 동작, 데이터 등을 나타내는 블록들을 구현할 수 있다.
또한, 도 33과 같이, 흐름을 제어하는 블록들은 반복문이나 조건문 블록 등으로 구현될 수 있다.
도 33(a)와 (b)와 같이, 반복문 블록은 반복을 나타내는 블록으로서, forever 블록과 repeat 블록 두가지 종류이다. repeat 블록은 옵션블록의 값 만큼 반복을 실행한다. 반복문은 반복구간의 끝을 나타내는 End of forever 또는 end of repeat 블록을 끝에 추가하여 반복의 끝을 인식할 수 있다.
또한, 조건문은 두 가지의 경우가 있다.
먼저, 조건이 참일 때만 실행할 문장을 나타내는 경우이다. 이 경우, 도 33(c) 또는 (d)와 같이, 참일 때 실행할 문장구간의 끝을 나타내는 end if 블록을 끝에 추가하여 조건의 끝을 인식할 수 있다.
또한, 도 33(c)와 (d)와 같이, 조건이 참일 때와 거짓일 경우 모두 실행 구간을 나타낸다. 조건이 참 일 경우는 if then 블록과 else 블록사이의 명령들이 실행되고 조건이 거짓일 경우는 else 블록과 end if 블록 사이의 명령들이 실행된다.
다음으로, 본 발명의 실험에 따른 프로그램의 예들을 도 34 내지 도 37을 참조하여 설명한다.
도 34은 스프라이트 이동 및 회전 하면서 LED 색상을 변경하는 프로그램이고, 도 35은 4각형 연속그리기의 예제 프로그램으로서, (a) 블록연결 예제이고, (b) 스크래치프로그램으로 작성된 코드와 (c) 실행결과이다.
또한, 도 36는 눈 꽃송이 만들기의 예제 프로그램으로서, (a) 블록연결예제이고, (b) 스크래치프로그램으로 작성된 코드와 (c) 실행결과의 예이다.
또한, 도 37은 if else 블록을 사용한 팔각형 만들기에 대한 예제 프로그램으로서, (a) 블록연결예제이고, (b) 스크래치프로그램으로 작성된 코드와 (c) 실행결과의 예이다.
이상 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 마스터 전자블록 20 : 슬레이브 전자블록
30 : 옵션 전자블록 50 : 통신수단
60 : 스마트 단말 70 : 프로그램 수행도구
80 : 스프라이트 장치

Claims (10)

  1. 스마트 단말과 연결되는 프로그래밍 교육을 위한 전자블록 시스템에 있어서,
    상기 스마트 단말과 연결되어 전원을 공급받는 마스터 전자블록; 및,
    다수의 슬레이브 전자블록들을 포함하고,
    상기 슬레이브 전자블록은 상기 마스터 전자블록 또는 다른 슬레이브 전자블록과 조립될 수 있고,
    상기 마스터 전자블록이 최상단에 조립되고, 상기 마스터 전자블록의 하단에 다수의 슬레이브 전자블록들이 순차적으로 조립되되, 상기 마스터 전자블록의 하단에 슬레이브 전자블록이 조립되고 조립된 슬레이브 전자블록의 하단에 다른 슬레이브 전자블록이 조립되는 방식으로 순차적으로 조립되고,
    상기 슬레이브 전자블록은 상단에 조립된 슬레이브 전자블록 또는 마스터 전자블록으로부터 데이터 라인을 형성하고 전원을 공급받고, 상기 데이터 라인으로 자신의 전자블록 식별 데이터를 송신하고,
    상기 슬레이브 전자블록은 자신의 상단에 연결되는 상위의 마스터 전자블록 또는 상위의 슬레이브 전자블록으로부터 제어신호를 수신하면, 상기 데이터 라인을 점유하여 자신의 전자블록 식별 데이터를 전송하고, 식별 데이터 전송이 완료되면, 자신의 하단에 연결되는 하위의 슬레이브 전자블록으로 제어신호를 전송하고,
    상기 마스터 전자블록은 이벤트가 발생되었을 때 구동되는 이벤트 명령을 나타내고, 각 슬레이브 전자블록은 프로그래밍의 단위 명령을 나타내고, 각 단위 명령은 특정한 작업을 수행하는 명령, 반복 흐름제어나 조건 흐름제어를 위한 명령, 또는, 함수 명령 중 어느 하나의 명령이고,
    상기 마스터 전자블록 또는 슬레이브 전자블록은 마이크로컨트롤러(MCU)로 구성되고, 식별 데이터 송신 작업이 상기 마이크로컨트롤러의 ROM에 프로그램으로 저장되고, 상기 데이터 라인은 상기 마이크로컨트롤러 간의 USART 방식 또는 I2C 방식의 시리얼 통신으로 송수신되고,
    상기 슬레이브 전자블록은 마이크로컨트롤러의 전원핀(VCC)에 공급되는 전원을 스위칭하는 전원스위치(SW)를 구비하고,
    상기 제어신호는 상기 마스터 전자블록 또는 슬레이브 전자블록의 마이크로컨트롤러의 범용 출력핀(GPO)으로 송신되고, 상기 슬레이브 전자블록의 전원스위치를 연결시키는 신호로 수신되고,
    상기 슬레이브 전자블록의 마이크로컨트롤러는 상기 전원스위치에 의해 전원이 공급되면, ROM에 기록된 프로그램이 실행함으로써 식별 데이터 송신 작업을 수행하는 것을 특징으로 하는 프로그래밍 교육을 위한 전자블록 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 제1항에 있어서, 상기 시스템은,
    상기 슬레이브 전자블록 내에 조립되어 옵션 값을 출력하는 옵션 전자블록을 더 포함하고,
    상기 슬레이브 전자블록은 상기 옵션 전자블록으로부터 옵션 값을 수신하면 상기 옵션 값을 식별 데이터에 포함시켜 전송하는 것을 특징으로 하는 프로그래밍 교육을 위한 전자블록 시스템.
  10. 제9항에 있어서,
    상기 옵션 전자블록은 상기 슬레이브 전자블록으로부터 전원을 공급받아 내부의 저항에 따라 달리 출력되는 전압을 상기 슬레이브 전자블록으로 출력하는 것을 특징으로 하는 프로그래밍 교육을 위한 전자블록 시스템.
KR1020160152771A 2016-03-03 2016-11-16 프로그래밍 교육을 위한 전자블록 시스템 KR101913833B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160152771A KR101913833B1 (ko) 2016-11-16 2016-11-16 프로그래밍 교육을 위한 전자블록 시스템
PCT/KR2016/014207 WO2017150788A1 (ko) 2016-03-03 2016-12-06 프로그래밍 교육을 위한 전자블록 시스템
US16/081,615 US10585649B2 (en) 2016-03-03 2016-12-06 Electronic block kit system for scratch programming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160152771A KR101913833B1 (ko) 2016-11-16 2016-11-16 프로그래밍 교육을 위한 전자블록 시스템

Publications (2)

Publication Number Publication Date
KR20180055207A KR20180055207A (ko) 2018-05-25
KR101913833B1 true KR101913833B1 (ko) 2018-12-06

Family

ID=62299522

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160152771A KR101913833B1 (ko) 2016-03-03 2016-11-16 프로그래밍 교육을 위한 전자블록 시스템

Country Status (1)

Country Link
KR (1) KR101913833B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210098237A (ko) 2020-01-31 2021-08-10 이정애 사용자 작성 프로그램의 실행 방법
KR20220078143A (ko) 2020-12-03 2022-06-10 주식회사 이엘사이언스 사용자 작성 프로그램의 실행 방법
KR20220078144A (ko) 2020-12-03 2022-06-10 주식회사 이엘사이언스 사용자 작성 프로그램의 실행 방법
WO2023286952A1 (ko) * 2021-07-13 2023-01-19 주식회사크리모 전원 공급 및 위치 인식이 가능한 스마트블록 및 이의 제어시스템
KR20230018763A (ko) 2021-07-30 2023-02-07 주식회사 이엘사이언스 아이콘을 이용한 사용자 작성 프로그램의 실행방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101947160B1 (ko) * 2018-06-20 2019-02-12 (주)코딩앤플레이 증강현실을 이용한 코딩교육 방법
KR102126521B1 (ko) * 2018-08-01 2020-06-24 (주)미래융합정보기술 유치원 및 초등학교 저학년기의 물리적 프로그래밍을 위한 텐저블 코딩 블록 시스템
KR102229422B1 (ko) * 2019-08-06 2021-03-17 김영호 Led 블록을 통한 코딩 학습 방법 및 시스템
KR102463756B1 (ko) * 2020-11-23 2022-11-07 주식회사 프레도 스마트 블록 완구
KR102378690B1 (ko) * 2021-08-17 2022-03-25 (주)비케이시스템 코드 블록을 이용한 프로그래밍 코드 생성 방법 및 이를 실행하는 장치
KR102557227B1 (ko) * 2023-03-27 2023-07-24 경상남도 (교육청) 거제 관광 체험 게임을 수행하기 위한 거제 관광 체험 게임 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210098237A (ko) 2020-01-31 2021-08-10 이정애 사용자 작성 프로그램의 실행 방법
KR20220078143A (ko) 2020-12-03 2022-06-10 주식회사 이엘사이언스 사용자 작성 프로그램의 실행 방법
KR20220078144A (ko) 2020-12-03 2022-06-10 주식회사 이엘사이언스 사용자 작성 프로그램의 실행 방법
WO2023286952A1 (ko) * 2021-07-13 2023-01-19 주식회사크리모 전원 공급 및 위치 인식이 가능한 스마트블록 및 이의 제어시스템
KR20230018763A (ko) 2021-07-30 2023-02-07 주식회사 이엘사이언스 아이콘을 이용한 사용자 작성 프로그램의 실행방법

Also Published As

Publication number Publication date
KR20180055207A (ko) 2018-05-25

Similar Documents

Publication Publication Date Title
KR101913833B1 (ko) 프로그래밍 교육을 위한 전자블록 시스템
KR101724230B1 (ko) 스크래치 프로그래밍을 위한 전자블록 시스템
US10585649B2 (en) Electronic block kit system for scratch programming
KR101676676B1 (ko) 저항과 자석이 내장된 카드키 및 보드를 이용한 로봇 프로그래밍 교육용 키트 및 방법
US11422644B2 (en) User input devices, panels for use with a user input device and computer peripheral devices
CN110825378B (zh) 基于程序积木的编程系统和控制系统
KR20180026714A (ko) 코딩 툴 키트
CN103761129B (zh) 一种在Bootloader层实现SDIO接口驱动的方法
US20070226378A1 (en) Portable receiver and memory for remotely controlled presentations
KR20170053185A (ko) 동작카드를 이용한 블록완구 동작 제어시스템 및 그 제어방법
KR20170135481A (ko) 코딩 툴 키트
JP2020525919A (ja) パスワード入力システム
CN103309711A (zh) 基于usb接口自举加载程序电路
TWI543027B (zh) 輸入裝置
US10460622B2 (en) Assisted programming using an interconnectable block system
CN203350863U (zh) 一种基于usb接口自举加载程序电路
KR102186719B1 (ko) 블록형 무선 코딩 명령어 입력 장치 및 방법
KR101683004B1 (ko) 로직 큐브를 이용한 코드 생성 방법 및 장치
CN101311914B (zh) 电子装置与周边装置的匹配系统及其匹配方法
CN110796939A (zh) 一种统一扩展接口的编程学习开发板
CN114055482A (zh) 一种多模块教育机器人套件
KR102205158B1 (ko) 스마트 토이
KR102098635B1 (ko) 기록매체에 저장된 프로그래밍 어플리케이션, 이를 포함하는 프로그래밍 시스템 및 이를 이용한 마이크로 콘트롤러 유닛의 프로그래밍 방법
CN215006329U (zh) 一种用于编程教育的嵌入式开发板
CN202102369U (zh) 无线计算机控制及输入装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)