LED 조명에 코드를 작성하는 것은 소프트웨어와 하드웨어가 서로 어떻게 상호작용하는지 직접 경험할 수 있는 대표적인 입문 프로젝트입니다. 주말 동안 충분히 완성할 수 있을 만큼 간단하면서도, 하드웨어의 기본 개념을 익히는 데 큰 도움이 됩니다.
이 프로젝트를 끝내면 직접 작성한 코드로 LED를 켜고 끌 수 있고, 원하는 시간 간격으로 깜박이게 제어하는 방법과 함께 하드웨어의 기본 원리까지 자연스럽게 배우게 됩니다.
Elegoo Uno 스타터 키트에는 간단한 LED 조명을 만드는 데 필요한 모든 부품과 설명서가 포함되어 있으며, LED 조명은 이 키트에서 제공하는 첫 번째 프로젝트입니다.
또한 Elegoo Uno에는 이 외에도 다양한 프로젝트가 담겨 있어, 초급부터 고급 과정까지 단계적으로 실력을 쌓아갈 수 있습니다. 키트에 포함된 각 프로젝트는 따라 하기 쉬운 구성으로 되어 있어 부담 없이 학습할 수 있습니다.
준비물
Elegoo Uno R3

Elegoo Uno R3는 마이크로컨트롤러 보드입니다. 마이크로컨트롤러는 제품의 동작과 기능을 제어하기 위해 다양한 기기에 내장되는, 연산 제어를 위해 설계된 소형 집적 회로입니다.
Elegoo Uno R3에 탑재된 마이크로컨트롤러는 디지털 입력/출력 핀 14개, 아날로그 입력 6개, USB 연결 단자, 전원 잭, 리셋 버튼을 갖추고 있습니다. 이 보드 하나면 마이크로컨트롤러를 구동하는 데 필요한 모든 요소가 준비된 셈이며, USB 케이블만 꽂으면 바로 전원이 켜집니다.
USB 케이블

Elegoo Uno R3를 컴퓨터에 연결하고 전원을 공급하려면 USB 케이블이 필요합니다. USB는 Universal Serial Bus(범용 직렬 버스)의 약자로, 디지털 카메라, 프린터, 스캐너, 외장 하드 드라이브 같은 장치를 컴퓨터와 연결할 때 널리 사용됩니다.
이번 프로젝트에서는 USB 케이블을 사용해 마이크로컨트롤러를 컴퓨터에 연결합니다.
LED

LED는 Light Emitting Diode(발광 다이오드)의 약자입니다. LED에는 양극과 음극 리드가 각각 있으며, 더 긴 쪽이 양극(+) 리드입니다.
부품 조립 방법

이번 프로젝트에서는 LED를 깜박이게 만드는 것만 진행합니다.
먼저 USB 케이블을 보드에 연결한 뒤, 반대쪽을 컴퓨터에 꽂습니다.
그다음 LED를 보드의 GND 핀과 13번 핀에 연결합니다. GND(Ground)는 회로에서 전압을 측정할 때 기준이 되는 지점으로, 전류가 되돌아가는 공통 경로 역할을 합니다.
LED를 깜박이게 하는 코드
마이크로컨트롤러 보드를 컴퓨터에 연결하고 LED를 보드에 꽂았다면, 이제 LED를 깜박이게 할 간단한 코드를 작성할 차례입니다.
// setup 함수는 보드에 전원을 공급하거나 리셋 버튼을 누를 때 한 번 실행됩니다.
void setup() {
// 디지털 핀 LED_BUILTIN을 출력 모드로 초기화합니다.
pinMode(LED_BUILTIN, OUTPUT);
}
// loop 함수는 무한히 반복해서 실행됩니다.
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // LED 켜기
delay(1000); // 1초 대기
digitalWrite(LED_BUILTIN, LOW); // LED 끄기
delay(1000); // 1초 대기
}위 코드는 기본적으로 LED를 1초간 켠 후, 다시 1초간 끄는 동작을 수행합니다.
이 함수는 무한 루프로 계속 반복됩니다. digitalWrite는 LED_BUILTIN과 HIGH || LOW 두 개의 매개변수를 받는 함수로, 루프 안에서 해당 LED에 전압을 HIGH로 설정해 켜고, 1초 후 같은 LED의 전압을 LOW로 낮춰 끄는 방식으로 동작합니다.
완성된 결과물
이번 LED 조명 코딩 프로젝트의 목표는 하드웨어와 소프트웨어를 결합하는 기본 원리를 맛보게 하는 것이었습니다. 즐겁게 따라 해보셨기를 바랍니다!