KR102251102B1 - 프로그램의 가상 구현 장치 - Google Patents

프로그램의 가상 구현 장치 Download PDF

Info

Publication number
KR102251102B1
KR102251102B1 KR1020190112225A KR20190112225A KR102251102B1 KR 102251102 B1 KR102251102 B1 KR 102251102B1 KR 1020190112225 A KR1020190112225 A KR 1020190112225A KR 20190112225 A KR20190112225 A KR 20190112225A KR 102251102 B1 KR102251102 B1 KR 102251102B1
Authority
KR
South Korea
Prior art keywords
virtual
program
user
board
electronic component
Prior art date
Application number
KR1020190112225A
Other languages
English (en)
Other versions
KR20210030723A (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 KR1020190112225A priority Critical patent/KR102251102B1/ko
Publication of KR20210030723A publication Critical patent/KR20210030723A/ko
Application granted granted Critical
Publication of KR102251102B1 publication Critical patent/KR102251102B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 프로그램의 가상 구현 장치에 관한 것으로, 보다 구체적으로 가상 보드와 가상 전자부품을 이용하여 사용자가 코딩한 프로그램을 가상으로 구현하도록 동작함으로써 사용자가 작성한 프로그램에 따라 다양한 전자부품의 동작과 기능을 실습할 수 있으며, 배경화면별로 객체를 제어하기 위한 프로그램을 사용자가 직접 코딩하고 프로그램에 따라 가상 보드와 가상 전자부품을 이용하여 장비를 가상 제작함으로써 배경화면에서 디스플레이되는 가상 전자부품의 구동 상태에 기초하여 프로그램이 사용자의 의도와 같이 정확하게 작성되었는지 실시간으로 확인할 수 있으며 가상 보드와 가상 전자부품의 수정이나 변경 또는 프로그램의 수정이나 변경을 용이하게 수행할 수 있는 프로그램의 가상 구현 장치에 관한 것이다.

Description

프로그램의 가상 구현 장치{Apparatus for simulating program using imaginary board and electronic components}
본 발명은 프로그램의 가상 구현 장치에 관한 것으로, 보다 구체적으로 가상 보드와 가상 전자부품을 이용하여 사용자가 코딩한 프로그램을 가상으로 구현하도록 동작함으로써 사용자가 작성한 프로그램에 따라 다양한 전자부품의 동작과 기능을 실습할 수 있으며, 배경화면별로 객체를 제어하기 위한 프로그램을 사용자가 직접 코딩하고 프로그램에 따라 가상 보드와 가상 전자부품을 이용하여 장비를 가상 제작함으로써 배경화면에서 디스플레이되는 가상 전자부품의 구동 상태에 기초하여 프로그램이 사용자의 의도와 같이 정확하게 작성되었는지 실시간으로 확인할 수 있으며 가상 보드와 가상 전자부품의 수정이나 변경 또는 프로그램의 수정이나 변경을 용이하게 수행할 수 있는 프로그램의 가상 구현 장치에 관한 것이다.
일반적으로, 전자회로를 제작하기 위해서는 테스트기, 오실로스코프 등과 같은 측정기기와 납땜기, 땜납, 전선, 니퍼, 기판, 땜납 흡입기 등과 같은 전자재료 및 제작기구 그리고 저항, 콘덴서, 트랜지스터, 반도체IC(Intergrated Circuit), 다이오드, 센서 등과 같은 전자소자 및 모터, 스위치, 스피커, 변압기, 축전기, LED(Lighted Emitted Diode) 디스플레이 등과 같은 전자기기 등이 구비되어야 한다.
그러나 초보자가 다양한 기자재들을 구비하기에는 비용적인 측면에서도 부담이 되고, 무엇보다도 전자회로에 대한 지식이 부족하여 구비해야할 대상을 선정하는 것조차도 어려운 실정이다.
이에 따라, 회로도와 단순한 설명서, 전자소자, 전자재료, 전자기기 및 기타 구성품들을 동봉하여 구성되는 전자회로 학습키트가 교육자재로서 사용되고 있다. 전자회로 학습키트는 주로 초·중·고생들을 대상으로 하여 실습을 통한 전자회로의 이해를 도모하도록 한 것이다. 이러한 전자회로 학습키트 구성품들은 하나의 기능을 수행하는 전자회로의 제작에 소모되나 제작 후 재생되어 다른 기능의 전자회로를 구성하도록 응용학습을 유도하는 기능은 가지고 있지 못하다.
최근에는 아두이노(arduino)가 개발되어 사용되고 있는데, 아두이노는 다양한 센서나 부품을 연결할 수 있고 입출력, 중앙처리장치가 포함되어 있는 보드(board)이다. 아두이노는 다양한 스위치나 센서로부터 입력 값을 받아들여 LED나 모터와 같은 전자 부품들로 출력을 제어함으로써 환경과 상호작용이 가능한 물건을 만들어 낼 수 있다. 예를 들어 단순한 로봇, 온습도계, 동작 감지기, 음악 및 사운드 장치, 스마트 홈 구현, 유아 장난감 및 로봇 교육 프로그램 등의 다양한 제품들이 아두이노를 기반으로 개발 가능하다. 또한 아두이노는 회로가 오픈소스로 공개되어 있으므로 누구나 직접 보드를 만들고 수정할 수 있다.
실제로 어떠한 전자제품을 만들 때 먼저 아두이노와 브레드보드(breadboard)를 이용하여 시험(test)을 하는 것이 일반적이다. 구체적으로, 아두이노 또는 개발 모듈의 동작 테스트를 위해 사용자는 브레드보드에 회로를 만들고 아두이노 커넥터의 핀 헤더에 적절히 배선한 뒤에 프로그램을 넣고 동작을 시험하게 된다.
그러나 이러한 장비를 이용하여 프로그램 코딩 교육이나 전자부품의 교육시, 프로그램 코딩에 익숙하지 않은 사용자의 경우 작성한 프로그램이 의도대로 정확하게 작성되었는지 아니면 전자부품이 정확하게 배치되었는지 실시간으로 확인하는 것이 곤란하다.
더욱이 전자부품에 익숙하지 않은 어린이 또는 유아를 교육시 전자부품을 다루는 과정에서 또는 전자부품의 잘못된 사용으로 신체에 손상을 입거나 전자부품이 파손되는 경우도 발생하게 된다.
본 발명은 위에서 언급한 종래 전자부품의 교육 장치가 가지는 문제점을 해결하기 위한 것으로, 본 발명이 이루고자 하는 목적은 가상 보드와 가상 전자부품을 이용하여 사용자가 코딩한 프로그램을 구현할 수 있는 프로그램 가상 구현 장치를 제공하는 것이다.
본 발명이 이루고자 하는 다른 목적은 배경화면별로 객체를 제어하기 위한 프로그램을 사용자가 직접 코딩하고 가상 보드와 가상 보드에 배치되는 가상 전자부품을 이용하여 배경화면에서 프로그램이 사용자의 의도와 같이 정확하게 작성되었는지 실시간으로 확인할 수 있는 프로그램 가상 구현 장치를 제공하는 것이다.
본 발명이 이루고자 하는 또 다른 목적은 가상 보드와 가상 전자부품을 이용하여 실제 보드 또는 전자부품을 사용하지 않고도 보드 또는 전자부품의 용도와 사용방식을 안전하고 용이하게 교육할 수 있는 프로그램 가상 구현 장치를 제공하는 것이다.
본 발명이 이루고자 하는 또 다른 목적은 배경화면별로 사용자가 제어 가능한 객체에 사용자가 원하는 전자부품을 취사 선택하거나 전자부품의 제어 조건을 변경하여 배경화면별로 사용자의 상상력을 발휘하며 프로그램을 코딩할 수 있는 프로그램 가상 구현 장치를 제공하는 것이다.
본 발명의 목적을 달성하기 위하여 본 발명에 따른 프로그램 가상 구현 장치는 사용자 명령에 따라 저장부에 등록되어 있는 가상 전자부품 중 선택된 가상 전자부품을 가상 보드에 배치하는 가상 하드웨어 모듈과, 가상 보드에 배치된 가상 전자부품의 동작을 제어하기 위한 프로그램을 생성하는 코딩 모듈과, 가상 전자부품에 매핑된 객체가 디스플레이되는 가상의 무대 배경화면에서 가상 하드웨어 모듈의 제어 신호에 따라 객체를 동작시키는 무대동작 엔진 모듈을 포함하며, 가상 하드웨어 모듈은 입력되는 제어 명령과 생성한 프로그램에 따라 객체를 제어하기 위한 제어 신호를 생성하는 것을 특징으로 한다.
바람직하게, 본 발명에 따른 가상 하드웨어 모듈은 가상 보드와 다수의 가상 전자부품을 저장하고 있는 저장부와, 다수의 가상 전자부품 중 선택된 가장 전자부품을 사용자 명령에 따라 가상 보드의 핀 식별자와 서로 매핑하여 배치하는 하드웨어 구성부와, 입력되는 제어 명령과 프로그램에 따라 객체를 제어하기 위한 제어 신호를 생성하는 제어부를 포함하는 것을 특징으로 한다.
여기서 제어부는 가상 보드의 각 핀에 배치되는 가상 전자부품이 선택되는 경우, 각 핀에 배치되는 가상 전자부품의 식별자를 매핑하여 사용자에 디스플레이하는 것을 특징으로 한다.
여기서 제어부는 가상 보드의 핀 식별자가 선택되는 경우, 선택한 핀 식별자에 매핑되어 배치되어 있는 가상 전자부품의 아이콘을 사용자에 디스플레이하는 것을 특징으로 하는 한다.
여기서 무대 배경화면에서 동작하는 객체는 조작 객체, 자동 객체 또는 제어 객체 중 어느 하나인 것을 특징으로 한다.
한편, 본 발명에 따른 무대동작 엔진 모듈은 가상 하드웨어 모듈의 제어 신호에 따라 가상의 무대 배경화면에 디스플레이되는 조작 객체, 자동 객체 또는 제어 객체 중 어느 하나를 동작시키는 것을 특징으로 한다.
여기서 코딩 모듈은 사용자 명령에 따라 코드 문자로 프로그램을 편집하거나 코드 블록으로 프로그램을 편집하는 것을 특징으로 한다.
바람직하게, 본 발명에 따른 코딩 모듈은 사용자 명령에 따라 코드 블록으로 프로그램을 편집하도록 선택되는 경우 구조 코드 블록과 기능 코드 블록을 사용자에 디스플레이하며, 디스플레이된 구조 코드 블록과 기능 코드 블록 중 사용자에 의해 선택된 구조 코드 블록과 기능 코드 블록의 조합으로부터 프로그램을 편집하는 것을 특징으로 한다.
본 발명에 따른 프로그램 가상 구현 장치는 다음과 같은 효과를 가진다.
첫째, 본 발명에 따른 프로그램 가상 구현 장치는 가상 보드와 가상 전자부품을 이용하여 사용자가 코딩한 프로그램을 가상으로 구현하도록 동작함으로써, 사용자가 작성한 프로그램에 따라 다양한 전자부품의 동작과 기능을 실습할 수 있다.
둘째, 본 발명에 따른 프로그램 가상 구현 장치는 배경화면별로 객체를 제어하기 위한 프로그램을 사용자가 직접 코딩하고 프로그램에 따라 가상 보드와 가상 전자부품을 이용하여 장비를 가상 제작함으로써, 배경화면에서 디스플레이되는 가상 전자부품의 구동 상태에 기초하여 프로그램이 사용자의 의도와 같이 정확하게 작성되었는지 실시간으로 확인할 수 있으며 가상 보드와 가상 전자부품의 수정이나 변경 또는 프로그램의 수정이나 변경을 용이하게 수행할 수 있다.
셋째, 본 발명에 따른 프로그램 가상 구현 장치는 가상 보드와 가상 전자부품을 이용함으로써, 실제 보드 또는 전자부품을 사용하지 않고도 보드 또는 전자부품의 용도와 사용방식을 안전하고 용이하게 교육할 수 있다.
넷째, 본 발명에 따른 프로그램 가상 구현 장치는 배경화면별로 사용자가 제어 가능한 객체에 매핑하여 사용자가 원하는 전자부품을 취사 선택하거나 전자부품의 제어 조건을 변경함으로써, 배경화면별로 사용자의 상상력을 발휘하며 프로그램을 코딩할 수 있다.
도 1은 본 발명에 따른 프로그램 가상 구현 시스템을 설명하기 위한 도면이다.
도 2는 본 발명에 따라 사용자 단말기에서 구현되는 프로그램 가상 구현 장치를 설명하기 위한 기능 블록도이다.
도 3은 본 발명에 따른 가상 하드웨어 모듈의 일 예를 설명하기 위한 기능 블록도이다.
도 4는 본 발명에 따른 무대동작 엔진 모듈의 일 예를 설명하기 위한 기능 블록도이다.
도 5와 도 6은 본 발명에 따른 가상 하드웨어 모듈을 통해 가상의 전자회로를 구성하기 위한 사용자 인터페이스 화면의 일 예를 도시하고 있다.
도 7과 도 8은 본 발명에 따른 코딩 모듈을 통해 프로그램을 코딩하기 위한 사용자 인터페이스 화면의 일 예를 도시하고 있다.
도 9는 본 발명에 따른 가상 무대 배경화면의 일 예를 도시하고 있다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서, "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
이하 첨부한 도면을 참고로 본 발명에 따른 프로그램의 가상 구현 방법에 대해 보다 구체적으로 살펴본다.
도 1은 본 발명에 따른 프로그램 가상 구현 시스템을 설명하기 위한 도면이다.
도 1을 참고로 보다 구체적으로 살펴보면, 네트워크(30)에는 사용자 단말기(10)와 관리 서버(50)가 접속되어 있다. 여기서 네트워크(30)는 사용자 단말기(10)와 관리 서버(50) 사이에서 데이터를 송수신하는 다양한 종류의 유선 또는 무선 네트워크가 사용될 수 있다.
사용자 단말기(10)는 관리 서버(50)에서 제공하는 프로그램 가상 구현 애플리케이션을 다운로드받아 실행할 수 있으며 프로그램의 가상 구현 상태를 사용자에 출력하는 디스플레이부를 구비하는 개인용 컴퓨터, 노트북, PDA, 스마트폰 등이 사용될 수 있다.
관리 서버(50)는 사용자 단말기(10)로부터 수신한 회원 정보에 기초하여 사용자를 회원으로 등록하며, 사용자 단말기로 프로그램 가상 구현 애플리케이션을 제공하거나 프로그램 가상 구현 애플리케이션을 구현하는데 필요한 추가 컨텐츠를 제공하고, 사용자 단말기(10)에서 작성된 가상 보드와 가상 전자부품의 구현 프로그램을 사용자별로 구분하여 수신 저장하거나 사용자 단말기(10) 또는 주변 사용자 단말기(미도시)로부터 요청이 있는 경우 사용자의 구현 프로그램을 제공하는 서버를 의미한다.
도 2는 본 발명에 따라 사용자 단말기에서 구현되는 프로그램 가상 구현 장치를 설명하기 위한 기능 블록도이다.
도 2를 참고로 보다 구체적으로 살펴보면, 사용자 인터페이스부(110)는 사용자 명령을 입력하는 수단으로 사용자 인터페이스부(110)를 통해 사용자는 다수의 가상 무대 배경화면 중 1개의 가상 무대 배경화면을 선택하기 위한 사용자 명령, 가상 보드와 가상 전자부품을 선택하고 가상 보드에 선택한 가상 전자부품을 배치하기 위한 사용자 명령, 가상 보드에 배치된 가상 전자부품을 선택한 가상 무대 배경화면에서 구현하기 위한 프로그램을 작성하기 위한 사용자 명령, 가상 무대 배경화면에 존재하는 객체를 제어하기 위한 사용자 명령을 입력한다.
가상 하드웨어 모듈(130)은 사용자 명령에 의해 선택된 가상 보드와 가상 전자부품을 이용하여 가상 전자 회로를 제작하며, 코딩 모듈(150)은 사용자 명령에 의해 제작한 가상 전자 회로를 구현하기 위한 프로그램을 편집한다. 바람직하게, 무대동작 엔진 모듈(170)은 기저장되어 있는 다수의 가상 무대 배경화면을 사용자에 제공하며 입력된 사용자 명령을 통해 다수의 가상 무대 배경화면 중 1개의 가상 무대 배경화면가 선택되는데, 가상 하드웨어 모듈(130)은 입력된 사용자 명령에 따라 선택된 가상 무대 배경화면에 존재하는 객체의 동작을 구현하기 위한 가상 전자 회로를 제작하며 코딩 모듈(150)은 가상 전자 회로를 통해 가상 무대 배경화면에 존재하는 객체의 동작을 제어하기 위한 프로그램을 생성한다.
코딩 모듈(150)은 사용자 명령에 따라 코드 문자로 입력된 코딩 언어를 컴파일하여 프로그램을 생성하거나 코드 블록으로 입력된 코딩 언어를 컴파일하여 프로그램을 생성할 수 있는데, 사용자 명령에 따라 코드 블록으로 프로그램을 생성하도록 선택되는 경우 구조 코드 블록과 기능 코드 블록을 사용자에 디스플레이하며, 디스플레이된 구조 코드 블록과 기능 코드 블록 중 사용자에 의해 선택된 구조 코드 블록과 기능 코드 블록의 조합으로 입력된 코딩 언어를 컴파일하여 프로그램을 생성하는 것을 특징으로 한다.
코딩 모듈(150)을 통해 가상 전자 회로를 구현하기 위한 프로그램의 완성되는 경우, 코딩 모듈(150)은 프로그램을 가상 하드웨어 모듈(130)로 제공한다. 가상 하드웨어 모듈(130)은 코딩 모듈(150)로부터 제공받은 프로그램 및 사용자 인터페이스부(110)를 통해 입력된 사용자 명령에 따라 가상 무대 배경화면에서 객체의 동작을 제어하기 위한 제어 신호를 생성하며 생성한 제어 신호를 무대동작 엔진 모듈(170)로 제공한다.
무대동작 엔진 모듈(170)은 가상 하드웨어 모듈(130)로부터 수신한 제어 신호에 따라 가상 무대 배경화면에 존재하는 객체를 동작시키며, 가상 무대 배경화면과 객체의 동작은 디스플레이부(190)를 통해 사용자에 디스플레이된다.
가상 무대 배경화면별로 존재하는 객체가 서로 상이하며 사용자는 가상 무대 배경화면에 존재하는 다수의 객체 중 일부 또는 전부를 선택적으로 제어할 수 있는데, 사용자는 가상 하드웨어 모듈(130)을 통해 객체에 매핑될 가상 전자부품을 선택하여 가상 보드에 배치하며 코딩 모듈(150)을 통해 가상 보드에 배치된 가상 전자부품의 동작을 제어하기 위한 프로그램을 작성한다.
이와 같이 본 발명에 따른 프로그램의 가상 구현 장치는 가상 무대 배경화면별로 사용자가 제어하고자 하는 객체를 선택할 수 있으며 선택한 객체의 동작을 구현하기 위한 가상 전자부품을 선택할 수 있으며 또한 선택한 가상 전자부품을 통해 객체의 동작을 제어하기 위한 프로그램을 사용자가 직접 작성함으로써, 동일한 가상 무대 배경화면에서 사용자의 개성과 창의력을 발휘하여 상이한 프로그램으로 객체의 동작을 제어할 수 있으며 사용자가 작성한 프로그램과 가상의 전자회로를 통해 프로그램에 따라 구현되는 객체의 동작을 실시간으로 확인할 수 있다.
따라서 본 발명에 따른 프로그램의 가상 구현 장치는 어린이와 같이 보드 또는 전자부품에 익숙하지 않은 사용자인 경우에도 안전하게 보드 또는 전자부품의 기능과 동작을 실습할 수 있으며 가상의 보드와 가상의 전자부품으로 이루어진 가상 전자회로를 용이하게 수정 또는 변경하거나 작성한 프로그램을 용이하게 수정 또는 변경하며 프로그램 코딩을 실습할 수 있다.
도 3은 본 발명에 따른 가상 하드웨어 모듈의 일 예를 설명하기 위한 기능 블록도이다.
도 3을 참고로 보다 구체적으로 살펴보면, 하드웨어 저장부(131)에는 사용자가 선택하여 사용할 수 있는 다양한 종류의 가상 보드와 가상 전자부품이 등록 저장되어 있다.
하드웨어 구성부(133)는 다수의 가상 보드 중 사용자 명령에 의해 선택된 가상 보드와 다수의 가상 전자부품 중 사용자 명령에 의해 선택된 가상 전자부품을 이용하여 가상의 전자회로를 구성한다.
하드웨어 구성부(133)는 사용자에 의해 선택된 가상 보드 또는 가상 전자부품을 사용자가 확인할 수 있도록 디스플레이부에 디스플레이할 수 있는데, 디스플레이된 가상 보드의 이미지는 가상 보드에 상응하는 실제 보드 이미지이거나 도식화되 이미지일 수 있으며 디스플레이된 가상 전자부품의 이미지는 가상 전자부품에 상응하는 실제 전자부품 이미지이거나 도식화된 이미지일 수 있다.
가상 보드에는 다수의 핀 식별자가 표시되어 있으며 입력된 사용자 명령에 따라 가상 전자부품이 매핑될 핀 식별자가 선택되는데, 하드웨어 구성부(133)는 가상 보드의 핀 식별자별로 선택된 가상 전자부품을 매핑 배치하여 가상의 전자회로를 구성한다.
하드웨어 구성부(133)는 가상 보드의 다수개의 핀 식별자 중 1개의 핀 식별자가 선택되는 경우, 선택된 핀 식별자에 대응하여 가상 무대 배경화면별로 가상 무대 배경화면에 존재하는 객체의 동작을 구현하기 위한 다수의 가상 전자부품을 롤 형식으로 디스플레이하며 다수의 가상 전자부품 중 선택된 가상 전자부품을 핀 식별자에 매핑하여 배치 구성한다.
제어부(135)는 사용자 인터페이스부를 통해 입력되는 사용자의 제어 명령과 프로그램에 따라 가상 전자회로의 동작을 제어하기 위한 제어 신호를 생성하고 생성한 제어 신호를 무대동작 엔진 모듈로 제공한다.
도 4는 본 발명에 따른 무대동작 엔진 모듈의 일 예를 설명하기 위한 기능 블록도이다.
도 4를 참고로 보다 구체적으로 살펴보면, 동작 제어부(171)는 사용자 명령에 따라 무대정보 저장부(173)에 저장되어 있는 가상 무대 배경화면을 추출하여 가상 무대 배경화면을 디스플레이부에 디스플레이 제어하거나 가상 무대 배경화면에 대한 정보를 가상 하드웨어 모듈로 제공한다.
동작 제어부(171)는 가상 하드웨어 모듈로부터 수신한 제어 신호에 따라 가상 무대 배경화면에 존재하는 객체(175)를 동작시킨다. 여기서 가상 무대 배경화면에 존재하는 객체(175)는 자동 객체, 조작 객체, 고정 객체 및 제어 객체를 포함하는데, 본 발명이 적용되는 분야에 따라 다양한 종류의 객체가 포함될 수 있다.
여기서 자동 객체는 가상 무대 배경화면에서 기설정된 동작을 수행하는 객체로 예를 들어, 가상 무대 배경화면이 기차가 움직이는 배경화면인 경우 별도의 사용자 제어 명령이 없더라도 기설정된 이동 패턴과 속도로 계속해서 움직이는 기차일 수 있다. 조작 객체는 디스플레이부에 디스플레이된 조이스틱 등을 통해 입력되는 사용자 명령에 따라 동작하는 객체로 예를 들어, 가상 무대 배경화면이 집안인 경우 조이스틱을 통해 입력되는 사용자 명령에 따라 이동할 수 있는 집안의 사람이나 동물일 수 있다. 고정 객체는 가상 무대 배경화면에서 움직이거나 동작하지 않고 고정 배치되어 있는 객체로 예를 들어 가상 무대 배경화면이 집안인 경우 집안에 배치되는 가구 등일 수 있다. 제어 객체는 가상 무대 배경화면에서 사용자 명령과 프로그램에 따라 동작하는 객체로 예를 들어, 가상 무대 배경화면이 집안인 경우 조명이나 스피커 등일 수 있다.
도 5와 도 6은 본 발명에 따른 가상 하드웨어 모듈을 통해 가상의 전자회로를 구성하기 위한 사용자 인터페이스 화면의 일 예를 도시하고 있다.
도 5에 도시되어 있는 바와 같이, 사용자가 선택한 가상 보드(I)와 가상 보드의 각 핀 식별자(D1, D2,..., D10, A1, A2,..., A4)가 디스플레이되며, 가상 보드의 식별자에 매핑하여 배치할 가상 전자부품을 선택하기 위한 선택창(S)이 활성화된다.
도 6에 도시되어 있는 바와 같이, 선택창(S)에서 특정 핀 식별자를 선택하는 경우, 가상 무대 배경화면에 존재하는 객체에 매핑될 가상 전자부품이 롤 방식으로 디스플레이되며 사용자는 롤 방식으로 디스플레이되는 가상 전자부품 중 선택한 핀 식별자에 매핑할, 객체에 해당하는 가상 전자부품을 선택한다. 예를 들어, 가상 보드의 D1핀에는 가상 스피커를 선택하며 가상 보드의 D2핀에는 라이트(선반)를 선택한다.
바람직하게, 사용자가 가상 보드의 특정 핀 또는 선택창에서 가상 보드의 특정 핀을 지정하는 경우 해당 특정 핀에 매핑되어 있는 가상 전자부품의 이미지가 디스플레이되며 사용자는 디스플레이된 가상 전자부품의 이미지를 통해 가상 보드의 각 핀에 연결된 가상 전자부품을 확인할 수 있다.
도 7과 도 8은 본 발명에 따른 코딩 모듈을 통해 프로그램을 코딩하기 위한 사용자 인터페이스 화면의 일 예를 도시하고 있다.
도 7에 도시되어 있는 바와 같이, 사용자가 코드 문자를 이용하여 프로그램을 생성하는 것으로 선택하는 경우, 코딩 모듈은 코드 입력창에 입력되는 코드 문자를 컴파일하여 프로그램을 생성한다.
도 8에 도시되어 있는 바와 같이, 사용자가 코드 블록을 이용하여 프로그램을 생성하는 것으로 선택하는 경우, 코딩 모듈은 선택창에 구조 코드 블록과 기능 코드 블록을 디스플레이하며 구조 코드 블록과 기능 코드 블록 중에서 선택된 코드 블록을 입력창에 디스플레이한다. 사용자는 입력창에 디스플레이된 코드 블록을 이용하여 입력되는 코드 문자를 컴파일하여 프로그램을 생성한다. 이와 같이 코드 블록을 이용하여 프로그램을 편집하도록 함으로써, 프로그램 코딩에 익숙하지 않은 사용자도 용이하고 정확하게 프로그램을 생성하도록 할 수 있다.
바람직하게, 코드 블록을 이용하여 프로그램을 생성시 구조 코드 블록과 기능 코드 블록의 포맷에 기초하여 사용자가 편집한 프로그램이 정확하게 작성되어 있는지 자동 점검할 수 있다.
도 9는 본 발명에 따른 가상 무대 배경화면의 일 예를 도시하고 있다.
도 9에 도시되어 있는 바와 같이, 가상 무대 배경화면에서 일정한 형태로 반복하여 움직이는 자동객체인 강아지, 가상 무대 배경화면에서 조이스틱(J)을 통해 입력된 이동 제어 명령에 따라 움직이는 조작 객체인 사람, 가상 무대 배경화면에서 고정되어 움직이거나 작동하지 않은 고정 객체인 장이나 침대 등, 가상 무대 배경화면에서 사용자 명령과 프로그램에 따라 동작하는 제어 객체인 선반등, 천장등, 거리센서, 버튼(B1, B2, B3, B4) 등이 디스플레이된다.
사용자는 조이스틱이나 버튼을 통해 제어 명령을 입력할 수 있으며, 입력된 제어 명령과 작성한 프로그램에 따라 가상 무대 배경화면의 각 객체는 움직이거나 동작하는데, 가상 무대 배경화면에서 제어 명령과 프로그램에 따라 동작하는 객체를 통해 사용자는 프로그램 코딩을 눈으로 보면 작성 연습할 수 있으며, 가상 보드와 가상 전자부품의 동작과 기능을 확인할 수 있다.
한편, 상술한 본 발명의 실시 예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예를 들어, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장 매체를 포함한다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: 사용자 단말기 30: 네트워크
50: 관리 서버
110: 사용자 인터페이스부
130: 가상 하드웨어 모듈
150: 코딩 모듈
170: 무대동작 엔진 모듈
190: 디스플레이

Claims (8)

  1. 자동 객체, 조작 객체, 고정 객체 및 제어 객체로 이루어진 가상 무대 배경화면 중 사용자에 의해 선택된 가상 무대 배경화면을 출력 제어하는 무대동작 엔진 모듈;
    선택된 가상 무대 배경화면에 따라 선택된 가상 무대 배경화면에 존재하는 객체의 동작을 구현하는 다수의 가상 전자 부품을 롤 형식으로 디스플레이하며, 디스플레이된 상기 다수의 가상 전자 부품 중 사용자 명령에 선택된, 객체에 해당하는 가상 전자 부품을 가상 보드에 배치하여 가상 전자 회로를 생성하는 가상 하드웨어 모듈; 및
    상기 가상 전자 회로를 통해 상기 선택된 가상 무대 배경화면에 존재하는 객체의 동작을 제어하기 위한 프로그램을 생성하는 코딩 모듈을 포함하며,
    상기 가상 하드웨어 모듈은 입력된 사용자 명령과 상기 코딩 모듈에서 생성된 프로그램에 의해 상기 가상 무대 배경화면에서 객체의 동작을 제어하기 위한 제어신호를 생성하며,
    상기 무대동작 엔진 모듈은 상기 제어신호에 따라 상기 가상 무대 배경화면에서 객체의 동작을 디스플레이 제어하는 것을 특징으로 하는 프로그램 가상 구현 장치.
  2. 제 1 항에 있어서, 상기 가상 하드웨어 모듈은
    가상 보드와 다수의 가상 전자부품을 저장하고 있는 저장부;
    다수의 가상 전자부품 중 선택된 가장 전자부품을 사용자 명령에 따라 상기 가상 보드의 핀 식별자와 서로 매핑하여 배치하는 하드웨어 구성부; 및
    입력되는 제어 명령과 프로그램에 따라 상기 객체를 제어하기 위한 제어 신호를 생성하는 제어부를 포함하는 것을 특징으로 하는 프로그램 가상 구현 장치.
  3. 제 2 항에 있어서, 상기 제어부는
    상기 가상 보드의 각 핀에 배치되는 가상 전자부품이 선택되는 경우, 각 핀에 배치되는 가상 전자부품의 식별자를 매핑하여 사용자에 디스플레이하는 것을 특징으로 하는 프로그램 가상 구현 장치.
  4. 제 3 항에 있어서, 상기 제어부는
    상기 가상 보드의 핀 식별자가 선택되는 경우, 선택한 핀 식별자에 매핑되어 배치되어 있는 가상 전자부품의 아이콘을 사용자에 디스플레이하는 것을 특징으로 하는 프로그램 가상 구현 장치.
  5. 삭제
  6. 제 3 항에 있어서,상기 무대동작 엔진 모듈은
    상기 가상 하드웨어 모듈의 제어 신호에 따라 가상의 무대 배경화면에 디스플레이되는 조작 객체, 자동 객체 또는 제어 객체 중 어느 하나를 동작시키는 것을 특징으로 하는 프로그램 가상 구현 장치.
  7. 제 2 항에 있어서, 상기 코딩 모듈은
    사용자 명령에 따라 코드 문자로 프로그램을 편집하거나 코드 블록으로 프로그램을 편집하는 것을 특징으로 하는 프로그램 가상 구현 장치.
  8. 제 7 항에 있어서, 상기 코딩 모듈은
    사용자 명령에 따라 코드 블록으로 프로그램을 편집하도록 선택되는 경우 구조 코드 블록과 기능 코드 블록을 사용자에 디스플레이하며, 상기 디스플레이된 구조 코드 블록과 기능 코드 블록 중 사용자에 의해 선택된 구조 코드 블록과 기능 코드 블록의 조합으로부터 프로그램을 편집하는 것을 특징으로 하는 프로그램 가상 구현 장치.
KR1020190112225A 2019-09-10 2019-09-10 프로그램의 가상 구현 장치 KR102251102B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190112225A KR102251102B1 (ko) 2019-09-10 2019-09-10 프로그램의 가상 구현 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190112225A KR102251102B1 (ko) 2019-09-10 2019-09-10 프로그램의 가상 구현 장치

Publications (2)

Publication Number Publication Date
KR20210030723A KR20210030723A (ko) 2021-03-18
KR102251102B1 true KR102251102B1 (ko) 2021-05-13

Family

ID=75232278

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190112225A KR102251102B1 (ko) 2019-09-10 2019-09-10 프로그램의 가상 구현 장치

Country Status (1)

Country Link
KR (1) KR102251102B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160085434A (ko) * 2015-01-08 2016-07-18 오소진 Html5 기반 가상 아두이노 시뮬레이션 웹 시스템
KR20180082684A (ko) * 2017-01-10 2018-07-19 아토플래닛 주식회사 소프트웨어와 하드웨어 통합 교육 시스템 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
유튜브 동영상: The Arduino Simulator you’ve been looking for!. 2019.08.08.
유튜브 동영상: Training VBB 101. 2019.08.27.

Also Published As

Publication number Publication date
KR20210030723A (ko) 2021-03-18

Similar Documents

Publication Publication Date Title
Yu et al. A review of computational toys and kits for young children
Hodges et al. Physical computing: A key element of modern computer science education
McRoberts Beginning arduino
Noble Programming interactivity
Serrano Pérez et al. An ultra‐low cost line follower robot as educational tool for teaching programming and circuit's foundations
Millner et al. Modkit: blending and extending approachable platforms for creating computer programs and interactive objects
García-Peñalvo et al. Evaluation of existing resources (study/analysis)
US10456910B2 (en) Educational systems comprising programmable controllers and methods of teaching therewith
Wu et al. Proxino: enabling prototyping of virtual circuits with physical proxies
Hodges et al. . NET Gadgeteer: A new platform for K-12 computer science education
Reimann et al. Smart Textile objects and conductible ink as a context for arts based teaching and learning of computational thinking at primary school
Blikstein et al. Project Bloks: designing a development platform for tangible programming for children
US11301605B2 (en) System and method of prototyping virtual circuits with physical proxies
Arakliotis et al. Lawris: A rule-based Arduino programming system for young students
Besari et al. Preliminary design of mobile visual programming apps for Internet of Things applications based on Raspberry Pi 3 platform
Devine et al. Plug-and-play physical computing with Jacdac
KR102251102B1 (ko) 프로그램의 가상 구현 장치
KR20110026560A (ko) 이벤트 편집기능을 가지는 교육용 이동로봇
Noble Building a LEGO-based Robotics Platform for a 3 rd Grade Classroom
Suriyaarachchi et al. Primary school students programming with real-time environmental sensor data
Dias et al. Teaching computational reasoning without a computer
Analytis et al. Paper robot: A design activity to increase beginner’s prototyping confidence with microcontrollers
Jeong et al. AutomataStage: an AR-mediated Creativity Support Tool for Hands-on Multidisciplinary Learning
Huang et al. The Arduino Inventor's Guide: Learn Electronics by Making 10 Awesome Projects
Miller-Klugman et al. Low-Cost Open-Source Robotics for Education

Legal Events

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