ESP32 - 버튼으로 LED 토글하기 | ESP32 - Button Toggle LED
이 튜토리얼은 버튼이 눌렸을 때 LED의 상태를 켜짐과 꺼짐으로 전환하는 방법을 ESP32를 사용하여 알려줍니다. 보다 구체적으로:
- 버튼을 누르면 LED를 켭니다.
- 버튼을 다시 누르면 LED를 끕니다.
- 위의 과정을 계속해서 반복합니다.
ESP32 코드에는 디바운싱 없이 및 디바운싱과 함께 버튼이 LED를 토글하는 코드가 포함되어 있습니다.
준비물
1 | × | ESP-WROOM-32 Dev Module | 쿠팡 | Amazon | |
1 | × | USB Cable Type-C | 쿠팡 | Amazon | |
1 | × | Push Button | 쿠팡 | Amazon | |
1 | × | (Optional) Panel-mount Push Button | Amazon | |
1 | × | LED | Amazon | |
1 | × | 220 ohm resistor | Amazon | |
1 | × | Breadboard | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) DC Power Jack | 쿠팡 | Amazon | |
1 | × | (Recommended) Screw Terminal Expansion Board for ESP32 | 쿠팡 | Amazon |
LED 및 버튼 정보
우리는 LED와 버튼에 관한 특정 튜토리얼을 가지고 있습니다. 각 튜토리얼은 하드웨어 핀아웃, 작동 원리, ESP32와의 배선 연결, ESP32 코드에 대한 상세한 정보와 단계별 지침을 포함하고 있습니다. 다음 링크에서 더 많은 정보를 알아보세요:
선연결
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.
ESP32 코드 - 디바운싱 없이 버튼으로 LED 토글
사용 방법
- ESP32를 처음 사용하는 경우, Arduino IDE에서 ESP32 환경 설정 방법을 참조하세요.
- 위 이미지와 같이 배선하세요.
- ESP32 보드를 PC에 마이크로 USB 케이블로 연결하세요.
- PC에서 Arduino IDE를 엽니다.
- 올바른 ESP32 보드(예: ESP32 Dev Module)와 COM 포트를 선택하세요.
- 위 코드를 복사하여 Arduino IDE에 붙여넣으세요.
- Arduino IDE에서 Upload 버튼을 클릭하여 ESP32 보드에 코드를 컴파일하고 업로드하세요.
- 몇 초 동안 버튼을 계속 누르고 있다가 놓으세요.
- LED의 상태 변화를 확인하세요.
코드 줄별 설명
위의 ESP32 코드에는 줄바꿈 설명이 포함되어 있습니다. 코드에 있는 주석을 읽어주세요!
코드에서 led_state = !led_state 는 다음과 같은 코드와 동등합니다:
※ NOTE THAT:
위 코드는 버튼을 위한 디바운스 코드가 없습니다. 버튼을 위한 디바운싱 없이는 예상치 못한 동작이 발생할 수 있습니다. 버튼에 디바운스가 필요한 이유를 참조하세요. 버튼을 위한 디바운싱은 초보자에게 복잡합니다. 다행스럽게도, ezButton 라이브러리가 우리를 위해 버튼 디바운스를 처리해줍니다.
ESP32 코드 - 디바운싱으로 버튼이 LED를 토글합니다
사용 방법
- 이것이 ESP32를 처음 사용하는 경우, Arduino IDE에서 ESP32 환경 설정 방법을 참조하십시오.
- EzButton 라이브러리를 설치하십시오. 방법 보기
- 위의 코드를 복사하여 Arduino IDE에 붙여넣으십시오.
- Arduino IDE에서 Upload 버튼을 클릭하여 ESP32 보드에 코드를 컴파일하고 업로드하십시오.
- 버튼을 여러 번 누르십시오.
- LED의 상태 변화를 확인하십시오.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.