아두이노 나노 리밋 스위치
이 튜토리얼은 리미트 스위치와 함께 Arduino Nano를 사용하는 방법을 안내합니다. 자세히 배울 내용은 다음과 같습니다:
- 아두이노 나노를 리미트 스위치에 연결하는 방법.
- 리미트 스위치의 상태를 읽기 위해 아두이노 나노를 프로그래밍하는 방법.
- 리미트 스위치가 접촉되었는지 여부를 확인하기 위해 아두이노 나노를 프로그래밍하는 방법.

준비물
| 1 | × | 아두이노 나노 | 쿠팡 | 아마존 | |
| 1 | × | USB A to Mini-B USB 케이블 | 쿠팡 | 아마존 | |
| 1 | × | 리미트 스위치 Limit Switch (KW12-3) | 쿠팡 | 아마존 | |
| 1 | × | 리미트 스위치 Limit Switch Module | 아마존 | |
| 1 | × | 리미트 스위치 Limit Switch (V-153-1C25) | 아마존 | |
| 1 | × | 리미트 스위치 Limit Switch (V-155-1C25) | 아마존 | |
| 1 | × | 리미트 스위치 Limit Switch (V-156-1C25) | 쿠팡 | 아마존 | |
| 1 | × | Wires | 아마존 | |
| 1 | × | (옵션) 수축 튜브 세트 | 아마존 | |
| 1 | × | (옵션) 전기 인두기 | 아마존 | |
| 1 | × | (추천) 아두이노 나노용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 나노용 브레이크아웃 확장 보드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 나노용 전원 분배기 | 쿠팡 | 아마존 |
리미트 스위치에 관하여
그것은 움직이는 물체가 한계에 도달했을 때를 감지하는 것이 주요 목적이기 때문에 리밋 스위치라고 불립니다.
리미트 스위치 핀배열
다양한 종류의 리미트 스위치가 존재하지만, 가장 선호되는 것들 중에는 KW12-3과 V-156-1C25가 있습니다. 이러한 유형 각각은 세 개의 핀을 특징으로 합니다:
- C: 이것은 공통 핀이며, 정상적으로 열린 모드와 정상적으로 닫힌 모드 양쪽에서 사용됩니다
- NO: 이것은 정상적으로 열린 핀이며, 정상적으로 열린 모드에서 사용됩니다
- NC: 이것은 정상적으로 닫힌 핀이며, 정상적으로 닫힌 모드에서 사용됩니다

작동 원리
리미트 스위치에는 세 개의 핀이 있지만, 일반적인 사용에서는 그 중 두 개만 사용됩니다: C 핀과 다른 두 개 중 하나입니다. 따라서 리미트 스위치를 배선하는 네 가지 가능한 방법이 있습니다. 다음 표는 모든 네 가지 방법에 대한 배선과 아두이노 나노에서의 읽기 상태를 보여줍니다:
| C pin | NO pin | NC pin | Arduino Nano Input Pin's State | |
|---|---|---|---|---|
| 1 | GND | Arduino Nano Input Pin (with pull-up) | not connected | HIGH when untouched, LOW when touched |
| 2 | GND | not connected | Arduino Nano Input Pin (with pull-up) | LOW when untouched, HIGH when touched |
| 3 | VCC | Arduino Nano Input Pin (with pull-down) | not connected | LOW when untouched, HIGH when touched |
| 4 | VCC | not connected | Arduino Nano Input Pin (with pull-down) | HIGH when untouched, LOW when touched |
모든 방법에 대해, GND 핀과 아두이노 나노 입력 핀을 교환할 수 있습니다. 따라서 아두이노 나노를 리미트 스위치에 연결하는 8가지 방법이 있습니다.
우리는 네 가지 옵션 중 하나를 선택해야 합니다. 나머지 튜토리얼은 첫 번째 방법을 사용할 것입니다.
선연결

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
브레드보드가 없나요? 아래와 같이 브레드보드 없이도 같은 회로를 연결할 수 있습니다:

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
프로젝트를 오래 실행하거나 케이스 안에 넣을 경우, 전선을 나사로 고정하는 것이 좋습니다. 이를 위해 Arduino Nano를 아두이노 나노용 스크루 터미널 확장 보드에 장착하세요. 나사 단자 버전은 아래 다이어그램을 참고하세요.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
Arduino Nano와 기타 부품에 전원을 공급하는 가장 효과적인 방법은 다음 링크를 참조하세요: 아두이노 나노 전원 공급 방법.
안전하고 신뢰할 수 있는 배선 연결을 위해서, 한계 스위치의 전선과 핀을 함께 납땜하기 위해 솔더링 아이언 사용을 권장합니다. 그 후, 추가 안전을 위해 열 수축 튜브를 사용하세요.
아두이노 나노 코드 - 리미트 스위치
버튼과 유사하게, 리미트 스위치 역시 디바운싱이 필요합니다(버튼/리미트 스위치에 디바운싱이 필요한 이유?에서 자세히 보기). 이는 코딩을 복잡하게 만들 수 있습니다. 다행히, ezButton 라이브러리는 디바운싱 기능을 제공합니다. 추가로, 내부 풀업 저항을 사용하여 버튼 프로그래밍을 단순화합니다.
※ 주의:
리미트 스위치와 관련된 두 가지 흔한 응용이 있습니다:
- 첫 번째: 스위치가 'TOUCHED'(접촉) 위치에 있으면 한 가지 동작을 수행합니다. 입력이 'UNTOUCHED'(비접촉)이면 반대의 동작을 수행합니다.
- 두 번째: 스위치가 'UNTOUCHED'(비접촉)에서 'TOUCHED'(접촉)로 바뀌거나 (또는 'TOUCHED'에서 'UNTOUCHED'로 바뀌면), 어떤 동작을 취합니다.
사용 방법
- 배선도에 표시된 대로 배선을 하세요.
- USB 케이블을 사용하여 Arduino Nano를 PC에 연결하세요.
- Arduino IDE를 열세요.
- EzButton 라이브러리를 설치하세요. How To의 지침을 참조하세요.
- 적절한 보드와 포트를 선택하세요.
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino Nano에 업로드하세요.
- 리미트 스위치를 눌렀다가 놓으세요.
- 시리얼 모니터에서 결과를 확인하세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.