해당 게시물에서는 VS Code PlatformIO를 사용합니다. 참고바랍니다.
안녕하세요 데브구일입니다!
간단하게 LED를 켜고 끄는 예제를 실행해볼 건데요.
PlatformIO에서 프로젝트를 생성하는 것 부터 알아보겠습니다.
아래와 같이 New Project를 클릭하시고
다음과 같이 프로젝트를 생성하였습니다.
Name : Arduino_LED_Test
Board : Arduino Uno
Framework : Arduino Framework
여기서 Board는 사용하시는 보드를 선택하시면됩니다!
저는 Uno를 사용할 것이기 때문에 Arduino Uno를 선택하였고,
Framework의 경우 자동으로 Arduino Framework가 선택되게 됩니다!
프로젝트를 생성하게되면 왼쪽 EXPLORER에 프로젝트 트리가 생성됩니다.
여기에서 platformio.ini을 먼저 확인해보겠습니다.
처음에 어떤 보드와 프레임워크를 선택하냐에 따라 이부분에 설정이 바뀌게 됩니다.
시리얼 모니터에 사용하는 전송속도 또한 여기에서 설정을 해주어야하는데요.
그 부분에 대해서는 시리얼 모니터에 대해 작성할 때 알려드리겠습니다.
그 외에 다양한 폴더가 있지만
우선 src폴더에 main.cpp을 열어 코드를 작성해보도록 하겠습니다.
(main.cpp가 저희가 코드를 작성하는 파일입니다.)
코드를 작성하실때 보시면 자동완성 기능이 동작하는데 이 기능이 참 편리합니다.
함수나 변수를 입력할때 오타를 줄일 수 있기 때문에 적극적으로 이용하시길 추천 드립니다.
그리고 1번째 라인에 #include <Arduino.h>가 있는데요.
이 부분을 제외하고 아래 코드는 아두이노 코드와 동일하기 때문에,
Arduino IDE를 사용하시는 분들도 코드는 그대로 사용하실 수 있습니다!
참고바랍니다!
#include <Arduino.h> // PlatformIO를 사용하시는게 아니라면 이 라인은 지워주세요!
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // LED_BUILTIN 핀에 대해 출력(OUTPUT) 설정
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // LED_BUILTIN핀을 HIGH값으로 변경
delay(1000); // 1000ms 만큼 딜레이
digitalWrite(LED_BUILTIN, LOW); // LED_BUILTIN핀을 LOW값으로 변경
delay(1000);
}
코드를 입력하시고 아두이노를 PC에 연결하신 뒤 업로드를 하실텐데요.
업로드 버튼은 VS Code 하단에 업로드 버튼이 있습니다.
그리고 또 다른 방법이 있습니다.
바로 VS Code의 커맨드 팔레트 기능인데요!
Mac OS 기준 cmd + shift + P를
윈도우는 ctrl + shift + P를 입력하시면 동작합니다.
팔레트 기능을 키시고 검색창에 upload를 입력하시면
아래와 같이 PlatformIO: Upload를 확인하실 수 있는데요!
Upload 외에도 검색하여 기능을 실행 할 수 있는 VS Code 자체 기능입니다.
저는 이 기능을 많이 사용하다보니 업로드도 이 방식으로 하는 편입니다!
편하신 방법을 선택하시면 될 것 같습니다!
업로드를 실행하시면 하단에서 터미널이 나타나며, 업로드 진행 과정이 출력되게 됩니다.
업로드가 완료되고서 아두이노를 확인해보시면,
아두이노 내부 LED가 1초 간격으로 깜빡거리는 것을 확인 하실 수 있습니다.
그리고 다른 방법이 한 가지 더 있습니다.
왼쪽 메뉴 중에 PlatformIO 로고를 클릭해보시면 PROJECT TASKS 라는 부분이 있습니다.
이 부분을 열어보시면 아래와 같이 명령을 실행할 수 있는 목록이 보입니다.
여기에서 Upload를 누르셔도 동일하게 업로드가 가능합니다 :D
이번부터 새롭게 PlatformIO를 사용해서 아두이노 포스팅을 진행하고 있는데요.
Arduino IDE와 코드에 대한 부분은 크게 다른 부분이 없기 때문에, 코드를 사용에 대한 문제는 없을 것 같습니다.
PlatformIO을 사용하는 첫 포스팅이다 보니, PlatformIO을 사용하는 방법이 더 많이 소개 된 것 같습니다.
LED 예제의 경우 어려운 부분이 없기 때문에 양해 부탁드립니다 :D
혹시나 궁금한 점이 있다면 댓글로 남겨주세요.
감사합니다 :D
'Arduino' 카테고리의 다른 글
[PlatformIO] 아두이노 Serial 출력하기 (0) | 2022.05.03 |
---|---|
[PlatformIO] 아두이노 Switch 구현하기 digitalRead() (Pull up 스위치) (0) | 2022.04.24 |
아두이노로 시리얼 모니터 사용해보기 ! (0) | 2022.04.05 |
아두이노로 버튼을 사용해보자! (0) | 2022.04.05 |
아두이노로 LED 켜기 ! (0) | 2022.04.04 |