ESP32 C3 Super Mini 스위치
ON/OFF 스위치(토글 스위치라고도 함)에는 ON(닫힘)과 OFF(열림) 두 가지 상태가 있습니다. 누를 때마다 상태가 바뀌고, 손을 뗀 후에도 그 상태가 유지됩니다. 이 튜토리얼에서는 ESP32 C3 Super Mini에서 ON/OFF 스위치를 사용하는 방법을 보여줍니다.
이 튜토리얼에서 배울 내용:
- ON/OFF 스위치가 무엇이며 어떻게 작동하는지
- ON/OFF 스위치를 ESP32 C3 Super Mini에 배선하는 방법
- ESP32 C3 Super Mini 코드로 스위치 상태를 읽는 방법
- EzButton 라이브러리로 채터링 노이즈를 제거하는 방법
- 토글 스위치를 사용하는 프로젝트 아이디어

ON/OFF 스위치는 아래 부품들과 같지 않습니다. 혼동하지 마세요:
필요한 하드웨어
| 1 | × | ESP32 C3 Super Mini | 아마존 | |
| 1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
| 1 | × | Wires | 아마존 | |
| 1 | × | ON/OFF Square 스위치 | 아마존 | |
| 1 | × | (또는) ON/OFF Round 스위치 | 아마존 | |
| 1 | × | (또는) On/Off Switch Module | 아마존 | |
| 1 | × | (옵션) DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
| 1 | × | 브레드보드 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 |
ON/OFF 스위치 정보
ON/OFF 스위치는 누르면 상태가 바뀌고, 손을 뗀 후에도 그 상태를 유지하는 스위치입니다.
주요 기능:
- 두 가지 안정 상태: ON(닫힘)과 OFF(열림)
- 래칭: 스스로 ON 또는 OFF 상태를 유지합니다 — 계속 누르고 있을 필요가 없습니다
- 눌러서 전환: 다시 누르면 다른 상태로 돌아갑니다
- 극성 없음: 2핀 타입은 + 또는 - 쪽이 없습니다
- 초보자 친화적: ESP32 C3 Super Mini의 3.3V 로직에서 작동합니다
기술 사양:
- 유형: 기계식 래칭 스위치 (2핀 타입은 SPST)
- 핀 수: 2핀(일반적) 또는 3핀
- 접촉 저항: ON일 때 거의 0옴, OFF일 때 매우 높음
- 여기서 사용하는 로직 레벨: ESP32 C3 Super Mini의 3.3V
- 채터링 시간: 수 밀리초 — 디바운스가 필요합니다
핀아웃
일반적인 ON/OFF 스위치에는 2핀 스위치와 3핀 스위치 두 종류가 있습니다. 이 튜토리얼에서는 2핀 스위치를 사용합니다.
- Pin 1: 접점의 한쪽 — 순서 상관없음
- Pin 2: 접점의 다른 쪽 — 순서 상관없음

작동 원리
ON/OFF 스위치를 ESP32 C3 Super Mini에 배선하는 방법은 두 가지가 있습니다.
| 방법 | Pin 1 | Pin 2 | ESP32 C3 Super Mini 입력 핀의 상태 |
|---|---|---|---|
| 1 | GND | ESP32 C3 Super Mini 입력 핀 (풀업 사용) | HIGH ⇒ OFF, LOW ⇒ ON |
| 2 | 3.3V | ESP32 C3 Super Mini 입력 핀 (풀다운 사용) | HIGH ⇒ ON, LOW ⇒ OFF |
ESP32 C3 Super Mini에는 내부 풀업 저항이 내장되어 있으므로 이 튜토리얼에서는 첫 번째 방법을 사용합니다.
배선 다이어그램
스위치의 한 핀을 GPIO7에, 다른 핀을 GND에 연결합니다.
- 참고: 3.3V만 사용하세요. ESP32 C3 Super Mini의 어떤 GPIO 핀에도 5V를 절대 넣지 마세요.
- 참고: 2핀 스위치의 두 핀은 서로 바꿔서 연결해도 됩니다.
- 참고: GPIO8이나 GPIO9는 사용하지 마세요 — 부트 스트래핑 핀입니다.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
| ON/OFF 스위치 핀 | ESP32 C3 Super Mini 핀 |
|---|---|
| Pin 1 | GPIO7 |
| Pin 2 | GND |
단단하고 안정적인 연결을 위해 납땜 인두로 전선을 ON/OFF 스위치 핀에 납땜한 다음, 안전을 위해 접합부를 열수축 튜브로 덮으세요.
ESP32 C3 Super Mini 코드 - ON/OFF 스위치
버튼과 마찬가지로 ON/OFF 스위치도 디바운스가 필요합니다(버튼, ON/OFF 스위치에 디바운스가 필요한 이유는? 참조). 디바운스를 직접 구현하면 코드가 길어집니다. ezButton 라이브러리가 디바운스를 대신 처리하고 내부 풀업 저항을 켜주므로 코드가 짧게 유지됩니다.
이 코드가 하는 일:
- ESP32 C3 Super Mini의 GPIO7에 연결된 ON/OFF 스위치를 읽습니다
- 내부 풀업 저항을 자동으로 켭니다
- 50ms 필터로 스위치를 디바운스합니다
- 현재 상태(ON 또는 OFF)를 시리얼 모니터에 출력합니다
- 상태가 바뀔 때마다 메시지를 출력합니다
※ 주의:
ON/OFF 스위치의 일반적인 사용 사례는 두 가지입니다:
- 첫 번째 사용 사례: 스위치가 ON 상태이면 특정 동작을 수행합니다. 입력 상태가 OFF이면 반대 동작을 수행합니다.
- 두 번째 사용 사례: 스위치 상태가 ON에서 OFF로(또는 OFF에서 ON으로) 바뀌면 특정 동작을 수행합니다.
빠른 단계
- ESP32 C3 Super Mini가 처음이신가요? 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하여 개발 환경을 설정하세요.
- 부품 배선: 위의 배선 다이어그램을 따라 ON/OFF 스위치를 ESP32 C3 Super Mini에 연결합니다.
- 보드 연결: USB Type-C 케이블로 ESP32 C3 Super Mini를 PC에 연결합니다.
- Arduino IDE 열기: Arduino IDE 소프트웨어를 실행합니다.
- 라이브러리 설치: ezButton 라이브러리를 설치합니다. 설치 방법을 참조하세요.
- 보드 선택: Tools > Board에서 ESP32 C3 Super Mini가 선택되어 있는지 확인하세요.
- 포트 선택: Tools > Port에서 ESP32 C3 Super Mini의 COM 포트를 선택합니다.
- 코드 업로드: 위의 코드를 복사하여 Arduino IDE에 붙여넣은 다음 Upload 버튼을 클릭합니다.
- 시리얼 모니터 열기: 보드레이트를 115200으로 설정합니다.
- 스위치 켜기: 시리얼 모니터 출력이 바뀌는 것을 확인합니다.
- 스위치 끄기: 시리얼 모니터 출력이 다시 바뀌는 것을 확인합니다.
- 전문가 팁: 읽은 값이 무작위로 보이면 스위치가 GND에 연결되어 있고 플로팅 상태가 아닌지 확인하세요.
라인별 코드 설명
위의 ESP32 C3 Super Mini 코드에는 라인별 설명이 포함되어 있습니다. 코드의 주석을 읽어주세요!
응용/프로젝트 아이디어
ESP32 C3 Super Mini에서 ON/OFF 스위치를 사용하는 간단한 방법은 다음과 같습니다.
- 램프 스위치: LED나 릴레이 램프를 켜고 끕니다.
- 팬 제어: 한 번 눌러 ESP32 C3 Super Mini - 팬 제어을 시작하고 멈춥니다.
- 모드 선택기: 느림과 빠름 같은 두 가지 프로그램 모드 중에서 선택합니다.
- 데이터 로거 스위치: SD 카드 기록을 시작하고 멈춥니다.
- 알람 활성화: 모션 알람을 켜거나 끕니다.
- 펌프 스위치: 식물에 물을 주기 위해 워터 펌프를 켭니다.
도전 과제
ESP32 C3 Super Mini와 ON/OFF 스위치로 더 나아가려면 다음을 시도해 보세요.
- 쉬움: 스위치가 ON이면 GPIO8의 내장 LED를 켭니다.
- 쉬움: 스위치가 ON 상태로 유지된 시간(초)을 출력합니다.
- 중간: 스위치로 GPIO3의 LED 깜빡임을 시작하고 멈춥니다.
- 중간: GPIO6에 두 번째 ON/OFF 스위치를 추가하고 두 상태를 모두 출력합니다.
- 고급: 두 개의 스위치로 4가지 다른 모드(00, 01, 10, 11)를 선택합니다.
- 고급: Wi-Fi를 통해 스위치 상태를 웹 페이지로 보냅니다.