아두이노 팁 #1. Visual Studio Code 아두이노 환경설정
Lucy Archive
Lucy / Facilitate4U
2020. 6. 24. 01:57

Visual Studio Code 아두이노 환경설정Visual Studio Code 아두이노 환경설정

 Visual Studio Code(VS Code)로 아두이노 프로그래밍하기

  본 포스트의 내용은 아두이노 프로그래밍을 위해서 필수로 필요한 부분이 아닙니다.

Arduino IDE 로 프로그래밍을 하다가 좀 더 쾌적한 환경에서 프로그래밍

을 하고 싶은 필요성이 생기면 참고하시면 됩니다. 

  Arduino IDE 외에 다른 에디터로 아두이노 프로그래밍이 가능합니다. Visual Studio Code, Atom, Vim, Sublime Text, Visual Studio, Atmel Studio. Eclipse.. 등등 정말 다양한 환경에서 개발이 가능합니다. 개인적으로는 Visual Studio Code가 아래와 같은 장점을 가지고 있어, 이후 확장성을 위해서도 Visual Studio Code로 사용하시길 권장합니다. 

Visual Studio Code 장점

  • 무료
  • 2020 점유율 1위의 에디터로 추후 업데이트도 계속 지원 예상됨
  • 윈도우, 리눅스, 맥OS 모두 지원 가능
  • MS가 열심히 관리함
  • 심플한 디자인
  • 다른 언어들도 동시에 개발 가능함
  • 편리한 에디팅 기능
관련포스트

Visual Studio Code 로 아두이노 프로그래밍시 장점을 소개하는 포스트입니다.

2020/07/15 - [Arduino/Basic] - 아두이노 팁 #2. Visual Studio Code로 아두이노 프로그래밍 장점 (feat. Arduino IDE 불편해)

VIsual Studio Code 로 아두이노 코딩 방법 소개 및 활용 팁 포스트입니다.

2020/07/16 - [Arduino/Basic] - 아두이노 팁 #3. Visual Studio Code로 아두이노 코딩 사용법과 나노팁

Visual Studio Code 로 아두이노 보드 디버깅 환경 설정 및 실행 방법 설명 포스트입니다.

2020/07/18 - [Arduino/Basic] - 아두이노 팁 #4. Visual Studio Code로 아두이노 우노 디버깅 환경 설정 및 실행



개요 : VSCode 사용 장점

기존 Arduino IDE 로 복잡한 코드를 작성하게 되면 아래와 같은 기능 제약이 있어 한계를 느끼게 됩니다.

  • 낮은 코드 가독성
  • 코드 자동 완성 기능 없음
  • 코드 탐색 기능 없음
  • 디버깅모드 없음

 물론 개발 환경을 바꾸지 않더라도 Arduino IDE 환경 설정 또는 프로그래밍 기법으로 어느 정도 개선이 가능 합니다. 

  • 낮은 코드 가독성 : Arduino IDE 자체의 환경 설정으로 개선 가능 -> 클릭
  • 코드 자동완성 기능 없음 : IDE 자체 대한이 없음
  • 코드 탐색 기능 없음 : IDE 자체 대안이 없음
  • 디버깅모드 없음 -> 프로그램

Visual Studio Code 의 Arduino Extention 을 이용하면 아래의 장점이 있습니다.

  • 🧡 코드 자동 완성
  • 🧡 코드 탐색 기능
  • 구문 색상 표시
  • 빌드 및 업로드
  • 디버그 모드 가능 (제약이 있음)
  • 기본 Arduino IDE에서 제공되는 예제, 라이브러리 관리자 등의 대부분 기능 지원

개발 환경 구성

Arduino IDE 설치

Visual Studio Code 로 Arduino 개발환경을 구성하기 위해, Arduino IDE 설치를 하셔야 합니다. Arduino IDE 는 아래 링크에서 Arduino Installer 로 설치를 진행하셔야 합니다. 설치 과정은 생략 합니다.

  • Arduino IDE 다운로드 링크 -> 클릭

Visual Studio Code 설치

Visual Studio Code 는 각 운영체제에 맞게 다운로드하여 설치 하시면 됩니다. 설치 과정은 생략 합니다. 다만, 아래의 설치 옵션은 참고해주세요. 개인적으로는 2,3번쨰 체크박스는 선택하시기를 권장합니다.

VScode 설치 옵션VScode 설치 옵션


폴더 VScode 로 열기2,3번 체크 결과 : 폴더 VScode 로 열기

VScode 에서 Arduino Extention 설치

VScode 에서 Arduino Extention 설치 하는 순서는 아래와 같습니다.

  • 좌측 사이드바에서 'Extention' 아이콘 클릭
  • 검색 칸에 Arduino 검색
  • 검색된 Extention 중 Arduino for Visual Studio Code 선택
  • Install 클릭하여 설치

VScode 아두이노 환경 설정하기

권장하는 설정 순서는 아래와 같습니다.

  • VScode 에서 <Ctrl + ,> 로 설정화면 진입
  • Extentions 클릭 -> Arduino configuration 클릭
  • Edit in settings.json 클릭
  • settings.json 에 아래의 코드 삽입

입력 코드는 아래와 같습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
    "arduino.path""C:/Program Files (x86)/Arduino",
    "arduino.commandPath""arduino_debug.exe",
    "arduino.logLevel""info",
    "arduino.allowPDEFiletype"false
    "arduino.enableUSBDetection"true,
    "arduino.disableTestingOpen"false,
    "arduino.skipHeaderProvider"false,
    "arduino.additionalUrls": [
        "https://raw.githubusercontent.com/VSChina/azureiotdevkit_tools/master/package_azureboard_index.json",
        "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
    ],
    "arduino.defaultBaudRate"115200
}
cs

✔ 아두이노 설정 코드에서 arduino.path 의 값이 자신의 PC에 아두이노 설치된 경로가 맞는지 확인이 필요합니다.

프로젝트 생성, 빌드, 다운로드

프로젝트 생성부터 다운로드 순서는 아래와 같습니다. 아래의 순서를 시작하기 전에, 사용할 보드와 PC를 USB 연결한 상태에서 진행하시길 추천 드립니다. 

  • 윈도우 탐색기에서 아두이노 프로젝트를 진행할 폴더를 생성
  • 폴더 마우스 우클릭 메뉴에서 code(으)로 열기를 클릭
  • F1 클릭 후 arduino initialize 를 선택
  • 원하시는 파일명을 입력 합니다. 디폴트로 app.ino 로 설정
  • 보드와 포트를 설정
  • 코드 작성 후 업로드 버튼 클릭

작업 폴더에서 Code 로 열기작업 폴더에서 Code 로 열기

Arduino 프로젝트 초기화Arduino 프로젝트 초기화

Arduino 보드 선택Arduino 보드 선택

사진의 작성 코드는 아래와 같습니다. Arduino Uno 에 내장된 LED를 500ms 간격으로 깜빡이게 합니다. 코드 작성에 대한 내용은 이후의 포스트에서 진행할 예정입니다. 지금은 VSCode 를 사용하여 아두이노 개발환경 설정 확인 하는 용도로만 생각해주시면 됩니다. 

1
2
3
4
5
6
7
8
9
10
void setup()
{
    pinMode(13OUTPUT);
}
 
void loop()
{
    digitalWrite(13!(digitalRead(13)));
    delay(500);
}
cs

작성한 프로그램이 정상적으로 보드에 다운로드 되면 아래 그림과 같이 Arduino Uno 보드에 LED가 정상적으로 깜빡이는 것을 확인 할 수 있습니다.


추가 설정

따라오시느라, 고생 많으셨습니다. 이후 더욱 쾌적환 환경에서 아두이노 개발을 위해 아래의 설정을 추가로 진행 하시길 추천 드립니다. 아래의 json 설정 파일 코드를 복사해서 붙혀넣으실 경우 주석 부분은 제거 후 복사하시기 바랍니다.

빌드 출력 파일 경로 지정

빌드 결과 폴더를 지정하기 위해 .vscode/arduino.json 파일을 수정합니다. 빌드 결과 폴더를 지정하지 않아도 빌드 및 보드 업로드에 문제가 없습니다. 하지만, 빌드 결과 폴더 지정 안되있을 경우 빌드시 임시 폴더를 생성하므로 시간이 추가적으로 소요되고, 결과물 파일을 찾을 수 없는 단점이 있습니다.

Line 6 : 빌드 결과 저장 폴더를 지정코드를 추가합니다.

1
2
3
4
5
6
7
// .vscode/arduino.json
{
    "sketch""app.ino",
    "board""arduino:avr:uno",
    "port""COM3",
    "output"".\\build" // 빌드 결과 저장 폴더 
}
cs

build 출력 폴더 설정build 출력 폴더 설정

#Include 헤더 오류 해결

아래 그림과 같이 #include 오류가 발생은 includePath 에 오류가 있어 발생합니다. 이 문제는 .vscode/c_cpp_properties.json 파일에 적절한 헤더를 추가하여 해결이 가능합니다. 추후 라이브러리 추가시 이 .vscode/c_cpp_properties.json에 라이브러리 경로를 추가해주셔야 합니다.

includePath 오류includePath 오류

Line 9 : 추가 헤더 파일 경로를 지정

Line 10 : 추가 헤더 파일 경로를 지정, 해당 경로의 {7.3.0} 숫자는 아두이노 설치 버전에 따라 다를 수 있어, 탐색기로 해당 경로가 맞는지 확인이 필요

Line 16~17 : serial 클래스 사용시 헤더 오류를 해결 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// .vscode/c_cpp_properties.json
{
    "configurations": [
        {
            "name""Win32",
            "includePath": [
                "C:\\Program Files (x86)\\Arduino\\tools\\**",
                "C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\**",
                "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\avr\\include"// 추가
                "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\lib\\gCc\\avr\\7.3.0\\include\\**" // 추가 - 자신의 PC 경로 확인 필요
            ],
            "forcedInclude": [
                "C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino\\Arduino.h"
            ],
            "intelliSenseMode""msvc-x64",
            "defines": [
                "USBCON" // serial 클래스 쓸경우 Include 에러 방지
            ]
        }
    ],
    "version"4
}
cs

Output 창 불필요한 메세지 제거

Build 시 vscode OUTPUT 창에 아래 그림과 같은 메세지가 출력된다면, C:\Program Files (x86)\Arduino\arduino_debug.l4j.ini 파일에서 -DDEBUG=false 내용을 추가하여 OUTPUT 창에 DEBUG StatusLogger 와 TRACE StatusLogger 메세지가 출력되는 것을 제거 할 수 있습니다.

arduino_debug.l4j.ini 변경 전arduino_debug.l4j.ini 변경 전

arduino_debug.l4j.ini 변경 후arduino_debug.l4j.ini 변경 후

arduino_debug.l4j.ini 편집arduino_debug.l4j.ini 편집

arduino_debug.l4j.ini 수정 내용arduino_debug.l4j.ini 수정 내용


관련포스트

👉 아두이노 Visual Studio Code 환경 설정 관련글 목록 보기

👉 아두이노 개발 환경 구성 관련글 목록보기

👉 아두이노 전체 포스트 목록 보기