LED 회로 기초
이번 강의에서는 직접 회로를 구성하여 LED를 제어한다. 남이 만든 회로가 아니라, 원리를 이해하고 직접 설계하여 구현하는 과정이다.
기본 LED 회로는 3.3V 전원 → LED → 저항 → GND로 구성된다. 전류는 항상 높은 전압에서 낮은 전압으로 흐르므로, 3.3V에서 GND 방향으로 전류가 흘러 LED가 켜진다. 저항은 LED에 흐르는 전류량을 조절하여 과전류를 방지하는 역할을 한다.
LED 극성
LED는 다이오드의 일종으로 전류가 한 방향으로만 흐른다. 이전 글("회로도 딱 필요한 만큼만 배우자")에서 다이오드의 기호와 특성을 다뤘는데, 실물에서는 다리가 긴 쪽이 +(애노드), 짧은 쪽이 -(캐소드)다. 극성을 반대로 연결하면 전류가 흐르지 않아 LED가 켜지지 않는다.

저항 읽는 법
저항의 띠 색깔로 저항값을 읽을 수 있다. 일반적으로 4개의 띠가 있으며, 첫 번째와 두 번째 띠는 숫자, 세 번째 띠는 승수, 네 번째 띠는 오차율이다.
예: 빨강-빨강-갈색-금색 → 2, 2, ×10, ±5% → 220Ω ±5% (209~231Ω)
실무에서는 띠 색깔을 외우는 것보다 멀티미터로 직접 저항값을 측정하는 것이 정확하고 편리하다.

실습 1: LED 직접 켜기 (GPIO 없이)
GPIO 제어 없이, 3.3V 전원과 GND만으로 LED를 켜본다.
빵판 배선
- STM 보드의 3.3V에 빨간 점퍼선, GND에 검정 점퍼선을 연결하여 빵판의 +/- 레일에 공급
- 수-수 점퍼선으로 + 레일 → 빵판 특정 행(예: a40)에 전원 연결
- LED의 + 다리(긴 쪽)를 같은 행(예: e40)에, - 다리(짧은 쪽)를 다른 행(예: e37)에 연결
- 저항(220Ω)의 한쪽을 LED - 다리와 같은 행(예: c37)에, 다른 쪽을 다른 행(예: c33)에 연결
- 수-수 점퍼선으로 저항 끝(예: a33) → - 레일(GND)에 연결
전원을 공급하면 LED에 불이 들어온다. 3.3V → LED → 저항 → GND로 전류가 흐르는 것이다.


실습 2: GPIO로 LED 제어
원리 — GPIO High/Low와 LED 동작
이제 GND에 연결했던 부분을 GPIO 핀으로 대체한다. 회로 구성은 3.3V → LED → 저항 → GPIO가 된다.
직관과 반대로 동작하는 부분이 있다.
- GPIO Low (0V): 3.3V와 0V 사이에 전압차가 있으므로 전류가 흐른다 → LED 켜짐
- GPIO High (3.3V): 양쪽 모두 3.3V로 전압차가 없으므로 전류가 흐르지 않는다 → LED 꺼짐
핀 확인
개발 보드 회로도에서 PB6_LED1이 보드의 7번 핀에 연결되어 있음을 확인한다.
빵판 배선 변경
실습 1에서 GND로 갔던 점퍼선을 제거하고, 대신 STM 보드의 PB6 핀에서 빵판의 같은 행(예: a33)으로 점퍼선을 연결한다.

GPIO 설정 및 코드
STM32CubeIDE에서 PB6을 GPIO_Output으로 설정하고, 초기 출력 레벨을 High로 설정하여 시작 시 LED가 꺼지도록 한다.
while (1) {
HAL_GPIO_WritePin(PB6_LED1_GPIO_Port, PB6_LED1_Pin, 0); // Low → LED 켜짐
HAL_Delay(1000);
HAL_GPIO_WritePin(PB6_LED1_GPIO_Port, PB6_LED1_Pin, 1); // High → LED 꺼짐
HAL_Delay(1000);
}
코드를 실행하면 LED가 1초 간격으로 깜빡인다. 이전 글들에서 코드로만 GPIO를 제어했던 것이, 직접 만든 회로에서 실제로 동작하는 것을 확인하는 순간이다.

스위치 이해
내부 구조
스위치는 4개의 핀이 있으며, 내부적으로 1-3번 핀끼리, 2-4번 핀끼리 항상 연결되어 있다. 1-3 쌍과 2-4 쌍 사이는 평소에 끊어져 있다가, 버튼을 누르면 연결된다.

멀티미터로 핀 확인
스위치의 어느 핀이 1-3이고 어느 핀이 2-4인지 멀티미터 쇼트 테스트로 직접 확인한다. 두 핀에 프로브를 대고 삐- 소리가 나면 같은 쌍(1-3 또는 2-4)이다. 버튼을 누른 상태에서 다른 쌍과도 삐- 소리가 나는지 확인하면 스위치 동작을 검증할 수 있다.
스위치를 빵판에 꽂을 때는, 1-3 쌍과 2-4 쌍이 가운데 홈을 사이에 두고 양쪽에 위치하도록 꽂는다. 같은 쪽(a-e)에 꽂으면 이미 연결된 핀끼리 같은 행에 들어가므로 의미가 없다.
실습 3: 스위치로 LED 제어
회로 구성
3.3V → LED → 저항 → 스위치 → GND 순서로 연결한다.
- 스위치의 한쪽 쌍(예: 1-3)을 저항과 같은 행에 연결
- 스위치의 다른 쪽 쌍(예: 2-4)을 GND에 연결

동작 확인
스위치를 누르면 LED가 켜지고, 떼면 꺼진다. 버튼을 누르면 스위치 내부에서 1-3과 2-4 사이가 연결되어 3.3V → LED → 저항 → 스위치 → GND 경로로 전류가 흐르고, 버튼을 떼면 경로가 끊어져 전류가 차단된다.

'Embedded' 카테고리의 다른 글
| [오제이 튜브 임베디드 강의] 19. FND 제어 (0) | 2026.04.26 |
|---|---|
| [오제이 튜브 임베디드 강의] 18. 내 힘으로 스위치회로 만들기 (0) | 2026.04.26 |
| [오제이 튜브 임베디드 강의] 16. printf도 쉽지 않다구 (0) | 2026.04.26 |
| [오제이 튜브 임베디드 강의] 15. 고추 건조기 세트 언박싱 (0) | 2026.04.25 |
| [오제이 튜브 임베디드 강의] 14. 오실로스코프 마지막 공부 (0) | 2026.04.25 |