ESP8266 - 리미트 스위치 | ESP8266 - Limit Switch

이 튜토리얼은 ESP8266를 리미트 스위치와 함께 사용하는 방법을 안내합니다. 자세히는, 우리는 배울 예정입니다:

ESP8266 NodeMCU with Limit Switch

준비물

1×ESP8266 NodeMCU Amazon
1×Micro USB Cable Amazon
1×Limit Switch (KW12-3) 쿠팡 | Amazon
1×Limit Switch (V-156-1C25) 쿠팡 | Amazon
1×Wires Amazon
1×(Optional) Heat Shrink Tubing Amazon
1×(Optional) Soldering Iron Amazon
1×(Optional) 5V Power Adapter for ESP8266 Amazon
1×(Optional) ESP8266 Screw Terminal Adapter Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

리미트 스위치에 관하여

그것은 움직이는 물체가 한계에 도달했을 때를 감지하는 것이 주된 목적이기 때문에 리미트 스위치라고 불립니다.

리미트 스위치 핀배열

다양한 종류의 리미트 스위치가 있지만, 가장 널리 선호되는 것들은 KW12-3V-156-1C25입니다. 이들 각각의 타입은 3개의 핀을 특징으로 합니다:

  • C: 이것은 공통 핀으로, 일반적으로 열림 모드와 일반적으로 닫힘 모드 양쪽에서 사용됩니다.
  • NO: 이것은 일반적으로 열림 핀으로, 일반적으로 열림 모드에서만 사용됩니다.
  • NC: 이것은 일반적으로 닫힘 핀으로, 일반적으로 닫힘 모드에서만 사용됩니다.
Limit Switch pinout
image source: diyables.io

작동 원리

제한 스위치에는 3개의 핀이 있지만, 일반적인 응용 프로그램에서는 일반적으로 두 개의 핀만 사용합니다: C 핀과 다른 두 개 중 하나입니다. 따라서 제한 스위치를 사용하는 네 가지 다른 방법이 있습니다. 다음은 모든 네 가지 방법에 대한 제한 스위치의 배선 표와 ESP8266에서의 읽기 상태입니다:

C pin NO pin NC pin ESP8266 Input Pin's State
1 GND ESP8266 Input Pin (with pull-up) not connected HIGH when untouched, LOW when touched
2 GND not connected ESP8266 Input Pin (with pull-up) LOW when untouched, HIGH when touched
3 VCC ESP8266 Input Pin (with pull-down) not connected LOW when untouched, HIGH when touched
4 VCC not connected ESP8266 Input Pin (with pull-down) HIGH when untouched, LOW when touched

모든 방법에 대해, GND 핀과 ESP8266 입력 핀을 서로 바꿀 수 있습니다. 따라서, 리미트 스위치에 ESP8266을 연결하는 여덟 가지 가능한 방법이 있습니다.

우리는 제시된 네 가지 옵션 중 하나를 선택해야 합니다. 튜토리얼의 나머지 부분은 첫 번째 방법을 사용할 것입니다.

선연결

ESP8266 NodeMCU Limit Switch wiring diagram

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

ESP8266의 핀 배치ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.

안전하고 신뢰할 수 있는 배선 연결을 위해, 전선과 리미트 스위치의 핀을 함께 납땜하기 위해 솔더링 아이언 사용을 권장합니다. 그 후, 추가적인 안전을 위해 연결부를 열 수축 튜브로 덮으십시오.

ESP8266 코드 - 리미트 스위치

버튼과 마찬가지로, 리미트 스위치에도 디바운싱이 필요합니다 (버튼/리미트 스위치에 왜 디바운싱이 필요한가?에 대한 자세한 정보는 이곳을 참조하세요). 이는 프로그래밍을 복잡하게 만들 수 있습니다. 다행히도, ezButton 라이브러리는 디바운싱 기능을 지원하고 내부 풀업 레지스터를 가지고 있어 버튼 프로그래밍을 더 쉽게 만들어 줍니다.

※ NOTE THAT:

리미트 스위치와 관련된 두 가지 일반적인 용도가 있습니다:

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

사용 방법

아두이노 IDE에서 ESP8266을 시작하려면 다음 단계를 따르세요:

  • ESP8266을 처음 사용하는 경우 Arduino IDE에서 ESP8266 환경 설정 방법 튜토리얼을 확인하세요.
  • 다이어그램에 표시된 대로 부품을 연결하세요.
  • USB 케이블을 사용하여 컴퓨터에 ESP8266 보드를 연결하세요.
  • 컴퓨터에서 Arduino IDE를 엽니다.
  • 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
  • 다이어그램에 표시된 대로 배선하세요.
  • USB 케이블을 사용하여 컴퓨터에 ESP8266을 연결하세요.
  • Arduino IDE를 엽니다.
  • EzButton 라이브러리를 설치하세요, 설치 방법은 여기에서 찾을 수 있습니다.
  • 올바른 보드와 포트를 선택하세요.
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266에 컴파일하고 업로드하세요.
  • 리미트 스위치를 눌렀다가 놓으세요.
  • 시리얼 모니터에서 결과를 확인하세요.
COM6
Send
The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED -> TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED -> UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED
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!