아두이노 스케치 sketch - 아두이노 시작하기

 지난 번에 아두이노 IDE 설정, 보드 선택, 보드와 PC 연결, 업로드를 확인할 때 사용한 Blink 예제를 살펴보겠습니다.


/*
  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.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/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
}


아두이노 스케치

아두이노 스케치는 setup 함수, loop 함수로 구성되어 있습니다.
한 번만 수행할 작업은 setup 함수에 두고, 지속적으로 반복해서 수행할 작업은 loop 함수에 두면 됩니다.

setup 함수

setup 함수는 스케치가 시작될 때 한 번만 실행됩니다.
pinMode는 특정 핀을 입력이나 출력으로 설정하며, LED_BUILTIN은 header 파일(pins_arduino.h)에 13으로 정의되어 있습니다.
그래서 pinMode(LED_BUILTIN, OUTPUT); 는 13번 핀을 출력으로 설정합니다.
특정 핀을 입력이나 출력으로 설정하는 것은 한 번만 설정하면 되기 때문에 setup 함수에 두는 것입니다.

loop 함수

loop 함수는 지속적으로 반복해서 실행됩니다. 그래서 반복적인 수행이 필요한 것을 loop 함수에 둡니다.
digitalWirte(LED_BUILTIN, HIGH); 13번 핀을 High로 설정합니다. 13번 핀에 연결된 LED가 켜집니다.
delay(1000); 1초를 기다립니다. 13번 핀에 연결된 LED가 켜진 상태로 1초 동안 유지됩니다.
digitalWirte(LED_BUILTIN, LOW); 13번 핀을 Low로 설정합니다. 13번 핀에 연결된 LED가 꺼집니다.
delay(1000); 1초를 기다립니다. 13번 핀에 연결된 LED가 꺼진 상태로 1초 동안 유지됩니다.
loop 함수에 4개 명령어는 계속 반복되면서 1초 동안 LED가 켜지고 1초 동안 LED가 꺼지는 동작을 반복합니다.

Blink 예제

주석

'//'는 한 줄 주석으로 코드 실행과는 관계가 없고 코드를 좀 더 효율적으로 작업하기 위해 작성하는 설명입니다.
/* ... */는 여러 줄 주석입니다. /* 과 */ 사이에 있는 줄은 코드 실행과 관계가 없습니다.

지금까지 Blink 예제를 살펴봤습니다.