arduino-2026-10-19

아두이노 우노 실습 정리 (2026-10-19)

오늘 아두이노 우노로 실습한 내용을 정리했습니다. LED 출력부터 시작해서 가변저항(아날로그 입력), 버튼(디지털 입력), millis(), 인터럽트, PWM, 네오픽셀까지 다뤘습니다.

모든 스케치는 arduino-cli로 Arduino Uno(arduino:avr:uno)용 컴파일을 통과했습니다. 각 폴더를 Arduino IDE에서 열면 바로 업로드할 수 있습니다.

실습 영상 캡처

Tinkercad: LED Blink Tinkercad: 3색 신호등
Tinkercad Blink Tinkercad 신호등
실제 회로: 신호등 (빨강 → 노랑 → 초록)
실제 신호등
실제 회로: 버튼 인터럽트 신호등 (누르면 전체 켜짐)
인터럽트 신호등

스케치 목록

# 폴더 내용 핀
1 01_Blink 내장 LED 깜빡이기 (1초 / 0.1초) D13
2 02_Blink_A0 아날로그 핀을 디지털 출력으로 사용 A0
3 03_Blink_D3 외부 LED 켜고 끄기 D3
4 04_LED_Sequence LED 3개 차례로 켜기 (디버깅) D3, D8, D10
5 05_Siren LED 2개 경찰차 사이렌 D3, D8
6 06_Pot_Read 가변저항 값 시리얼 출력 A5
7 07_Pot_Two 가변저항 2개 읽기 A4, A5
8 08_Button_Read 버튼 상태 읽기 (INPUT_PULLUP) A0
9 09_Button_Count millis() 디바운스로 누른 횟수 세기, 5번마다 LED 토글 A0, A5
10 10_Button_Gesture 더블클릭 → 켜기, 길게 → 끄기, 한 번 → 무시 A0, A5
11 11_Interrupt_Toggle 인터럽트(CHANGE)로 누를 때/뗄 때 토글 D2, A5
12 12_Traffic_Interrupt 신호등 + 인터럽트 전체 켜기 (초록 5초/노랑 2초/빨강 5초) D7–D9, D2
13 13_Pot_LED_PWM 가변저항으로 LED 밝기 조절 (PWM) A0, D9
14 14_NeoPixel_Gauge 가변저항으로 네오픽셀 8구 게이지 A0, D10
15 15_Traffic_Light 신호등 빨강 → 노랑 → 초록 2초씩 D7–D9
16 16_Traffic_Light_Interrupt 신호등 + 버튼 인터럽트 (최종) D7–D9, D2

배운 내용 요약

1. 디지털 출력 — LED

2. 코드 디버깅에서 찾은 실수

3. 아날로그 입력 — 가변저항

4. 디지털 입력 — 버튼

5. millis()와 현재값/과거값 비교

6. 인터럽트

7. 아날로그 출력 — PWM

8. 네오픽셀