(1) 코드 작성: 아두이노 IDE에서 코드를 작성한다.
(2) Verify(컴파일): 코드의 문법 오류 등을 확인하기 위해 Verify 버튼을 클릭한다.
(3) Upload(업로드): 컴파일 된 코드를 아두이노 보드에 업로드한다.
(4) 시리얼 모니터 열기: 아두이노 IDE의 시리얼 모니터 창을 연다.
(5) 시리얼 통신: 아두이노 보드에서 PC로 데이터를 전송하면 시리얼 모니터에 해당 데이터가 출력된다.
void setup() {
Serial.begin(115200);
Serial.println("Hello PC! I am arduino");
Serial.println(78);
Serial.println(1.23456);
Serial.println(' N ');
Serial.println(78, DEC);
Serial.println(78, HEX);
Serial.println(78, BIN);
Serial.println(1.23456, 0);
Serial.println(1.23456, 2);
Serial.println(1.23456, 4);
}
void loop() {
}

참고로 Serial.begin() 설정을 하지 않으면 콘솔에 메시지가 출력되지 않는다.
아두이노 보드에는 하나 이상의 UART(Universal Asynchronous Receiver-Transmitter) 포트가 있다. Serial.begin()은 이 UART 포트를 초기화하고 통신 속도를 설정한다.
Serial 통신을 사용하기 위해서는 반드시 Serial.begin()을 설정해야 한다. 그렇지 않으면 아두이노 보드가 Serial 통신을 할 준비가 되지 않기 때문에 콘솔에 메시지가 출력되지 않는다.
pinMode(pin, mode);
digitalWrite(pin, value);
delay(ms);

const int LED = 13;
void setup() {
// put your setup code here, to run once:
pinMode(LED, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}
500밀리초를 delay 시켰다.
1000 밀리초 = 1초이므로, 0.5초동안 아두이노가 아무것도 수행하지 않고 일정시간을 대기한다.
1초 주기로 LED가 켜졌다 꺼졌다 한다. 즉, 1Hz의 주파수로 LED가 점멸한다.
같은 동작이 1초에 1번씩 반복될 때 1Hz로 동작한다고 한다. 같은 동작이 1초에 2번씩 반복될 때 2Hz로 동작한다고 한다.

const int LED = 13;
void setup() {
// put your setup code here, to run once:
pinMode(LED, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED, HIGH);
delay(50);
digitalWrite(LED, LOW);
delay(50);
}
이번에는 50 밀리초로 바꾸어서 실행해보았다. LED는 초당 10번 점멸한다.
delay 함수를 사용하여 LED의 밝기를 조정할 수 있다.
// 어둡게 하기
const int LED = 13;
void setup() {
// put your setup code here, to run once:
pinMode(LED, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED, HIGH);
delay(1);
digitalWrite(LED, LOW);
delay(9);
}
LED에 대해 10%는 점등을, 90%는 소등을 반복한다면 우리는 LED의 밝기를 평균 10%의 밝기로 느끼게 된다.
결과적으로 delay 함수와 점등과 소등을 조정하여 밝기를 조정할 수 있다는 점을 알 수 있다.