아두이노 나노 ESP32 - 리밋 스위치 | Arduino Nano ESP32 - Limit Switch

이 튜토리얼은 아두이노 나노 ESP32와 리미트 스위치를 사용하는 방법에 대한 지침을 제공합니다.

Arduino Nano ESP32 with Limit Switch

이 튜토리얼은 리미트 스위치 사용에 대해 구체적으로 다루고 있음을 주목하는 것이 중요합니다. 다음과 혼동하지 말아 주세요:

준비물

1×Arduino Nano ESP32 Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×Limit Switch (KW12-3) 쿠팡 | Amazon
1×Limit Switch (V-156-1C25) 쿠팡 | Amazon
1×Wires Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) DC Power Jack 쿠팡 | Amazon
1×(Recommended) Screw Terminal Adapter for Arduino Nano 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

리미트 스위치에 대하여

그것은 이동하는 물체가 한계에 도달하는 것을 감지하는 것이 주요 기능이기 때문에 리미트 스위치라고 불립니다.

리미트 스위치는 이동하는 물체가 한계에 도달했을 때를 감지하는 것이 주된 목적이기 때문에 그렇게 명명되었습니다.

핀배열

여러 종류의 리미트 스위치가 존재하며, 그 중 KW12-3V-156-1C25가 가장 선호됩니다. 이러한 유형의 각각은 세 개의 핀을 특징으로 합니다:

  • C pin: 이것은 공통 핀입니다. 보통 개방 모드와 보통 닫힘 모드 모두에서 사용됩니다.
  • NO pin: 이것은 보통 개방 핀입니다. 보통 개방 모드에서 사용됩니다.
  • NC pin: 이것은 보통 닫힘 핀입니다. 보통 닫힘 모드에서 사용됩니다.
Limit Switch Pinout
image source: diyables.io

작동 원리

전형적인 리미트 스위치 사용은 일반적으로 C 핀과 나머지 두 핀 중 하나만을 사용합니다. 이로 인해 리미트 스위치를 사용하는 네 가지 다른 방법이 생깁니다. 아래 표는 이 네 가지 방법 각각에 대해 Arduino Nano ESP32에서의 연결 상태와 읽기 상태를 보여줍니다.

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

GND 핀과 아두이노 나노 ESP32 입력 핀을 네 가지 방법 각각에 대해 교체함으로써, 리미트 스위치에 아두이노 나노 ESP32를 연결하는 총 여덟 가지 다른 방법이 있습니다.

여덟 가지 방법 중에서, 이 튜토리얼은 하나의 방법에 초점을 맞출 것입니다. 구체적으로 첫 번째 방법이 예시로 사용될 것입니다.

선연결

Arduino Nano ESP32 Limit Switch Wiring Diagram

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

배선 연결을 안정적이고 견고하게 하려면, 전선과 리미트 스위치의 핀을 함께 납땜하는 것이 좋으며, 그런 다음 안전하게 하기 위해 사용하는 것이 좋습니다.

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

아두이노 나노 ESP32 코드 - 리밋 스위치

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

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

※ NOTE THAT:

리미트 스위치의 두 가지 일반적인 사용 사례는 다음과 같습니다:

  • 첫 번째 사용 사례: 스위치가 접촉되면 특정 동작을 수행합니다. 입력 상태가 접촉되지 않은 경우 반대 동작을 수행합니다.
  • 두 번째 사용 사례: 스위치의 상태가 접촉되지 않은 상태에서 접촉된 상태로(또는 접촉된 상태에서 접촉되지 않은 상태로) 바뀌면 특정 동작을 수행합니다.
/* * 이 Arduino Nano ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-limit-switch */ #include <ezButton.h> ezButton limitSwitch(D2); // 아두이노 나노 ESP32 핀 D2에 연결된 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"); }

사용 방법

위에 제공된 배선도를 따라 Arduino Nano ESP32에 리미트 스위치를 연결하세요.

USB 케이블을 사용하여 Arduino Nano ESP32를 PC에 연결하세요.

Arduino IDE 소프트웨어를 엽니다.

ezButton 라이브러리를 설치하세요. 지침을 참조하세요.

Arduino IDE에서 적절한 보드와 포트를 선택하세요.

Arduino IDE의 Upload 버튼을 클릭하여 코드를 Arduino Nano ESP32 보드에 컴파일하고 업로드하세요.

리미트 스위치를 만지고 놓음으로써 테스트하세요.

Arduino IDE의 시리얼 모니터에서 출력을 확인하세요.

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!