일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 청년원가주택
- ObjectNode
- DataBinding
- V2X
- 리츠주택
- 아두이노 개발
- ListView
- 아두이노라이브러리
- Ai
- ESP32
- 아두이노
- 웹개발
- 구체화하기
- C-ITS
- Spring 웹개발
- http
- spring
- wave
- SpringBoot
- C-V2X
- java programming
- C#
- 대방동군부지
- 공릉아파트부지
- 삼성의료원부지
- 50만호공급
- WPF
- ESP-DL
- Spring 웹
- onnxruntime
- Today
- Total
John's 개발자의 관심노트
아두이노 IDE 파헤치기 [1 / 3], 아두이노 스케치, 아두이노 프로젝트 본문
오늘은 Arduino IDE 툴을 가지고 프로젝트를 만들어서 개발을 해보려고한다.
개인적으로 Arduino IDE 의 경우 초보자를 위한 목적성이 강해서 그런지, 소규모 프로젝트에는 상관 없지만
점점 규모가 커지는 프로젝트에서는 좋은 선택지가 아닌것 같다.
일단은 IDE를 설치했으니, 이 환경에서 프로젝트 생성 부터 개발까지의 내용을 다뤄보려고한다.
Arduino IDE 설치는 아래 링크를 참고하자.
[개발환경] Arduino IDE 설치 및 Upload
Arduino 보드는 다양한 종류가 있지만, 초보자용으로 보통 UNO Board 를 사용한다고 하니, 처음 시작하시는 분들에게는 UNO Board 사용을 추천한다. 1. Arduino IDE (Intergrated Developement Environment) 설치..
johnconomics.tistory.com
Arduino Project 에서 알아야 할 기본 지식!
"Sketch" 너는 무엇이냐?
Arduino Board 에 Upload 할 때 사용되는 실행 파일 단위라고 생각하면 된다.
".ino" 라는 확장자를 가진 여러 Source 파일로 구성되고,
이를 Complie 해서 Board에 upload 할 때 사용되는 것이 Sketch 라고 생각하면 될것 같다.
Arduino IDE 를 밑바닥 까지 해체한 상태가 아니라 간단하게 내가 이해한 지식으로는 이렇다.
윈도우에서는 ".exe" 파일을 실행시키는데,
Arduino 에서는 Sketch 라는 것으로 실행 된다라고 생각하면 조금 더 받아들이기 쉬울것 같지 않을까 하고 생각해본다..
그렇담 Sketchbook 이란 무엇일까?
그냥 프로젝트 단위라고 생각하면 된다.
여러개의 Source file (*.ino) 이 모여서 하나의 Sketch를 만드는 단위라고 생각하면 된다.
그럼 여기서 정리,
Arduino Board 를 우리가 원하는 동작을 하도록 만드는 실행 파일이 "Sketch" 고,
이 1개의 "Sketch" 를 만들기 위한 여러 소스파일들이 모아져 있는 큰 단위를 "Sketchbook" 이라 한다.
Sketch 는 어떻게 동작이 되는 걸까?
이를 파헤치기 위해서는 IDE 툴 설치할 때,
v2.x.x 버전 Tool 말고, v1.x.x 로 시작하는 버전으로 설치하는게 더 좋다.
현재 IDE 설치 공식 홈페이지에서 아래쪽에 이놈이 있으니 참고! (2022년 9월 22일 기준)
"v2.x.x" 부터는 java로 작성된것으로 보여지는데.. 잘은 모르겠다.
추후에 파악이 되면 업데이트 하는 것으로 하고, 지금은 "v1.x.x" 기준으로 설명 하는 내용이다.
대부분의 모든 프로그래밍은 "main" 으로 시작이 된다.
깊게 들어가면 "Reset Vector"를 시작으로 점점 내용이 방대해지니깐 이건 나중에!
Arduino IDE 에서 "main" 함수 찾기에 나섰다.
"main" 의 위치는 IDE가 설치된 폴더에서 열심히 찾아보면 찾을 수 있다.
경로는 IDE 실행 프로그램("arduino.exe") 위치 기준, ".\hardware\arduino\avr\cores\arduino\main.cpp"
/*
main.cpp - Main loop for Arduino sketches
Copyright (c) 2005-2013 Arduino Team. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <Arduino.h>
// Declared weak in Arduino.h to allow user redefinitions.
int atexit(void (* /*func*/ )()) { return 0; }
// Weak empty variant initialization function.
// May be redefined by variant files.
void initVariant() __attribute__((weak));
void initVariant() { }
void setupUSB() __attribute__((weak));
void setupUSB() { }
int main(void)
{
init();
initVariant();
#if defined(USBCON)
USBDevice.attach();
#endif
setup();
for (;;) {
loop();
if (serialEventRun) serialEventRun();
}
return 0;
}
int main(void) 를 찾았고 이것만 보면된다.
이 함수를 보면 Sketch 의 구동원리가 눈에 보인다.
Sketch에서는 "setup()", "loop()" 두 가지의 함수로 구성되어 있는데,
"setup()" 함수는 초기화 함수 다시말해, "loop()" 라는 함수가 무한루프에 들어가기전에, 한번 실행되는 함수다.
"setup()" 에는 우리의 아두이노 보드가 "loop()" 라는 함수를 수행하기 위해 필요한 셋팅을 한다고 생각하면된다.
예를들어,
LED를 제어하고 싶다면, LED가 연결 된 Pin의 설정을 Output Mode로 설정해주는 작업이 들어간다.
Sketchbook (Project) 만들기
먼저 Sketchbook 생성을 위해서
Sketchbook 을 참조하는 경로를 확인한다.
Arduino IDE에서 상단에 "File" -> "환경설정" 버튼을 차례로 누른다.
위와 같이 누르면, 아래 창이 뜨는데 여기서 맨 위에 "스케치북 위치" 라는 곳에 참조하는 경로가 보인다.
앞으로 우리가 만드는 모든 Sketchbook (Project) 는 저 위치에 저장을 해야한다.
저 위치에 저장을 해야 프로그램에서 쉽게 접근이 가능하다.
이제 IDE 프로그램으로 돌아가서, "Ctrl + N" 키를 누르거나 또는 IDE 프로그램 상단에 "File" -> "New" 버튼을 누르자.
임의의 Sketch 하나가 생성된것을 볼 수 있고, 다음으로 "Ctrl + S" 키를 눌러 저장을 한다.
위 설정에서 찾은 Sketchbook 참조 경로에 "Test1" 이라는 이름으로 저장한다.
이렇게 저장을 완료하고나면,
아래와 같이 스케치북탭 안에 우리가 만든 Project 즉 Sketchbook이 보이는 걸 확인할 수 있다.
이렇게 해서 프로젝트를 생성하고, 그 안에 Source File 생성까지 완료했다.
직접 그 경로를 찾아들어가면, 이렇게 생성된 모습을 확인할 수 있다.
일단 여기까지해서 프로젝트 생성하는 방법까지 알아보았다.
다음 글에서는 Example Code를 이용해서 직접 프로젝트를 만들어 볼 것 이다.
끝!
*제가 이해한 내용이 틀린점이 있다면, 언제든지 댓글로 조언 부탁드립니다.
'[개발] > Arduino' 카테고리의 다른 글
아두이노 IDE 파헤치기 [3 / 3], 아두이노 라이브러리 사용법 (2) | 2022.10.04 |
---|---|
아두이노 IDE 파헤치기 [3 / 3], 라이브러리란? (0) | 2022.09.28 |
아두이노 IDE 파헤치기 [2 / 3], CDS 센서 활용, 아두이노 ADC 제어, 아두이노 PWM 제어 (0) | 2022.09.27 |
아두이노 IDE 설치 및 실행방법, 아두이노 개발환경 설치 (2) | 2022.09.21 |