> For the complete documentation index, see [llms.txt](https://docs.sysout.co.kr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sysout.co.kr/base-language/arduino/build-a-development-environment.md).

# 개발 환경 구축

## 개발 환경 구축

이 문서에서는 아두이노 개발을 위한 프로그램을 설치하는 방법에 대해서 살펴본다.

### 통합 개발 환경(IDE)

`IDE`란 `Integrated Development Environment`의 줄임말로 애플리케이션 개발에 필요한 도구들의 모음을 말한다. 많은 이용자들을 보유한 프로그래밍 언어들은 효율적으로 사용할 수 있는 `IDE`가 존재하며 아두이노 역시 개발 편의성을 위해 `IDE`를 제공한다.

### 설치 파일 다운로드

[공식 홈페이지](http://www.arduino.cc) 에 접속하여 아두이노 `IDE`를 다운로드한다.

![](/files/-Mf0NXKYaQyXprhr6Ew5)

현재 시점에서는 온라인과 오프라인 `IDE` 두 가지의 선택지가 있으며, 온라인 에디터는 회원가입 후 바로 이용이 가능하다. 오프라인 에디터는 설치 과정이 필요하기 때문에 오프라인 에디터를 설치하는 과정에 대해서 먼저 살펴본다.

![](/files/-Mf0NZQzMwkye_cfFrAM)

`Downloads`를 누른 뒤 나오는 화면에서 `Download the Arduino IDE` 를 찾은 뒤 원하는 운영체제와 버전에 맞게 다운로드를 누른다. 윈도우 기준으로 설치형, 무설치형, 앱 형태 총 3가지를 지원하며 이 문서에서는 무설치형을 다운받도록 한다.

![](/files/-Mf0NaAxBaoOrXSsps_P)

### 개발 도구 실행(오프라인 IDE)

원하는 위치에 압축을 해제하면 다음과 같은 파일로 구성되어 있음을 확인할 수 있다.

![](/files/-Mf0NbxDr4e0-O1iDjrL)

`arduino.exe` 파일을 실행하면 `IDE`가 실행된다.

![](/files/-Mf0NdOvkMO3wXbYcEAL)

### 아두이노 보드 연결(오프라인 IDE)

PC에 `아두이노 보드`를 연결하기 위해서는 아래의 USB 케이블을 사용한다.

![](/files/-Mf0NetL7dgnHmpnDucf)

케이블이 연결되었다면 개발도구에서 `툴` → `포트` → 연결된 포트를 선택 한다.

![](/files/-Mf0NgHe7AE1PSj4RKUT)

윈도우 10에서는 따로 드라이버 설치가 필요하지 않으나, 기타 OS에서 드라이버 설치가 필요할 경우 무설치판에서는 압축 해제 폴더의 `drivers` 폴더에 파일이 존재한다.

### 기본 예제 실행(오프라인 IDE)

아두이노 보드에는 기본 실행 가능 여부를 확인할 수 있도록 램프가 부착되어 있다. 이 램프를 구동하는 예제를 만들어 보드의 정상 작동 여부를 확인한다.

#### 예제 생성

파일 → 예제 → 01.Basics → Blink 선택하여 예제를 생성한다.

![](/files/-Mf0NhsrrBvGY_Usdn4c)

#### 코드 생성 확인

예제 생성 시 화면에 다음과 같은 코드가 나오는 것을 확인한다.

```cpp
/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}
```

#### 예제 컴파일 및 실행

연결까지 마쳤다면 생성한 예제를 실행해야 한다. 아두이노는 다음의 과정을 거쳐 실행된다.

* 스케치 → 컴파일(Ctrl + R)
* 스케치 → 업로드(Ctrl + U)

`컴파일`은 코드를 실행 가능한 형태로 변환하는 작업을 말하며, `업로드`는 컴파일된 코드를 기기에 탑재하는 것이다.

![](/files/-Mf0NrwFyL0kTXi36_Co)

컴파일과 업로드를 순서대로 진행하면 기기에서 코드가 작동한다.

### 개발 도구 실행(온라인 IDE)

온라인에서도 `IDE`를 이용할 수 있다. `Software` → `Online Tools` 를 선택하면 온라인 `IDE` 화면으로 이동한다.

![](/files/-Mf0NuSMZETANkxZU0HI)

제공되는 기능들은 가입 후 이용할 수 있으며, 어떠한 기능 버튼을 눌러도 로그인 화면으로 이동한다. `Arduino Web Editor`를 눌러 회원가입(로그인)을 진행한다.

![](/files/-Mf0NwZmamg-tyfq_xr_)

다음 화면과 같은 형태의 에디터가 표시되는 것을 확인할 수 있다.

![](/files/-Mf0O6sjsBkkE9sFlSkI)

### 장치 연결(온라인 IDE)

온라인 `IDE`에서 장치를 연결하려면 `Device Manager`를 이용해야 한다. 메뉴에서 `Device Manager`를 선택한다.

![](/files/-Mf0VQLzbhoICimpa-B7)

다양한 장치들을 연결할 수 있도록 기능을 제공하며, 현재는 아두이노 보드를 추가해야 하므로 `Add New Board`를 선택한다.

![](/files/-Mf0VS9OUPJOGhW1YCLD)

보드의 종류를 직접 설정할 수 있으며, 설정이 불필요할 경우 자동으로 장치를 찾도록 `Autodetect Arduino Board`를 눌러 계속 진행한다.

![](/files/-Mf0VU6tZESfSuyd3Kgi)

아두이노 연결 설정 화면이 나오며, `START`를 눌러 다음으로 진행할 수 있다.

![](/files/-Mf0VVU7lZbmQncWzV3E)

장치 연결을 도와주는 플러그인을 다운받는다.

![](/files/-Mf0VWzvlTGuPyLDEK8n)

다운받은 파일을 실행하여 플러그인을 설치한다. 설치가 완료되면 바로 다음 화면으로 진행된다.

![](/files/-Mf0VYdfnnqp1e_FG1wI)

![](/files/-Mf0VZlPQOY6X5KX54TG)

![](/files/-Mf0W1uhXfjcRkkEH8Ho)

![](/files/-Mf0W3DPIv7Y9L8fq_17)

![](/files/-Mf0W4ZXwIMP-fb3noiP)

방화벽 제외 설정을 해야 정상적인 기기 접근이 가능하다.

![](/files/-Mf0W5qkrLQOH8psBDCi)

추가적으로 필요한 드라이버 설치도 허용한다.

![](/files/-Mf0W7aAR3LEyLw1Rtas)

![](/files/-Mf0W8j-FY4zTD9NXp2j)

![](/files/-Mf0W9vIToCGnUuH2_z-)

설치가 완료되면 홈페이지가 갱신되며, 만약 정상적으로 설치되지 않은 경우 다음과 같은 화면이 나오므로 다시 시도한다.

![](/files/-Mf0WC39QXll3ccAhNn4)

정상적으로 인식되면 다음 단계를 진행할 수 있다.

![](/files/-Mf0WDaoOWuPqUimJomo)

다음 단계에서는 실제 장치를 연결해야 한다. 마찬가지로 장치가 감지되면 다음 단계로 이동할 수 있다. 만약 장치가 정상적으로 인식되지 않을 경우 USB 단자를 제거 후 다시 연결하면 정상적으로 인식된다.

![](/files/-Mf0WLQrjRaMUfVIOKNU)

### 기본 예제 실행(온라인 IDE)
