01 아두이노코딩및프로젝트준비작업 학습목표 아두이노프로젝트활동에필요한 H/W 및 S/W 설치작업을완료한다. 아두이노의역사와기능에대해이해한다. 실습개요 아두이노의용도와기능에대해살펴한다. 아두이노 S/W 개발툴을설치한다. USB 드라이버를설치한다. 아두이노연결상태를확인한다. - 1 -
준비물 아두이노보드, 올인원쉴드, USB 연결케이블 아두이노우노보드 올인원쉴드 - 2 -
1.1 아두이노 (Arduino) 란? 아두이노탄생배경 아두이노는 2003 년이탈리아의 Interaction Design Institute Ivrea (IDII) 학생들의수업을위해개발이시작된오픈소스프로젝트의결과물이다. 초기프로젝트팀에는 Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino와 David Mellis 등이참여하였으며이들이프로젝트모임을위해만난장소는이탈리아 Ivrea에있는술집인데, 이술집의이름이 Arduin of Ivrea 이었다. Arduin of Ivrea 은 1002 년부터 1014 년까지이탈리아 Ivrea 지역을통 치한후작 (Margrave) 의이름으로서, 이러한이유때문에아두이노가이탈 리아왕의이름을의미한다고도알려져있다. 아두이노 (Aruino) 라는공식상표는 5명의아두이노참여팀원들이 2008년 Arduino LLC라는회사를설립하면서만들어졌으나, 미국이외의지역에서의아두이노상표권은 Arduino SRL이라는회사가가져감으로써, 미국이외의지역에서 Arduino 라는상표를사용하지못하는문제가발생을하였다. 이로인해 Genuino 라는새로운상표를만들어서사용하기시작을하였다. 하지만이두회사는 2016년합병을하게됨으로써, Arduino 와 Genuino로분리되어있던아두이노상표권문제는결국마무리되었다. - 3 -
아두이노에대한오해 구글검색에서 Arduino라는단어로검색을하면아래의사진에있는제품이가장많이표시되는것을볼수있다. 이제품은수많은아두이노지원보드제품중에서가장많이알려져있는아두이노우노 (Arduino Uno) 제품으로서, 단지아두이노지원보드중에서가장보편적인보드일뿐아두이노그자체를정의하는것이아니다. 일반인들에게대표적으로알려져있는아두이노우노보드 - 4 -
아두이노의구성요소 그렇다면, 아두이노의정체는무엇일까? 아두이노는크게 3 가지종류의구 성요소로이루어져있으나, 핵심은 SW 라이브러리를의미한다. 구성요소 SW 라이브러리개발툴 (IDE) 하드웨어보드 설명 Arduino.h 라는이름으로사용되는 SW 라이브러리로서, 복잡한 AVR 명령어기능들을쉬운 C언어기반의함수로정의해놓은것이다. 실제아두이노프로젝트의가장핵심적인결과물이며, 아두이노그자체라고도부를수있다. 흔히스케치코드라고부르는아두이노코드를작성하는개발툴이다. 이툴은아두이노프로젝트팀에서개발한것이아니라 MIT에서 C언어교육용으로개발하여배포하고있는프로세싱이라는교육용 SW 개발툴을가져다사용한것이다. 아두이노우노보드와같은아두이노라이브러리를지원하는하드웨어보드를의미한다. 다양한아두이노 H/W 보드종류들 - 5 -
아두이노와라즈베리파이의차이점 아두이노보드와라즈베리파이보드는일반인이보기에비슷한것처럼보 이지만아주큰차이점을가진다. 라즈베리파이는컴퓨터로분류되지만아두이노는컴퓨터가아닌마이크로 컨트롤러 ( 일명마이컴이라부름 ) 로분류되기때문이다. 아두이노 라즈베리파이 마이크로컨트롤러이다. OS가없으며, 메모리에저장된하나의프로그램이바로실행된다. 키보드나마우스같은입출력장치를연결할수없다. 비전문가를위한임베디드장치개발용으로만들어졌다. 임베디드기반창작작품이나 C언어교육용으로활용된다. 컴퓨터이다. OS( 리눅스, Windows 10) 를설치할수있다. 키보드나마우스같은입출력장치가연결된다. 개발도상국에저렴한비용의컴퓨터를보급하기위해만들어졌다. OS나보안, 네트워크교육용으로주로활용되고있다. - 6 -
4 차혁명시대를대비한아두이노활용직무훈련의필요성 기업형태의변화 ( 직장형태및직장에서의역할의변화 ) 기존의기업형태 다가올미래에서의기업형태 많은인원이모여규모화된기업활동 역할전문화및세분화 개인또는소수인원의네트워크화 개인이개발의전과정역량보유요구 기획 / 설계 / 개발 / 테스트 / 생산전과정에대한프로젝트형체험및실습필요 시장의요구에민첩하게대응할수있는훈련및생산역량필요 C 언어 / 전자회로 / 납땜등개별적인 기술지식및훈련위주의교육 아이디어도출 / 프로젝트기획 / 자료수집 / 디자인 / 설계 / 개발 / 테스트 / 생산전과정에대한프로젝트수행교육 아두이노활용프로젝트형수행교육은미래시대를대비하기위한가장효과적인직무개발및직무교육과정으로활용될수있음 - 7 -
1.2 초보자용아두이노코딩 SW 설치 코딩 SW 의종류 아두이노코딩을하기위해서는아두이노라이브러리를사용할수있는개 발환경이필요하다. 아두이노라이브러리는기본적으로 C 언어로작성되어있다 ( 엄밀히말하면 AVR C++ 언어로작성되어있음 ). C 언어로라이브러리가작성되어있긴하지만여전히일반인이사용하기에 는어려운문제점이있으며, 이를해소하기위해다양한보완툴들이계속 만들어지고공급되고있다. 아두이노공식홈페이지에서 배포하는 IDE 툴 헬로앱스에서배포하는 초보자용코딩 SW 툴 - 8 -
무료 C/C++ 언어로만개발 코드공유기능없음아두이노공식홈페이지에서배포하는 IDE 툴 유료 ( 무료체험판사용가능 ) 블록 / 스크립트 /C언어/C++ 언어지원 사용자수준별로언어선택가능 블록이나스크립트코딩시실시간 C언어생성기능지능 교사와학생간코드공유기능지원 아두이노시뮬레이터기능지원헬로앱스에서배포하는초보자용코딩 SW 툴 초보자용코딩 SW 설치 초보자용아두이노코딩 SW 는아래의페이지에서다운로드가능하다. http://www.helloapps.co.kr/download/ - 9 -
아래의페이지에서오른쪽에있는다운로드아이콘을클릭하여최종버전 의아두이노코딩 SW 를다운로드받는다. 다운로드받은설치파일을마우스로클릭하여설치를진행한다. 특별히선 택할사항은없으며, 다음버튼을계속눌러주면설치가마무리된다. - 10 -
USB 드라이버설치 모든아두이노보드들은컴퓨터에연결하기전에반드시 USB 드라이버가 설치되어있어야하며, 매번설치할필요없이맨처음한번만설치해주 면된다. 초보자용코딩 SW가설치되고나면, 바탕화면에 SPL 폴더가만들어진다. SPL 폴더에서맨아래에있는 아두이노우노보드 USB 드라이버 (64bit) 파일을클릭하여설치를진행한다. 만약컴퓨터의 OS가 32비트라면오류가발생할것이다. 이경우에는 아두이노우노보드 USB 드라이버 (32bit) 파일을클릭하여설치를진행해주면된다. 주의사항 USB 드라이버설치전에아두이노보드를컴퓨터에연결하면않된다. 반드 시 USB 드라이버를먼저설치한후에아두이노보드를컴퓨터에연결해주 어야설치작업이마무리될수있다. - 11 -
아두이노보드연결하기 아두이노우노보드를 USB 케이블을이용하여컴퓨터와연결해준다. 아두이노보드가컴퓨터에맨처음연결되는순간, 컴퓨터에서남아있는 USB 드라이버설치작업이자동으로진행되며, 10 초 ~ 20 초정도시간이 지나면설치작업이마무리된다. 주의사항 USB 드라이버를컴퓨터에연결한후, 진행되는 USB 드라이버설치마무리작업은따로눈에보이지않는다. 설치작업이끝나면조그만팝업창으로준비되었다는메시지창이보일수도있고그렇지않을수도있기때문에, USB 케이블연결후, 잠시기다렸다가프로그램을실행시켜주어야한다. - 12 -
코딩 SW 실행하기 아두이노 USB 설치및케이블연결작업이끝나고나면, 이제아두이노용코딩 SW를실행시켜보자. 바탕화면의 SPL 폴더를살펴보면 SPL for 아두이노 항목이보일것이다. 이항목을클릭하여프로그램을실행시킨다. 제품키를입력하는창이표시되면체험판으로활성화버튼을클릭하거나 제품키를입력하고제품활성화버튼을클릭한다. - 13 -
코딩편집기에명령어를한글로표시할지아니면영어로표시할지선택하 는창에서영어로표시를선택한다. - 14 -
참고자료 SPL은 EPL (Educational Programming Language) 의한종류로서, Simple Programming Language의약자이다. C언어를 BASIC 언어처럼사용하기쉽게정의한언어로서, 아래의표는기존 C언어코드를 SPL 언어로표시한예를보여준다. C 언어 SPL 언어 int a = 0; for (int i = 0; i < 10; i++) { a = a + 1; } a = 0 for (i = 0; i < 10; i++) { a = a + 1 } 아두이노연결상태확인하기 프로그램실행후, 아두이노보드가정상적으로인식되었다면, 다음과같이 프로그램상단에아두이노보드종류와 COM 포트가표시되어있어야한 다. - 15 -
주의사항 아두이노보드가 Arduino Uno 로선택되어있는지반드시확인한다. 보 드종류가다르면프로그램이아우이노보드로정상적으로업로드되지않 는다. COM 포트를눌러서 COM 포트에여러포트들이표시될경우, 맨마지막에있는포트가선택되어있는지확인한다. 만약아두이노프로그램업로드시아두이노보드에정상적으로업로드가되지않는다면, COM 포트를다른포트로변경해보기바란다. 스크립트나 C 언어입력모드 프로그램을새로작성하거나기존프로그램을불러올경우, 코드의내용을 블록또는스크립트 (C 언어포함 ) 모드로열어서보거나편집할수있다. 블록으로개발된코드를스크립트로볼수있으며, 반대로스크립트나 C 언 어로개발된코드를블록으로열어서볼수도있다. - 16 -
프로그램실행하기 아두이노개발환경은실질적으로 C언어이다. 사용자가블록코딩이나스크립트형태로개발하든결과물은반드시 C언어로변환된후, 컴파일되어야한다. SPL 코딩 SW는블록코딩이나스크립트로개발된코드를자동으로 C언어로변환을시킨다. 개발된 C 언어는컴파일과정을거쳐바이너리파일 (HEX 파일 ) 로생성되 며, 이파일을아두이노보드에업로드시키면아두이노보드에서실행되 게된다. 현재상태의비어있는기본프로그램을다음과같이실행버튼을클릭하여 업로드해보자. - 17 -
업로드결과확인하기 아두이노코딩툴의상단메뉴에서실행버튼을클릭한후, 다음과같이콘 솔창이뜨면서조금기다리면, 많은라인의결과들이화면에표시된다. 주의사항 콘솔창이표시된후, 콘솔창내부에위와같이메시지가표시되지않고다 르게표시된다면, 업로드가진행되지못한경우이다. 업로드실패원인 1 스크립트오류발생 ) 작성한프로그램에오류가있는경우에는위와달리 error: 라는단어가표시된문자열이표시된다. 콘솔창의메시지에 error: 표시가있다면프로그램에오류가있는경우이므로반드시오류를수정한후, 업로드하기바란다. - 18 -
업로드실패원인 2 아두이노보드미연결 ) 아두아노보드가연결되지않았습니다 라고메시지가뜨는경우는해당컴포트를인식하지못하였거나실제로아두이노보드와컴퓨터가연결되지않은경우이다. USB 케이블을연결하거나케이블을뺐다가다시연결한후, 업로드를실행해보기바란다. 업로드실패원인 3 아두이노보드선택오류 ) 콘솔창에서오랜시간이경과된후, 메시지가표시되는경우인데, 아두이노보드를다른종류로선택하여실행을한경우이다. 아두이노보드종류가 Arduino Uno로되어있는지다시한번확인해보기바란다. 업로드실패원인 4 COM 포트선택오류 ) 실패원인 3과비슷한경우로서, 아두이노보드의종류가정상적으로선택되어있다면, COM 포트에 COM 포트가여러개가있는지화인해보아야한다. 보통맨마지막에있는 COM 포트를선택하여진행하면정상적으로잘진행되는데, COM 포트를다른것을변경한후, 업로드를진행해보기바란다. - 19 -
1.3 전문가용아두이노코딩 SW 설치 아두이노 IDE 다운로드 전문가용아두이노코딩 SW는아두이노홈페이지에서다운로드받을수있다. 이툴은아두이노 IDE (Integrated Development Environment) 라고불리며, IDE 툴로만들어진소스코드를우리가보통스케치라고부른다. 따라서통상스케치개발툴이라고도불린다. 스케치코드를개발하는아두이노 IDE 툴은 MIT에서개발한프로세싱 (http://www.processing.org) 이라는 C언어교육용 SW에서사용중인개발툴로서, 아두이노그룹이이개발환경을가져다사용하고있다. 프로세싱에서만든소스코드도동일하게스케치라고불리기때문에스케치코드는아두이노에서만사용되는것이아니라는것에유의하기바란다. 아래의경로에접속하여아두이노 IDE 툴을다운로드받는다. https://www.arduino.cc/en/main/software - 20 -
Arduino IDE 다운로드화면에서두번째항목인 Windows ZIP file for non admin install 항목을클릭한다. Windows 용설치파일의비교 Windows Installer USB 드라이버까지자동으로설치해준다. PC 에관리자권한이있는경우에만설치가능 Windows ZIP file for non admin install 설치과정없이압축을아무폴더에나풀기만하면실행가능 USB 드라이버를따로설치해주어야한다. PC에관리자권한이없어도설치가가능하다. - 21 -
JUST DOWNLOAD 링크를클릭한다. 다른이름으로저장항목을클릭한후, 파일을저장하고자하는아무폴더 나지정한다. - 22 -
다운로드받은 zip 파일의압축을푼다. 주의사항 다운로드받은 zip 파일을더블클릭하지말고, 반드시압축을푼후에압축이풀린폴더로이동하여프로그램을실행해야한다. 압축을풀지않고 zip 파일을더블클릭하는경우에도 zip 파일의내용이폴더에보이게되는데, 사용자가이상태에서아두이노편집기파일을실행하게되면정상적으로실행되지않는다. USB 드라이버를설치하기전에는아두이노보드를아직 PC 에연결시키지 말고분리시켜놓는다. - 23 -
USB 드라이버설치 압축이풀린폴더로이동하면다음과같이파일들이보일것이다. 이목록 에서 drivers 라는폴더로이동한다. 윈도우 OS 종류에맞게해당 USB 드라이버설치파일을실행해준다. - 24 -
아두이노보드연결하기 아두이노우노보드를 USB 케이블을이용하여컴퓨터와연결해준다. 아두이노보드가컴퓨터에맨처음연결되는순간, 컴퓨터에서남아있는 USB 드라이버설치작업이자동으로진행되며, 10 초 ~ 20 초정도시간이 지나면설치작업이마무리된다. 주의사항 USB 드라이버를컴퓨터에연결한후, 진행되는 USB 드라이버설치마무리작업은따로눈에보이지않는다. 설치작업이끝나면조그만팝업창으로준비되었다는메시지창이보일수도있고그렇지않을수도있기때문에, USB 케이블연결후, 잠시기다렸다가프로그램을실행시켜주어야한다. - 25 -
프로그램실행하기 이전폴더로돌아가면아두이노압축이풀린폴더에 arduino.exe 라는실 행파일을볼수있을것이다. 이 exe 파일을실행한다. 툴 -> 보드 -> Arduino Uno 보드를선택한다. - 26 -
포트를선택한다. 포트가여러개인경우, 마지막포트를선택하거나 Arduio 라고표시된포트를선택한다. 예제실행하기 파일 -> 예제 -> 01.Basic -> Blink 예제를오픈한다. - 27 -
예제파일의내용을확인해본다. 왼쪽위에있는아이콘메뉴중에서다음그림과같이오른쪽화살표아이콘을클릭하여프로그램을아두이노보드에업로드해준다. 정상적으로업로드가완료되고나면화면아래콘솔창에업로드완료라는메시지가표시된다. - 28 -