KR102296385B1 - 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록 - Google Patents

동작기준 및 출력내용 설정이 가능한 스마트 코딩블록 Download PDF

Info

Publication number
KR102296385B1
KR102296385B1 KR1020190075497A KR20190075497A KR102296385B1 KR 102296385 B1 KR102296385 B1 KR 102296385B1 KR 1020190075497 A KR1020190075497 A KR 1020190075497A KR 20190075497 A KR20190075497 A KR 20190075497A KR 102296385 B1 KR102296385 B1 KR 102296385B1
Authority
KR
South Korea
Prior art keywords
output
block
unit
input
bus line
Prior art date
Application number
KR1020190075497A
Other languages
English (en)
Other versions
KR20210000771A (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 KR1020190075497A priority Critical patent/KR102296385B1/ko
Publication of KR20210000771A publication Critical patent/KR20210000771A/ko
Application granted granted Critical
Publication of KR102296385B1 publication Critical patent/KR102296385B1/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

Abstract

본 발명은 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록에 관한 것으로, 본 발명에 따르면 다양한 기능을 수행하는 복수의 블록들을 연결하여 논리 연산과 입력에 따른 출력 과정을 육안으로 확인함으로써 놀이를 통해 코딩 학습을 수행할 수 있고, 특히 동작기준과 출력내용을 사용자 의지에 따라 손쉽게 재설정하여 응용 범위를 확장하고 지속적인 흥미 유발을 통해 꾸준한 코딩 학습이 가능하다.

Description

동작기준 및 출력내용 설정이 가능한 스마트 코딩블록{Smart Coding Block for setting up operating reference and output information}
본 발명은 스마트 코딩블록에 관한 것으로, 더욱 구체적으로는 서로 역할이 다른 복수의 블록들을 연결하여 다양한 동작이 이루어지는 작품을 완성할 수 있도록 하되, 각 블록들의 동작기준이나 출력내용들을 사용자가 자유롭게 설정 변경할 수 있도록 하는 기술에 대한 것이다.
코딩(coding)이란 컴퓨터 프로그래밍이라고도 하며, 통상적으로는 C언어, 자바, 파이선 등의 컴퓨터 언어로 프로그램을 만드는 것을 말한다. 코딩 교육은 논리력, 창의력, 문제해결력을 키울 수 있기 때문에 초등학생은 물론 유치원생부터 코딩 교육을 시작하기도 한다.
하지만 통상적인 프로그래밍 교육에 사용되는 언어들은 대부분 외국어로 되어 있기 때문에 어린이에게 교육하기 다소 어렵다는 문제가 있다. 이를 위해 블록을 활용하여 코딩 교육을 실시하기도 한다.
대한민국공개특허 제10-2018-0130934호(2018.12.10. '소프트웨어 코딩 교육이 가능한 무선 통신 기반 스마트 코딩 블록 세트'), 대한민국등록특허 제10-1843831호(2018.03.26. '쪼물락 코딩 블록') 등에서는 복수의 코딩 블록을 조립하여 흥미 유발과 함께 코딩 개념을 학습할 수 있도록 하는 기술을 제공하고 있다. 예컨대 센서 정보를 출력하는 입력형 블록과 특정 동작 기능이 구현되는 출력형 블록이 서로 무선 통신을 수행할 수 있고, 입력형 블록에서 특정 센싱값이 측정되면 그에 대응하여 출력형 블록이 정해진 동작을 수행하도록 함으로써, 학습자가 블록 놀이를 하는 방식으로 입출력 개념, 논리 언어의 개념 등을 학습할 수 있도록 하는 것이다.
그러나 종래의 코딩 블록들은 각 블록들이 미리 정해진 기능만을 수행할 수 있기 때문에 응용 범위가 매우 제한적이며, 이에 따라 학습에 금방 흥미를 잃게 되는 단점이 있다.
예컨대 입력형 블록에 소리를 인지하는 음압센서가 탑재되어 있고, 출력형 블록에 구동바퀴가 탑재되어 있으며, 특정 단어의 소리가 인식되면 구동바퀴가 전방으로 초당 5cm의 속도로 30cm 이동되도록 블록 조립을 수행할 수가 있다. 하지만 학습자가 특정 단어의 소리를 다른 단어의 소리로 바꾸고 싶다거나, 구동바퀴가 전방이 아닌 후방으로 더 빠른 속도로 이동하게 하고 싶다 하더라도, 미리 정해져 있는 설정을 바꿀 수가 없는 것이다. 이에 따라 동일한 종류의 블록 세트를 이용하여서는 창작의 응용 범위가 좁아서 학습자가 쉽게 흥미를 잃게 된다.
본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하기 위해 안출된 것으로, 다양한 기능을 수행하는 복수의 블록들을 결합하여 작품을 완성하되, 동작기준이나 출력내용을 사용자가 손 쉽게 설정 변경할 수 있도록 함으로써, 지속적인 흥미 유발을 통해 코딩 교육을 효과적으로 진행할 수 있도록 하는 기술을 제공하는 데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명에 따른 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록은, 측정된 값을 동작기준과 비교하여 인에이블 신호를 출력하는 입력블록; 및 상기 입력블록과 결합되며, 상기 입력블록으로부터 인에이블 신호가 입력되면 기 저장된 출력내용을 출력하여 특정 동작을 수행하는 출력블록;을 포함하되, 상기 입력블록의 동작기준과 상기 출력블록의 출력내용이 사용자의 의지에 따라 재설정 가능하다.
여기서, 상기 입력블록은, 환경변화에 따른 물리값을 측정하는 센서부A; 동작기준 설정을 위한 명령을 입력하는 기준입력버튼A; 동작기준을 저장하는 메모리A; 상기 센서부A에서 측정되는 값에 따라 인에이블 신호를 출력하는 출력부A; 및 상기 기준입력버튼A가 활성화 되었을 경우 상기 센서부A를 통해 측정된 값을 상기 메모리A에 동작기준으로 저장하고, 상기 기준입력버튼A가 비활성화 되었을 경우 상기 센서부A를 통해 측정된 값을 상기 메모리A에 저장된 동작기준과 비교하여 상기 출력부A를 통해 인에이블 신호가 출력되도록 제어하는 제어부A;를 포함할 수 있다.
또한, 상기 출력블록은, 저장명령을 입력받는 조작부C; 출력내용을 입력받는 센서부C; 상기 센서부C를 통해 입력된 출력내용을 저장하는 메모리C; 상기 입력블록 측으로부터 인에이블 신호를 입력받는 입력부C; 상기 출력내용을 출력하는 출력부C; 및 상기 조작부C를 통해 저장명령이 입력되면 상기 센서부C를 통해 입력되는 출력내용을 상기 메모리C에 저장하고, 상기 입력부C를 통해 인에이블 신호가 입력되면 상기 메모리C에 저장된 출력내용을 상기 출력부C를 통해 출력되도록 제어하는 제어부C;를 포함할 수 있다.
또, 상기 입력블록 및 출력블록과 결합되며, 복수의 입력블록으로부터 입력되는 인에이블 신호를 논리 연산하여 상기 출력블록 측으로 논리 연산 결과를 출력하는 논리블록;을 더 포함할 수 있다.
본 발명에 따른 스마트 코딩블록은 입력블록, 논리블록 및 출력블록들을 적절하게 결합하여 입력에 따른 출력의 흐름, 논리 연산 등의 알고리즘을 놀이의 과정으로 흥미롭게 학습할 수가 있다.
특히 각각의 블록들은 물리적, 전기적 결합이 동시에 이루어지는 커넥터를 통해 결합될 수 있기 때문에 블록 조립 과정만으로 신호 전송을 위한 연결 과정도 함께 이루어져 통신 설정 등의 복잡한 작업을 하지 않아도 된다.
또한 미리 설정된 동작기준을 반드시 입력해야 할 필요 없이 사용자가 동작기준을 스스로 다시 설정할 수가 있고, 출력블록이 재현해야 하는 동작 역시 다양한 형태로 변형하여 저장해 놓을 수 있기 때문에, 적은 개수의 블록들만 구비하더라도 다양한 형태의 창작물을 만들어 흥미로운 코딩 학습을 지속할 수가 있다.
도1은 본 발명의 실시예에 따른 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록을 설명하기 위한 도면.
도2는 도1에 도시된 스마트 코딩블록에서 입력블록을 설명하기 위한 블록도.
도3은 도1에 도시된 스마트 코딩블록에서 논리블록을 설명하기 위한 블록도.
도4는 도1에 도시된 스마트 코딩블록에서 출력블록을 설명하기 위한 블록도.
도5는 도1에 도시된 스마트 코딩블록에서 입력블록에 동작기준을 설정하는 방법을 설명하기 위한 흐름도.
도6은 도1에 도시된 스마트 코딩블록에서 출력블록에 출력내용을 설정하는 방법을 설명하기 위한 흐름도.
도7은 도1에 도시된 스마트 코딩블록의 동작 과정을 설명하기 위한 흐름도.
도8은 도1에 도시된 스마트 코딩블록의 조립 예시를 설명하기 위한 개념도.
도9는 도1에 도시된 스마트 코딩블록의 다른 조립 예시를 설명하기 위한 개념도.
도10 내지 도12는 본 발명의 다른 실시예에 따른 스마트 코딩블록을 설명하기 위한 개념도.
이하에서는 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 다만 발명의 요지와 무관한 일부 구성은 생략 또는 압축할 것이나, 생략된 구성이라고 하여 반드시 본 발명에서 필요가 없는 구성은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 결합되어 사용될 수 있다.
도1은 본 발명의 실시예에 따른 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록을 설명하기 위한 도면이다. 도1에 도시된 바와 같이 본 발명의 실시예에 따른 스마트 코딩블록은 입력블록(100), 논리블록(200) 및 출력블록(300)을 포함한다.
입력블록(100)은 사용자의 조작명령을 입력 받거나, 특정 센싱값이 측정되었을 시 인에이블 신호(Enable, 예컨대 논리 'high' 또는 '1'을 말하며, 이하에서는 혼용하여 사용토록 한다)를 출력하는 블록을 말한다. 입력블록(100)에서 출력되는 인에이블 신호는 논리블록(200) 또는 출력블록(300)에 전달되어 특정 출력블록(300)이 미리 저장된 출력정보를 출력할 수 있도록 한다.
논리블록(200)은 복수개의 입력부B(240)를 통해 입력되는 값을 설정된 바에 따라 논리 연산하여 복수의 출력부B(250)를 통해 출력하는 블록이다. 이러한 논리블록(200)을 이용하면 출력블록(300)이 단순한 온 오프 명령에 따라 동작하는 것이 아니라, 하나 이상의 입력블록(100)의 상태에 따라 동작할 수 있다.
출력블록(300)은 입력블록(100) 또는 논리블록(200)의 출력에 따라 설정된 동작을 수행하는 블록이다. 예컨대 출력블록(300)은 출력부C(370)로써 모터가 탑재될 수 있으며, 입력블록(100)이나 논리블록(200)으로부터 인에이블 신호가 입력되면 사용자가 미리 저장한 동작을 그대로 재생시킬 수 있다.
입력블록(100), 논리블록(200) 및 출력블록(300)들은 서로 물리적 결합과 전기적 접속이 가능한 형태로 제작되며, 복수의 블록들을 적절하게 조립하여 환경 변화에 따라 정해진 동작을 수행하도록 할 수 있고, 이를 통해 논리 언어를 이해하고 자연스럽게 코딩 학습을 할 수가 있다. 특히 본 발명에 따른 스마트 코딩블록에서는 각 블록들이 정해진 동작기준에 따라 정해진 출력내용을 출력하는 것이 아니라, 사용자가 자유롭게 동작기준과 출력내용을 바꾸어 설정할 수가 있다.
이하에서는 도2 내지 도4를 통해 입력블록(100), 논리블록(200) 및 출력블록(300)의 상세한 기능 구성을 설명토록 한다. 또한 이하의 설명에서 각 구성 명칭 뒤에 병기된 'A', 'B', 'C', 'D', 'E'는 각각 입력블록(100), 논리블록(200), 출력블록(300), 무선블록(400) 및 AI블록(500)에 포함된 구성을 구분하기 위해 표기한 식별자일 뿐 특별한 의미를 갖지는 아니한다.
도2는 도1에 도시된 스마트 코딩블록에서 입력블록을 설명하기 위한 블록도이다. 도2에 도시된 바와 같이 입력블록(100)은 본체A(110), 센서부A(120), 조작부A(130), 제어부A(140), 메모리A(150) 및 출력부A(160)를 포함한다.
본체A(110)는 입력블록(100)의 외관을 형성하고 다른 구성을 보호하는 구성으로 통상의 블록 형태로 제작될 수 있다.
센서부A(120)는 환경 변화에 따른 물리값을 측정하고, 측정된 물리값을 전기적 신호(전압)로 변환하여 출력하는 구성이다. 이러한 센서부A(120)는 예컨대 광센서, 거리센서, 음압센서 등이 될 수 있으며, 이 외에도 환경변화에 따른 다양한 물리값을 측정하는 센서가 적용될 수 있다.
조작부A(130)는 사용자의 명령을 입력받기 위한 구성으로 버튼, 다이얼, 터치패드, 스위치 등 다양한 형태로 제작될 수 있다. 또한 조작부A(130)는 동작기준 설정을 위해 기준입력버튼A(131)와 동작설정버튼A(132)를 포함한다.
기준입력버튼A(131)는 사용자가 동작기준을 재설정하기 위한 명령을 입력하기 위한 버튼이다.
동작설정버튼A(132)는 설정된 동작기준에 따라 인에이블 신호가 출력되는 방식을 사용자가 직접 선택할 수 있도록 사용자의 명령을 입력받는 버튼이다. 예컨대 동작기준이 특정 값이라면, 정확하게 센서부A(120)를 통해 동작기준에 대한 값이 재측정 되었을 때, 또는 저장된 동작기준보다 크거나 작은 값이 센서부A(120)를 통해 재측정 되었을 때 인에이블 신호가 출력되도록 설정할 수 있다. 반면 동작기준이 특정 범위라면, 이후 측정되는 값이 동작기준의 범위 내에서 또는 범위 밖에서 인에이블 신호가 출력되도록 동작설정버튼A(132)를 통해 선택할 수가 있다.
제어부A(140)는 기준입력버튼A(131)가 활성화된 상태에서 센서부A(120)에서 측정된 입력값을 메모리A(150)에 동작기준으로 저장하고, 기준입력버튼A(131)가 비활성화 된 상태에서는 센서부A(120)에서 측정된 측정값을 메모리에 저장된 동작기준와 비교한 후 동작설정버튼A(132)를 통해 설정한 바에 따라 인에이블 신호가 출력부A(160)를 통해 출력되도록 한다.
이러한 제어부A(140)는 센서부A(120)에서 물리값을 측정한 후 이에 대응하여 소정의 전압을 출력하면 이를 디지털 변환하고, 기준입력버튼A(131)가 활성화 상태라면 센서부A(120)를 통해 측정되어 디지털 변환된 정보를 동작기준으로써 메모리A(150)에 저장한다. 반면 제어부A(140)는 기준입력버튼A(131)가 비활성화 상태라면 센서부A(120)를 통해 측정되어 디지털 변환된 측정정보를 메모리A(150)에 저장된 동작기준과 비교한 후, 동작설정버튼A(132)의 설정 상태에 따라 인에이블 신호를 출력한다.
메모리A(150)는 제어부A(140)의 제어에 따라 동작기준를 저장하기 위해 마련된다. 만약 기준입력버튼A(131)의 활성화를 통한 동작기준 설정 과정이 없다면 메모리A(150)에는 제품 출고시 설정된 동작기준이 저장된 상태를 유지한다.
출력부A(160)는 제어부A(140)의 제어에 따라 인에이블 신호가 출력되는 단자를 말한다. 이러한 출력부A(160)는 논리블록(200)이나 출력블록(300)의 입력부(240,360)가 물리적으로 결합될 수 있는 형태의 커넥터 형태로 제작된다. 즉 출력부A(160)와 입력부(240,360)가 결합되면 블록들(100,200,300) 간의 물리적인 결합이 이루어짐과 동시에, 전기적 접속도 함께 이루어진다. 실시하기에 따라 커넥터 형태의 출력부A(160) 또는 입력부(240,360)는 블록들(100,200,300)이 서로 결합된 상태에서 상대 회전 가능한 구조로 제작될 수도 있다. 물론 논리블록(200)의 출력부B(250) 역시 같은 방식으로 물리적, 전기적 결합이 이루어짐과 동시에 상대 회전이 가능한 형태의 커넥터가 적용될 수 있다.
또한 출력부(160,250)나 입력부(240,360)는 소켓 형태로 제작될 수도 있고, 이에 대응하는 접속잭을 갖는 연결케이블(미도시)이 출력부(160,250)와 입력부(240,360) 사이를 연결하여 전기적 연결이 이루어지도록 할 수도 있다.
도3은 도1에 도시된 스마트 코딩블록에서 논리블록을 설명하기 위한 블록도이다. 도3에 도시된 바와 같이 논리블록(200)은 본체B(210), 조작부B(220), 표시부B(230), 입력부B(240), 출력부B(250) 및 제어부B(260)를 포함한다.
본체B(210)는 논리블록(200)의 외관을 형성하고 다른 구성을 보호하는 구성으로 블록 형태로 제작된다.
조작부B(220)는 사용자 명령을 입력 받는 구성이다. 이러한 조작부B(220)는 논리선택버튼B(221) 및 출력반전버튼B(222)를 포함한다.
논리선택버튼B(221)는 논리블록(200)이 어떠한 논리 연산을 수행토록 하는지 사용자가 입력할 수 있도록 하는 입력수단이다. 이러한 논리선택버튼B(221)는 버튼 형태로 제작될 수도 있고, 스위치나 다이얼 형태로 제작될 수도 있다. 즉 사용자는 논리선택버튼의 조작을 통해 논리블록(200)이 AND 게이트, OR 게이트, NOT 게이트, NAD 게이트, NOR 게이트, XAND 게이트, XOR 게이트 중 어느 하나로 작동되도록 설정할 수 있다.
출력반전버튼B(222)는 출력부B(250) 인근에 설치되며, 해당 출력부B(250)의 출력값을 반전시켜 출력되도록 하기 위해 마련된다. 예컨대 논리블록(200)이 AND 게이트로 작동하고 있을 때, 입력부B(240)의 입력이 모두 1(High, 즉 입력블록(100)의 출력부A(160)에서 인에이블 신호가 출력되어 논리블록(200)의 입력부B(240)로 입력되는 경우를 말함)일 경우 출력부B(250)에서 출력되는 값은 모두 1인 것이 정상이지만, 출력반전버튼B(222)가 눌러진 출력부B(250)의 경우에는 반전된 값, 즉 0(low, 설정된 낮은 전압)이 출력되도록 할 수 있다.
표시부B(230)는 논리선택버튼B(221)의 입력에 따라 현재 설정된 연산 기준이 무엇인지, 즉 논리블록(200)이 다양한 논리소자 중 어떤 논리소자의 기능을 수행하는지 표시하기 위한 수단이다. 이러한 표시부B(230)는 본체B(210) 일부분에 설치되는 디스플레이 형태로 제작될 수 있고, 논리선택버튼B(221) 내에 탑재된 LED램프로 구현될 수도 있다. 즉, 논리선택버튼B(221)를 한번 누르면 논리선택버튼B(221)에 붉은색 램프가 들어와 AND 게이트 상태임을 알리고, 한번 더 누르면 푸른색 램프가 들어와 OR 게이트 상태임을 알려 표시부B(230)의 기능을 수행토록 하는 것이다.
입력부B(240)는 본체B(210)의 일측으로 복수개 마련되며, 입력블록(100)의 출력부A(160)가 연결된다. 입력부B(240)는 출력부A(160)와 물리적으로 결합되는 커넥터 형태로 제작되며, 동시에 전기적 신호를 입력받을 수 있는 단자 기능도 수행한다.
출력부B(250)는 본체B(210)의 타측으로 복수개 마련되어 있으며, 제어부B(260)의 논리 연산 결과가 출력되는 단자이다. 출력부B(250)에는 타 논리블록(200)의 입력부B(240)가 연결되거나 출력블록(300)의 입력부C(360)가 연결될 수 있다. 출력부B(250) 역시 입력부B(240)와 마찬가지로 물리적 결합과 전기적 접속이 동시에 이루어지는 커넥터 형태로 제작될 수 있다.
제어부B(260)는 입력부B(240)를 통해 입력되는 값을 이용해 논리 연산을 수행하여 출력부B(250)로 논리 연산 결과 값(1 또는 0, high 또는 low)을 출력하기 위해 마련된다. 이러한 제어부B(260)는 표시부제어수단B(261), 논리설정수단B(262), 연산수단B(263), 입력제어수단B(264) 및 출력제어수단B(265)를 포함한다.
표시부제어수단B(261)는 논리선택버튼B(221)의 입력에 따라 연산수단B(263)의 논리 연산 기준이 무엇인지 알릴 수 있도록 표시부B(230)를 제어하기 위해 마련된다. 예컨대 논리선택버튼B(221)를 한번 눌러 연산수단B(263)가 AND 게이트의 기능을 수행토록 설정되었다면, 표시부제어수단B(261)는 논리선택버튼B(221)에 붉은색 램프가 발광되도록 하여 AND 게이트임을 알리도록 하거나, 디스플레이 형태의 표시부B(230)에 AND라는 문자가 출력되도록 처리한다.
논리설정수단B(262)는 논리선택버튼B(221)의 입력에 따라 연산수단B(263)의 논리 연산 기준을 설정 또는 재설정하기 위해 마련된다. 예컨대 사용자가 논리블록(200)을 AND 게이트로 사용하기 위해 논리선택버튼B(221)를 한번 눌렀다면, 논리설정수단B(262)는 연산수단B(263)가 AND 연산을 수행하도록 세팅하고, 사용자가 OR 게이트로 사용하기 위해 논리선택버튼B(221)를 한번 더 눌렀다면, 논리설정수단B(262)는 연산수단B(263)가 OR 연산을 수행하도록 재설정하는 것이다.
연산수단B(263)는 입력부B(240)를 통해 입력되는 값을 이용하여 논리설정수단B(262)에 의해 설정된 기준에 따라 연산을 수행하여 결과값을 출력하기 위해 마련된다. 즉 연산수단B(263)가 실질적인 논리소자 역할을 수행하는 것인데, 이는 기존의 반도체 칩 형태로 특정 기능이 고정되는 것이 아니라, 미리 세팅된 프로그램에 따라 동작하는 것이며, 논리선택버튼B(221)의 조작에 의해 연산 기능이 바뀌는 것이다.
입력제어수단B(264)는 입력부B(240)를 통해 입력되는 각각의 입력값을 연산수단B(263)로 입력시키기 위해 마련된다. 이때 입력제어수단B(264)는 입력부B(240)의 연결 유무를 확인한 후 연결이 없을 경우 해당 입력부B(240)의 값은 연산수단B(263)에 입력되지 않도록 하거나, 연산수단B(263)각 현재 설정된 논리 기준에 따라 특정 입력값이 자동 입력되도록 처리하여, 아무런 연결이 없는 연결부B는 논리 연산 결과에 영향을 끼치지 않도록 한다.
출력제어수단B(265)는 연산수단B(263)에서 출력되는 결과 값을 출력부B(250)를 통해 출력되도록 처리하되, 출력반전버튼B(222)의 입력이 있을 경우, 출력반전버튼B(222)의 입력이 발생한 출력부B(250)의 출력값은 반전시켜 출력 처리한다.
예컨대 논리선택버튼B(221)의 입력에 의해 연산수단B(263)가 OR 게이트로 설정되었고, 2개의 출력부B(250) 중 두 번째 출력부B(250)에 대응하는 출력반전버튼B(222)가 눌러진 상태라면, 입력부B(240) 중 어느 하나에서 1이 입력될 경우 연산수단B(263)의 연산 결과인 1의 결과 값을 출력제어수단B(265)가 출력부B(250)로 출력시키되, 첫 번째 출력부B(250)에는 1의 결과 값이 출력되도록 하고, 두 번째 출력부B(250)에는 0의 결과값이 출력되도록 처리한다. 이 경우 즉 첫 번째 출력부B(250)는 OR 게이트로 작동하는 것이고, 두 번째 출력부B(250)는 NOR 게이트로 작동하는 것이다.
또한 출력제어수단B(265)는 입력제어수단B(264)와 마찬가지로 출력부B(250)의 출력블록(300) 연결 유무를 확인하여 연결된 출력블록(300)을 인식하고, 연결이 없을 경우 해당 출력부B(250) 측으로는 결과값이 출력되지 않도록 처리할 수도 있다.
도4는 도1에 도시된 스마트 코딩블록에서 출력블록을 설명하기 위한 블록도이다. 도4에 도시된 바와 같이 출력블록(300)은 본체C(310), 조작부C(320), 센서부C(330), 제어부C(340), 메모리C(350), 입력부C(360) 및 출력부C(370)를 포함한다.
본체C(310)는 출력블록(300)의 외관을 형성하며, 출력블록(300)의 다른 구성들을 실장하기 위해 마련된다.
조작부C(320)는 사용자의 명령을 입력받기 위한 것으로 버튼, 스위치, 터치패드 형태로 구현될 수 있다.
센서부C(330)는 입력부C(360)를 통해 인에이블 신호가 입력되었을 시, 출력부C(370)를 통해 출력해야 할 출력내용을 입력받는 구성이다. 예컨대 출력부C(370)가 바퀴나 그립부를 동작시키는 모터일 경우, 센서부C(330)는 엔코더센서 일 수 있으며, 외력에 의해 모터가 회전되면, 모터의 회전수를 측정하고 그에 따른 기록용 센싱값을 출력할 수 있다.
다른 예시로 출력부C(370)가 다양한 색상의 빛을 발광시키는 발광수단이라면, 센서부C(330)는 특정 색상의 빛을 인식하는 광센서일 수 있다. 또한 출력부C(370)가 음원을 출력하는 스피커라면, 센서부C(330)는 소리를 입력받는 마이크 등의 음압센서일 수 있다. 또 출력부C(370)가 특정 영상을 출력하는 디스플레이라면 센서부C(330)는 디스플레이를 통해 출력할 영상을 촬영하는 카메라일 수 있다.
한편 출력부C(370)는 숫자를 표시하는 세븐세그먼트 등의 소자일 수도 있다. 이 경우에는 별도의 센서부C(330)가 구비되지 아니하고 조작부C(320)를 통해 세븐세그먼트에 표시될 숫자를 입력할 수 있다.
제어부C(340)는 조작부C(320)를 통해 입력되는 출력내용 또는 센서부C(330)를 통해 인식되는 출력내용을 메모리C(350)에 저장하거나, 입력부C(360)를 통해 인에이블 신호(1, high)가 입력되면 메모리C(350)에 저장된 출력내용을 로딩하여 출력부C(370)를 통해 출력되도록 처리하기 위해 마련된다. 실시하기에 따라 제어부C(340)는 조작부C(320) 또는 센서부C(330)를 통해 획득한 조작 명령이나 기록용 센싱값을 출력부C(370)를 제어하기 위한 제어신호로 변환(컨버팅)하여 메모리C(350)에 저장할 수 있다.
메모리C(350)는 조작부C(320) 또는 센서부C(330)에서 출력되어 제어부C(340)에서 변환된 제어신호 등의 출력내용을 저장하거나, 센서부C(330)를 통해 획득한 출력내용 자체를 저장하거나, 제어부C(340)의 제어에 따라 저장된 제어신호나 출력내용을 출력부C(370) 측으로 전달하기 위해 마련된다.
입력부C(360)는 입력블록(100) 또는 논리블록(200)의 출력부(160,250)가 연결되어 인에이블 신호를 입력받기 위해 마련된다. 이러한 입력부C(360)는 물리적, 전기적 접속이 동시에 이루어지는 커넥터 형태로 제작될 수 있다.
출력부C(370)는 기 저장된 출력내용을 출력하는 구성이다. 예컨대 출력부C(370)는 바퀴나 그립부를 동작시키는 모터이거나, 다양한 색상의 빛을 발광시키는 발광수단이거나, 음원을 출력하는 스피커이거나, 영상정보를 출력하는 디스플레이이거나, 숫자를 표시하는 세븐세그먼트일 수 있다. 이 외에도 출력부C(370)로는 저장된 컨텐츠를 출력하거나 특정 동작을 수행하는 다양한 동작 재생 수단이 적용될 수 있다.
한편 도1에서는 도시하지 않았지만, 본 발명의 실시예에 따른 스마트 코딩블록은 입력블록(100)이나 논리블록(200)의 출력부(160,250)에 연결되어 인에이블 신호의 출력에 따라 원격에 위치한 IoT 디바이스로 특정 신호를 송출하는 무선블록 등 부가적인 기능 수행을 위한 블록들을 더 포함할 수도 있다.
이하에서는 도5 내지 도9를 통해 도1 내지 도4에 도시된 스마트 코딩블록을 이용하여 동작기준 및 출력내용을 사용자의 의도대로 설정하고 동작 시키는 과정을 설명토록 한다.
도5는 도1에 도시된 스마트 코딩블록에서 입력블록(100)에 동작기준을 설정하는 방법을 설명하기 위한 흐름도이다.
먼저 사용자는 동작기준 설정을 위해 입력블록(100)의 기준입력버튼A(131)를 눌러 활성화 시킨 후 센서부A(120)를 통해 동작기준을 입력<S505>한다. 이후 제어부A(140)는 기준입력버튼A(131)가 활성화된 상태에서 센서부A(120)를 통해 측정되는 동작기준을 메모리A(150)에 저장<S510>함으로써 동작기준 설정을 마친다.
메모리A(150)에 저장되는 동작기준은 사용자의 설정에 따라 수시로 업데이트되는 정보인데, 동작기준을 설정하는 작업을 한번도 수행하지 않았다면, 메모리A(150)에 저장되는 동작기준은 제품 출고시 최초로 설정되어 계속 유지되는 정보일 것이다. 기준입력버튼A(131)의 활성화에 따라 센서부A(120)에서 측정되어 메모리A(150)에 저장되는 동작기준 정보를 다양한 예시로 설명하면 다음과 같다.
입력블록(100)이 특정 밝기의 빛을 인지한 후 인에이블 신호를 출력하는 블록일 경우, 센서부A(120)는 조도센서일 수 있다. 따라서 사용자는 기준입력버튼A(131)를 활성화시킨 상태에서 센서부A(120)로 특정 밝기의 빛을 비춰줄 수 있고, 제어부A(140)는 센서부A(120)에서 측정된 특정 밝기에 대응하는 디지털 값을 메모리A(150)에 저장할 수 있다. 이 경우 기준입력버튼A(131)가 비활성화된 상태에서 센서부A(120)를 통해 해당 밝기의 빛이 다시 비춰지는 것이 확인되면, 제어부A(140)는 출력부A(160)를 통해 인에이블 신호를 출력할 수 있다.
또한 입력블록(100)이 특정 색상의 빛을 인지한 후 인에이블 신호를 출력하는 블록일 경우, 센서부A(120)는 광센서일 수 있다. 따라서 사용자는 기준입력버튼A(131)를 활성화 시킨 상태에서 센서부A(120)로 붉은빛의 광을 조사할 수 있고, 제어부A(140)는 센서부A(120)에서 측정된 붉은 빛의 광에 대응하는 디지털 값을 메모리A(150)에 저장할 수 있다. 이 경우 기준입력버튼A(131)가 비활성화된 상태에서 센서부A(120)를 통해 붉은 광이 비춰지면, 제어부A(140)는 출력부A(160)를 통해 인에이블 신호를 출력할 수 있다.
또 센서부A(120)가 거리센서일 경우 기준입력버튼A(131)가 활성화된 상태에서 센서부A(120)를 통해 측정되는 거리 정보에 대응하는 디지털 값이 메모리A(150)에 저장될 수 있다. 이 경우 기준입력버튼A(131)가 비활성화된 상태에서 센서부A(120)를 통해 기 저장된 거리 정보가 다시 측정되면 제어부A(140)가 출력부A(160)를 통해 인에이블 신호를 출력할 수 있다.
또 센서부A(120)가 마이크 등의 음압센서일 경우 기준입력버튼A(131)가 활성화된 상태에서 센서부A(120)를 통해 측정되는 음성정보에 대응하는 디지털 값이 메모리A(150)에 저장될 수 있다. 이 경우 기준입력버튼A(131)가 비활성화된 상태에서 센서부A(120)를 통해 기 저장된 음성정보가 다시 측정되면 제어부A(140)가 출력부A(160)를 통해 인에이블 신호를 출력할 수 있다.
도6은 도1에 도시된 스마트 코딩블록에서 출력블록(300)에 출력내용을 설정하는 방법을 설명하기 위한 흐름도이다.
사용자는 입력블록(100)에서 설정한 바에 따라 특정 이벤트가 발생하였을 시 출력블록(300)이 어떻게 동작을 수행할 것인지 설정할 수 있다. 먼저 사용자는 출력블록(300)의 조작부C(320)를 통해 저장명령을 입력<S605>하고, 조작부C(320) 또는 센서부C(330)를 통해 출력내용을 입력<S610>하면, 제어부C(340)는 조작부C(320) 또는 센서부C(330)를 통해 입력되는 출력내용 자체를, 또는 출력내용에 대응하는 제어신호로 변환하여 메모리C(350)에 저장<S615>한다.
예컨대 출력부C(370)가 바퀴나 그립부를 동작시키는 모터일 경우, 센서부C(330)는 엔코더센서 일 수 있으며, 외력을 가하여 바퀴나 그립부를 동작시키면 모터가 회전하게 되고, 센서부C(330)는 모터의 회전수와 회전속도를 측정하고 그에 따른 기록용 센싱값을 출력하게 되며, 제어부C(340)는 센서부C(330)에서 측정되는 기록용 센싱값을 출력내용인 제어신호로 변환하여 메모리C(350)에 저장한다.
다른 예시로 출력부C(370)가 다양한 색상의 빛을 발광시키는 발광수단이라면, 센서부C(330)는 특정 색상의 빛을 인식하는 광센서일 수 있고, 제어부C(340)는 센서부C(330)에서 측정되는 특정 색상의 빛에 대응하여 발광수단을 제어하는 제어신호로 변환한 후 메모리C(350)에 저장한다.
또한 출력부C(370)가 음원을 출력하는 스피커라면, 센서부C(330)는 소리를 입력받는 마이크 등의 음압센서일 수 있고, 제어부C(340)는 센서부C(330)를 통해 인식되는 음성 정보를 메모리C(350)에 저장한다.
또, 출력부C(370)가 특정 영상을 출력하는 디스플레이라면 센서부C(330)는 디스플레이를 통해 출력할 영상을 촬영하는 카메라일 수 있고, 제어부C(340)는 센서부C(330)에서 촬영되는 영상정보를 메모리C(350)에 저장한다.
한편 출력부C(370)가 숫자를 표시하는 세븐세그먼트 등의 소자일 경우, 제어부C(340)는 조작부C(320)를 통해 입력되는 숫자, 또는 조작부C(320)가 눌러지는 횟수에 대응하여 세븐세그먼트를 제어하는 신호를 메모리C(350)에 저장한다.
도7은 도1에 도시된 스마트 코딩블록의 동작 과정을 설명하기 위한 흐름도이다. 즉 도5의 과정으로 입력블록(100)에 동작기준을 설정하고, 도6의 과정으로 출력블록(300)에 출력내용을 설정한 이후, 복수의 입력블록(100)과 출력블록(300), 그리고 논리블록(200)을 조합하여 창작품을 완성한 후, 기 설정한 동작기준에 따라 출력블록(300)이 동작하도록 하는 과정에 대한 것이다.
물론 동작기준과 출력내용의 설정을 마친 후 동작 재생을 위해서는 입력블록(100), 논리블록(200) 및 출력블록(300)의 조작부(130,220,320)를 통해 동작 재생이나 대기 상태 등의 명령을 입력함으로써 동작 재생이 이루어지도록 할 수 있다.
이후 입력블록(100)의 제어부A(140)는 센서부A(120)를 통해 측정되는 값을 확인<S705>한다. 즉 기준입력버튼A(131)가 비활성화된 상태에서 센서부A(120)를 통해 측정되는 값은 제어부A(140)에서 디지털 변환되고, 제어부A(140)는 센서부A(120)에서 측정되는 값이 메모리A(150)에 기 저장된 동작기준에 대응하는지 확인한다.
만약 제어부A(140)가 센서부A(120)에서 측정된 값이 동작기준에 부합하지 않는 것으로 확인<S710>하였다면, 스마트 코딩블록 전체에서 아무런 반응도 일어나지 않는다. 반면 센서부A(120)에서 측정된 값이 동작기준에 부합하는 것으로 제어부A(140)가 확인<S710>하였다면, 제어부A(140)는 출력부A(160)를 통해 인에이블 신호를 출력<S715>한다.
한편 입력블록(100)의 출력부A(160)는 논리블록(200)의 입력부B(240)와 물리적, 전기적으로 연결되어 있다. 따라서 출력부A(160)를 통해 인에이블 신호가 출력되면 논리블록(200)의 입력부B(240)로 논리 high 값이 입력된다. 더불어 논리블록(200)의 입력부B(240)는 복수개 마련되어 있고, 이에 대응하여 복수의 입력블록(100)이 논리블록(200)에 연결되어 있을 수 있다. 논리블록(200)은 각각의 입력부B(240)를 통해 입력되는 신호에 따라 논리설정수단B(262)에서 설정된 기준에 맞추어 연산수단B(263)에서 논리 연산을 수행하고, 출력제어수단B(265)는 출력부B(250)를 통해 논리 연산 결과를 출력<S720>한다.
또한 논리블록(200)의 출력부B(250)는 출력블록(300)의 입력부C(360)와 물리적, 전기적으로 연결되어 있다. 따라서 제어부C(340)는 입력부C(360)를 통해 입력되는 인에이블 신호(high)에 대응하여 메모리C(350)에 설정된 출력내용을 추출<S725>하고 출력부C(370)를 통해 출력내용이 출력<S730>되도록 한다.
도7을 통해 설명한 동작 재생 과정을 도8 및 도9에 도시된 스마트 코딩블록의 조립 예시를 통해 설명하면 다음과 같다.
도8은 도1에 도시된 스마트 코딩블록의 조립 예시를 설명하기 위한 개념도이다. 즉 논리블록(200)은 OR 게이트로 설정되어 있고, 논리블록(200)의 입력부B(240)에는 서로 다른 종류의 제1입력블록(100)과 제2입력블록(100')의 출력부A(160)가 연결되어 있다.
제1입력블록(100)은 센서부A(120)로 음압센서가 구비된 것이고, 제2입력블록(100')은 센서부A(120)로 광센서가 구비된 것이다.
또한 논리블록(200)의 출력부B(250)에는 출력부C(370)로써 그립부가 구비된 출력블록(300)의 입력부C(360)가 연결되어 있다.
도5의 과정을 통해 제1입력블록(100)의 메모리A(150)에 '잡아'라는 음성 형태의 동작기준이 저장되어 있고, 제2입력블록(100')의 메모리A(150)에는 파란색 빛에 대응하는 동작기준이 저장되어 있다고 가정하자. 또한 도6의 과정을 통해 출력블록(300)에는 그립부를 3초동안 움켜쥐었다가 펼치는 동작이 엔코더 센서를 통해 인식되어 그에 대응하여 변환된 제어신호가 메모리C(350)에 저장되어 있다고 가정하자.
이 경우 도8과 같이 입력블록(100,100')과 논리블록(200) 및 출력블록(300)이 연결되었을 경우, 제1입력블록(100)의 센서부A(120)를 통해 '잡아'라는 음성이 입력되거나, 또는 제2입력블록(100')의 센서부A(120)를 통해 파란색 빛이 입력된다면, 논리블록(200)의 출력부B(250)를 통해 인에이블 신호가 출력될 것이고, 출력블록(300)의 입력부C(360)를 통해 인에이블 신호가 입력되면, 제어부C(340)는 메모리C(350)에 저장된 제어신호를 출력부C(370)로 출력함으로써 그립부가 3초동안 움켜쥐는 동작을 하였다가 다시 펼쳐지는 동작을 수행하게 된다.
도9는 도1에 도시된 스마트 코딩블록의 다른 조립 예시를 설명하기 위한 개념도이다. 즉 논리블록(200)은 AND 게이트로 설정되어 있고, 논리블록(200)의 입력부B(240)에는 제1입력블록(100), 제2입력블록(100') 및 제2입력블록(100')이 각각 연결되어 있으며, 출력부B(250)에도 제1출력블록(300), 제2출력블록(300'), 제3출력블록(300'')이 각각 연결되어 있다.
제1입력블록(100)은 현관문이 열리는 소리를 인식하는 음압센서를 구비하고 있고, 제2입력블록(100')은 사람이 가까워지는 것을 감지하는 거리센서를 구비하고 있으며, 제3입력블록(100'')은 현관조명이 밝아지는 것을 감지하는 조도센서를 구비하고 있다고 가정하자. 물론 각각의 입력블록(100,100',100'')에는 도5의 과정을 통해 동작기준이 미리 설정된 상태이다.
또한 제1출력블록(300)은 생일축하곡을 출력할 수 있는 스피커를 구비하고 있고, 제2출력블록(300')은 다양한 색상의 빛을 발산시킬 수 있는 LED촛불을 구비하고 있으며, 제3출력블록(300'')은 영상을 출력할 수 있는 디스플레이를 구비하고 있다고 가정하자. 물론 각각의 출력블록(300,300',300'')에는 도6의 과정을 통해 출력내용이 미리 설정된 상태이다.
이 경우 생일을 맞은 사용자가 현관문을 열고 들어오면서 현관조명이 밝아지면, 입력블록(100,100',100'')에서 모두 인에이블 신호가 출력되고, 논리블록(200)의 AND 연산에 따라 출력부B(250)에서 모두 인에이블 신호가 출력됨으로써 제1출력블록(300)에서 메모리C(350)에 저장된 생일축하곡이 스피커를 통해 재생되고, 제2출력블록(300')에서 LED촛불이 다양한 색상으로 빛나게 되며, 제3블록의 메모리C(350)에 저장된 영상 정보가 디스플레이를 통해 출력될 수 있다.
만약 실내에서 사용자가 현관 근처에만 조용히 다가갔을 경우 제2입력블록(100')과 제3입력블록(100'')에서는 인에이블 신호가 출력되겠지만, 제1입력블록(100)에서는 소리를 감지할 수 없기 때문에, 출력블록(300,300',300'') 전체는 동작하지 않게 될 것이다.
이상에서 상세히 설명한 바와 같이 본 발명에 따른 스마트 코딩블록은 입력블록(100), 논리블록(200) 및 출력블록(300)들을 적절하게 결합하여 입력에 따른 출력의 흐름, 논리 연산 등의 알고리즘을 놀이의 과정으로 흥미롭게 학습할 수가 있다.
특히 각각의 블록들은 물리적, 전기적 결합이 동시에 이루어지는 커넥터를 통해 결합될 수 있기 때문에 블록 조립 과정만으로 신호 전송을 위한 연결 과정도 함께 이루어져 통신 설정 등의 복잡한 작업을 하지 않아도 된다.
또한 미리 설정된 동작기준을 반드시 입력해야 할 필요 없이 사용자가 동작기준을 스스로 다시 설정할 수가 있고, 출력블록(300)이 재현해야 하는 동작 역시 다양한 형태로 변형하여 저장해 놓을 수 있기 때문에, 적은 개수의 블록들만 구비하더라도 다양한 형태의 창작물을 만들어 흥미로운 코딩 학습을 지속할 수가 있다.
한편, 이상의 설명에서는 입력블록(100) 및 출력블록(300)에서 동작기준이나 출력내용을 설정할 시 하나의 동작기준이나 출력내용을 저장하는 과정에 대해서만 설명하였지만, 실시하기에 따라 메모리(150,350)에 복수의 동작기준이나 출력내용을 설정할 수도 있다.
예컨대 입력블록(100)이 특정 색상의 빛을 인지하는 광센서를 구비하고 있을 경우, 메모리A(150)에 첫 번째 입력 기준으로 붉은색 광을 저장하고, 두 번째 입력 기준으로 파란색 광을 저장할 수 있으며, 이 경우 제어부A(140)는 추후 센서부A(120)를 통해 붉은색 광이 측정되면 출력부A(160) 중 첫 번째 출력부A(160)에서만 인에이블 신호가 출력되도록 하고, 센서부A(120)를 통해 파란색 광이 측정되면 출력부A(160) 중 두 번째 출력부A(160)에서만 인에이블 신호가 출력되도록 하는 것이다.
같은 방식으로 출력블록(300)이 바퀴를 구동시키는 모터를 구비하고 있을 경우, 메모리C(350)에는 첫 번째 출력내용으로 3초가 전진 회전 동작이 저장되고, 두 번째 출력내용으로 5초간 후진 회전 동작이 저장될 수 있으며, 이 경우 제어부C(340)는 입력부C(360) 중 첫 번째 입력부C(360)를 통해 인에이블 신호가 입력되면 첫 번째 출력내용인 3초가 전진 회전 동작이 이루어지도록 출력부C(370)를 제어하고, 입력부C(360) 중 두 번째 입력부C(360)를 통해 인에이블 신호가 입력되면 두 번째 출력내용인 5초간 후진 회전 동작이 이루어지도록 출력부C(370)를 제어하는 것이다.
한편, 이상에서 설명한 입력블록(100)은 본체A(110)의 외부에 노출된 커넥터 형태의 출력부A(160)를 통해 논리블록(200)이나 출력블록(300)에 인에이블 신호를 출력해 줄 수 있다고 하였다. 따라서 특정 입력블록(100)에서 출력되는 인에이블 신호는 해당 입력블록(100)의 출력부A(160)에 연결된 논리블록(200)이나 출력블록(300)에서만 취득할 수 있다. 하지만 버스선 통신 방식을 적용하면 각 블록들이 직접 연결되지 않더라도, 그리고 반드시 순서적으로 연결되지 않더라도 미리 연동된 블록들 간 신호를 송수신하고 동작이 이루어지도록 할 수 있다.
도10은 본 발명의 다른 실시예에 따른 스마트 코딩블록을 설명하기 위한 도면이다. 즉 도10에서는 입력블록(100), 출력블록(300) 및 무선블록(400)이 서로 연결되어 있다.
입력블록(100)은 본체A(110), 센서부A(120), 조작부A(130), 제어부A(140), 메모리A(150), 연결부A(170) 및 버스선A(190)를 포함한다. 도2에 도시된 입력블록(100)에서는 제어부A(140)가 커넥터 형태로 제작된 출력부A(160)를 통해 인에이블 신호를 출력 처리할 수 있다고 설명하였다. 하지만 도10에 도시된 입력블록(100)은 본체A(110)의 외부에 커넥터 형태의 연결부A(170)가 복수개 마련되어 있고, 각 연결부A(170)는 버스선A(190)로 연결되어 있다. 또한 제어부A(140)는 버스선A(190)와 연결되어 있다. 따라서 제어부A(140)에서 인에이블 신호가 출력되면 해당 입력블록(100)의 고유아이디와 함께 버스선A(190)에 실리게 된다. 한편 입력블록(100)의 나머지 구성은 도2에서 설명한 동일 명칭의 구성 설명으로 대체하도록 한다.
출력블록(300)은 본체C(310), 조작부C(320), 센서부C(330), 제어부C(340), 메모리C(350), 출력부C(370), 연결부C(380) 및 버스선C(390)를 포함한다. 도4에 도시된 출력블록(300)에서는 제어부C(340)가 커넥터 형태로 제작된 입력부A를 통해 인에이블 신호를 입력받을 수 있다고 설명하였다. 하지만 도10에 도시된 출력블록(300)은 본체C(310)의 외부에 커넥터 형태의 연결부C(380)가 복수개 마련되어 있고, 각 연결부C(380)는 버스선C(390)로 연결되어 있다. 또한 제어부C(340)는 버스선C(390)와 연결되어 있다. 따라서 버스선C(390) 상에 인에이블 신호가 실려 있다면 제어부C(340)가 인에이블 신호를 취득한 후 고유아이디를 확인하여 출력부C(370)의 동작 제어 여부를 결정한 후 동작을 수행시킬 수 있다. 한편 출력블록(300)의 나머지 구성은 도4에서 설명한 동일 명칭의 구성 설명으로 대체하도록 한다.
무선블록(400)은 물리적으로 연결되지 않은 다른 코딩블록, 또는 코딩블록이 아닌 IoT 디바이스와 통신 채널을 연결하고 정보를 송수신할 수 있도록 지원하는 블록이다. 이러한 무선블록(400)은 본체D(410), 연결부D(420), 제어부D(430), 통신처리부D(440) 및 버스선D(490)를 포함한다.
본체D(410)는 무선블록(400)의 외관을 형성하며 다른 입력블록(100)이나 출력블록(300)과 어우러지는 형태로 제작된다.
연결부D(420)는 본체D(410)의 외부에 노출된 상태로 입력블록(100)이나 출력블록(300)의 연결부(170,380)와 물리적, 전기적으로 결합 가능한 커넥터 형태로 제작된다. 이러한 연결부D(420) 역시 복수개 구비되며 각각의 연결부D(420)는 버스선D(490)로 연결되어 있다.
제어부D(430)는 통신처리부D(440)를 통해 외부 IoT 디바이스나 물리적으로 연결되지 않은 코딩블록 측으로부터 무선 신호를 수신하였을 시, 수신된 신호를 분석하여 버스선D(490)에 인에이블 신호를 실어 보내거나, 또는 버스선D(490)에 실린 인에이블 신호를 수신한 후 통신처리부D(440)를 통해 외부로 무선 신호를 송출하기 위해 마련된다.
통신처리부D(440)는 제어부D(430)와 연계하여 외부로부터 무선 신호를 수신하거나, 외부 기기로 무선 신호를 송출하기 위해 마련된다.
도10에 도시된 코딩블록의 동작 과정을 설명하면 다음과 같다.
먼저 사용자는 입력블록(100)에 동작기준을 설정하고, 출력블록(300)에 출력내용을 설정한다. 동작기준 설정 및 출력내용 설정 과정은 도5 및 6을 통해 설명한 바 있다. 이후 사용자는 동작기준이 설정된 입력블록(100)과 출력내용이 설정된 출력블록(300)을 연결하고, 추가로 무선블록(400)을 연결한다.
도10에 도시된 예시에서 각 블록(100,300,400)에 마련된 연결부(170,380,420)는 입출력이 따로 구분되지는 않기 때문에 복수의 연결부(170,380,420)이 마련되어 있더라도 순서에 상관 없이 결합만 시키면 된다. 각각의 블록(100,300,400)들이 연결부(170,380,420)를 통해 연결되면 물리적 연결과 함께 전기적 연결도 함께 이루어진다. 즉 각각의 버스선(190,390,490)들이 모두 전기적으로 연결됨으로써 하나의 버스선을 이루게 되는 것이다.
한편, 각각의 블록(100,300,400)들의 연결부(170,380,420)들이 서로 연결되면 각각의 제어부(140,340,430)들은 서로간의 고유아이디를 교환하여 미리 정해진 통신 규약에 따라 신호를 송수신할 준비를 마친다. 즉 블록(100,300,400)들 마다 통신 채널을 연결하기 위한 수작업이 필요 없으며, 연결부(170,380,420)의 연결만으로 고유아이디를 교환함으로써 신호를 송수신할 준비가 자동으로 이루어지는 것이다.
이 상태에서 입력블록(100)의 제어부A(140)는 센서부A(120)를 통해 측정되는 값을 확인하여 메모리A(150)에 기 저장된 동작기준과 비교한다. 만약 센서부A(120)를 통해 현재 측정되는 물리값이 메모리A(150)에 기 저장된 동작기준과 일치(또는 범위 이내)한다면, 제어부A(140)는 자신의 고유아이디와 함께 인에이블 신호를 버스선A(190)에 실어 보낸다. 버스선A(190)에 실어진 인에이블 신호는 이에 연결된 버스선C(390) 및 버스선D(490)에도 전달된다.
출력블록(300)의 제어부C(340)는 버스선C(390)에 올려진 인에이블 신호를 취득하며, 해당 인에이블 신호를 발신한 입력블록(100)의 고유아이디를 확인한다. 고유아이디를 확인한 결과 미리 연동된 입력블록(100)임이 확인된다면, 제어부C(340)는 인에이블 신호의 입력에 따라 메모리C(350)에 저장된 출력내용을 출력부C(370)를 통해 출력시킨다.
또한 무선블록(400)의 제어부D(430)는 버스선D(490)에 올려진 인에이블 신호를 취득하며, 해당 인에이블 신호를 발신한 입력블록(100)의 고유아이디를 확인하고, 미리 연동된 입력블록(100)임이 확인되면, 제어부D(430)는 통신처리부D(440)를 통해 미리 정해진 형태의 무선 신호를 외부의 IoT 디바이스로 송출하거나 타 코딩블록의 무선블록(400)으로 송출한다.
도11은 도10에 도시된 입력블록(100)과 출력블록(300)들 복수개를 연결한 다른 예시를 도시한 것이다. 즉 센서부A(120)로써 마이크 등의 음압센서가 구비된 제1입력블록(100)과, 출력부C(370)로써 스피커가 구비된 제1출력블록(300)과, 센서부A(120)로써 조도센서가 구비된 제2입력블록(100')과, 센서부A(120)로써 거리센서가 구비된 제3입력블록(100'')과, 출력부C(370)로써 디스플레이가 구비된 제2출력블록(300')이 커넥터 형태의 연결부(170, 380)로 서로 연결된 것이다.
각각의 입력블록(100,100',100'') 및 출력블록(300,300')들은 미리 동작기준과 출력내용이 설정된 상태이고, 연결부(170,380)의 연결에 따라 고유아이디를 교환함으로써 신호 송수신 준비도 마친 상태이다.
이 상태에서 제1입력블록(100)의 센서부A(120)를 통해 미리 저장된 동작기준에 대응하는 소리가 인식된다면 전체 버스선에 제1입력블록(100)의 인에이블 신호가 실리게 된다. 이에 따라 제1출력블록(300)에서 스피커를 통해 정해진 음원이 출력되고, 제2출력블록(300')의 디스플레이를 통해 정해진 영상 정보가 출력될 수 있다.
만약 제1출력블록(300)은 제1입력블록(100)의 인에이블 신호에만 동작하도록 미리 설정될 수도 있고, 제2출력블록(300')은 제2입력블록(100')과 제3입력블록(100'')의 인에이블 신호에만 동작하도록 설정될 수도 있다. 이 경우 각각의 출력블록(300,300')의 제어부C(340)는 버스선에 실린 인에이블 신호와 함께 해당 인에이블 신호를 보낸 입력블록(100,100',100'')의 고유아이디를 확인한 후 미리 연동된 입력블록(100)의 고유아이디인지를 확인한 후 출력부C(370)의 동작을 결정할 수 있다. 즉 제1입력블록(100)에서 인에이블 신호가 발생하였다면 제1출력블록(300)에서만 출력내용이 출력되고 제2출력블록(300')은 반응하지 않는 것이다. 반면 제2입력블록(100')에서 인에이블 신호가 발생하였다면 제1출력블록(300)은 대기상태를 유지하고 제2출력블록(300')에서만 출력내용이 출력되는 것이다.
도12는 본 발명의 다른 실시예에 따른 스마트 코딩블록을 설명하기 위한 도면이다. 도12에서는 입력블록(100) 2개와 출력블록(300) 2개가 연결되어 있고, 추가로 AI블록(500)이 연결된 상태를 도시하였다. 입력블록(100,100') 및 출력블록(300,300')은 도10을 통해 설명한 내용으로 대신하며, AI블록(500)을 먼저 설명하면 다음과 같다.
AI블록(500)은 본체E(510), 연결부E(520), 제어부E(530), 메모리E(540) 및 버스선E(590)를 포함한다.
본체E(510)는 AI블록(500)의 외관을 형성하며 다른 구성들을 보호하기 위해 마련된다. 연결부E(520)는 본체E(510) 외부에서 다른 블록들과 연결되는 커넥터 형태로 제작된다. 또한 연결부E(520)는 복수개 마련되어 있을 수 있으며 각 연결부E(520)는 버스선E(590)로 연결되어 있다.
제어부E(530)는 출력블록(300)에서 출력내용이 출력될 시, 출력내용을 분석하여 사용자가 어떠한 동작을 수행하고자 하는 것인지 판단하며, 필요시 메모리E(540)에 저장된 모범적인 표준 데이터나 표준 데이터를 제어 신호로 컨버팅한 재생 신호를 추출하여 출력블록(300) 측으로 전송처리 하기 위해 마련된다.
메모리E(540)는 출력블록(300)으로 보내어질 모범직인 표준 데이터를 저장하기 위해 마련된다.
AI블록(500)은 출력블록(300)의 동작을 지원하기 위한 보조 블록이다. 예컨대 출력블록(300)이 물건을 파지하고 이동시킨 후 놓아주는 그립부를 출력부C(370)로 갖는 블록일 경우, 사용자가 어설픈 동작을 입력시키면, 그 내용이 그대로 메모리C(350)에 저장되었다가 재생되기 때문에, 재생 동작 역시 어설프게 된다. 하지만 AI블록(500)의 제어부E(530)에서 인공 신경망(ANN, Artificial Neural Network, 인공 신경망 또는 신경망)을 이용하여 사용자가 입력한 입력 데이터(센서부C(330)에서 취득한 기록용 센싱값)를 분석하면, 사용자가 어설프게 동작을 입력하였더라도 정확하게 어떠한 동작을 원하는지 파악할 수 있다.
즉 인공 신경망을 이용하여 사용자가 입력한 입력 데이터(어설프게 입력한 출력내용을 말함)를 분석하기 위해 사전에 충분하게 학습을 마치고 산출된 모범적인 표준 데이터가 메모리E(540)에 저장되어 있는 상태이다.
이후 그립부를 출력부C(370)로 갖는 제2출력블록(300')이 AI블록(500)과 연결되면, 서로 간의 고유아이디를 교환하여 통신 준비를 마치게 된다.
이 상태에서 제2출력블록(300')과 연동되는 제1입력블록(100) 또는 제2입력블록(100')에서 동작기준에 대응하는 환경 변화가 측정되어 인에이블 신호가 출력되면, 버스선에 올려진 인에이블 신호를 제2출력블록(300')의 제어부C(340)에서 취득한 후 메모리C(350)에 저장된 출력내용을 추출하여 출력부C(370)를 동작시키게 된다. 물론 AI블록(500)이 연결되지 않았다면 제2출력블록(300')의 제어부C(340)는 추출된 출력내용을 이용하여 출력부C(370)를 즉시 작동시킬 것이다. 하지만 제2출력블록(300')의 제어부C(340)는 AI블록(500)이 버스선 상에 연결되었음을 미리 확인하였기 때문에 추출된 출력내용을 이용하여 바로 출력부C(370)를 동작시키지 아니하고, 출력내용을 버스선C(390)에 실어 보낸다.
이후 AI블록(500)의 제어부E(530)는 버스선E(590)에 실어진 제2출력블록(300')의 고유아이디를 갖는 출력내용을 취득하게 된다. 이후 제어부E(530)는 출력내용을 2차원 그래프 형태로 이미지화하고, 이미지화 된 그래프를 CNN 기법을 이용하여 분석함으로써, 해당 출력내용이 메모리E(540)에 저장된 표준 데이터 중 어떠한 동작을 수행하기 위한 것인지 판단한다. 즉 기존에 미리 학습한 결과에 따라 해당 이미지 패턴이 메모리E(540)에 저장된 표준 데이터 중 어떠한 동작에 해당하는 것인지 파악하는 것이다.
이후 제어부E(530)는 분석 결과에 따라 메모리E(540)에서 모범적인 표준 데이터를 추출하여 AI블록(500)의 고유아이디와 함께 버스선E(590)에 실어 보낸다. 이에 따라 제2출력블록(300')의 제어부C(340)는 버스선C(390)에 실어진 모범적인 표준 데이터를 취득하고, 모범적인 표준 데이터를 이용하여 그립부인 출력부C(370)를 동작시킨다.
즉 사용자가 제2출력블록(300')을 통해 출력내용을 어설프게 입력하였다 하더라도, AI블록(500)을 이용하여 출력내용을 분석한 후 올바르게 작동할 수 있는 표준 데이터로 최종 동작이 이루어지도록 할 수 있는 것이다.
이상 도10 내지 도12를 통해 설명한 바와 같이 각 블록(100,300,400,500)들이 연결부(170,380,420,520)를 통해 물리적인 연결과 전기적인 연결이 이루어지면, 버스선 통신 방식으로 통신 채널이 연결되고, 각 블록들의 고유아이디를 통해 미리 연동된 블록들 간의 통신이 가능함으로써, 별도의 통신 설정 과정 없이 블록들 간의 연결만으로 코딩이 완료될 수 있고, 무선블록(400)이나 AI블록(500)들을 이용하여 창작 범위를 더욱 확장시킬 수가 있다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면, 본 발명의 사상과 범위 안에서 다양한 수정, 변경 및 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 본 발명의 특허청구 범위에 속하는 것으로 보아야 할 것이다.
100,100',100'' : 입력블록
110 : 본체A
120 : 센서부A
130 : 조작부A
131 : 기준입력버튼A
132 : 동작설정버튼A
140 : 제어부A
150 : 메모리A
160 : 출력부A
170 : 연결부A
190 : 버스선A
200 : 논리블록
210 : 본체B
220 : 조작부B
221 : 논리선택버튼B
222 : 출력반전버튼B
230 : 표시부B
240 : 입력부B
250 : 출력부B
260 : 제어부B
261 : 표시부제어수단B
262 : 논리설정수단B
263 : 연산수단B
264 : 입력제어수단B
265 : 출력제어수단B
300,300',300'' : 출력블록
310 : 본체C
320 : 조작부C
330 : 센서부C
340 : 제어부C
350 : 메모리C
360 : 입력부C
370 : 출력부C
380 : 연결부C
390 : 버스선C
400 : 무선블록
410 : 본체D
420 : 연결부D
430 : 제어부D
440 : 통신처리부D
490 : 버스선D
500 : AI블록
510 : 본체E
520 : 연결부E
530 : 제어부E
540 : 메모리E
590 : 버스선E

Claims (4)

  1. 측정된 값을 동작기준과 비교하여 인에이블 신호를 출력하는 입력블록;
    상기 입력블록과 결합되며, 상기 입력블록으로부터 인에이블 신호가 입력되면 기 저장된 출력내용을 출력하여 특정 동작을 수행하는 출력블록; 및
    상기 출력블록에서 출력내용이 출력될 시, 출력내용을 분석한 후 모범적인 표준 데이터를 추출하여 상기 출력블록 측으로 전송하는 AI블록;을 포함하되,
    상기 입력블록의 동작기준과 상기 출력블록의 출력내용이 사용자의 의지에 따라 재설정 가능하고,
    상기 입력블록, 출력블록 및 AI블록은 버스선 통신 방식으로 통신 채널이 연결되며,
    상기 입력블록은,
    환경변화에 따른 물리값을 측정하는 센서부A;
    동작기준 설정을 위한 명령을 입력하는 기준입력버튼A;
    동작기준을 저장하는 메모리A;
    커넥터 형태의 연결부A;
    상기 연결부A와 연결되어 있는 버스선A; 및
    상기 기준입력버튼A가 활성화 되었을 경우 상기 센서부A를 통해 측정된 값을 상기 메모리A에 동작기준으로 저장하고, 상기 기준입력버튼A가 비활성화 되었을 경우 상기 센서부A를 통해 측정된 값을 상기 메모리A에 저장된 동작기준과 비교하여 상기 버스선A에 인에이블 신호가 실리도록 하는 제어부A;를 포함하며,
    상기 출력블록은,
    저장명령을 입력받는 조작부C;
    출력내용을 입력받는 센서부C;
    상기 센서부C를 통해 입력된 출력내용을 저장하는 메모리C;
    커넥터 형태의 연결부C;
    상기 연결부C와 연결되어 있는 버스선C;
    상기 출력내용을 출력하는 출력부C; 및
    상기 조작부C를 통해 저장명령이 입력되면 상기 센서부C를 통해 입력되는 출력내용을 상기 메모리C에 저장하고, 상기 버스선C 상에 인에이블 신호가 실려 있다면 상기 메모리C에 저장된 출력내용을 상기 출력부C를 통해 출력되도록 제어하되, 상기 AI블록이 연결된 것이 확인되면 출력내용을 상기 버스선C에 실리도록 하는 제어부C;를 포함하고,
    상기 AI블록은,
    커넥터 형태의 연결부E;
    상기 연결부E와 연결되어 있는 버스선E;
    모범적인 표준 데이터를 저장하는 메모리E; 및
    상기 버스선E에 실어진 출력내용을 분석하여 상기 메모리E에 저장된 표준 데이터를 추출하여 상기 버스선E에 실어보내는 제어부E;를 포함함으로써,
    상기 출력블록의 제어부C가 상기 버스선C에 실어진 표준 데이터를 이용하여 상기출력부C를 동작시킬 수 있도록 하는 것을 특징으로 하는 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    물리적으로 연결되지 않은 다른 코딩블록이나 IoT 디바이스와 정보를 송수신할 수 있도록 하는 무선블록;을 더 포함하고,
    상기 무선블록은,
    커넥터 형태의 연결부D;
    상기 연결부D와 연결되어 있는 버스선D;
    무선 신호를 수신하거나 송출하는 통신처리부D; 및
    상기 통신처리부D를 통해 외부로부터 무선 신호를 수신하여 상기 버스선D에 실어 보내거나, 상기 버스선D에 실린 인에이블 신호를 수신하여 상기 통신처리부D를 통해 외부로 무선 신호를 송출하도록 제어하는 제어부D;를 포함하는 것을 특징으로 하는 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록.
KR1020190075497A 2019-06-25 2019-06-25 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록 KR102296385B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190075497A KR102296385B1 (ko) 2019-06-25 2019-06-25 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190075497A KR102296385B1 (ko) 2019-06-25 2019-06-25 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록

Publications (2)

Publication Number Publication Date
KR20210000771A KR20210000771A (ko) 2021-01-06
KR102296385B1 true KR102296385B1 (ko) 2021-09-01

Family

ID=74127853

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190075497A KR102296385B1 (ko) 2019-06-25 2019-06-25 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록

Country Status (1)

Country Link
KR (1) KR102296385B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102488992B1 (ko) * 2021-01-12 2023-01-17 주식회사 크리모 기어와 블록을 이용한 학습 또는 놀이용 교구

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101916182B1 (ko) 2017-06-30 2018-11-08 김종태 논리블록

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101464373B1 (ko) * 2014-04-22 2014-12-04 김종태 물리값 입력을 통해 동작 기준을 설정할 수 있는 센서모듈 및 그 센서모듈의 제어 방법
KR101483017B1 (ko) * 2014-06-26 2015-01-16 주식회사 헬로긱스 프로그래밍 가능한 결합형 블록장치
KR20180130934A (ko) * 2017-05-30 2018-12-10 (주) 나인원 소프트웨어 코딩 교육이 가능한 무선 통신 기반 스마트 코딩 블록 세트
KR101948558B1 (ko) * 2017-09-28 2019-02-18 김종태 손으로 조작하여 프로그래밍 가능한 모듈러 로봇

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101916182B1 (ko) 2017-06-30 2018-11-08 김종태 논리블록

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
등록특허공보 제10-1464373호(2014.12.4. 공고) 1부.*
등록특허공보 제10-1483017호(2015.1.16. 공고) 1부.*
등록특허공보 제10-1948558호(2019.2.18. 공고) 1부.*

Also Published As

Publication number Publication date
KR20210000771A (ko) 2021-01-06

Similar Documents

Publication Publication Date Title
US11529567B2 (en) Robot having a changeable character
DK2918320T3 (en) Toy construction system
US20180081456A1 (en) Multipurpose stylus with exchangeable modules
US20070173974A1 (en) Device and method for interacting with autonomous robot
KR100576171B1 (ko) 모듈형 로봇 장치, 시스템 및 그 제어 방법
US11616844B2 (en) Modular electronic and digital building systems and methods of using the same
KR102296385B1 (ko) 동작기준 및 출력내용 설정이 가능한 스마트 코딩블록
KR101026738B1 (ko) 전자판서 기능을 갖는 멀티미디어 터치 제어 시스템
TWI638264B (zh) 應用於智慧型機器人的開機系統及其開機方法
US6940493B2 (en) Socializing remote communication
KR102391628B1 (ko) 증강현실과 연계 동작 가능한 스마트 코딩블록 시스템
KR101987377B1 (ko) 콘텐츠 스트리밍 서비스 제공 시스템
KR101988835B1 (ko) 움직임 가능한 큐브형 마우스
WO2020166373A1 (ja) 情報処理装置および情報処理方法
US9131107B2 (en) Telepresence device communication and control system
KR101209012B1 (ko) 캐릭터 로봇을 이용한 교육용 연극 인터페이스 장치
JPH1115405A (ja) 画面インタフェース型制御装置
US20200166990A1 (en) Device and methodology for the interaction through gestures and movements of human limbs and fingers
KR102097164B1 (ko) 프로그래밍 가능한 모션블록의 지원장치
KR20140093553A (ko) 오디오와 비디오의 동시 재생 기능을 갖는 학습용 펜
KR102479950B1 (ko) Ar을 통한 모듈 조립이 가능한 코딩 교육용 시스템
KR102073698B1 (ko) 영상표시장치의 광신호를 이용한 외부기기 동작 제어방법
CN112569616A (zh) 一种具有智能逻辑控制的幼儿磁吸积木
KR200283626Y1 (ko) 의학용 터치부위 음성정보 습득장치
KR20000017545U (ko) 다기능 리모컨의 시간 표시장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant