아두이노를 활용한 프로젝트 기반의 임베디드 시스템 교육
초록
본 논문에서는 공학계열 학생들의 임베디드 시스템 수업 사례로 아두이노를 활용한 프로젝트 기반의 학습을 제안한다. 이러한 프로젝트 기반 학습을 공학교육에 도입함으로써 학생들은 전공 교과과정을 통해 학습했던 개별적인 이론들을 실제로 구현해 볼 수 있는 계기가 되었으며 프로젝트 개발의 전 과정에 참여함으로써 현장 실무능력을 쌓을 수 있는 경험을 하게 되었다. 수업 전후 프로젝트 기반 학습의 교육적 효과를 알아보기 위해 설문조사를 실시하였으며 그 결과를 SPSS 통계 프로그램을 이용하여 분석하였다. 프로젝트 기반 학습은 팀 체제로 운영이 되기 때문에 구성원들 간의 상호작용을 통하여 조직 내에서의 커뮤니케이션 능력과 팀워크를 키울 수 있는 바탕이 되었고 프로젝트의 수행과정에서 만들어진 모든 자료들은 학생들의 포트폴리오 제작에 사용될 수 있어 졸업 후 취업활동을 위한 자료에 큰 도움이 될 수 있었다.
Abstract
In this paper, we propose a project-based learning using Arduino as an example of embedded system class in engineering students. By introducing these Project-Based Learning(PBL) into engineering education, students became able to actualize individual theories that they had learned through their major curriculum and they were given the experience to build up their field work ability by participating in the whole project development process. We conducted a questionnaire survey to investigate the education effect of PBL before and after class and the results were analyzed using SPSS statistical program. Since PBL is mainly operated by a team system, communication skills and teamwork within the organization can be improved through interactions among the members. All of the materials produced during the course of the project could be used to make portfolio of students, which could be of great help to data for employment activities after graduation.
Keywords:
arduino, project-based learning, embedded system, engineering design process, open-source platformⅠ. 서 론
임베디드 시스템(Embedded System)이란 각종 전자제품이나 정보기기 등에 어떤 특정한 기능을 수행하고 제어하도록 추가로 내장된 시스템을 말한다. 전 세계적으로 임베디드 시스템 시장은 지속적으로 성장하고 있으며 산업용 IoT 애플리케이션의 발전을 위한 초석이 되어가고 있다. IoT 시장의 급속한 성장으로 인해 하드웨어, 소프트웨어 및 운영 체제공급 업체를 포함한 전체 임베디드 시스템 시장이 수혜를 입고 있다[1].
임베디드 시스템 기술의 필요성이 날로 높아지는 시점에 세계 시장에서의 경쟁력을 높이기 위해서는 임베디드 시스템에 대한 교육이 대단히 중요하다[2]. 임베디드 시스템 교육은 교육 내용이나 그 형식에 얽매이기 보다는 기능적이고 실용적인 교육에 더 가깝다고 할 수 있다[3].
이에 본 논문에서는 공학계열 학생들의 임베디드 시스템 교육의 사례로 아두이노를 활용한 프로젝트 기반의 학습을 제안한다. 프로젝트 기반 학습(PBL, Project Based Learning)은 많은 엔지니어링 교육 분야에서 표준이 되어왔다[4]. 학생들은 프로젝트 기반 학습을 통해 실제 결과물을 제작해봄으로써 이후 산업현장에서의 업무 수행능력, 문제해결 능력 등을 키울 수 있고 책임감, 협동정신, 도전정신 등을 경험해 볼 수 있는 좋은 기회가 된다.
최근 스타트업(Startup)들은 부담되는 프로토타입 제작비용으로 인해 복잡한 제품이 아닌 한 아두이노, 라즈베리파이, 갈릴레오 보드와 같은 싱글보드 마이크로컨트롤러를 이용한 임베디드 제품들을 제작하고 있다. 프로그래밍 교육, 캡스톤 디자인 등 공학교육에서도 아두이노를 적극 도입하여 다양한 수업에 대한 연구가 진행되고 있으며 사용의 편리성으로 인해 임베디드 시스템 교육의 실습 도구로 주목받고 있다[5]-[8].
본 저자가 소속한 학과의 1학년 교과과정에서는 C언어 프로그래밍, 전기전자회로, 마이크로프로세서 등의 수업이 진행된다. 이는 임베디드 시스템을 이해할 수 있는 기초 소양이 된다. 본 논문은 2학년 대상의 임베디드 시스템 수업의 사례로 오픈소스(Open-source) 플랫폼인 아두이노를 활용한 프로젝트 기반의 수업 과정을 소개한다. 수업 진행 후 프로젝트 수행과정 및 결과물 발표와 보고서, 학생들의 수업평가 설문지를 분석하여 프로젝트 기반 수업의 활용도를 제시한다.
Ⅱ. 관련 연구
2.1 오픈소스 플랫폼 - 아두이노
아두이노(Arduino)는 사용하기 쉬운 하드웨어와 소프트웨어를 기반으로 하는 오픈소스 플랫폼이다[9]. 아두이노는 이탈리아 북부의 이브리아(Ivrea)에 위치한 인터랙션 디자인 전문대학원(IDII, Interaction Design Institute Ivrea)의 교수였던 Massimo Banzi와 동료인 David Cuartielles가 공동으로 수행했던 프로젝트이다. 2005년에 첫 프로토타입 보드가 완성된 이후 수년에 걸쳐 아두이노는 일상적인 물건으로부터 복잡한 과학 도구에 이르기까지 수천 가지 프로젝트의 두뇌 역할을 해 왔다. 이 오픈 소스 플랫폼을 중심으로 학생, 애호가, 예술가, 프로그래머 및 전문가와 같은 세계적인 제작자 커뮤니티가 모였으며, 초보자 및 전문가 모두에게 도움이 될 수 있는 엄청난 양의 지식이 만들어졌다.
단순한 8bit 보드에서 출발한 아두이노는 최근에 IoT 애플리케이션, 웨어러블 기기, 3D 프린팅 및 임베디드 환경을 위한 제품으로 차별화하여 새로운 요구와 과제에 적응하기 위해 변화하기 시작했다. 그림 1은 아두이노 홈페이지에 공개된 현재까지 개발된 제품들의 라인업이다.
아두이노는 주로 Atmel사의 범용 RISC(Reduced Instruction Set Computer) 마이크로컨트롤러인 AVR을 사용해 만든 싱글보드 마이크로컨트롤러이다. 콜럼비아 출신의 Hernando Barragán가 개발한 와이어링(Wiring)에 기반한 프로그래밍 언어와 MIT 미디어랩의 Casey Reas와 Benjamin Fry가 개발한 프로세싱에 기초한 소프트웨어인 통합개발환경(IDE)을 사용한다.
아두이노는 간단하고 초보자도 사용하기 쉬운 덕분에 수천 개의 서로 다른 프로젝트와 응용 프로그램에 사용되었으며 교사와 학생들은 저렴한 비용의 과학 도구를 제작하고 프로그래밍 교육 및 로봇공학, 디지털회로 설계, 메카트로닉스 실습 등에 광범위하게 이용되고 있다.
본 논문의 임베디드 시스템 수업에서는 아두이노 보드 중에서 가장 기본이 되는 아두이노 우노(UNO)를 사용한다. 그림 2는 아두이노 우노 보드의 실물이며 표 1은 하드웨어 규격을 정리한 것이다.
2.2 프로젝트 기반 학습
프로젝트 기반 학습은 경험주의 교육과 존 듀이(John Dewey)의 철학에 그 뿌리를 두고 있다. 프로젝트 기반 학습은 학생들이 학습의 전 과정에 걸쳐 주도적 역할을 수행하며 주어진 문제에 대한 탐구 활동을 스스로 계획하고 실행하여 그 결과를 만들어 가는 교육과정이라 할 수 있다. 프로젝트 기반 학습을 통해 학생들은 내적 동기화, 책임감, 협동정신, 문제해결력, 다양한 탐구 정신과 표현능력, 체험적 학습경험 등을 하게 된다. 즉 프로젝트 기반 학습은 학생들에게 단순한 해답을 요구하지 않고 좀 더 창의적이고 도전적인 과제를 제공하여 문제해결을 위한 고차원적 사고 능력과 지식을 배양시킨다[10].
Ⅲ. 아두이노를 활용한 프로젝트 기반 교육
3.1 프로젝트 기반 수업 내용
아두이노를 활용한 프로젝트 기반의 수업은 크게 전반부와 후반부의 두 부분으로 나누어 진행된다. 전반부(1~7주차)에는 이후 프로젝트를 수행하는데 기본 기술이 될 센서, 액츄에이터, 통신 등에 집중하여 수업을 진행하였다. 구체적으로 살펴보면 아두이노를 다루는 기초가 되는 디지털 입/출력, 아날로그 입/출력에서부터 시리얼 통신, LCD, 모터(DC모터, 서보모터, 스테핑모터), 블루투스 통신, 이더넷 통신 등을 실습을 통해 익히게 하였는데, 자세한 내용은 표 2에 정리하였다.
3.2 프로젝트 기반 수업 과정
학생들은 학기의 전반부에 아두이노와 다양한 센서, 액츄에이터를 활용하여 제어 실습을 진행하였다. 이후 3~4명씩 팀을 구성하여 실제로 결과물을 제작하기 위해 프로젝트 기반의 수업을 진행하는데 그 과정은 표 3에서 제시하고 있는 전통적인 공학설계 절차를 따른다.
맨 처음 요구분석 단계에서는 본인들에게 주어진 과제와 현재 상황의 제약조건들을 파악하고 팀별로 개발하려는 최종 목표가 무엇인지 거기에 어떤 기능들을 포함할 것인지를 정의한다. 또한 이 단계에서 개인별 역할을 분담하고 주어진 자원과 시간을 고려하여 프로젝트 계획서를 작성한다. 그 다음으로 기능분석 단계에서는 본인들이 개발하려고 목표한 시스템에 대한 자료를 수집하고 연구를 진행한다. 이 과정에서도 팀 내에서 자신이 맡은 부분의 자료를 먼저 학습하고 협업을 위해 함께 모여 토론하는 시간을 갖는 것이 좋다.
설계 종합 단계에서는 브레인스토밍을 통해 가능한 해결책을 개발하고 잠재적 솔루션을 분석하며, 유망한 솔루션을 선택하고 프로토타입(Prototype)을 제작한다. 또한 프로토타입에 대한 테스트 및 평가를 진행하고 실제로 시스템을 구현한다. 이 과정에서 팀원들의 협업을 통해서도 해결할 수 없는 문제는 교수에게 질문을 통해 해결하도록 한다. 마지막으로 시스템분석 단계에서는 최종 개발된 시스템을 동작시켜보고 개선해야 할 부분이 있는지 검토하고 필요하다면 다시 설계한다. 이후 프로젝트 과정에서 만들어진 자료들을 정리하고 각 팀은 본인들이 개발한 프로젝트 결과물에 대해 발표하고 실제로 시연하는 시간을 갖는다. 또한 이를 정리한 보고서도 제출한다. 이때 교수는 프로젝트 결과물에 대한 평가 및 각 팀의 프로젝트 과정 전반에 대한 피드백을 제공한다.
3.3 프로젝트 수업 결과
학생들은 수업의 전반부에 아두이노를 활용하여 다양한 센서들과 엑츄에이터를 학습하였다. 이후 8주에 걸쳐 팀을 이루고 본인들이 스스로 결정한 목표 결과물을 만들어내는 프로젝트를 수행하였다. 그림 3은 전반부의 아두이노를 이용한 실습 장면이고 그림 4는 이를 바탕으로 실제 프로젝트 목표를 완성해가는 과정을 보여준다.
프로젝트 수행 후 각 팀별로 수행 과정에 대한 설명과 결과물에 대한 프리젠테이션을 진행하였고 두 팀을 우수 팀으로 선정하였다.
그림 5와 6은 우수 작품으로 선정된 IoT 공기청정기와 드론배송 무인수취함의 실물이다. IoT 공기청정기는 작품의 완성도와 팀원들 간의 역할 분담 및 협력이 우수하였고, 드론배송 무인 수취함은 도전적이고 창의적인 아이디어가 돋보였다.
- 아두이노 보드(Arduino Mega)로 미세먼지 센서(PPD42NS) 및 LED제어.
- 미세먼지 센서로 측정된 미세먼지 값에 따라 모터(Servo Motor)를 구동시켜 공기청정기 구동.
- 안드로이드 기반의 앱을 개발하여 미세먼지 값의 모니터링 및 시스템의 ON/OFF 제어.
- 개선방안 : 먼지세서 측정값의 편차가 심하므로 수집된 데이터를 일정한 시간 단위(5~10분)로 묶어서 평균을 내어 보정.
- 태양전지 판넬로 전원을 공급받아 동작하며, 모터(DC Motor) 제어와 블루투스(HC-06) 통신 구동을 위해 아두이노를 이용함.
- 드론이 무인 수취함에 접근하면 블루투스 통신을 통해 모터가 작동하여 상품을 수취하여 수취함으로 운반. 동력 전달부는 벨트 풀리(Belt Pulley)를 이용하여 제작.
- 개선방안 : 드론과 무인 수취함 상호통신 간 암호화 방안, 벨트 풀리의 평형상태 정렬 및 유지.
3.4 프로젝트 수업 분석 및 고찰
본 연구에서는 프로젝트 기반 학습에 대한 교육적 효과를 분석하기 위하여 강의 전과 후에 수업 만족도와 학습 성과 달성에 대한 설문지를 조사하였다. 본 수업을 수강한 학생들(57명)의 설문지를 조사하여 불성실한 답변을 제외하고 총 52명의 학생을 대상으로 분석하였다.
본 논문에서 수집한 자료는 통계분석 프로그램인 IBM SPSS Statistics 24 for Windows를 이용하여 동일집단의 두 표본에서 측정된 값을 검증하는 대응 표본 T-test를 실시하였다.
프로젝트 기반 수업에 참여한 학생들의 수업 만족도와 학습 성과에 대한 설문 결과 분석은 표4와 같다. 설문지는 총 10문항으로 구성하였으며 각 문항은 5점 척도 형식으로 이루어져 있다. 설문지는 수업에 대한 흥미도, 만족도, 이해도, 수업 내용의 적정성과 속도의 적당함 등을 측정하기 위하여 문항을 구성하였으며 또한 기존의 강의중심 수업이나 개인별 수업보다 효과가 있었는지, 실무 능력을 키우고 취업을 준비하는데 도움이 되었는지 등을 조사하였다.
설문지 분석 결과 전체 항목에서 수업 전보다 후에 평균값이 높게 나타났다. 10개의 문항 중에 한 문항을 제외한 9개의 문항(P<0.001-4문항, P<0.01-4문항, P<0.05-1문항)이 통계적 유의수준에서 차이가 있는 것으로 나타났으며 이것은 프로젝트 기반의 수업이 학생들의 수업 만족도 및 학습 성과에 도움이 되었다고 해석할 수 있다.
Ⅳ. 결 론
본 논문에서는 아두이노를 활용한 프로젝트 기반의 임베디드 시스템의 수업을 소개하였다. 학생들은 기존의 이론 중심의 수업이나 단편적인 실습 위주의 수업 진행보다 더욱 흥미와 관심을 가지고 수업에 참여하였으며 스스로 목표를 세우고 실행해나가는 과정을 통해 자기주도의 학습능력을 키우는 바탕이 되었다. 이러한 프로젝트 기반 학습을 적용한 교육과정을 공학교육에 도입함으로써 다음과 같은 유의미한 결과를 도출할 수 있었다.
첫째, 학생들이 전공 교과과정을 통해 학습했던 개별적인 전공이론들을 통합하고 실제로 구현해 볼 수 있는 계기가 되었다.
둘째, 프로젝트의 개발 목표를 설정하는 것에서부터 부품 선정, 설계, 개발도구 사용 등 프로젝트 개발의 전 과정에 참여함으로써 현장 실무능력을 쌓을 수 있는 경험을 하게 되었다.
셋째, 프로젝트 기반 학습은 주로 팀 체제로 운영이 되기 때문에 팀 구성원들 간의 상호작용을 통하여 조직 내에서의 커뮤니케이션 능력과 팀워크를 키울 수 있는 바탕이 되었다. 즉 타인의 의견을 존중하고 서로의 다른 견해를 조정하여 합의를 이끌어낼 수 있는 바람직한 태도를 형성할 수 있었다.
넷째, 프로젝트의 수행과정에서 만들어진 모든 자료들과 결과물은 학생들의 포트폴리오 제작에 사용될 수 있어 졸업 후 취업활동을 위한 자료에 큰 도움이 될 수 있었다.
References
- Market Report, "Embedded Systems in IoT 2017-2022", Mind Commerce, Jun), (2017.
- J. Y. Moon, C. G. Lee, and Y. S. Han, "Comparative Study on Algorithms of NXT-based Embedded Systems Using DEVS Formalism and SES Framework", Journal of KIIT, 11(11), p1-10, Nov), (2013. [https://doi.org/10.14801/kiitr.2013.11.11.1]
- M. Grimheden, and M. Törngren, "What is embedded systems and how should it be taught?— results from a didactic analysis", ACM Trans. Embed. Comput. Syst., 4(3), p633-651, Aug), (2005. [https://doi.org/10.1145/1086519.1086528]
- P. Jamieson, "Arduino for Teaching Embedded Systems. Are Computer Scientists and Engineering Educators Missing the Boat?", International Conference on Frontiers in Education: Computer Science and Computer Engineering, Apr), (2012.
- P. Bender, and K. Kussmann, "Arduino based projects in the computer science capstone course", Journal of Computing Sciences in Colleges, 27(5), p152-157, May), (2012.
- R. Grover, S. Krishnan, T. Shoup, and M. Khanbaghi, "A competition-based approach for undergraduate mechatronics education using the arduino platform", Proceeding of 4th Interdisciplinary Engineering Design Education Conference (IEDEC), p78-83, Mar), (2014. [https://doi.org/10.1109/iedec.2014.6784685]
- A. Araujo, D. Portugal, M. S. Couceiro, and R. P. Rocha, "Integrating Arduino-based educational mobile robots in ROS", Proceeding of 2013 13th International Conference on Autonomous Robot Systems (Robotica), p1-6, Feb), (2014. [https://doi.org/10.1109/robotica.2013.6623520]
- A. Elfasakha, E. Yanez, K. Baylon, and R. Salgado, "Design and Development of a Competitive Low-Cost Robot Arm with Four Degrees of Freedom", Modern Mechanical Engineering, 1(2), p47-55, Nov), (2011.
- Arduino website, https://www.arduino.cc/ Accessed: Sep. 15, 2017.
- E. Baumgartner, and C. J. Zabin, "A case study of project-based instruction in the ninth grade: A semester-long study of intertidal biodiversity", Environmental Education Research, 14(2), p97-114, Apr), (2008. [https://doi.org/10.1080/13504620801951640]
- M. W. Prairie, and R. Lessard, "Introducing Systems Engineering Concepts in a Senior Capstone Design Course", Proceedings of American Society for Engineering Education, p25.848.1-25.848.14, Jun), (2012.
1992년 2월 : 전남대학교 전자공학과(공학사)
1998년 2월 : 전남대학교 전자공학과(공학석사)
2012년 2월 : 전남대학교 전자정보통신공학과(공학박사)
2012년 ~ 현재 : 조선이공대학교 메카트로닉스과 조교수
관심분야 : 영상처리, 임베디드 시스템, RF-IC, IoT