ESP32 - 스위치 | ESP32 - Switch

ON/OFF 또는 토글 스위치는 두 가지 상태를 가지고 있습니다: 켜짐(닫힘)과 꺼짐(열림)입니다. 스위치를 누를 때마다 상태가 켜짐과 꺼짐 사이에서 전환되며, 릴리즈되어도 그 상태를 유지합니다. 이 튜토리얼은 ESP32 마이크로컨트롤러를 사용하여 ON/OFF 스위치를 사용하는 방법을 안내할 것입니다.

ESP32 ON/OFF Switch

다음 항목과는 달리 ON/OFF 스위치가 구별되어야 하며, 이들과 혼동해서는 안 된다는 점을 유의해야 합니다.

준비물

1×ESP-WROOM-32 Dev Module 쿠팡 | Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×Wires Amazon
1×ON/OFF Square Switch Amazon
1×(Alternative) ON/OFF Round Switch Amazon
1×(Optional) DC Power Jack 쿠팡 | Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Recommended) Screw Terminal Expansion Board for ESP32 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

ON/OFF 스위치에 관하여

ON/OFF 스위치는 눌렀을 때 ON OFF 상태 사이를 변경하고, 놓았을 때에도 그 상태를 유지하는 스위치입니다. 상태를 다시 변경하려면, 스위치를 다시 눌러야 합니다.

핀배열

일반적으로 켜기/끄기 스위치에는 2핀 스위치와 3핀 스위치 두 가지 유형이 있습니다. 이 튜토리얼에서는 두 핀 사이의 구분이 필요하지 않은 2핀 스위치 사용에 중점을 둘 것입니다.

ON/OFF Switch Pinout

작동 원리

ON/OFF 스위치를 사용하는 방법은 두 가지가 있습니다. 아래 표는 이 두 가지 방법에 대해 ESP32에서의 배선 및 읽기 상태를 보여줍니다:

pin 1 pin 2 ESP32 Input Pin's State
1 GND ESP32 Input Pin (with pull-up) HIGH OFF, LOW ON
2 VCC ESP32 Input Pin (with pull-down) HIGH ON, LOW OFF

두 가지 방법 중에서, 이 튜토리얼은 특히 첫 번째 방법을 예로 사용하여 한 가지 방법에 초점을 맞출 것입니다.

선연결

ESP32 ON/OFF Switch Wiring Diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.

배선 연결을 안정적이고 견고하게 만들기 위해 우리는 전선과 ON/OFF 스위치의 핀을 함께 납땜하여 사용하는 것을 권장하며, 그런 다음 이를 안전하게 만들기 위해 사용합니다.

안정적이고 안전한 연결을 위해, 솔더링 아이언을 사용하여 전선과 ON/OFF 스위치 핀을 함께 납땜하고, 그 후 추가 안전을 위해 열 수축 튜브를 사용하는 것이 권장됩니다.

ESP32 코드 - 온/오프 스위치

버튼처럼 ON/OFF 스위치도 디바운싱이 필요합니다 (자세한 내용은 여기에서 확인하세요). 디바운싱은 코드를 복잡하게 만듭니다. 다행히도, 는 디바운싱 기능을 지원합니다. 이 라이브러리는 내부 풀업 레지스터도 사용합니다. 이것들은 우리가 프로그래밍하기 쉽게 만듭니다.

버튼과 마찬가지로, ON/OFF 스위치 역시 디바운싱이 필요합니다(더 자세한 정보는 버튼, ON/OFF 스위치에 왜 디바운싱이 필요한가?에서 확인할 수 있습니다). 디바운싱은 코드를 더 복잡하게 만들 수 있습니다. 다행히도, ezButton 라이브러리는 디바운싱 기능을 제공하며 내부 풀업 레지스터를 활용해 프로그래밍을 더 쉽게 만듭니다.

※ NOTE THAT:

ON/OFF 스위치의 두 가지 일반적인 사용 사례는 다음과 같습니다:

  • 첫 번째 사용 사례: 스위치가 ON 상태인 경우 특정 동작을 수행합니다. 입력 상태가 OFF인 경우 반대 동작을 수행합니다.
  • 두 번째 사용 사례: 스위치의 상태가 ON에서 OFF(또는 OFF에서 ON)로 변경되는 경우 특정 동작을 수행합니다.
/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-switch */ #include <ezButton.h> ezButton mySwitch(17); // ESP32의 GPIO17에 연결된 ezButton 객체를 생성합니다. void setup() { Serial.begin(9600); mySwitch.setDebounceTime(50); // 디바운스 시간을 50 밀리초로 설정합니다. } void loop() { mySwitch.loop(); // loop() 함수를 먼저 호출해야 합니다. if (mySwitch.isPressed()) Serial.println("The switch: OFF -> ON"); if (mySwitch.isReleased()) Serial.println("The switch: ON -> OFF"); int state = mySwitch.getState(); if (state == HIGH) Serial.println("The switch: OFF"); else Serial.println("The switch: ON"); }

사용 방법

  • ESP32를 처음 사용하는 경우, Arduino IDE에서 ESP32 환경 설정 방법을 참조하세요.
  • 위의 배선도를 따라 ESP32에 ON/OFF 스위치를 연결하십시오.
  • USB 케이블을 사용하여 ESP32를 PC에 연결하십시오.
  • Arduino IDE 소프트웨어를 엽니다.
  • EzButton 라이브러리를 설치하십시오. 지침을 참조하십시오.
  • Arduino IDE에서 적절한 보드와 포트를 선택하십시오.
  • Arduino IDE의 Upload 버튼을 클릭하여 ESP32 보드에 코드를 컴파일하고 업로드하십시오.
  • ON으로 스위치를 켜서 ON/OFF 스위치를 테스트하십시오.
  • Arduino IDE의 시리얼 모니터에서 출력을 관찰하십시오.
  • 스위치를 OFF로 돌리십시오.
  • Arduino IDE의 시리얼 모니터에서 출력을 관찰하십시오.
COM6
Send
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
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!