ESP32 C3 Super Mini 스위치

ON/OFF 스위치(토글 스위치라고도 함)에는 ON(닫힘)과 OFF(열림) 두 가지 상태가 있습니다. 누를 때마다 상태가 바뀌고, 손을 뗀 후에도 그 상태가 유지됩니다. 이 튜토리얼에서는 ESP32 C3 Super Mini에서 ON/OFF 스위치를 사용하는 방법을 보여줍니다.

이 튜토리얼에서 배울 내용:

ESP32 C3 Super Mini - 스위치

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 스위치 핀아웃

작동 원리

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는 사용하지 마세요 — 부트 스트래핑 핀입니다.
ESP32 C3 Super Mini on/off 스위치 배선 다이어그램

이 이미지는 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 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-switch */ #include <ezButton.h> ezButton onOffSwitch(7); // create ezButton object that attach to the ESP32 C3 SuperMini pin GPIO7 void setup() { Serial.begin(115200); onOffSwitch.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { onOffSwitch.loop(); // MUST call the loop() function first if (onOffSwitch.isPressed()) Serial.println("The switch: OFF -> ON"); if (onOffSwitch.isReleased()) Serial.println("The switch: ON -> OFF"); int state = onOffSwitch.getState(); if (state == HIGH) Serial.println("The switch: OFF"); else Serial.println("The switch: 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에 연결되어 있고 플로팅 상태가 아닌지 확인하세요.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
The switch: OFF The switch: OFF The switch: OFF The switch: OFF -> ON The switch: ON The switch: ON The switch: ON The switch: ON The switch: ON The switch: ON The switch: ON -> OFF The switch: OFF The switch: OFF The switch: OFF
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

라인별 코드 설명

위의 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를 통해 스위치 상태를 웹 페이지로 보냅니다.

댓글