KR102185618B1 - Application system for teenager programming education using drones - Google Patents

Application system for teenager programming education using drones Download PDF

Info

Publication number
KR102185618B1
KR102185618B1 KR1020180112312A KR20180112312A KR102185618B1 KR 102185618 B1 KR102185618 B1 KR 102185618B1 KR 1020180112312 A KR1020180112312 A KR 1020180112312A KR 20180112312 A KR20180112312 A KR 20180112312A KR 102185618 B1 KR102185618 B1 KR 102185618B1
Authority
KR
South Korea
Prior art keywords
programming
aerial vehicle
unmanned aerial
blocks
area
Prior art date
Application number
KR1020180112312A
Other languages
Korean (ko)
Other versions
KR20200032984A (en
Inventor
권장우
최민석
Original Assignee
인하대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인하대학교 산학협력단 filed Critical 인하대학교 산학협력단
Priority to KR1020180112312A priority Critical patent/KR102185618B1/en
Publication of KR20200032984A publication Critical patent/KR20200032984A/en
Application granted granted Critical
Publication of KR102185618B1 publication Critical patent/KR102185618B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • G06Q50/2057Career enhancement or continuing education service
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/024Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8094Unusual game types, e.g. virtual cooking
    • B64C2201/12
    • B64C2201/146
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2101/00UAVs specially adapted for particular uses or applications
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/20Remote controls

Abstract

드론을 이용한 청소년 프로그래밍 교육용 어플리케이션 시스템이 개시된다. 무인 비행체(UAV)를 이용한 프로그래밍 교육 방법에 있어서, 상기 무인 비행체와의 통신을 위한 통신 세션을 설정하는 단계, 상기 무인 비행체를 비행시키기 위한 지도(map) 정보를 제공하는 단계, 상기 무인 비행체의 비행과 관련하여 미리 지정된 명령어를 포함하는 복수의 블록들을 제공하는 단계, 및 상기 복수의 블록들을 대상으로 선택된 블록이 프로그래밍 영역에 배치됨에 따라, 상기 프로그래밍 영역에 배치된 블록에 기초하여 상기 무인 비행체의 비행을 제어하는 신호를 상기 통신 세션을 통해 상기 무인 비행체로 전송하는 단계를 포함할 수 있다.An application system for youth programming education using a drone is disclosed. In the programming education method using an unmanned aerial vehicle (UAV), establishing a communication session for communication with the unmanned aerial vehicle, providing map information for flying the unmanned aerial vehicle, and flight of the unmanned aerial vehicle Providing a plurality of blocks including a predetermined command in relation to, and as a block selected for the plurality of blocks is disposed in a programming area, flight of the unmanned aerial vehicle based on a block disposed in the programming area It may include transmitting a signal for controlling the to the unmanned aerial vehicle through the communication session.

Description

드론을 이용한 청소년 프로그래밍 교육용 어플리케이션 시스템{Application system for teenager programming education using drones}Application system for teenager programming education using drones

아래의 설명은 청소년기 학생들에게 프로그래밍(programming)이란 무엇인지 경험시켜주는 교육용 소프트웨어 기술에 관한 것으로, 4차 산업시대에 대두되는 기술인 드론(drone)을 이용하여 청소년들에게 드론을 동작시키기 위한 프로그래밍 교육을 제공하는 기술에 관한 것이다.The following explanation is about educational software technology that allows adolescent students to experience what programming is. Programming education for adolescents to operate drones using drones, a technology emerging in the 4th industrial era. It's about the technology it provides.

청소년 학생들이 대학교에 진학하기 전에 자신의 전공 분야를 미리 경험하기가 쉽지 않다. 특히 프로그래밍 분야는 검은색 모니터 화면에 흰색 영어 글씨로 타이핑하여 프로그래밍을 하는 방식으로, 학생들에게 흥미를 불어 넣기 어려우며 금방 지루해하는 경우가 다반수이다.It is difficult for young students to experience their major field before entering university. In particular, programming is a method of programming by typing in white English letters on a black monitor screen. It is difficult to inspire students and is often bored.

최근에는 블록형 코딩(blocking coding)이라는 방식을 이용한 프로그램이 등장하여 학생들이 보다 친근하게 프로그래밍을 배우고 있지만, 이는 프로그래밍 자체를 쉽게 바꾸어 놓은 것일 뿐 학생들이 지루함을 느끼는 것은 여전하다.In recent years, a program using a method called blocking coding has appeared, and students are learning programming more friendly, but this is an easy change in programming, but students still feel bored.

이에 따라, 블록형 코딩 방식의 이점을 살려 프로그래밍을 쉽게 익히되, 학생들이 재미있게 프로그래밍 교육을 제공받을 수 있는 방법이 요구되고 있다.Accordingly, there is a need for a method in which programming can be easily learned by taking advantage of the block-type coding method, but students can enjoy programming education.

한국공개특허 제10-2018-0087005호는 적어도 하나의 이동카드에 인쇄되어 있는 코딩언어가 조합되고, 조합된 코딩언어 결과 값에 기초한 행정구역으로 이동수단이 이동되는 코딩 학습 교구를 개시하고 있다. Korean Patent Publication No. 10-2018-0087005 discloses a coding learning tool in which a coding language printed on at least one mobile card is combined and a moving means is moved to an administrative area based on a result of the combined coding language.

블록형 코딩을 기반으로 드론의 비행을 제어하는 프로그래밍을 유도하되, 미션(mission) 완수 등의 게임적 요소를 함께 제공하여 미션 완수를 목표로 재미와 흥미있게 프로그래밍을 학습을 제공하고자 한다. 즉, 기존의 2D 스크린에만 진행되는 교육용 소프트웨어와는 달리, 드론을 움직여 미션을 해결하도록 유도하여, 타 소프트웨어와 비교하여 사용자(즉, 청소년 등의 학습자)가 활동적이고 재미있게 프로그래밍 교육을 학습하도록 하기 위한 것이다. Based on block-type coding, we induce programming to control the flight of drones, but provide game-like elements such as mission completion to provide fun and interesting programming learning aimed at completing missions. In other words, unlike educational software that only runs on existing 2D screens, it is designed to encourage users (that is, learners such as teenagers) to learn programming education in an active and fun way by inducing drones to move and solve missions. will be.

또한, 프로그래밍 레벨에 따라 미션(mission)을 기반으로 다른 기능의 블록을 추가하여 프로그래밍하도록 유도함으로써, 레벨이 올라갈수록 낮을 때보다 상대적으로 더 복잡한 프로그래밍을 익히도록 유도하고, 프로그래밍의 요소인 최적화의 개념, 반복에 대한 개념, 함수에 대한 개념 및 분기에 대한 개념을 학습하기 위한 것이다.In addition, by inducing programming by adding blocks of other functions based on the mission according to the programming level, the higher the level, the more complicated programming than the lower one, and the concept of optimization, an element of programming. This is to learn the concept of repetition, the concept of function, and the concept of branching.

무인 비행체(UAV)를 이용한 프로그래밍 교육 방법에 있어서, 상기 무인 비행체와의 통신을 위한 통신 세션을 설정하는 단계, 상기 무인 비행체를 비행시키기 위한 지도(map) 정보를 제공하는 단계, 상기 무인 비행체의 비행과 관련하여 미리 지정된 명령어를 포함하는 복수의 블록들을 제공하는 단계, 및 상기 복수의 블록들을 대상으로 선택된 블록이 프로그래밍 영역에 배치됨에 따라, 상기 프로그래밍 영역에 배치된 블록에 기초하여 상기 무인 비행체의 비행을 제어하는 신호를 상기 통신 세션을 통해 상기 무인 비행체로 전송하는 단계를 포함할 수 있다.In the programming education method using an unmanned aerial vehicle (UAV), establishing a communication session for communication with the unmanned aerial vehicle, providing map information for flying the unmanned aerial vehicle, and flight of the unmanned aerial vehicle Providing a plurality of blocks including a predetermined command in relation to, and as a block selected for the plurality of blocks is disposed in a programming area, flight of the unmanned aerial vehicle based on a block disposed in the programming area It may include transmitting a signal for controlling the to the unmanned aerial vehicle through the communication session.

일측면에 따르면, 상기 프로그래밍 영역은, 상기 블록들이 배치되는 함수 영역 및, 상기 블록들 및 함수 중 적어도 하나가 배치되는 메인(main) 영역을 포함할 수 있다.According to one aspect, the programming area may include a function area in which the blocks are disposed, and a main area in which at least one of the blocks and functions is disposed.

다른 측면에 따르면, 상기 복수의 블록들을 제공하는 단계는, 미리 지정된 프로그래밍 레벨이 증가할수록 상기 복수의 블록들의 개수를 증가시켜 제공할 수 있다.According to another aspect, the providing of the plurality of blocks may be provided by increasing the number of the plurality of blocks as the predetermined programming level increases.

또 다른 측면에 따르면, 상기 지도 정보를 제공하는 단계는, 상기 프로그래밍 영역에 배치될 블록의 개수를 제한하는 미션(mission) 및 함수의 사용을 포함시키는 미션(mission) 중 적어도 하나의 미션을 제공하는 단계를 포함할 수 있다.According to another aspect, the providing of the map information includes providing at least one of a mission limiting the number of blocks to be placed in the programming area and a mission including the use of a function. It may include steps.

또 다른 측면에 따르면, 상기 지도 정보를 제공하는 단계는, 재귀함수 기반의 반복 개념 및 분기문 개념 교육을 위한 미션(mission)을 제공하는 단계를 포함할 수 있다.According to another aspect, the providing of the map information may include providing a mission for training a recursive function-based repetition concept and branch sentence concept.

또 다른 측면에 따르면, 상기 지도 정보를 제공하는 단계는, 색상 별로 역할이 다르게 지정된 서로 다른 복수개의 타일로 이루어진 지도 정보를 제공할 수 있다.According to another aspect, in the providing of the map information, map information made of a plurality of different tiles having different roles for each color may be provided.

또 다른 측면에 따르면, 상기 복수의 블록들을 제공하는 단계는, 전진 명령어, 우회전 명령어, 좌회전 명령어, 오브젝트(object) 들기 명령어, 오브젝트 내리기 명령어, 저공비행 명령어, 고공비행 명령어, 및 착지 명령어가 지정된 블록을 제공할 수 있다.According to another aspect, the providing of the plurality of blocks includes a forward command, a right turn command, a left turn command, an object lifting command, an object lowering command, a low-flying command, a high-flying command, and a landing command. Can provide.

또 다른 측면에 따르면, 상기 무인 비행체는, 상기 무인 비행체의 비행을 제어하는 신호를 아두이노(arduino) 시리얼 통신을 기반으로 수신하여 비행이 제어될 수 있다.According to another aspect, the unmanned aerial vehicle may control flight by receiving a signal for controlling the flight of the unmanned aerial vehicle based on arduino serial communication.

무인 비행체(UAV)를 이용한 프로그래밍 교육 시스템에 있어서, 상기 무인 비행체와의 통신을 위한 통신 세션을 설정하는 세션 설정부, 상기 무인 비행체를 비행시키기 위한 지도(map) 정보를 제공하는 지도 정보 제공부, 상기 무인 비행체의 비행과 관련하여 미리 지정된 명령어를 포함하는 복수의 블록들을 제공하는 블록 제공부, 및 상기 복수의 블록들을 대상으로 선택된 블록이 프로그래밍 영역에 배치됨에 따라, 상기 프로그래밍 영역에 배치된 블록에 기초하여 상기 무인 비행체의 비행을 제어하는 신호를 상기 통신 세션을 통해 상기 무인 비행체로 전송하는 전송 제어부를 포함할 수 있다.In a programming education system using an unmanned aerial vehicle (UAV), a session setting unit for setting a communication session for communication with the unmanned aerial vehicle, a map information providing unit for providing map information for flying the unmanned aerial vehicle, As a block providing unit providing a plurality of blocks including a predetermined command in relation to the flight of the unmanned aerial vehicle, and a block selected for the plurality of blocks are disposed in the programming area, the block disposed in the programming area It may include a transmission control unit for transmitting a signal for controlling the flight of the unmanned aerial vehicle based on the communication session to the unmanned aerial vehicle.

본 발명의 실시예에 따르면, 블록형 코딩을 기반으로 드론의 비행을 제어하는 프로그래밍을 유도하되, 미션(mission) 완수 등의 게임적 요소를 함께 제공하여 미션 완수를 목표로 사용자(즉, 학습자가) 재미있고 흥미있게 프로그래밍을 학습하도록 유도할 수 있다.According to an embodiment of the present invention, programming that controls the flight of a drone is induced based on block-type coding, but by providing game elements such as mission completion, the user (i.e., the learner ) It can induce you to learn programming in a fun and interesting way.

또한, 프로그래밍 레벨에 따라 미션(mission)을 기반으로 다른 기능의 블록을 추가하여 프로그래밍하도록 유도함으로써, 레벨이 올라갈수록 낮을 때보다 상대적으로 더 복잡한 프로그래밍을 익히도록 유도할 수 있으며, 프로그래밍의 요소인 최적화의 개념, 반복에 대한 개념, 함수에 대한 개념 및 분기에 대한 개념을 학습하도록 유도할 수 있다. In addition, by inducing programming by adding blocks of other functions based on the mission according to the programming level, the higher the level, the more complex programming can be induced than when it is lower, and optimization, which is an element of programming. It can be induced to learn the concept of the concept, the concept of repetition, the concept of function, and the concept of branching.

도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 무인 비행체를 이용한 프로그래밍 교육 방법의 동작을 도시한 흐름도이다.
도 3은 본 발명의 일실시예에 있어서, 프로그래밍 교육 시스템의 내부구성을 도시한 블록도이다.
도 4는 본 발명의 일실시예에 있어서, 프로그래밍 화면 구성을 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 지도 정보를 기반으로 작성 가능한 다양한 프로그래밍 구조를 도시한 도면이다.
도 6은 본 발명의 일실시예에 있어서, 드론에 부착된 전자석의 모식도를 나타내는 도면이다.
1 is a diagram showing an example of a network environment according to an embodiment of the present invention.
2 is a flow chart showing the operation of a programming education method using an unmanned aerial vehicle in an embodiment of the present invention.
3 is a block diagram showing the internal configuration of a programming education system according to an embodiment of the present invention.
4 is a diagram showing a configuration of a programming screen according to an embodiment of the present invention.
5 is a diagram illustrating various programming structures that can be created based on map information in an embodiment of the present invention.
6 is a diagram showing a schematic diagram of an electromagnet attached to a drone according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 실시예들은 드론 등의 무인 비행체(unmanned air vehicle, UAV)를 이용하여 프로그래밍 교육용 어플리케이션을 제공하는 기술에 관한 것으로, 특히, 블록형 코딩(block coding)을 기반으로 드론이 특정 동작을 수행하도록 블록을 원하는 순서로 나열하는 프로그래밍을 유도하여 사용자가 다양한 프로그래밍 요소, 예컨대, 최적화의 개념, 반복에 대한 개념, 함수에 대한 개념 및 분기에 대한 개념 등을 학습하도록 하는 기술에 관한 것이다. 즉, 프로그래밍의 결과로 드론(drone)이 동작하게 하여 학생들이 프로그래밍을 통해 드론을 조종한다고 느껴, 재미있게 프로그래밍 학습을 수행하도록 제공하는 기술에 관한 것이다.The present embodiments relate to a technology for providing an application for programming education using an unmanned air vehicle (UAV) such as a drone, and in particular, a block so that a drone performs a specific operation based on block coding. The present invention relates to a technology for inducing programming to arrange in a desired order so that a user learns various programming elements, for example, a concept of optimization, a concept of repetition, a concept of a function, and a concept of branching. In other words, it relates to a technology that makes a drone operate as a result of programming so that students feel that they control the drone through programming, so that they can enjoy programming learning.

본 실시예들에서, 프로그래밍 교육 시스템은 사용자 단말에 설치된 어플리케이션(즉, 앱) 형태로 구현될 수 있으며, 무인 비행체와의 무선 통신을 기반으로 무인 비행체의 비행, 이륙 및 착륙 동작을 제어할 수 있다.In the present embodiments, the programming education system may be implemented in the form of an application (i.e., an app) installed in the user terminal, and may control the flight, take-off, and landing operation of the unmanned aerial vehicle based on wireless communication with the unmanned aerial vehicle. .

본 실시예들에서, "사용자 단말"은 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, 태블릿 PC, 웨어러블 디바이스(wearable device) 등의 전자기기를 나타낼 수 있다.In the present embodiments, the "user terminal" may represent an electronic device such as a smart phone, a mobile phone, a navigation system, a computer, a notebook computer, a digital broadcasting terminal, a tablet PC, and a wearable device.

본 실시예들에서, "아두이노(arduino)"는 물리적인 세계를 감지하고 제어할 수 있는 인터랙티브 객체들과 디지털 장치를 만들기 위한 도구로서, 간단한 마이크로컨트롤러(Microcontroller) 보드를 기반으로 한 오픈 소스 컴퓨팅 플랫폼과 소프트웨어 개발환경을 나타낼 수 있다. 예컨대, 아두이노는 다양한 스위치나 센서로부터 입력값을 받아들여 LED나 모터 등의 동작을 제어할 수 있다. In the present embodiments, "Arduino" is an open source computing tool based on a simple microcontroller board as a tool for creating interactive objects and digital devices that can sense and control the physical world. It can represent the platform and software development environment. For example, the Arduino can control the operation of LEDs or motors by receiving input values from various switches or sensors.

도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 1 is a diagram showing an example of a network environment according to an embodiment of the present invention.

도 1에서는 프로그래밍 교육 시스템이 사용자 단말에 어플리케이션 형태로 구현된 경우를 예로 들어 설명하나, 이는 실시예에 해당되며, 프로그래밍 교육 시스템은 서버에 플랫폼 형태로 구현되어 PC 등의 사용자 단말에서 접속한 웹페이지를 통해 제공되는 형태로 구현될 수도 있다.In FIG. 1, a case in which the programming education system is implemented in the form of an application on the user terminal is described as an example, but this corresponds to an example. It may be implemented in a form provided through.

도 1을 참고하면, 프로그래밍 교육 시스템(101), 무인 비행체(102)가 네트워크를 형성할 수 있다.Referring to FIG. 1, a programming education system 101 and an unmanned aerial vehicle 102 may form a network.

무인 비행체(102)는 타일들로 이루어진 지도 위에서 프로그래밍된 제어신호에 따라 비행 동작을 수행할 수 있다.The unmanned aerial vehicle 102 may perform a flight operation according to a control signal programmed on a map made of tiles.

일례로, 무인 비행체(102)와 프로그래밍 교육 시스템(101)은 블루투스(Bluetooth) 통신이 가능하도록 통신 세션을 설정할 수 있다. 통신 세션이 설정된 이후, 미리 지정된 명령어를 포함하는 블록들을 기반으로 프로그래밍이 수행되고, 프로그래밍된 제어 신호가 상기 통신 세션을 통해 무인 비행체(102)로 전송될 수 있다. 이때, 무인 비행체(102)의 비행 동작 제어를 위해, 무인 비행체(102)는 아두이노(arduino) 시리얼 통신 기반으로 상기 제어 신호에 따른 동작을 수행할 수 있다. 예컨대, 무인 비행체(102)는 아두이노 통신 기반으로 자성을 발생시켜 오브젝트(object) 들어올리기 등의 동작을 수행할 수 있다.For example, the unmanned aerial vehicle 102 and the programming education system 101 may establish a communication session to enable Bluetooth communication. After the communication session is established, programming is performed based on blocks including a predetermined command, and a programmed control signal may be transmitted to the unmanned aerial vehicle 102 through the communication session. At this time, in order to control the flight operation of the unmanned aerial vehicle 102, the unmanned aerial vehicle 102 may perform an operation according to the control signal based on an Arduino serial communication. For example, the unmanned aerial vehicle 102 may generate magnetism based on Arduino communication to perform operations such as lifting an object.

이때, 무인 비행체(102)는 복수개의 서로 다른 색상의 타일들이 연결된 타일 지도(103) 위에서 비행을 수행할 수 있다. 타일들은 역할에 따라 미리 지정된 복수개의 색상을 가질 수 있으며, 타일들을 연결하여 격자 모양의 타일 지도가 형성될 수 있다. 예컨대, 상기 색상은 진입 금지를 나타내는 색상(예컨대, 적색), 이동 가능을 나타내는 색상(예컨대, 청색), 고공 비행 구간을 나타내는 색상(예컨대, 녹색), 착지(즉, 목표지점)을 나타내는 색상(예컨대, 황색), 물건을 내리는 색상(즉, 자색)을 포함할 수 있다. In this case, the unmanned aerial vehicle 102 may fly on a tile map 103 in which a plurality of different colored tiles are connected. The tiles may have a plurality of pre-designated colors according to their role, and a grid-shaped tile map may be formed by connecting the tiles. For example, the color is a color indicating no entry (e.g., red), a color indicating possible movement (e.g., blue), a color indicating a high-flying section (e.g., green), and a color indicating landing (i.e., a target point) ( For example, it may include yellow), and a color to lower the object (ie, purple).

일례로, 타일들은 에지(edge)가 오목하고 볼록한 돌기 형태로 맞물려 서로 연결 가능하도록 설계될 수 있다. 이외에, 타일들이 서로 끼는 형태로 설계될 수도 있으며, 복수의 타일들이 연결되어 해당 프로그래밍 레벨에 해당하는 하나의 지도 타일이 형성될 수 있다. 프로그래밍 레벨이 올라갈수록 난이도를 반영하여 지도 정보가 달라지며, 지도 타일에 배치된 타일들(즉, 연결된 타일들)이 달라질 수 있다.For example, the tiles may be designed to be connected to each other by engaging the edges in a concave and convex projection shape. In addition, the tiles may be designed to be pinched together, and a plurality of tiles may be connected to form one map tile corresponding to a corresponding programming level. As the programming level increases, the map information changes to reflect the difficulty level, and tiles (ie, connected tiles) arranged on the map tile may change.

도 2는 본 발명의 일실시예에 있어서, 무인 비행체를 이용한 프로그래밍 교육 방법의 동작을 도시한 흐름도이고, 도 3은 본 발명의 일실시예에 있어서, 프로그래밍 교육 시스템의 내부구성을 도시한 블록도이다.2 is a flow chart showing the operation of a programming education method using an unmanned aerial vehicle in an embodiment of the present invention, and FIG. 3 is a block diagram showing the internal configuration of a programming education system in an embodiment of the present invention to be.

도 3을 참고하면, 프로그래밍 교육 시스템(300)은 세션 설정부(310), 지도 정보 제공부(320), 블록 제공부(330) 및 전송 제어부(340)를 포함할 수 있다. 그리고, 도 2의 각 단계들(210 내지 240 단계)은 도 3의 구성요소인 세션 설정부(310), 지도 정보 제공부(320), 블록 제공부(330) 및 전송 제어부(340)에 의해 수행될 수 있다.Referring to FIG. 3, the programming education system 300 may include a session setting unit 310, a map information providing unit 320, a block providing unit 330, and a transmission control unit 340. In addition, each of the steps (steps 210 to 240) of FIG. 2 is performed by the session setting unit 310, the map information providing unit 320, the block providing unit 330, and the transmission control unit 340, which are components of Fig. 3. Can be done.

210 단계에서, 세션 설정부(310)는 무인 비행체(예컨대, 드론)와의 통신을 위해 통신 세션을 설정할 수 있다. 일례로, 세션 설정부(310)는 작성된 프로그래밍에 따라 무인 비행체의 동작을 원격으로 제어하기 위한 통신 세션을 설정할 수 있다. 이때, 세션 설정부(310)는 블루투스(Bluetooth) 기반 통신이 수행하도록 통신 세션을 설정할 수 있다.In step 210, the session setting unit 310 may establish a communication session for communication with an unmanned aerial vehicle (eg, a drone). For example, the session setting unit 310 may set a communication session for remotely controlling the operation of the unmanned aerial vehicle according to the written programming. In this case, the session setting unit 310 may set a communication session so that Bluetooth-based communication is performed.

220 단계에서, 지도 정보 제공부(320)는 무인 비행체를 비행시키기 위한 지도(map) 정보를 제공할 수 있다. 여기서, 지도 정보는 프로그래밍 레벨에 따라 상이할 수 있으며, 동일 프로그래밍 레벨을 대상으로 다양한 지도 정보가 존재할 수 있다. In step 220, the map information providing unit 320 may provide map information for flying the unmanned aerial vehicle. Here, the map information may be different according to the programming level, and various map information may exist for the same programming level.

일례로, 프로그래밍을 처음 익히는 초급자의 경우, 1단계에 해당하는 다양한 지도 정보 중 어느 하나의 지도 정보가 사용자 단말의 디스플레이를 통해 제공될 수 있다. 1단계를 완료한 경우(예컨대, 1단계의 미션(mission)을 완료한 경우), 2단계에 해당하는 지도 정보가 제공될 수 있으며, 2단계에 해당하는 지도 정보는 1단계보다 상대적으로 난이도가 올라간 프로그래밍(즉, 더 어려워진 프로그래밍)을 수행하도록 미리 지정될 수 있다. 즉, 지도 정보 제공부(220)는 최적화 개념, 반복 개념, 함수 개념, 분기문 개념을 위한 미션(mission)을 지도 정보 제공 시 함께 제공할 수 있다. 예컨대, 최적화 개념을 위한 미션은 프로그래밍 영역에 배치된 블록의 개수를 제한하도록 설정될 수 있으며, 함수 개념을 위한 미션은 함수의 사용을 포함하도록 설정될 수 있다. For example, in the case of a beginner who is learning programming for the first time, any one of various map information corresponding to step 1 may be provided through the display of the user terminal. When completing step 1 (e.g., completing a mission in step 1), map information corresponding to step 2 may be provided, and map information corresponding to step 2 is relatively more difficult than step 1. It can be pre-specified to perform advanced programming (ie, more difficult programming). That is, the map information providing unit 220 may provide a mission for an optimization concept, a repetition concept, a function concept, and a branch statement concept together when providing map information. For example, a mission for an optimization concept may be set to limit the number of blocks arranged in a programming area, and a mission for a function concept may be set to include use of a function.

무인 비행체가 타일 지도 위에서 비행을 수행함에 따라, 상기 지도 정보는 상기 타일 지도의 형상을 나타내는 형태로 제공될 수 있다. 이때, 타일 지도가 서로 다른 복수의 색상을 갖는 타일들이 연결된 형태로 배치됨에 따라, 지도 정보 역시 서로 다른 복수의 색상을 갖는 타일들이 연결된 형태의 이미지로서 제공될 수 있다. 색상 별로 역할이 다르게 지정되어 있음에 따라, 색상 별 역할을 고려하여 프로그래밍이 수행되어야 할 수 있다. 이에 따라, 지도 정보 제공부(320)는 타일의 색상 별 역할 정보를 상기 지도 정보와 함께 디스플레이할 수 있다. 예컨대, 지도 정보 제공부(320)는 지도 정보가 디스플레이되는 화면의 우측 위, 좌측 위 등에 역할 정보를 디스플레이할 수도 있고, 지도 정보가 디스플레이되는 화면 상에 역할 정보를 디스플레이하기 위한 표시 정보(예컨대, 아이콘, 버튼 등)를 디스플레이할 수도 있다. 그러면, 표시 정보가 사용자 터치 등에 의해 선택되면 역할 정보가 지도 정보가 디스플레이되는 화면 상에 오버랩되어 표시될 수 있으며, 다시 화면을 터치하면 역할 정보가 사라지고 다시 지도 정보만이 디스플레이될 수 있다. As the unmanned aerial vehicle performs flying on the tile map, the map information may be provided in a form indicating the shape of the tile map. In this case, as the tile map is arranged in a form in which tiles having a plurality of different colors are connected, the map information may also be provided as an image in a form in which tiles having a plurality of different colors are connected. As roles are assigned differently for each color, programming may have to be performed in consideration of roles for each color. Accordingly, the map information providing unit 320 may display role information for each color of a tile together with the map information. For example, the map information providing unit 320 may display role information in the upper right or upper left of the screen on which the map information is displayed, or display information for displaying role information on the screen on which the map information is displayed (for example, Icons, buttons, etc.) can also be displayed. Then, when the display information is selected by a user's touch or the like, the role information may overlap and be displayed on the screen on which the map information is displayed. If the screen is touched again, the role information disappears and only the map information may be displayed again.

230 단계에서, 블록 제공부(330)는 무인 비행체를 비행과 관련하여 미리 지정된 명령어를 포함하는 복수의 블록들을 제공할 수 있다.In step 230, the block providing unit 330 may provide a plurality of blocks including a predetermined command in relation to the flight of the unmanned aerial vehicle.

일례로, 블록 제공부(330)는 미리 지정된 프로그래밍 레벨이 증가할수록 복수의 블록들의 개수를 점차적으로 증가시켜 제공할 수 있다. 이때, 블록 제공부(330)는 복수의 블록들을 프로그래밍 화면 상에 제공할 수 있으며, 프로그래밍 화면은 프로그래밍 영역과 블록 영역을 포함할 수 있다. 여기서, 프로그래밍 영역은 블록들이 배치되는 함수 영역, 블록 및 함수 중 적어도 하나가 배치되는 메인(main) 영역을 포함할 수 있다. 블록 영역에는 명령어들이 미리 지정된 상기 복수의 블록들이 배치될 수 있다. 예컨대, 전지 명령어, 우회전 명령어, 좌회전 명령어, 저공비행 명령어, 고공비행 명령어, 오브젝트들기 명령어, 오브젝트내리기 명령어, 착지 명령어가 지정된 8개의 블록들이 상기 블록 영역에 위치할 수 있다. 여기서, 오브젝트(object)는 드론이 들고 내릴 물건을 나타내는 것으로서, 예컨대, 택배 상자, 필통 등의 물리적 객체를 나타낼 수 있다. 그리고, 상기 메인 영역에 포함된 블록 및 함수를 기반으로 드론 프로그래밍이 수행될 수 있다. 즉, 메인 영역에 포함된 블록 및 함수를 기반으로 무인 비행체의 동작을 제어하는 신호가 통신 세션을 통해 무인 비행체로 전송될 수 있다. As an example, the block providing unit 330 may provide by gradually increasing the number of blocks as the predetermined programming level increases. In this case, the block providing unit 330 may provide a plurality of blocks on the programming screen, and the programming screen may include a programming area and a block area. Here, the programming area may include a function area in which blocks are disposed, and a main area in which at least one of a block and a function is disposed. In the block area, the plurality of blocks to which commands are pre-designated may be disposed. For example, eight blocks in which a battery command, a right turn command, a left turn command, a low-flying command, a high-flying command, an object lifting command, an object lowering command, and a landing command are designated may be located in the block area. Here, the object represents an object to be picked up and unloaded by the drone, and may represent a physical object such as a delivery box or a pencil case. In addition, drone programming may be performed based on blocks and functions included in the main area. That is, a signal for controlling the operation of the unmanned aerial vehicle based on the blocks and functions included in the main area may be transmitted to the unmanned aerial vehicle through a communication session.

240 단계에서, 전송 제어부(240)는 프로그래밍 화면 상의 블록 영역에 배치된 블록들 중 선택된 블록이 프로그래밍 영역에 배치됨에 따라, 프로그래밍 영역에 배치된 블록에 기초하여 무인 비행체의 비행을 제어하는 신호를 통신 세션을 통해 무인 비행체로 전송할 수 있다.In step 240, the transmission control unit 240 communicates a signal for controlling the flight of the unmanned aerial vehicle based on the block disposed in the programming area as a selected block among blocks disposed in the block area on the programming screen is disposed in the programming area. It can be transferred to the unmanned aerial vehicle through the session.

예컨대, 현재 프로그래밍 레벨에 해당하는 지도 정보를 기반으로 이륙 지점부터 착지 지점까지 무인 비행체를 비행시키기 위해, 블록 영역에 배치된 8개의 명령어가 지정된 각 블록들 중 특정 블록들이 화면 터치 등을 통해 선택될 수 있다. 그리고, 선택된 블록들이 드래그앤 드롭(drag&drop) 등을 통해 블록 영역에서 프로그래밍 영역으로 이동될 수 있다. 이처럼, 프로그래밍 영역으로 이동된 블록들을 기반으로 프로그래밍이 적용될 수 있다. 예컨대, 전진 명령어가 지정된 블록(즉, 전진 블록)이 3번 선택되어 프로그래밍 영역으로 이동한 경우, 드론이 현재 바라보는 방향으로 3개의 타일(즉, 3칸) 이동시키기 위한 프로그래밍이 생성될 수 있다. 이후, 프로그래밍 영역으로 이동된 블록들을 기반으로 생성된 프로그래밍에 해당하는 제어 신호가 무인 비행체로 전송될 수 있다. 그러면, 무인 비행체는 블루투스 통신으로 수신된 제어 신호에 따라 아두이노(arduino) 시리얼 통신을 기반으로 동작할 수 있다. 예컨대, 타일 지도 위를 현재 지점에서 3칸 전진하는 동작을 수행할 수 있다. 즉, 무인 비행체에 설치된 아두이노를 기반으로 모터(motor) 등을 구동시켜 3칸 전진할 수 있다. 이때, 3칸 전진을 위해, 아두이노는 미리 지정된 특정 전력에서 시간당 드론이 이동하는 거리를 계산하고, 계산된 거리를 기반으로 드론의 속력을 계산할 수 있다. 그리고, 계산된 드론의 속력을 기반으로 전진 블록(예컨대, 전진 블록이 3개인 경우)에 해당하는 거리(즉, 3칸 전진)만큼 드론이 이동하도록 구동을 제어할 수 있다. For example, in order to fly the unmanned aerial vehicle from the take-off point to the landing point based on the map information corresponding to the current programming level, specific blocks among the blocks to which the 8 commands placed in the block area are designated can be selected through screen touch, etc. I can. In addition, the selected blocks may be moved from the block area to the programming area through drag & drop. In this way, programming can be applied based on the blocks moved to the programming area. For example, when a block in which a forward command is designated (i.e., a forward block) is selected 3 times and moved to the programming area, programming for moving 3 tiles (i.e., 3 spaces) in the direction the drone is currently looking at may be generated. . Thereafter, a control signal corresponding to programming generated based on the blocks moved to the programming area may be transmitted to the unmanned aerial vehicle. Then, the unmanned aerial vehicle may operate based on Arduino serial communication according to a control signal received through Bluetooth communication. For example, it is possible to perform an operation of moving forward 3 spaces from the current point on the tile map. That is, it is possible to advance 3 spaces by driving a motor or the like based on the Arduino installed in the unmanned aerial vehicle. At this time, to advance 3 spaces, the Arduino calculates the distance the drone moves per hour at a predetermined specific power, and calculates the speed of the drone based on the calculated distance. And, based on the calculated speed of the drone, it is possible to control the driving so that the drone moves by a distance corresponding to the forward block (for example, when there are three forward blocks) (that is, three advance blocks).

도 4는 본 발명의 일실시예에 있어서, 프로그래밍 화면 구성을 도시한 도면이다.4 is a diagram showing a configuration of a programming screen according to an embodiment of the present invention.

도 4를 참고하면, 프로그래밍 화면(400)은 지도 정보가 표시되는 지도 정보 영역(410), 프로그래밍 영역(420), 명령어가 지정된 복수의 블록들이 위치하는 블록 영역(430)을 포함할 수 있다. 프로그래밍 영역(420)은 블록 및 함수가 배치되는 메인(main) 영역(421) 및 함수가 배치되는 함수 영역(422)을 포함할 수 있다.Referring to FIG. 4, the programming screen 400 may include a map information area 410 in which map information is displayed, a programming area 420, and a block area 430 in which a plurality of blocks to which a command is designated are located. The programming area 420 may include a main area 421 in which blocks and functions are disposed, and a function area 422 in which functions are disposed.

일례로, 전진 블록(431)을 메인 영역(421)으로 드래그앤 드롭하는 동작을 3회 수행함으로써, 3칸 전진의 프로그래밍이 완성될 수 있다. 이외에, 전진 블록(431)을 메인 영역(421)으로 드래그앤 드롭하는 동작을 3회, 좌회전 블록(432)을 메인 영역(421)으로 드래그앤 드롭하는 동작을 1회, 오브젝트 들기 블록(433)을 메인 영역(421)으로 드래그앤 드롭하는 동작을 1회 수행한 후, 프로그래밍 화면 상에 배치된 프로그래밍 완료/전송 등의 표시 정보를 선택함으로써, 드론의 동작을 제어하기 위한 프로그래밍이 완료될 수 있다.For example, by performing an operation of dragging and dropping the forward block 431 to the main area 421 three times, programming of three forward steps may be completed. In addition, dragging and dropping the forward block 431 to the main area 421 three times, dragging and dropping the left turn block 432 to the main area 421 once, lifting an object block 433 After performing the drag-and-drop operation once to the main area 421, programming for controlling the operation of the drone can be completed by selecting display information such as programming completion/transmission arranged on the programming screen. .

지도 정도 411 및 412를 참고하면, 401은 적색의 타일, 402는 청색 타일을 나타내고, 403은 황색 타일을 나타내고, 404는 드론의 처음 시작 위치에 해당하는 타일을 나타낼 수 있다. 타일 지도는 지도 정보 411 또는 412와 같이 배치될 수 있으며, 타일 지도 상에서 지도 정보의 D(404)에 해당하는 위치에 드론이 배치되어 시작을 대기하고 있을 수 있다. 그러면, 지도 정보 영역(410)에 지도 정보와 함께 해당 프로그래밍 레벨에 해당하는 미션 정보가 표시될 수 있다. 이때, 지도 정보 영역(410)의 상단에 역할 정보를 디스플레이하기 위한 표시 정보가 노출될 수도 있다.Referring to map degrees 411 and 412, 401 may indicate a red tile, 402 may indicate a blue tile, 403 may indicate a yellow tile, and 404 may indicate a tile corresponding to the initial starting position of the drone. The tile map may be disposed together with the map information 411 or 412, and a drone may be disposed at a location corresponding to D 404 of the map information on the tile map to wait for start. Then, mission information corresponding to a corresponding programming level may be displayed in the map information area 410 along with the map information. In this case, display information for displaying role information may be exposed at the top of the map information area 410.

여기서, 미션 정보는 프로그래밍 레벨이 올라갈수록 점차 복잡한 프로그래밍이 가능하도록 조건을 포함할 수 있다. 예컨대, 레벨 1의 경우 최적화 개념의 프로그래밍 학습이 가능하도록 미션 정보는 메인 영역에 위치하는 블록의 개수를 제한하는 조건을 포함할 수 있다. 다른 예로, 레벨 2의 경우, 함수에 대한 개념의 프로그래밍 학습이 가능하도록, 미션 정보는 함수 이용의 조건을 포함할 수 있다. 여기서, 함수는 복수의 블록들이 나열된 틀(frame)을 나타낼 수 있다. 레벨 3의 경우 반복 개념의 프로그래밍 학습이 가능하도록 미션 정보는 재귀함수 이용의 조건을 포함할 수 있다. 레벨 4의 경우 분기문에 대한 개념의 프로그래밍 학습이 가능하도록, 미션 정보는 드론이 물건을 들고 있을 때만 동작하는 등의 조건을 포함할 수 있다. 레벨 1을 시작으로 해당 레벨의 미션을 완료할 때마다 다음 레벨(예컨대, 레벨 2)의 지도 정보가 제공될 수 있으며, 미션이 완료되지 못한 경우, 현재 레벨의 지도 정보를 다시 확인 가능하도록 제공할 수 있다. Here, the mission information may include conditions to enable increasingly complex programming as the programming level increases. For example, in the case of level 1, the mission information may include a condition for limiting the number of blocks located in the main area so that programming learning of the optimization concept is possible. As another example, in the case of level 2, the mission information may include a condition of using the function so that programming learning of the concept of the function is possible. Here, the function may represent a frame in which a plurality of blocks are arranged. In the case of level 3, the mission information may include conditions for using a recursive function so that programming learning of the repetition concept is possible. In the case of level 4, the mission information may include conditions such as operating only when the drone is holding an object so that programming learning of the concept of a branch door is possible. Starting from level 1, map information of the next level (e.g., level 2) may be provided whenever the mission of the level is completed, and if the mission is not completed, the map information of the current level can be checked again I can.

예컨대, 프로그래밍 기반 제어 신호에 따라 타일 지도 위에서 드론이 비행 동작 시, 진입 금지인 적색 타일에 해당하는 영역에 진입하는 경우, 드론은 적색 LED 불빛을 발광하도록 제어할 수 있다. 그리고, 적색 LED 불빛이 온(ON)되었음을 나타내는 제어신호를 블루투스 통신으로 세션 설정부(210)로 전송할 수 있다. 그러면, 지도 정보 제공부(220)는 적색 LED 불빛이 온(ON)되었음을 나타내는 제어신호를 기반으로 해당 레벨의 미션이 실패하였음을 확인하고, 미션 실패를 나타내는 메시지를 프로그래밍 화면(400) 상에 디스플레이할 수 있다. 미리 지정된 일정 시간 미션 실패 메시지를 디스플레이 한 후, 지도 정보 제공부(220)는 현재 레벨에 해당하는 지도 정보를 지도 영역(410)에 디스플레이할 수 있다. 여기서, 미션 실패 메시지는 시스템에서 미리 지정된 일정 시간동안 디스플레이되었다가 자동으로 화면에서 사라질 수도 있고, 사용자 터치 등에 의해 화면에서 바로 사라질 수도 있다. For example, when the drone enters an area corresponding to a red tile, which is prohibited to enter when flying on a tile map according to a programming-based control signal, the drone may be controlled to emit a red LED light. In addition, a control signal indicating that the red LED light is on may be transmitted to the session setting unit 210 through Bluetooth communication. Then, the map information providing unit 220 confirms that the mission of the corresponding level has failed based on the control signal indicating that the red LED light is ON, and displays a message indicating the mission failure on the programming screen 400 can do. After displaying the mission failure message for a predetermined time, the map information providing unit 220 may display map information corresponding to the current level on the map area 410. Here, the mission failure message may be displayed for a predetermined period in advance in the system and then automatically disappeared from the screen, or may disappear directly from the screen by a user's touch.

이처럼, 미션 실패 시 드론은 적색 LED가 온(ON) 되도록 동작하며, 드론이 미션을 성공한 경우(예컨대, 타일 지도 상에서 지정된 지점에서 물건을 들고 착륙지점에 착륙한 경우), 드론은 녹색 LED가 온(ON)되도록 동작할 수 있다. 그러면, 세션 설정부(210)는 녹색 LED가 온(ON)을 나타내는 제어 신호(즉, 미션 성공을 나타내는 제어 신호)를 블루투스 통신으로 수신하고, 지도 정보 제공부(220)는 미션 실패 시와 마찬가지로 미션 성공 메시지를 지도 영역(410)에 일정 시간 동안 디스플레이한 후, 다음 레벨에 해당하는 지도 정보를 지도 영역(410)을 통해 제공할 수 있다.In this way, when a mission fails, the drone operates so that the red LED is ON, and when the drone succeeds in the mission (e.g., when the drone lands at the landing point with an object at a designated point on the tile map), the green LED is on. It can be operated to be (ON). Then, the session setting unit 210 receives a control signal indicating that the green LED is ON (ie, a control signal indicating mission success) through Bluetooth communication, and the map information providing unit 220 is After the mission success message is displayed on the map area 410 for a predetermined time, map information corresponding to the next level may be provided through the map area 410.

도 5는 본 발명의 일실시예에 있어서, 지도 정보를 기반으로 작성 가능한 다양한 프로그래밍 구조를 도시한 도면이다.5 is a diagram illustrating various programming structures that can be created based on map information in an embodiment of the present invention.

도 5를 참고하면, 프로그래밍 교육 시스템(300)은 지도 정보(501)를 대상으로, 레벨에 따라 다르게 지정된 미션에 따라 다양한 형태로 프로그래밍을 수행하도록 유도할 수 있다.Referring to FIG. 5, the programming education system 300 may induce the instruction information 501 to be programmed in various forms according to missions designated differently according to levels.

일례로, 510은 블록 개수를 8개 이하로 제한하는 미션이 제공되는 프로그래밍 레벨 1에 해당할 수 있다. 블록 영역에 배치된 복수의 블록들을 대상으로 전진 블록이 2회 선택되어 메인 영역으로 이동되고, 좌회전 블록이 1회 선택되어 메인 영역으로 이동, 다시 전진 블록이 2회 선택되어 메인 영역으로 이동, 좌회전 블록이 1회 선택되어 메인 영역으로 이동, 다시 전진 블록이 2회 선택되어 메인 영역으로 이동, 좌회전 블록이 1회 선택되어 메인 영역으로 이동, 착지 블록이 선택되어 메인 영역으로 이동되는 동작이 순차적으로 수행된 이후, 완료/전송 등의 표시 정보가 선택됨에 따라 프로그래밍이 완료되어, 해당 프로그래밍을 나타내는 제어 신호가 드론으로 전송될 수 있다. 510의 경우, 메인 함수는 8개의 블록들로 구성될 수 있다.For example, 510 may correspond to programming level 1 in which a mission limiting the number of blocks to 8 or less is provided. For a plurality of blocks arranged in the block area, the forward block is selected twice and moves to the main area, and the left turn block is selected once and moves to the main area, and the forward block is selected twice and moves to the main area, and turns left. The block is selected once and moved to the main area, the forward block is selected twice and moved to the main area, the left turn block is selected once and moved to the main area, and the landing block is selected and moved to the main area in sequence. After execution, programming is completed as display information such as completion/transmission is selected, and a control signal indicating the corresponding programming may be transmitted to the drone. In case of 510, the main function may consist of 8 blocks.

다른 예로, 520은 함수 이용 등의 조건이 포함된 미션이 제공되는 프로그래밍 레벨 2에 해당할 수 있다. 시작 지점(502)에서 목적지(503)까지 전진 블록과 좌회전 블록이 여러 번 사용되므로, 반복적으로 사용되는 전진 블록과 좌회전 블록을 하나의 함수로 구성할 수 있다. 예컨대, 블록 영역에 위치하는 전진 블록을 2회 드래그앤 드롭을 이용하여 함수 영역으로 이동시키고, 순차적으로 좌회전 블록을 1회 드래그앤 드롭을 이용하여 함수 영역으로 이동시킨 후, 완성에 해당하는 표시 정보(예컨대, 완성 버튼 등)을 선택함으로써, 전진 블록, 전진 블록 및 좌회전 블록을 포함하는 함수 1이 생성될 수 있다. 그러면, 함수 1을 함수 영역에서 3회 메인 영역으로 드래그앤 드롭, 착지 블록을 블록 영역에서 메인 영역으로 드래그앤 드롭시킨 후, 완료/전송 버튼을 선택함으로써 드론의 동작을 제어하기 위한 프로그래밍이 완료될 수 있다. As another example, 520 may correspond to programming level 2 in which a mission including conditions such as function use is provided. Since the forward block and the left turn block are used several times from the start point 502 to the destination 503, the forward block and the left turn block that are used repeatedly can be configured as one function. For example, a forward block located in the block area is moved to the function area by using drag and drop twice, and the left-turn block is sequentially moved to the function area by drag and drop once, and then display information corresponding to completion By selecting (eg, a completion button), a function 1 including a forward block, a forward block, and a left turn block may be generated. Then, by dragging and dropping Function 1 from the function area to the main area three times, dragging and dropping the landing block from the block area to the main area, and selecting the Done/Send button, programming to control the operation of the drone is completed. I can.

이외에, 함수 1을 함수 영역에서 2회 메인 영역으로 드래그앤 드롭, 전진 블록, 전진 블록, 좌회전 블록, 착지 블록을 순차적으로 블록 영역에서 메인 영역으로 드래그앤 드롭시킴으로써 프로그래밍을 완료할 수도 있다. 이처럼, 동일한 지도를 대상으로 레벨에 따라 미션이 다르게 주어짐에 따라, 510 및 520과 같이 다르게 프로그래밍이 완료될 수 있고(즉, 다른 블록 코드를 이용하여 프로그래밍이 완료도리 수 있고), 동일 레벨에서 함수 사용이라는 동일 미션에 대해서도 520과 같이 함수 1을 3번 사용하여 프로그래밍이 완료될 수도 있고, 함수 1을 2회 사용하고 명령어가 지정된 블록들을 사용하여 프로그래밍이 완료될 수도 있다.In addition, the programming can be completed by dragging and dropping Function 1 from the function area to the main area twice, and then dragging and dropping the forward block, forward block, left turn block, and landing block from the block area to the main area. In this way, as missions are given differently depending on the level for the same map, programming can be completed differently, such as 510 and 520 (that is, programming can be completed using different block codes), and functions at the same level For the same mission of use, programming may be completed by using function 1 3 times as in 520, or programming may be completed by using function 1 twice and using blocks with instructions.

또 다른 예로, 재귀함수 기반의 반복 개념이 설정된 미션이 제공된 경우, 함수 1 내에 함수 1이 포함되어 특정 동작이 반복되도록 프로그래밍이 완료될 수도 있다.As another example, when a mission in which a recursive function-based repetition concept is set is provided, a function 1 may be included in function 1 and programming may be completed so that a specific operation is repeated.

도 6은 본 발명의 일실시예에 있어서, 드론에 부착된 전자석의 모식도를 나타내는 도면이다.6 is a diagram showing a schematic diagram of an electromagnet attached to a drone according to an embodiment of the present invention.

도 6을 참고하면, 쿼드콥터 방식의 드론(601)의 하부에 전자석(610)이 위치할 수 있다.Referring to FIG. 6, an electromagnet 610 may be positioned under a drone 601 of a quadcopter type.

예컨대, 전진 블록, 착지 블록, 오브젝트들기(즉, 물건들기) 명령어가 지정된 블록이 메인 영역으로 드래그앤 드롭되어 프로그래밍이 생성된 경우, 드론은 블루투스 통신으로 수신된 제어 신호에 따라 지정된 지점으로 전진하여 착지한 후, 물건을 들어올리는 동작을 수행할 수 있다. 이때, 드론은 착지 지점에 착륙한 이후, 아두이노를 기반으로 전자석(610)에 전기를 흘려 보내 전자석이 자석의 기능으로 물건을 들어올리도록 제어할 수 있다. 즉, 전자석(610)이 자성을 갖고 있지 않다가, 착륙 이후 물건을 들어 오리도록 자성을 띄도록 전자석(610)으로 전기를 흘려보낼 수 있다. 그러면, 전자석(610)에 자성을 띄면 물건(620)이 전자석(610)에 부착될 수 있으며, 드론이 이륙함으로써 물건들기의 동작이 완료될 수 있다.For example, when programming is generated by dragging and dropping a block in which the forward block, landing block, or object lifting command is specified to the main area, the drone advances to the specified point according to the control signal received through Bluetooth communication. After landing, you can perform a lifting motion. At this time, after landing at the landing point, the drone can control the electromagnet to lift the object by the function of the magnet by sending electricity to the electromagnet 610 based on the Arduino. That is, since the electromagnet 610 does not have magnetism, electricity may be passed to the electromagnet 610 so as to be magnetized to pick up objects after landing. Then, when the electromagnet 610 becomes magnetic, the object 620 may be attached to the electromagnet 610, and the operation of lifting the object may be completed by taking off the drone.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable gate array (PLU). It may be implemented using one or more general purpose computers or special purpose computers, such as a logic unit), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited embodiments and drawings, various modifications and variations are possible from the above description by those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.

Claims (9)

세션 설정부, 정보 제공부, 블록 제공부 및 전송 제어부를 포함하는 무인 비행체(UAV)를 이용한 프로그래밍 교육 시스템에 의해 수행되는 무인 비행체(UAV)를 이용한 프로그래밍 교육 방법에 있어서,
상기 세션 설정부에서, 상기 무인 비행체와의 통신을 위한 통신 세션을 설정하는 단계;
상기 정보 제공부에서, 상기 무인 비행체를 비행시키기 위한 지도(map) 정보를 제공하는 단계;
상기 블록 제공부에서, 상기 무인 비행체의 비행과 관련하여 미리 지정된 명령어를 포함하는 복수의 블록들을 프로그래밍 화면 상에 제공하는 단계; 및
상기 전송 제어부에서, 상기 복수의 블록들을 대상으로 선택된 블록이 프로그래밍 영역에 배치됨에 따라, 상기 프로그래밍 영역에 배치된 블록에 기초하여 상기 무인 비행체의 비행을 제어하는 신호를 상기 통신 세션을 통해 상기 무인 비행체로 전송하는 단계
를 포함하고,
상기 무인 비행체(UAV)를 이용한 프로그래밍 교육 방법은,
상기 무인 비행체를 이용한 프로그래밍 교육 시스템이 블록형 코딩(block coding) 방식을 기반으로 무인 비행체가 동작을 수행하도록 상기 복수의 블록들을 대상으로 선택된 블록을 원하는 순서로 나열하는 프로그래밍을 유도하여 사용자가 복수의 프로그래밍 요소를 학습하도록 제공하는 것을 포함하고,
상기 프로그래밍 영역은, 프로그래밍 영역과 블록 영역을 포함하고, 상기 블록들이 배치되는 함수 영역 및, 상기 블록들 및 함수 중 적어도 하나가 배치되는 메인(main) 영역을 포함하고,
상기 지도(map) 정보를 제공하는 단계는,
색상 별로 역할이 다르게 지정된 서로 다른 복수개의 타일로 이루어진 지도 정보를 제공하고, 프로그래밍 레벨이 올라갈수록 난이도를 반영하여 지도 정보를 다르게 제공하고, 상기 지도 정보와 함께 프로그래밍 레벨에 해당하는 미션 정보를 제공하고, 상기 프로그래밍 레벨의 미션을 완료할 때마다 다음 레벨의 지도 정보를 제공하고, 동일 프로그래밍 레벨을 대상으로 복수의 지도 정보가 존재하는 단계
를 포함하고,
상기 미션 정보는, 프로그래밍 레벨이 올라갈수록 복잡한 프로그래밍이 가능하도록 조건을 포함하고,
상기 복수의 블록들을 프로그래밍 화면 상에 제공하는 단계는,
미리 지정된 명령어를 포함하는 복수의 블록들을 프로그래밍 화면 중 블록 영역에 위치시키고, 전진 명령어, 우회전 명령어, 좌회전 명령어, 오브젝트(object) 들기 명령어, 오브젝트 내리기 명령어, 저공비행 명령어, 고공비행 명령어, 및 착지 명령어가 지정된 블록을 제공하고, 미리 지정된 프로그래밍 레벨이 증가할수록 상기 복수의 블록들의 개수를 증가시켜 제공하는 단계
를 포함하고,
상기 무인 비행체로 전송하는 단계는,
이륙 지점부터 착지 지점까지 무인 비행체를 비행시키기 위해 블록 영역에 배치된 미리 지정된 명령어가 포함된 각 블록들 중 특정 블록들이 선택되고, 상기 선택된 블록들을 블록 영역에서 프로그래밍 영역으로 이동시키고, 상기 프로그래밍 영역으로 이동된 블록들을 기반으로 프로그래밍을 적용하고, 지도 정보에서 무인 비행체가 비행 동작 시, 무인 비행체에서 적색 LED 불빛이 온(ON)되었음을 나타내는 제어신호를 기반으로 미션이 실패하였음을 확인하고 미션 실패를 나타내는 메시지를 디스플레이하고, 무인 비행체가 미션을 성공한 경우, 무인 비행체에서 녹색 LED 불빛이 온(ON)되었음을 나타내는 제어신호를 기반으로 미션 성공을 나타내는 미션 성공 메시지를 디스플레이하는 단계
를 포함하고,
상기 무인 비행체는, 무인 비행체의 비행을 제어하는 신호를 아두이노(arduino) 시리얼 통신을 기반으로 수신하여 비행이 제어되고, 상기 무인 비행체에 설치된 아두이노를 기반으로 미리 지정된 전력에서 시간당 무인 비행체가 이동하는 거리가 계산되고, 계산된 거리를 기반으로 무인 비행체의 속력이 계산되고, 계산된 무인 비행체의 속력을 기반으로 무인 비행체의 구동이 제어되고, 무인 비행체에 부착된 전자석에 자성을 발생시켜 무인 비행체의 동작이 제어되고, 복수개의 서로 다른 색상의 타일들이 연결된 지도 위에서 비행을 수행하는
무인 비행체(UAV)를 이용한 프로그래밍 교육 방법.
In the programming education method using an unmanned aerial vehicle (UAV) performed by a programming education system using an unmanned aerial vehicle (UAV) including a session setting unit, an information providing unit, a block providing unit and a transmission control unit,
In the session setting unit, setting a communication session for communication with the unmanned aerial vehicle;
In the information providing unit, providing map information for flying the unmanned aerial vehicle;
In the block providing unit, providing a plurality of blocks including a predetermined command related to the flight of the unmanned aerial vehicle on a programming screen; And
In the transmission control unit, as a block selected for the plurality of blocks is disposed in a programming area, a signal for controlling the flight of the unmanned aerial vehicle based on the block disposed in the programming area is transmitted to the unmanned aerial vehicle through the communication session. Steps to transfer to
Including,
Programming education method using the unmanned aerial vehicle (UAV),
The programming education system using the unmanned aerial vehicle induces programming in which the selected blocks are arranged in a desired order so that the unmanned aerial vehicle performs an operation based on a block coding method. Includes providing to learn programming elements,
The programming area includes a programming area and a block area, and includes a function area in which the blocks are disposed, and a main area in which at least one of the blocks and functions is disposed,
Providing the map information,
Provides map information consisting of a plurality of tiles with different roles assigned to each color, and provides map information differently by reflecting the difficulty level as the programming level increases, and provides mission information corresponding to the programming level along with the map information. Whenever the mission of the programming level is completed, the next level of map information is provided, and a plurality of map information exists for the same programming level.
Including,
The mission information includes conditions to enable complex programming as the programming level increases,
Providing the plurality of blocks on a programming screen,
Positioning a plurality of blocks including pre-designated commands in the block area of the programming screen, forward command, right turn command, left turn command, object lifting command, object lowering command, low flying command, high flying command, and landing command Providing a designated block and increasing the number of the plurality of blocks as the predetermined programming level increases
Including,
The step of transmitting to the unmanned aerial vehicle,
In order to fly the unmanned aerial vehicle from the take-off point to the landing point, specific blocks are selected among blocks containing pre-designated commands arranged in the block area, and the selected blocks are moved from the block area to the programming area, and then to the programming area. Programming is applied based on the moved blocks, and when the unmanned aerial vehicle is in flight operation in the map information, it is confirmed that the mission has failed based on the control signal indicating that the red LED light is ON in the unmanned vehicle and indicates the mission failure. A step of displaying a message and displaying a mission success message indicating the success of the mission based on a control signal indicating that the green LED light is ON in the unmanned aerial vehicle when the unmanned aerial vehicle succeeds in the mission.
Including,
The unmanned aerial vehicle is controlled by receiving a signal for controlling the flight of the unmanned aerial vehicle based on Arduino serial communication, and the unmanned aerial vehicle moves per hour at a predetermined power based on the Arduino installed in the unmanned aerial vehicle. The distance is calculated, the speed of the unmanned aerial vehicle is calculated based on the calculated distance, the driving of the unmanned aerial vehicle is controlled based on the calculated speed of the unmanned aerial vehicle, and the unmanned aerial vehicle generates magnetism in the electromagnet attached to the unmanned aerial vehicle. Is controlled, and a flight is performed on a map in which a plurality of different colored tiles are connected.
Programming teaching method using unmanned aerial vehicle (UAV).
삭제delete 삭제delete 제1항에 있어서,
상기 지도 정보를 제공하는 단계는,
상기 프로그래밍 영역에 배치될 블록의 개수를 제한하는 미션(mission) 및 함수의 사용을 포함시키는 미션(mission) 중 적어도 하나의 미션을 제공하는 단계
를 포함하는 무인 비행체(UAV)를 이용한 프로그래밍 교육 방법.
The method of claim 1,
Providing the map information,
Providing at least one of a mission limiting the number of blocks to be placed in the programming area and a mission including the use of a function
Programming education method using an unmanned aerial vehicle (UAV) comprising a.
제1항에 있어서,
상기 지도 정보를 제공하는 단계는,
재귀함수 기반의 반복 개념 및 분기문 개념 교육을 위한 미션(mission)을 제공하는 단계
를 포함하는 무인 비행체(UAV)를 이용한 프로그래밍 교육 방법.
The method of claim 1,
Providing the map information,
Providing a mission for training the recursive function-based iteration concept and branch statement concept
Programming education method using an unmanned aerial vehicle (UAV) comprising a.
삭제delete 삭제delete 삭제delete 무인 비행체(UAV)를 이용한 프로그래밍 교육 시스템에 있어서,
상기 무인 비행체와의 통신을 위한 통신 세션을 설정하는 세션 설정부;
상기 무인 비행체를 비행시키기 위한 지도(map) 정보를 제공하는 지도 정보 제공부;
상기 무인 비행체의 비행과 관련하여 미리 지정된 명령어를 포함하는 복수의 블록들을 프로그래밍 화면 상에 제공하는 블록 제공부; 및
상기 복수의 블록들을 대상으로 선택된 블록이 프로그래밍 영역에 배치됨에 따라, 상기 프로그래밍 영역에 배치된 블록에 기초하여 상기 무인 비행체의 비행을 제어하는 신호를 상기 통신 세션을 통해 상기 무인 비행체로 전송하는 전송 제어부
를 포함하고,
상기 무인 비행체(UAV)를 이용한 프로그래밍 교육 시스템은,
상기 무인 비행체를 이용한 프로그래밍 교육 시스템이 블록형 코딩(block coding) 방식을 기반으로 무인 비행체가 동작을 수행하도록 상기 복수의 블록들을 대상으로 선택된 블록을 원하는 순서로 나열하는 프로그래밍을 유도하여 사용자가 복수의 프로그래밍 요소를 학습하도록 제공하는 것을 포함하고,
상기 프로그래밍 영역은, 프로그래밍 영역과 블록 영역을 포함하고, 상기 블록들이 배치되는 함수 영역 및, 상기 블록들 및 함수 중 적어도 하나가 배치되는 메인(main) 영역을 포함하고,
상기 지도 정보를 제공부는,
색상 별로 역할이 다르게 지정된 서로 다른 복수개의 타일로 이루어진 지도 정보를 제공하고, 상기 지도 정보와 함께 프로그래밍 레벨에 해당하는 미션 정보를 제공하고, 프로그래밍 레벨이 올라갈수록 난이도를 반영하여 지도 정보를 다르게 제공하고, 상기 프로그래밍 레벨의 미션을 완료할 때마다 다음 레벨의 지도 정보를 제공하고, 동일 프로그래밍 레벨을 대상으로 복수의 지도 정보가 존재하는 것을 포함하고,
상기 미션 정보는, 프로그래밍 레벨이 올라갈수록 복잡한 프로그래밍이 가능하도록 조건을 포함하고,
상기 블록 제공부는,
미리 지정된 명령어를 포함하는 복수의 블록들을 프로그래밍 화면 중 블록 영역에 위치시키고, 전진 명령어, 우회전 명령어, 좌회전 명령어, 오브젝트(object) 들기 명령어, 오브젝트 내리기 명령어, 저공비행 명령어, 고공비행 명령어, 및 착지 명령어가 지정된 블록을 제공하고, 미리 지정된 프로그래밍 레벨이 증가할수록 상기 복수의 블록들의 개수를 증가시켜 제공하는 것을 포함하고,
상기 전송 제어부는,
이륙 지점부터 착지 지점까지 무인 비행체를 비행시키기 위해 블록 영역에 배치된 미리 지정된 명령어가 포함된 각 블록들 중 특정 블록들이 선택되고, 상기 선택된 블록들을 블록 영역에서 프로그래밍 영역으로 이동시키고, 상기 프로그래밍 영역으로 이동된 블록들을 기반으로 프로그래밍을 적용하고, 지도 정보에서 무인 비행체가 비행 동작 시, 무인 비행체에서 적색 LED 불빛이 온(ON)되었음을 나타내는 제어신호를 기반으로 미션이 실패하였음을 확인하고 미션 실패를 나타내는 메시지를 디스플레이하고, 무인 비행체가 미션을 성공한 경우, 무인 비행체에서 녹색 LED 불빛이 온(ON)되었음을 나타내는 제어신호를 기반으로 미션 성공을 나타내는 미션 성공 메시지를 디스플레이하는 것을 포함하고,
상기 무인 비행체는, 무인 비행체의 비행을 제어하는 신호를 아두이노(arduino) 시리얼 통신을 기반으로 수신하여 비행이 제어되고, 상기 무인 비행체에 설치된 아두이노를 기반으로 미리 지정된 전력에서 시간당 무인 비행체가 이동하는 거리가 계산되고, 계산된 거리를 기반으로 무인 비행체의 속력이 계산되고, 계산된 무인 비행체의 속력을 기반으로 무인 비행체의 구동이 제어되고, 무인 비행체에 부착된 전자석에 자성을 발생시켜 무인 비행체의 동작이 제어되고, 복수개의 서로 다른 색상의 타일들이 연결된 지도 위에서 비행을 수행하는
무인 비행체(UAV)를 이용한 프로그래밍 교육 시스템.
In the programming education system using an unmanned aerial vehicle (UAV),
A session setting unit for setting a communication session for communication with the unmanned aerial vehicle;
A map information providing unit that provides map information for flying the unmanned aerial vehicle;
A block providing unit that provides a plurality of blocks including a predetermined command related to the flight of the unmanned aerial vehicle on a programming screen; And
As a block selected for the plurality of blocks is disposed in a programming area, a transmission control unit for transmitting a signal for controlling the flight of the unmanned aerial vehicle based on the block disposed in the programming area to the unmanned aerial vehicle through the communication session
Including,
Programming education system using the unmanned aerial vehicle (UAV),
The programming education system using the unmanned aerial vehicle induces programming in which the selected blocks are arranged in a desired order so that the unmanned aerial vehicle performs an operation based on a block coding method. Includes providing to learn programming elements,
The programming area includes a programming area and a block area, and includes a function area in which the blocks are disposed, and a main area in which at least one of the blocks and functions is disposed,
The map information providing unit,
Provides map information consisting of a plurality of tiles with different roles assigned differently by color, provides mission information corresponding to the programming level along with the map information, and provides map information differently by reflecting the difficulty level as the programming level increases. , Whenever the mission of the programming level is completed, the map information of the next level is provided, and a plurality of map information exist for the same programming level,
The mission information includes conditions to enable complex programming as the programming level increases,
The block providing unit,
Positioning a plurality of blocks including pre-designated commands in the block area of the programming screen, forward command, right turn command, left turn command, object lifting command, object lowering command, low flying command, high flying command, and landing command Providing a designated block, and increasing the number of the plurality of blocks as the predetermined programming level increases,
The transmission control unit,
In order to fly the unmanned aerial vehicle from the take-off point to the landing point, specific blocks are selected among blocks containing pre-designated commands arranged in the block area, and the selected blocks are moved from the block area to the programming area, and then to the programming area. Programming is applied based on the moved blocks, and when the unmanned aerial vehicle is in flight operation in the map information, it is confirmed that the mission has failed based on the control signal indicating that the red LED light is ON in the unmanned vehicle and indicates the mission failure. Displaying a message, and when the unmanned aerial vehicle succeeds in the mission, including displaying a mission success message indicating the success of the mission based on a control signal indicating that a green LED light is ON in the unmanned aerial vehicle,
The unmanned aerial vehicle receives a signal controlling the flight of the unmanned aerial vehicle based on Arduino serial communication to control the flight, and the unmanned aerial vehicle moves per hour at a predetermined power based on the Arduino installed in the unmanned aerial vehicle. The distance is calculated, the speed of the unmanned aerial vehicle is calculated based on the calculated distance, the driving of the unmanned aerial vehicle is controlled based on the calculated speed of the unmanned aerial vehicle, and the unmanned aerial vehicle generates magnetism in the electromagnet attached to the unmanned aerial vehicle. Is controlled, and a plurality of different colored tiles are connected to each other.
Programming education system using unmanned aerial vehicle (UAV).
KR1020180112312A 2018-09-19 2018-09-19 Application system for teenager programming education using drones KR102185618B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180112312A KR102185618B1 (en) 2018-09-19 2018-09-19 Application system for teenager programming education using drones

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180112312A KR102185618B1 (en) 2018-09-19 2018-09-19 Application system for teenager programming education using drones

Publications (2)

Publication Number Publication Date
KR20200032984A KR20200032984A (en) 2020-03-27
KR102185618B1 true KR102185618B1 (en) 2020-12-02

Family

ID=69959304

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180112312A KR102185618B1 (en) 2018-09-19 2018-09-19 Application system for teenager programming education using drones

Country Status (1)

Country Link
KR (1) KR102185618B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102464163B1 (en) * 2022-06-29 2022-11-10 주식회사 씨앤케이에어로 Method, device and system for providing coding education content for drone control

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102213268B1 (en) 2020-10-08 2021-02-05 주식회사 조은에듀테크 Method and device for providing educational program using drone to prevent dementia
KR102563623B1 (en) 2023-03-02 2023-08-04 주식회사 인비전테크 Operation method of block-type coding assembly and robot device for dementia prevention

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101715621B1 (en) 2015-10-14 2017-03-27 (주)비즈맘 System for educating programming and method for driving the same
KR101764850B1 (en) * 2017-01-20 2017-08-07 (주) 알앤유 Kit for the drone training

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170123041A (en) * 2016-04-28 2017-11-07 부경대학교 산학협력단 System and Method for Interchanging Messages between Open Source Drone Hardwares and Web Users and Mobile Application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101715621B1 (en) 2015-10-14 2017-03-27 (주)비즈맘 System for educating programming and method for driving the same
KR101764850B1 (en) * 2017-01-20 2017-08-07 (주) 알앤유 Kit for the drone training

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
[누구나SW코딩교실]기초 엔트리 미션 해결하기. 네이버 블로그, [online], 2018.03.07., [2020.02.16. 검색], 인터넷 : https://blog.naver.com/kyutto/221224038888 1부.*
초등코딩교육 드론코딩으로 시작하기. 네이버 블로그, [online], 2018.02.05., [2020.02.16. 검색], 인터넷 : https://bestmember10.blog.me/221201222678 1부.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102464163B1 (en) * 2022-06-29 2022-11-10 주식회사 씨앤케이에어로 Method, device and system for providing coding education content for drone control

Also Published As

Publication number Publication date
KR20200032984A (en) 2020-03-27

Similar Documents

Publication Publication Date Title
US11217112B2 (en) System and method for supporting simulated movement
KR102185618B1 (en) Application system for teenager programming education using drones
KR102114917B1 (en) Coding education providing system using traveling robot
KR20180007199A (en) Coding education system, application system and providing meyhod thereof
Fairchild et al. ROS robotics by example
Yamamori Classroom practices of low-cost STEM education using scratch
JP6302956B2 (en) Formation setting device, formation setting method and formation setting program
KR101843831B1 (en) Unplugged Real Coding Block
Touretzky Computational thinking and mental models: From Kodu to Calypso
KR20200014650A (en) Tangible coding blocks system for physical programming in child of kindergarten and the lower grades elementary school
US20170371410A1 (en) Dynamic virtual object interactions by variable strength ties
Alves et al. Web based robotic simulator for tactode tangible block programming system
KR20190059068A (en) A puzzle assembling system for a grid map using augmented reality and the method thereof
CN109118884B (en) Teaching device of robot experiment course
US11127309B2 (en) Flight management system operator
KR102290951B1 (en) Remote robot coding education system
Cleaver et al. HAVEN: a unity-based virtual robot environment to showcase HRI-based augmented reality
US20220076587A1 (en) A computer program product and method for teaching computer programming
KR101505598B1 (en) Apparatus for educating a robot
KR102413130B1 (en) System and method for simulation of drone education based on real-time vr/mr of non-face-to-face multi-participation
KR102316227B1 (en) Probability calculation based block coding education service metho and system therefore
WO2021035691A1 (en) Unmanned aerial vehicle simulation method and simulation apparatus, and computer-readable storage medium
Yousuf et al. Drone Labs to Promote Interest in Science, Technology, Engineering, and Mathematics (STEM)
KR101673805B1 (en) Method and user device for setting relationship between bolck and iot device
Sosa et al. Imperfect robot control in a mixed reality game to teach hybrid human-robot team coordination

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant