ESP8266 - 버튼 - 릴레이 | ESP8266 - Button - Relay
이 튜토리얼은 ESP8266과 버튼을 사용하여 릴레이를 제어하는 방법을 지시합니다. 릴레이를 솔레노이드 잠금장치, 전구, LED 스트립, 모터 또는 액추에이터 등에 연결함으로써, 버튼으로 그것들을 제어할 수 있습니다. 우리는 두 가지 다른 애플리케이션을 배우게 될 것입니다:
애플리케이션 1 - 릴레이 상태가 버튼 상태와 동기화됩니다. 자세히:
- 버튼이 눌렸을 때 ESP8266이 릴레이를 켭니다.
- 버튼이 눌리지 않았을 때 ESP8266이 릴레이를 끕니다.
응용 프로그램 2 - 버튼을 누를 때마다 릴레이 상태가 토글됩니다. 보다 구체적으로:
- ESP8266이 버튼이 눌렸음을 감지하면(높은 상태에서 낮은 상태로 변경됨), 현재 꺼져있으면 릴레이를 켜고, 현재 켜져있으면 릴레이를 끕니다.
- 버튼을 놓아도 릴레이 상태에는 영향을 주지 않습니다.
애플리케이션 2에서는 버튼이 제대로 작동하는지 확인하기 위해 버튼을 디바운스 처리할 필요가 있습니다. 버튼의 디바운스 처리 여부에 따라 ESP8266 코드를 사용할 때 릴레이의 동작 방식이 어떻게 달라지는지 비교함으로써 그 중요성을 알아보겠습니다.
준비물
1 | × | ESP8266 NodeMCU | Amazon | |
1 | × | Micro USB Cable | Amazon | |
1 | × | Push Button | 쿠팡 | Amazon | |
1 | × | (Optional) Panel-mount Push Button | Amazon | |
1 | × | Relay | Amazon | |
1 | × | Breadboard | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) Solenoid Lock | Amazon | |
1 | × | (Optional) 12V Power Adapter | Amazon | |
1 | × | (Optional) DC Power Jack | 쿠팡 | Amazon | |
1 | × | (Optional) 5V Power Adapter for ESP8266 | Amazon | |
1 | × | (Optional) Screw Terminal Expansion Board for ESP8266 | 쿠팡 | Amazon |
릴레이와 버튼에 대하여
릴레이 및 버튼(핀배열, 작동 방법 및 프로그래밍 포함)에 익숙하지 않다면 다음 튜토리얼이 도움이 될 수 있습니다:
선연결
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP8266의 핀 배치 및 ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.
애플리케이션 1 - 릴레이 상태가 버튼 상태와 동기화됩니다
ESP8266 코드
사용 방법
ESP8266을 Arduino IDE에서 시작하려면 다음 단계를 따르십시오:
ESP8266을 처음 사용하는 경우 Arduino IDE에서 ESP8266 환경 설정 방법 튜토리얼을 확인하세요.
도표에 표시된 대로 구성요소를 연결하세요.
USB 케이블을 사용하여 컴퓨터에 ESP8266 보드를 연결하세요.
컴퓨터에서 Arduino IDE를 엽니다.
올바른 ESP8266 보드를 선택하세요. 예를 들어 (NodeMCU 1.0 (ESP-12E Module)) 및 해당 COM 포트입니다.
USB 케이블로 컴퓨터에 ESP8266을 연결하세요.
Arduino IDE를 실행하고, 올바른 보드와 포트를 선택하세요.
코드를 복사하고 Arduino IDE에서 엽니다.
Arduino IDE에서 Upload 버튼을 클릭하여 코드를 컴파일하고 ESP8266에 업로드합니다.
- 버튼을 누르고 몇 초간 계속 누르세요.
- 릴레이 상태의 변화를 확인하세요.
버튼 상태와 동기화된 릴레이 상태를 볼 수 있습니다.
코드 설명
소스 코드의 주석에 포함된 줄별 설명을 확인해 보세요!
애플리케이션 2 - 버튼 토글 릴레이
ESP8266 코드 - 디바운싱 없이 버튼으로 릴레이 토글하기
코드 설명
ESP8266 코드 위의 주석 라인에서 설명을 찾을 수 있습니다.
코드에서 relay_state = !relay_state 표현식은 다음 코드와 동일합니다:
사용 방법
- 아두이노 IDE에서 코드를 복사하고 열어보세요.
- ESP8266에 코드를 업로드하세요.
- 출시 버튼을 여러 번 눌러보세요.
- 릴레이 상태의 변화를 확인하세요.
버튼을 누를 때마다 릴레이가 켜지거나 꺼지는 것을 알아차릴 수 있지만, 항상 같지는 않을 수 있습니다. 때로는 버튼을 한 번 누르는 것만으로도 여러 번 빠르게 전환되거나 전혀 전환되지 않을 수도 있습니다(맨눈으로 볼 수 없을 정도로 매우 빠르게 두 번 전환함).
이 문제를 해결하려면 버튼에 대해 디바운스 처리를 해야 합니다.
ESP8266 코드 - 디바운싱을 사용하여 버튼으로 릴레이를 토글합니다
버튼 디바운싱은 초보자에게 도전적일 수 있습니다. 다행히도, ezButton 라이브러리가 쉽게 만들어줍니다.
디바운싱이 왜 필요한가요? 자세한 정보는 ESP8266 - 버튼 디바운스 튜토리얼을 참조하세요.
사용 방법
- EzButton 라이브러리를 설치하세요. 지침은 방법을 참조하세요.
- 코드를 복사하고 Arduino IDE로 열어주세요.
- Arduino IDE에서 Upload 버튼을 클릭하여 ESP8266에 코드를 업로드하세요.
- 버튼을 여러 번 눌렀다 놓으세요.
- 릴레이의 상태 변경을 확인하세요.
버튼을 누를 때마다 릴레이가 한 번만 켜지거나 꺼짐을 알게 될 것입니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.