아두이노 ide 다운로드
https://www.arduino.cc/en/software/
https://www.arduino.cc/en/software/
www.arduino.cc
wch 다운로드
https://www.wch-ic.com/downloads/CH341SER_EXE.html
Nanjing Qinheng Microelectronics Co., Ltd.
www.wch-ic.com
setup: 코드 실행을 시작할 때 한번만 수행. 하드웨어를 초기화 시키는 부분.
loop: 반복적으로 수행(무한반복), 하드웨어를 반복적으로 동작.
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("setup");
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println("loop");
}

int f(int x) {
return x+1;
}
void setup() {
Serial.begin(115200);
int x = 2;
int y = f(x);
Serial.println(y);
}
void loop() {
}

float g(float x) {
return x+1;
}
void setup() {
Serial.begin(115200);
float x = 2.1;
float y = g(x);
Serial.println(y);
}
void loop() {
}

float h(float x, int y) {
return x + y;
}
void setup() {
Serial.begin(115200);
float x = 2.1;
int y = 2;
float z = h(x, y);
Serial.println(z);
}
void loop() {
}

Serial.begin(speed): PC로 메시지를 보낼 때 데이터의 속도를 설정하는 함수
115200은 115200bps로 초당 115200 비트를 보내는 속도.
pinMode(pin, mode): 특정 핀을 출력 또는 입력 모드로 설정하는 명령어
pin: 설정하고자 하는 핀 번호
mode: 설정하고자 하는 모드로 입력일 때는 INPUT, 출력일 때는 OUTPUT
digitalWrite(pin, value): 디지털 핀으로 HIGH(=1) 또는 LOW(=0) 값을 씀
pinMode 함수를 통해 해당 핀이 OUTPUT으로 설정되었을 때, HIGH 값의 경우엔 해당 핀이 5V로 설정되며, LOW 값의 경우엔 0V로 설정됨. 마치 우리가 거실에 있는 전등을 켜기 위해 스위치를 껐다 켰다 하는 원리와 같은 것이다.
delay(ms): delay란 인자로 주어진 시간만큼 프로그램의 진행을 멈춤
ms: 멈춰야할 밀리초
LED 켜기
const int LED = 13;
void setup() {
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH);
}
void loop() {
}

LED 끄기
const int LED = 13;
void setup() {
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
}
void loop() {
}

LED 켜고 끄기 반복
(완전히 켜지기전에 불을 끄기 때문에 희미한 불빛이 남아있음)
const int LED = 13;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
digitalWrite(LED, LOW);
}

천천히 LED 켜고 끄기 - 0.5초간 지연주기. 1Hz의 주파수로 LED가 점멸한다.
const int LED = 13;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}
빠르게 LED 켜고 끄기 - 초당 10번 점멸 (10Hz의 주파수)
const int LED = 13;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
delay(50);
digitalWrite(LED, LOW);
delay(50);
}
LED 점멸 간격 더 줄이기 - 100Hz의 주파수로 점멸 -> 계속 불이 켜져있는 것 처럼 보인다
const int LED = 13;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
delay(5);
digitalWrite(LED, LOW);
delay(5);
}
LED 어둡게 하기 - 초당 100번 점멸(100Hz 주파수로 점멸). 하지만 10%는 점등 상태로, 90%는 소등 상태로 있게 된다.
const int LED = 13;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
delay(1);
digitalWrite(LED, LOW);
delay(9);
}

LED 밝게 하기 - 100번 점멸, 90%는 점등상태, 10%는 소등상태
const int LED = 13;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
delay(9);
digitalWrite(LED, LOW);
delay(1);
}

0.01초 간격으로 LED 밝기를 11단계로 조절해보기 - 10밀리 초 간격으로 LED가 밝아진다(10%, 20%, 30%, .., 100%)
const int LED = 13;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
for (int t_high=0; t_high<=10; t_high++) {
digitalWrite(LED, HIGH);
delay(t_high);
digitalWrite(LED, LOW);
delay(10-t_high);
}
}
0.01초 간격으로 LED 밝기 11단계 조절해보기 - 1.1초를 주기로 LED가 어두운 상태에서 점점 밝아지기를 반복함
const int LED = 13;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
for (int t_high=0; t_high<=10; t_high++) {
int cnt=0;
while(true) {
digitalWrite(LED, HIGH);
delay(t_high);
digitalWrite(LED, LOW);
delay(10-t_high);
cnt++;
if(cnt == 10) break;
}
}
}'아두이노' 카테고리의 다른 글
| 아두이노 - 서보모터, 초음파 (0) | 2026.03.23 |
|---|---|
| 아두이노 - Timer (빛, 부저) (0) | 2026.03.23 |
| 아두이노 - 조이스틱, 부저, 서보, 초음파 (0) | 2026.03.22 |
| 아두이노 - 시리얼, LED (0) | 2026.03.22 |
| 아두이노 LED 회로 구성하기 (0) | 2026.03.21 |