아두이노 나노 - 리밋 스위치 | Arduino Nano - Limit Switch
이 튜토리얼은 리미트 스위치와 함께 Arduino Nano를 사용하는 방법을 안내합니다. 자세히 배울 내용은 다음과 같습니다:
- 아두이노 나노를 리미트 스위치에 연결하는 방법.
- 리미트 스위치의 상태를 읽기 위해 아두이노 나노를 프로그래밍하는 방법.
- 리미트 스위치가 접촉되었는지 여부를 확인하기 위해 아두이노 나노를 프로그래밍하는 방법.
준비물
1 | × | Arduino Nano | Amazon | |
1 | × | USB A to Mini-B 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) 9V Power Adapter for Arduino Nano | Amazon | |
1 | × | (Recommended) Screw Terminal Expansion Board for Arduino Nano | 쿠팡 | Amazon |
리미트 스위치에 관하여
그것은 움직이는 물체가 한계에 도달했을 때를 감지하는 것이 주요 목적이기 때문에 리밋 스위치라고 불립니다.
리미트 스위치 핀배열
다양한 종류의 리미트 스위치가 존재하지만, 가장 선호되는 것들 중에는 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을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
안전하고 신뢰할 수 있는 배선 연결을 위해서, 한계 스위치의 전선과 핀을 함께 납땜하기 위해 솔더링 아이언 사용을 권장합니다. 그 후, 추가 안전을 위해 열 수축 튜브를 사용하세요.
아두이노 나노 코드 - 리미트 스위치
버튼과 유사하게, 리미트 스위치 역시 디바운싱이 필요합니다(버튼/리미트 스위치에 디바운싱이 필요한 이유?에서 자세히 보기). 이는 코딩을 복잡하게 만들 수 있습니다. 다행히, ezButton 라이브러리는 디바운싱 기능을 제공합니다. 추가로, 내부 풀업 저항을 사용하여 버튼 프로그래밍을 단순화합니다.
※ NOTE THAT:
리미트 스위치와 관련된 두 가지 흔한 응용이 있습니다:
- 첫 번째: 스위치가 'TOUCHED'(접촉) 위치에 있으면 한 가지 동작을 수행합니다. 입력이 'UNTOUCHED'(비접촉)이면 반대의 동작을 수행합니다.
- 두 번째: 스위치가 'UNTOUCHED'(비접촉)에서 'TOUCHED'(접촉)로 바뀌거나 (또는 'TOUCHED'에서 'UNTOUCHED'로 바뀌면), 어떤 동작을 취합니다.
사용 방법
- 배선도에 표시된 대로 배선을 하세요.
- USB 케이블을 사용하여 Arduino Nano를 PC에 연결하세요.
- Arduino IDE를 열세요.
- EzButton 라이브러리를 설치하세요. How To의 지침을 참조하세요.
- 적절한 보드와 포트를 선택하세요.
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino Nano에 업로드하세요.
- 리미트 스위치를 눌렀다가 놓으세요.
- 시리얼 모니터에서 결과를 확인하세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.