이번 시간에는 아두이노 실습의 대표 예제! 바로 LED 깜빡이기(Blink)를 해볼 거예요. 지난 시간에는 LED를 켜기만 했다면, 이번엔 켜졌다 꺼졌다를 반복하는 회로를 만들어볼 거예요.
이 실습을 통해 delay() 함수와 loop 구조를 자연스럽게 익힐 수 있어요.
실습 목표
- LED가 1초 간격으로 켜졌다 꺼지게 만들기
- delay() 함수로 시간 제어하기
- loop() 함수의 반복 구조 이해하기
준비물
- 아두이노 우노 보드
- USB 케이블
- 브레드보드
- LED 1개
- 저항 220Ω 또는 330Ω
- 점퍼선 2~3개
회로 연결 방법
- LED의 긴 다리(양극)는 저항을 거쳐 아두이노 8번 핀에 연결
- 짧은 다리(음극)는 GND(접지)로 연결
주의: LED의 극성이 바뀌면 작동하지 않아요!
코드 작성하기
int ledPin = 8; // LED 연결 핀
void setup() {
pinMode(ledPin, OUTPUT); // 출력 설정
}
void loop() {
digitalWrite(ledPin, HIGH); // LED 켜기
delay(1000); // 1초 기다리기
digitalWrite(ledPin, LOW); // LED 끄기
delay(1000); // 1초 기다리기
}
코드 설명
setup()
: 시작할 때 한 번만 실행돼요. 핀 설정을 담당해요.loop()
: 계속 반복되는 부분이에요.digitalWrite(HIGH)
: 전기 ON → LED 켜짐digitalWrite(LOW)
: 전기 OFF → LED 꺼짐delay(1000)
: 1000ms = 1초 쉬기
실행 결과
LED가 1초 간격으로 켜졌다 꺼졌다를 반복하면서 깜빡이게 돼요. 이게 바로 가장 유명한 Blink 예제랍니다!
응용해 보기
- 깜빡이는 속도 바꾸기: delay 값을 500, 200 등으로 변경
- 여러 개의 LED 번갈아 깜빡이기: 2~3개 핀에 LED 연결 후 순서대로 on/off
- SOS 신호 만들기: ●●● ――― ●●● 형태로 LED 깜빡이기
실습 팁
- 코드를 변경할 땐 꼭 다시 업로드 해야 적용돼요.
- delay 없이 LED를 깜빡이게 하려면 millis()를 배워야 해요. 나중에 다룰 예정!
- LED가 안 켜지면 회로 연결 상태와 핀 번호를 꼭 확인해 보세요.
내장 LED로도 실습 가능!
아두이노 보드에는 13번 핀에 연결된 내장 LED가 있어요. 부품 없이 아래 코드만 바꿔도 실습할 수 있어요:
int ledPin = 13; // 내장 LED 사용
실습 전 준비물이 없을 땐 이렇게 간단히 실습해 볼 수도 있어요!
마무리하며
이번 실습은 코딩과 회로를 동시에 이해하는 첫걸음이에요. 작은 LED 하나를 깜빡이게 하면서 프로그래밍의 반복 구조와 타이밍 제어에 대한 감을 익힐 수 있어요.
다음 시간에는 버튼을 눌러서 LED를 켜고 끄는 실습을 해볼 거예요. 드디어 입력 장치를 사용하는 단계로 넘어갑니다!