아두이노 - 리미트 스위치 | Arduino - Limit Switch
리미트 스위치는 모터 제어, 자동화와 같은 많은 응용 프로그램에서 사용되어 왔습니다. 이 튜토리얼에서는 아두이노와 함께 리미트 스위치를 사용하는 방법을 배울 것입니다.
다음과 혼동하지 말아 주세요:
준비물
1 | × | Arduino Uno | Amazon | |
1 | × | USB 2.0 cable type A/B | 쿠팡 | 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) 9V Power Adapter for Arduino | Amazon | |
1 | × | (Recommended) Screw Terminal Block Shield for Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Breadboard Shield For Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Enclosure For Arduino Uno | Amazon |
리미트 스위치에 관하여
이것은 주로 움직이는 물체가 한계에 도달하는 것을 감지하는 기능을 사용하기 때문에 리미트 스위치(Limit Switch)라고 불립니다.
핀아웃
다양한 종류의 리미트 스위치가 있지만, 가장 일반적으로 사용되는 것들 중에는 KW12-3과 V-156-1C25가 있습니다. 이 두 종류 모두 3개의 핀을 가지고 있습니다:
- C 핀: 공통 핀입니다. 일반적으로 열린 모드와 일반적으로 닫힌 모드 모두에서 사용됩니다.
- NO 핀: 일반적으로 열린 핀입니다. 일반적으로 열린 모드에서 사용됩니다.
- NC 핀: 일반적으로 닫힌 핀입니다. 일반적으로 닫힌 모드에서 사용됩니다.
작동 원리
리미트 스위치에는 3개의 핀이 있지만, 보통의 용도에서는 두 개의 핀만 사용됩니다: C 핀과 나머지 두 핀 중 하나입니다. 따라서 리미트 스위치를 사용하는 방법은 네 가지가 있습니다. 아래는 리미트 스위치와 아두이노에서의 모든 네 가지 방법에 대한 읽기 상태의 배선 표입니다:
C pin | NO pin | NC pin | Arduino Input Pin's State | |
---|---|---|---|---|
1 | GND | Arduino Input Pin (with pull-up) | not connected | HIGH when untouched, LOW when touched |
2 | GND | not connected | Arduino Input Pin (with pull-up) | LOW when untouched, HIGH when touched |
3 | VCC | Arduino Input Pin (with pull-down) | not connected | LOW when untouched, HIGH when touched |
4 | VCC | not connected | Arduino Input Pin (with pull-down) | HIGH when untouched, LOW when touched |
각 방법에 대해, 우리는 GND 핀과 Arduino 입력 핀을 서로 바꿀 수 있습니다. 따라서, 리미트 스위치를 Arduino에 연결하는 방법은 8가지가 있습니다.
위의 네 가지 방법 중 하나만 선택하면 됩니다. 나머지 튜토리얼은 첫 번째 방법을 사용할 것입니다.
선연결
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
배선 연결을 안정적이고 견고하게 만들기 위해, 우리는 솔더링 아이언을 사용하여 전선과 리미트 스위치의 핀을 함께 납땜하고, 그 다음에 열 수축 튜브를 사용하여 안전하게 만드는 것을 추천합니다.
아두이노 코드 - 리미트 스위치
버튼처럼, 리미트 스위치도 디바운스 처리가 필요합니다(자세한 내용은 버튼/리미트 스위치에 왜 디바운스가 필요한가?를 참조하세요). 디바운싱은 코드를 복잡하게 만듭니다. 다행히도, ezButton 라이브러리는 디바운싱 기능을 지원합니다. 이 라이브러리는 내부 풀업 저항도 사용합니다. 이러한 기능들이 우리가 프로그래밍하는 것을 쉽게 만들어 줍니다.
※ NOTE THAT:
다음 두 가지 널리 사용되는 사용 사례가 있습니다:
- 첫 번째: 스위치의 상태가 TOUCHED이면 무언가를 하십시오. 입력 상태가 UNTOUCHED이면 반대로 다른 것을 하십시오.
- 두 번째: 스위치의 상태가 UNTOUCHED에서 TOUCHED(또는 TOUCHED에서 UNTOUCHED)로 변경되면 무언가를 하십시오.
사용 방법
- 위의 배선도에 따라 배선을 하세요
- USB 케이블을 통해 아두이노를 PC에 연결하세요
- 아두이노 IDE를 열어주세요
- EzButton 라이브러리를 설치하세요. 설치 방법 보기
- 올바른 보드와 포트를 선택하세요
- 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 아두이노에 업로드하세요
- 리미트 스위치를 눌렀다가 놓으세요.
- 시리얼 모니터에서 결과를 확인하세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.