안녕하세요, 전자공학 블로거 이상민입니다. 이번 시리즈는 아두이노 기초 포스팅입니다.
아두이노 기초는 아래와 같은 순서로 이어집니다.
1. 아두이노 IDE 설치 방법 및 설명 - https://sangmin0523memo.tistory.com/9
2. 아두이노 프로그램 코드(스케치) 작성 방법 - 현재 글
3. 아두이노 스케치 업로드 방법 - https://sangmin0523memo.tistory.com/17
이 글에서는 아두이노 프로그램 코드(스케치) 작성 방법에 대해서 설명 드리겠습니다.
아두이노 스케치란?
아두이노 스케치는 아두이노 IDE에서 작성하는 프로그램 코드로, 파일 확장자는 .ino 입니다. 간혹 IDE와 스케치를 혼동하곤 하는데요, 아두이노 IDE는 통합 개발 환경 프로그램이고, 스케치는 아두이노 보드에 올릴 프로그램 코드입니다. 즉, 아두이노 IDE에서 스케치를 작성하는 것입니다.
그러면 스케치가 어떤 형식과 어떤 문법을 사용하고, 어떻게 작성하는지 설명하겠습니다.
아두이노 스케치 작성 방법
아두이노 IDE를 처음 실행하면 다음과 같은 화면을 볼 수 있습니다.
여기서 1번 영역은 코드를 작성하는 부분입니다. 그리고 코드를 작성하기 전엔 반드시 보드 설정을 해주셔야 하는데요, 2번 Tools 버튼을 누르면 아래 화면처럼 됩니다.
Board -> Arduino AVR Boards -> Arduino Uno 또는 여러분들이 사용하고 있는 보드를 선택해 주시면 됩니다.
아두이노 스케치 문법
아두이노 문법은 아두이노 공식사이트에서 설명을 아주 자세하게 설명해주고 있습니다. 저는 해당 링크의 기초 내용을 이해하기 쉽게 알려드리겠습니다. https://www.arduino.cc/reference/ko/
아두이노 참조 - 아두이노 참조
언어 참조 아두이노 프로그래밍 언어는 3개 주요 부분으로 나눌 수 있다 : 구조, 값(변수와 상수), 그리고 함수.
www.arduino.cc
아두이노 스케치는 C++와 비슷한 문법을 가지고 있습니다. 예시코드를 보며 설명 드리겠습니다.
다음 스케치 예시 코드(LED 켜고 끄기)를 복사해서 위 1번 영역에 복사 붙여넣기 하시고 ctrl + S 를 눌러서 원하는 위치에 저장해주세요.
// 1. 전역변수 설정 부분
#define LED_PIN 5
int time = 1000;
// 2. 리셋버튼을 누르거나 전원을 넣은 후 딱 한번만 실행되는 셋업 함수
// the setup function runs once when you press reset or power the board
void setup() {
// 디지털핀 LED_PIN을 output으로 초기화합니다.
// initialize digital pin LED_PIN as an output.
pinMode(LED_PIN, OUTPUT);
}
// 3. 계속 실행되는 함수
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_PIN, HIGH); // LED를 켭니다. turn the LED on (HIGH is the voltage level)
delay(time); // 1초동안 기다립니다. wait for a second
digitalWrite(LED_PIN, LOW); // LED를 끕니다. turn the LED off by making the voltage LOW
delay(time); // 1초동안 기다립니다. wait for a second
}
위 코드는 크게 세 부분으로 나누어 볼 수 있습니다.
1. 전역변수 설정 부분 - 전체 코드에서 이용되는 변수나 상수 등을 선언하는 부분입니다.
2. void setup - 중괄호 안의 내용을 리셋 버튼을 누르거나 전원을 넣은 후 딱 한번만 실행합니다.
3. void loop - 중괄호 안의 내용을 계속 반복합니다.
그리고 해당 코드는 1 -> 2 -> 3 -> 3 -> 3 -> 3 -> 3 -> 3 -> 3 -> 3 -> 3 -> 3 -> 3 -> 3 .......의 순서로 진행되고, 3번이 무한히 반복됩니다.
세부적인 코드 설명
전역 변수 설정 부분에서는 두 예시 코드가 있습니다.
#define LED_PIN 5 // LED_PIN 이라는 이름의 상수를 정의하고, 그 값을 5로 정합니다.
int time = 1000; // time이라는 int형 변수에 1000이라는 값을 넣어줍니다.
void setup 함수에는 한 줄의 코드가 있습니다.
pinMode(LED_PIN, OUTPUT); // LED_PIN 번호의 핀을 OUTPUT으로 초기화합니다.
void loop 함수에는 4줄의 코드가 있습니다.
digitalWrite(LED_PIN, HIGH); // LED_PIN 번호의 핀의 출력을 HIGH(5V)로 설정합니다.
delay(time); // time 만큼 쉽니다. (단위는 1밀리초 == 1ms == 0.001s == 0.001초 == 1000분의 1초)
digitalWrite(LED_PIN, LOW); // LED_PIN 번호의 핀의 출력을 LOW(0V)로 설정합니다.
delay(time); // time 만큼 쉽니다.
검증
복사 붙여넣기를 다 했다면 아두이노 보드에 올릴 수 있는 파일로 만들수 있는지 검증 합니다. 이 과정을 검증(Verify)이라고 합니다.
1번 체크표시 버튼을 누르면 코드를 실행시켜 코드에 오류가 있다면 오류를 알려주고, 정상적으로 실행 가능하다면 오른쪽 아래에 "Done compiling"이라고 메세지가 나옵니다.
이것으로 기초 스케치 작성 방법에 대해서 설명드렸습니다. 여기서 설명드린건 아주아주아주 기초이고, https://www.arduino.cc/reference/ko/여기서 많은 함수들을 어떻게 사용하는지 확인하시고 더욱 창의적인 코드를 작성해 보시길 바랍니다.
다음 포스팅에선 이 프로그램을 어떻게 아두이노 보드에 업로드 하는지 알려드리도록 하겠습니다.
다음 글 : 아두이노 스케치 업로드 방법 - https://sangmin0523memo.tistory.com/17
[아두이노 기초] 아두이노 보드에 프로그램 업로드 방법
안녕하세요, 전자공학 블로거 이상민입니다. 이번 시리즈는 아두이노 기초 포스팅입니다. 아두이노 기초는 아래와 같은 순서로 이어집니다. 1. 아두이노 IDE 설치 방법 및 설명 - https://sangmin0523mem
sangmin0523memo.tistory.com
'전자공학 > 아두이노 프로젝트' 카테고리의 다른 글
[ESP8266] Node MCU ESP8266 보드 설정 및 프로그램 업로드 방법 (2) | 2024.02.25 |
---|---|
[아두이노 기초] 아두이노 보드에 프로그램 업로드 방법 (0) | 2024.02.23 |
[아두이노 기초] 아두이노 IDE 설치 방법 및 설명 (0) | 2023.11.21 |
[Firebase] 4. Firebase RTDB 값을 통해 아두이노 불 켜고 끄기 (0) | 2023.08.29 |
[Firebase] 3. 아두이노와 firebase RTDB 연결 (0) | 2023.08.25 |