ESP32 C3 Super Mini LED 페이드
ESP32 C3 Super Mini에서 PWM 제어를 사용하여 LED를 페이드하는 방법을 알아봅시다. 이 초보자 친화적인 튜토리얼은 단순한 delay 기반 코드에서 고급 논블로킹 기술까지 부드러운 LED 페이드 효과를 만드는 세 가지 다른 방법을 보여줍니다.
이 튜토리얼에서 배우게 될 내용:
- PWM이 무엇이고 LED 밝기를 제어하는 방법
- ESP32 C3 Super Mini에 LED를 배선하는 방법
- Delay(), millis() 및 ezLED 라이브러리를 사용하여 LED를 페이드하는 방법
- 다른 코드를 차단하지 않고 부드러운 페이드 효과를 만드는 방법
- 페이드 제어 코드를 읽고 이해하는 방법

필요한 하드웨어
| 1 | × | ESP32 C3 Super Mini | 아마존 | |
| 1 | × | USB 타입-C 케이블 | 쿠팡 | 아마존 | |
| 1 | × | LED | 쿠팡 | 아마존 | |
| 1 | × | LED Module | 아마존 | |
| 1 | × | 220 옴 저항 | 아마존 | |
| 1 | × | 브레드보드 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼 와이어 | 쿠팡 | 아마존 | |
| 1 | × | (선택 사항) DC 파워 잭 | 쿠팡 | 아마존 |
LED에 대해
LED는 정확한 방향으로 전류가 통과할 때 빛을 내는 발광 다이오드입니다.
주요 특성:
- 두 개의 핀: 양극(양수, 긴 다리)과 음극(음수, 짧은 다리)
- 낮은 전력 소비 및 오래된 수명
- PWM 신호를 사용하여 밝기를 제어할 수 있음
- 손상을 방지하기 위해 전류 제한 저항(일반적으로 220 옴)이 필요함
- 작동 전압은 일반적으로 LED 색상에 따라 2-3V
- 디지털 출력과 PWM 제어를 배우는 초보자에게 완벽함
LED 핀아웃
LED는 간단한 두 핀 구성을 가지고 있습니다:
- 음극(-) 핀: 이 핀을 GND(0V)에 연결하세요 - LED 하우징의 평평한 모서리가 있는 짧은 다리입니다
- 양극(+) 핀: LED 상태를 제어하기 위해 ESP32 C3 Super Mini 출력 핀에 연결하세요 - 긴 다리입니다

LED 작동 방식
음극(-)을 GND에 연결한 후:
- 양극(+)에 GND: LED OFF (전압 차이 없음)
- 양극(+)에 VCC: LED ON 최대 밝기 (최대 전류 흐름)
- 양극(+)에 PWM 신호: LED 밝기는 PWM 듀티 사이클에 비례하여 변함
- PWM 듀티 사이클은 ESP32 C3 Super Mini에서 0 ~ 255 범위
- 듀티 사이클 0 = GND 동등 = LED OFF
- 듀티 사이클 255 = VCC 동등 = LED 최대 밝기
- 듀티 사이클 127 = 약 50% 밝기
- ESP32는 평균 밝기를 만들기 위해 핀을 빠르게 ON/OFF로 전환함
- LED 양극(+)을 PWM 가능한 ESP32 C3 Super Mini 핀에 연결(대부분의 디지털 핀은 PWM 지원)
- LED 음극(-)을 220 옴 저항을 통해 GND에 연결
- PWM 듀티 사이클 값을 점진적으로 변경하도록 ESP32 C3 Super Mini를 프로그래밍
- LED 밝기는 듀티 사이클이 0 ~ 255로 변할 때 부드럽게 전환됨
- 시간 경과에 따라 듀티 사이클을 증가시켜 페이드인 효과 생성
- 시간 경과에 따라 듀티 사이클을 감소시켜 페이드아웃 효과 생성

※ 주의:
LED와 직렬로 저항(일반적으로 220 옴)을 항상 사용하여 전류를 제한하고 고장을 방지하세요. 저항 값은 LED의 사양 및 공급 전압에 따라 다릅니다.
ESP32 C3 Super Mini - LED 페이드
ESP32 C3 Super Mini의 디지털 출력 핀은 부드러운 LED 페이드 효과를 위해 PWM 신호를 생성할 수 있습니다.
ESP32 C3 Super Mini로 LED 페이딩 작동 방식:
ESP32 C3 Super Mini와 LED 사이의 배선도
ESP32 C3 Super Mini에 LED를 연결하여 페이드 제어를 수행하려면 이 배선도를 따르세요:
- 중요: LED와 함께 직렬로 220 옴 저항을 항상 포함하여 과도한 전류로 인한 손상을 방지하세요
| LED 핀 | ESP32 C3 Super Mini 핀 |
|---|---|
| 양극(+) (긴 다리) | D7 (220Ω 저항을 통해) |
| 음극(-) (짧은 다리) | GND |

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
프로그래밍 방법
ESP32 C3 Super Mini에서 LED를 페이드하도록 프로그래밍하는 것은 다음과 같은 기본 단계를 포함합니다:
- 핀 구성: pinMode() 함수를 사용하여 ESP32 C3 Super Mini 핀을 디지털 출력으로 설정(핀 D7 예시):
- LED 밝기 설정: analogWrite() 함수를 사용하여 원하는 듀티 사이클로 PWM 신호 생성:
여기서 brightness는 0(완전히 꺼짐)에서 255(최대 밝기)까지의 값입니다.
코드가 하는 역할:
- PinMode() 함수는 핀 D7을 출력 신호를 보내도록 준비
- AnalogWrite() 함수는 밝기 값과 일치하는 듀티 사이클로 PWM 신호를 생성
- 시간 경과에 따라 밝기 값을 변경하면 페이드 효과가 생성됨
- 높은 값 = 더 밝은 LED, 낮은 값 = 더 어두운 LED
ESP32 C3 Super Mini 코드 - 간단한 페이드 예제
이 코드는 delay() 함수를 사용한 기본 LED 페이딩을 보여줍니다:
이 코드가 하는 역할:
- LED 밝기를 0 ~ 255로 점진적으로 증가(페이드인)
- LED 밝기를 255 ~ 0으로 점진적으로 감소(페이드아웃)
- Delay()를 사용하여 밝기 변화 속도를 제어
- 페이드인과 페이드아웃 사이클을 지속적으로 반복
빠른 단계
- ESP32 C3 Mini를 처음 사용하시나요? 개발 환경을 설정하려면 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하세요.
- 구성 요소 배선: 위의 배선도를 따라 LED를 핀 D7에 220 옴 저항을 통해 연결하세요
- 보드 연결: USB 타입-C 케이블을 사용하여 ESP32 C3 Super Mini를 컴퓨터에 연결하세요
- Arduino IDE 열기: 컴퓨터에서 Arduino IDE 소프트웨어를 실행하세요
- 보드 및 포트 선택: "ESP32 C3 Super Mini"를 보드로 선택하고 올바른 COM 포트를 선택하세요
- 코드 복사: 아래 코드를 복사하여 새로운 Arduino IDE 스케치에 붙여넣으세요
- 코드 업로드: Arduino IDE의 업로드 버튼을 클릭하여 코드를 컴파일하고 ESP32 C3 Super Mini로 전송하세요
- 결과 관찰: LED가 연속 사이클로 부드럽게 페이드인과 페이드아웃하는 것을 확인하세요
- 전문가 팁: 지연 값을 변경하여 페이드 효과를 가속화하거나 저속화하거나, 밝기 증가 단계를 수정하여 더 부드럽거나 더 극적인 페이딩을 만들어 보세요.

라인별 코드 설명
위의 ESP32 C3 Super Mini 코드는 라인별 설명을 포함합니다. 코드의 주석을 읽어주세요!
※ 주의:
위의 예제는 delay() 함수를 사용하여 페이드인과 페이드아웃을 수행합니다. delay() 함수는 LED 페이드를 덜 부드럽게 만들고 페이드 중에 다른 코드가 실행되는 것을 차단합니다. 다음 부분에서는 논블로킹 타이밍 제어를 위해 millis() 함수를 사용하여 다른 코드를 차단하지 않고 부드럽게 페이드인과 페이드아웃하는 방법을 배우겠습니다.
delay()를 사용하지 않고 일정 기간 동안 LED를 페이드인하는 방법
이 고급 코드는 논블로킹 타이밍을 위해 millis()를 사용하여 부드러운 페이드인 효과를 만듭니다:
이 코드가 하는 역할:
- 지정된 시간 기간 동안 LED를 꺼짐에서 최대 밝기로 페이드
- Millis()를 사용하여 다른 코드 실행을 차단하지 않고 시간 추적
- 페이드 중에 다른 작업이 동시에 실행되도록 허용
- Delay()보다 더 부드럽고 정확한 페이드 제어 제공
- 경과 시간에 따라 밝기를 자동으로 계산
delay()를 사용하지 않고 일정 기간 동안 LED를 페이드아웃하는 방법
이 코드는 논블로킹 타이밍 제어로 부드러운 페이드아웃 효과를 보여줍니다:
이 코드가 하는 역할:
- 지정된 기간 동안 LED를 최대 밝기에서 꺼짐으로 페이드
- 논블로킹 시간 추적을 위해 millis() 사용
- LED가 페이드하는 동안 멀티태스킹 활성화
- 페이드 타이밍 및 부드러움에 대한 정확한 제어 제공
- 완전한 페이드 사이클을 위해 페이드인 코드와 결합할 수 있음
응용 프로그램 및 프로젝트 아이디어
이러한 초보자 친화적인 ESP32 C3 Super Mini 프로젝트에서 LED 페이드 기술을 사용하세요:
- 숨쉬는 야간 조명: 부드럽게 페이드인과 페이드아웃하는 진정한 주변 조명 만들기
- 상태 표시기: 다른 페이드 속도(느린 페이드 = 대기, 빠른 페이드 = 처리)로 장치 상태 표시
- 알람시계: LED 밝기를 점진적으로 증가시켜 일출을 시뮬레이션하여 부드러운 깨우기
- 음악 시각화기: LED 페이드를 오디오 입력과 동기화하여 간단한 음향 반응 조명
- 스마트 홈 분위기 조명: LED 밝기를 원격으로 제어하고 분위기를 위해 페이드 효과
- 배터리 수준 표시기: 페이드 속도를 사용하여 남은 배터리 충전량을 나타냄(느린 = 가득, 빠른 = 낮음)
비디오 튜토리얼
아래 비디오를 시청하여 이 프로젝트의 시각적 안내를 받으세요.
직접 도전하기
다음 도전으로 LED 페이드 기술을 다음 단계로 끌어올리세요:
- 쉬움: 페이드 속도를 수정하여 5초 동안 느리고 편안한 호흡 효과 만들기
- 쉬움: 코드를 수정하여 0 ~ 255 대신 두 개의 다른 밝기 수준 사이에서 페이드
- 중간: 블로킹 없이 동시에 실행되는 다른 페이드 패턴으로 여러 LED 제어
- 중간: 페이드 효과를 시작/중지하거나 다른 페이드 속도 사이를 전환하는 버튼 추가
- 고급: 겹치는 색상 전환이 있는 RGB LED를 사용하여 무지개 페이드 효과 만들기
- 고급: 센서 입력(예: 광 수준 또는 온도)에 응답하는 페이드 패턴 구현