ESP32 C3 Super Mini 버튼 LED
이 튜토리얼은 ESP32 C3 Super Mini를 버튼과 함께 사용하여 LED를 제어하는 방법을 보여줍니다. LED를 버튼 누르기와 동기화하든지 상태를 토글하든지 간단한 코드 예제로 두 방법 모두를 배웁니다.
이 튜토리얼에서 배울 내용:
- ESP32 C3 Super Mini 버튼이 LED 상태를 제어하는 방법
- 버튼과 LED를 ESP32 C3 Super Mini에 연결하는 방법
- 동기화 및 토글 제어를 위한 코드 작성 방법
- 신뢰할 수 있는 LED 토글을 위해 버튼 디바운싱이 필수적인 이유
- 깔끔하고 신뢰할 수 있는 버튼 제어를 위해 ezButton 라이브러리를 사용하는 방법

ESP32 C3 Super Mini 버튼 LED 제어의 두 가지 사용 사례를 다룹니다:
사용 사례 1 - LED 및 버튼 상태 동기화:
- ESP32 C3 Super Mini가 버튼을 누르면 LED를 켭니다
- ESP32 C3 Super Mini가 버튼을 놓으면 LED를 끕니다
- LED 상태가 실시간으로 버튼 상태를 반영합니다
사용 사례 2 - 버튼 누르기로 LED 상태 토글:
- ESP32 C3 Super Mini가 버튼 누르기 감지 (HIGH에서 LOW로의 전환)
- LED가 현재 꺼져 있으면 켜지고, 켜져 있으면 꺼집니다
- 버튼을 놓아도 LED 상태는 변경되지 않습니다
- 신뢰할 수 있는 작동을 위해 디바운싱 필요
사용 사례 2에서 버튼 디바운싱은 중요합니다. 디바운싱을 사용한 경우와 사용하지 않은 경우의 ESP32 C3 Super Mini 코드 차이를 보여드려 중요성을 이해할 수 있습니다.
필요한 하드웨어
| 1 | × | ESP32 C3 Super Mini | 아마존 | |
| 1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
| 1 | × | 캡이 있는 버튼 | 쿠팡 | 아마존 | |
| 1 | × | 버튼 키트 | 쿠팡 | 아마존 | |
| 1 | × | 패널 장착 푸시 버튼 | 아마존 | |
| 1 | × | 푸시 버튼 모듈 | 아마존 | |
| 1 | × | LED | 쿠팡 | 아마존 | |
| 1 | × | LED Module | 아마존 | |
| 1 | × | 220Ω Resistor | 아마존 | |
| 1 | × | 브레드보드 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (옵션) 5V Power Adapter for ESP32 C3 Super Mini | 아마존 |
LED 및 버튼 정보
LED와 버튼은 ESP32 C3 Super Mini 프로젝트의 기본 컴포넌트입니다.
완전한 초보자 가이드는 이 튜토리얼을 확인하세요:
- ESP32 C3 슈퍼 미니 - LED - 깜박이기 - LED 기초 및 깜박임 배우기
- ESP32 C3 Super Mini - 버튼 - 버튼 읽기 이해
- ESP32 C3 Super Mini - 버튼 - 디바운스 - 신뢰할 수 있는 버튼 감지 마스터
이 설정에 대한 주요 포인트:
- LED는 손상을 방지하기 위해 전류 제한 저항이 필요합니다 (220옴 권장)
- 버튼은 내부 또는 외부 풀업/풀다운 저항으로 연결될 수 있습니다
- ESP32 C3 Super Mini는 디지털 입력 (버튼)과 출력 (LED)을 동시에 지원합니다
- 버튼과 LED를 결합하면 초보자에게 완벽한 대화형 프로젝트가 만들어집니다
배선 다이어그램
아래 다이어그램에 따라 버튼과 LED를 ESP32 C3 Super Mini에 연결합니다.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
배선 연결:
| Component | Pin | ESP32 C3 Super Mini Pin |
|---|---|---|
| Button | One terminal | D5 |
| Button | Other terminal | GND |
| LED | Anode (long leg) | D7 |
| LED | Cathode (short leg) | 220Ω resistor to GND |
중요한 참고:
- 참고: LED가 220옴 저항을 통해 연결되어 손상을 방지합니다
- 참고: 버튼은 D5의 내부 풀업 저항을 사용합니다
응용 프로그램 1 - LED 상태가 버튼 상태와 동기화됨
이 ESP32 C3 Super Mini 응용 프로그램은 버튼으로 LED를 직접 제어하는 방법을 보여줍니다.
이 코드가 하는 일:
- ESP32 C3 Super Mini에서 버튼 상태를 지속적으로 읽음
- 버튼을 누르면 LED를 즉시 켭니다
- 버튼을 놓으면 LED를 즉시 끕니다
- 간단하고 실시간 동기화된 응답을 만듭니다
ESP32 C3 Super Mini 코드
빠른 단계
- ESP32 C3 Mini를 처음 사용하시나요? 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하여 개발 환경을 설정합니다.
- 컴포넌트 연결: 위에 표시된 배선 다이어그램을 따릅니다.
- ESP32 C3 Super Mini 연결: USB Type-C 케이블을 사용하여 컴퓨터에 연결합니다.
- Arduino IDE 설정: ESP32 C3 Super Mini를 처음 사용하는 경우 ESP32 C3 Super Mini를 Arduino IDE에서 설정하는 방법을 참고하세요.
- 보드 선택: Arduino IDE에서 ESP32 C3 Super Mini 보드와 COM 포트를 선택합니다.
- 코드 업로드: 위의 코드를 복사하여 ESP32 C3 Super Mini에 업로드합니다.

- 버튼 테스트: 몇 초 동안 버튼을 누르고 있습니다.
- LED 관찰: 버튼 누르기에 따라 LED가 켜지고 꺼지는 것을 봅니다.
- Pro Tip: LED 동작이 역순으로 보이면 버튼이 눌린 상태를 올바르게 식별했는지 확인합니다.
ESP32 C3 Super Mini에서 LED 상태가 버튼 상태와 동기화되는 것을 볼 수 있습니다.
코드 설명
소스 코드의 주석에 포함된 라인별 설명을 확인하세요!
응용 프로그램 2 - 버튼이 LED를 토글합니다
이 ESP32 C3 Super Mini 응용 프로그램은 직접 동기화 대신 버튼 누르기로 LED를 토글하는 방법을 보여줍니다.
ESP32 C3 Super Mini의 토글 동작:
- 첫 번째 버튼 누르기가 LED를 켭니다
- 두 번째 버튼 누르기가 LED를 끕니다
- 각 누르기는 반대 상태로 전환합니다
- 신뢰할 수 있는 작동을 위해 디바운싱 필요
ESP32 C3 Super Mini 코드 - 디바운싱 없이 버튼이 LED를 토글
이 첫 번째 예제는 디바운싱 없이 ESP32 C3 Super Mini의 버튼 토글 문제를 보여줍니다.
코드 설명
ESP32 C3 Super Mini 코드 위의 주석 라인에서 설명을 찾을 수 있습니다.
토글 논리 이해:
코드에서 led_state = !led_state 표현식은 다음 코드와 같습니다:
왜 이 단축형이 작동합니까:
- ! 연산자가 부울 값을 반전시킵니다
- 더 간단하고 읽기 쉽습니다
- ESP32 C3 Super Mini 토글 응용 프로그램의 일반적인 패턴
빠른 단계
- 코드 업로드: 위의 코드를 복사하여 ESP32 C3 Super Mini에 업로드합니다.
- 여러 번 누르기 테스트: 버튼을 여러 번 누르고 놓습니다.
- 이상한 동작 관찰: LED가 일관되지 않게 토글될 수 있습니다.
- 문제 이해: 단일 누르기는 LED를 여러 번 토글하거나 전혀 토글하지 않을 수 있습니다.
- Pro Tip: 이 불일치는 버튼이 누를 때 전기적으로 "바운스"하여 여러 신호를 생성하기 때문입니다.
LED 상태가 버튼을 누를 때마다 토글되는 것을 관찰할 수 있습니다. 그러나 이 동작은 항상 일관되지는 않을 수 있습니다. 때로는 LED 상태가 단일 버튼 누르기 내에서 여러 번 빠르게 토글되거나 전혀 토글되지 않을 수 있습니다 (연속으로 두 번 토글되어 육안으로 보기 어려울 수 있음).
⇒ 이 문제를 해결하려면 ESP32 C3 Super Mini - 버튼 - 디바운스합니다.
ESP32 C3 Super Mini 코드 - 디바운싱을 포함하여 버튼이 LED를 토글
이제 적절한 디바운싱을 사용하여 ESP32 C3 Super Mini 버튼 LED 토글을 신뢰할 수 있게 만듭니다.
ezButton 라이브러리 사용 이유:
- ESP32 C3 Super Mini를 위해 모든 디바운싱을 자동으로 처리합니다
- 간단하고 초보자 친화적인 명령
- 버튼 바운스 문제를 완전히 제거합니다
- ESP32 C3 Super Mini 프로젝트를 더 전문적으로 만듭니다
버튼을 디바운스하는 것은 초보자에게 어려울 수 있습니다. 다행히 ezButton 라이브러리는 쉽게 만들어줍니다.
디바운싱이 필요한 이유는? 더 많은 정보를 위해 ESP32 C3 Super Mini - 버튼 - 디바운스을 참고하세요.
빠른 단계
- ezButton 라이브러리 설치: ezButton 라이브러리를 설치합니다. 지침은 방법을 참고하세요.
- 디바운스된 코드 업로드: 위의 코드를 복사하여 ESP32 C3 Super Mini에 업로드합니다.
- 버튼 누르기 테스트: 버튼을 여러 번 누르고 놓습니다.
- 신뢰할 수 있는 토글 관찰: LED가 누르기당 정확히 한 번 토글됩니다.
- 동작 비교: 디바운스되지 않은 버전과 비교할 때 훨씬 더 신뢰할 수 있습니다.
- Pro Tip: ezButton 라이브러리는 버튼 입력이 필요한 모든 ESP32 C3 Super Mini 프로젝트에서 작동합니다.
ESP32 C3 Super Mini에서 버튼을 누를 때마다 LED 상태가 정확히 한 번 토글되는 것을 볼 수 있습니다.
응용 프로그램 아이디어
ESP32 C3 Super Mini 버튼 LED 제어를 프로젝트에 사용하는 창의적인 방법은 다음과 같습니다:
- 수동 ON/OFF 토글 제어가 있는 간단한 ESP32 C3 Super Mini 책상 스탠드 구축
- 버튼을 누르면 켜지는 초인종 표시기 생성
- ESP32 C3 Super Mini를 사용한 시각적 LED 피드백이 있는 게임 버저 시스템 설계
- ESP32 C3 Super Mini를 사용한 버튼 제어로 잠금/잠금 해제 상태를 표시하는 상태 표시기 구축
- 반응 시간 게임 생성 및 LED를 토글할 수 있는 속도 측정
- 간단한 잠금 표시기 생성
비디오 섹션
이 ESP32 C3 Super Mini 버튼 LED 프로젝트의 시각적 설명을 보려면 아래 비디오를 시청하세요.
자신을 시도해보기
이러한 과제를 시도하여 ESP32 C3 Super Mini 버튼 LED 기술을 향상합니다:
- 쉬움: 코드를 수정하여 단일 버튼으로 두 개의 LED를 제어합니다 (하나는 누르면 켜지고, 하나는 꺼짐)
- 쉬움: LED를 변경하여 버튼을 누를 때 3번 깜박입니다 (고정 상태 대신)
- 중간: 두 번째 버튼을 ESP32 C3 Super Mini에 추가하여 LED 밝기를 제어합니다 (어두움/밝음 토글)
- 중간: 각 버튼 누르기에서 다음 상태로 진행하는 신호등 시퀀스 생성
- 고급: ESP32 C3 Super Mini에서 짧은 누르기와 다르게 동작하는 긴 누르기 감지 구현
- 고급: 올바른 순서로만 LED가 켜지는 여러 버튼을 사용하는 조합 잠금 구축