이 문서는 아두이노 보드를 사용하기 위해 필요한 프로그래밍 기초 지식이 없는 분들을 위한 가이드 문서입니다. 따라서 이미 프로그래밍에 대한 경험이 있다면 이 강좌 시리즈는 넘어가셔도 좋습니다.

=============================================================

아두이노는 C/C++ 프로그래밍 언어를 이용해 개발합니다. 하지만 이 문서에서는 특정 프로그래밍 언어에 종속적인 내용은 줄이고 공통적으로 사용되는 개념들을 소개하도록 노력했습니다.  아두이노 프로그래밍에 종속적인 부분들은 본문에 별도로 언급하겠습니다.

1. 아두이노를 움직이기 위한 과정

꼭 아두이노가 아니더라도 프로그래밍을 한다는 것은 우리가 생각하고 구현하고자 하는 것을 ‘설계’하는 과정입니다. 그리고 설계를 위해서 특별히 고안된 프로그래밍 언어를 사용합니다. 프로그래밍 언어로 작성된 설계 결과물이 ‘소스코드’입니다. 아두이노에서는 이 소스코드를 특별히 스케치(Sketch)라고 부릅니다만, 스케치는 아두이노에서 부르는 ‘공식적인 애칭’과 비슷한 단어이므로 일단 이 강좌에서는 소스코드라 부르겠습니다. 아두이노 개발환경(IDE, Integrated Development Environment)을 설치하고 실행하면 소스코드를 작성할 수 있는 에디터 화면이 보입니다. 여기에 우리가 하고싶은 작업들을 프로그래밍 언어를 이용해서 ‘설계’를 하는 것이(=소스코드를 만드는 것) 아두이노를 사용하는 첫 과정입니다.

하지만 이렇게 소스코드를 작성하는 것은 순전히 사용자의 편의를 위한 것입니다. 아두이노 보드에는 보다 단순한(기계어라고 하죠) 형태로 번역해서 알려줘야 합니다. 이 과정이 컴파일 과정입니다. 컴파일 과정은 버튼 하나만 누르면 아두이노 개발환경이 알아서 해주므로 우리가 신경쓸 필요는 없지만, 만약 사용자가 작성한 소스코드에 틀린 부분이 있다면 이 과정이 완료되지 않고 오류를 알려줍니다. 그럼 오류 메시지를 보고 잘못된 부분을 고쳐야합니다.

컴파일(번역) 과정이 완료되면 이제 번역된 결과물을 아두이노 보드에 전달해 줘야 합니다. 이 과정이 업로딩 과정입니다. 아두이노 개발환경에 있는 업로딩 버튼을 누르면 이 과정이 실행되는데, 실제로는 컴파일+업로딩 과정이 동시에 진행되도록 되어 있습니다.

업로딩 과정이 완료되면 아두이노 보드는 우리의 ‘설계’대로 움직입니다. 아두이노가 동작하면서 오류가 발생할 수도 있고 잘못된 결과물이 나올수도 있습니다. 그것은 우리가 잘못된 ‘설계’를 했기 때문입니다. 다시 처음으로 돌아가 설계상의 오류를 고쳐야겠죠. 이 과정을 반복하면서 설계를 수정하는 것을 디버깅이라고 합니다.

이상의 과정은 아두이노 뿐만 아니라 일반적인 프로그래밍의 과정이기도 합니다.

2. 정리

정리해 보죠. 아두이노를 우리의 생각대로 움직이기 위해서는 아래 과정을 반복해야 합니다.

– 설계서 작성, 수정 -> 기계어로 번역 -> 아두이노에 전달 -> 아두이노 동작

– 소스코드(스케치) 작성, 수정 -> 컴파일 -> 업로딩 -> 아두이노 동작

다음 장에서부터는 본격적으로 설계(프로그래밍)를 위한 기술들을 하나씩 얘기해 보겠습니다.

=============================================================

이 문서는 작성자의 동의없이 개인적인 목적 외의 상업적인 목적으로 활용되어서는 안됩니다.

이 문서의 일부 혹은 전체를 수정, 삭제, 재배포 하여서는 안됩니다.

작성자 : GodsTale (godstale@hotmail.com)