ESP8266 - DC 모터 리미트 스위치 | ESP8266 - DC Motor Limit Switch
이 ESP8266 튜토리얼에서 우리는 리미트 스위치와 L298N 드라이버를 사용하여 ESP8266으로 DC 모터를 제어하는 방법을 배울 것입니다. 구체적으로, 우리는 다음을 배울 예정입니다:
- 리미트 스위치가 접촉되었을 때 DC 모터를 멈추는 방법
- 리미트 스위치가 접촉되었을 때 DC 모터의 방향을 변경하는 방법
- 두 개의 리미트 스위치가 접촉되었을 때 DC 모터의 방향을 변경하는 방법
준비물
1 | × | ESP8266 NodeMCU | Amazon | |
1 | × | Micro USB Cable | Amazon | |
1 | × | Limit Switch (KW12-3) | 쿠팡 | Amazon | |
1 | × | Limit Switch (V-156-1C25) | 쿠팡 | Amazon | |
1 | × | 5V DC Motor | Amazon | |
1 | × | 5V Power Adapter for 5V DC motor | Amazon | |
1 | × | DC Power Jack | 쿠팡 | Amazon | |
1 | × | L298N Motor Driver Module | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) Screw Terminal Expansion Board for ESP8266 | 쿠팡 | Amazon |
DC 모터와 리미트 스위치에 관하여
DC 모터와 리미트 스위치(핀아웃, 작동 원리, 프로그래밍 방법 등)에 대해 잘 모른다면, 다음 튜토리얼에서 배워보세요:
- ESP8266 - Limit Switch tutorial
- ESP8266 - Controls DC Motor tutorial
선연결
이 튜토리얼은 두 가지 경우에 대한 ESP8266 코드를 제공합니다: 하나의 DC 모터 + 하나의 리미트 스위치, 하나의 DC 모터 + 두 개의 리미트 스위치.
DC 모터와 리미트 스위치 간의 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP8266의 핀 배치 및 ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.
직류 모터와 두 개의 리미트 스위치 사이의 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP8266 코드 - 리미트 스위치로 DC 모터 정지
아래 코드는 DC 모터가 무한히 회전하게 하고, 리미트 스위치가 닿으면 즉시 정지하게 합니다.
사용 방법
아두이노 IDE에서 ESP8266을 시작하려면 다음 단계를 따르세요:
- ESP8266을 처음 사용하는 경우 Arduino IDE에서 ESP8266 환경 설정 방법 튜토리얼을 확인하세요.
- 다이어그램에 표시된 대로 구성 요소를 연결하세요.
- USB 케이블을 사용하여 ESP8266 보드를 컴퓨터에 연결하세요.
- 컴퓨터에서 Arduino IDE를 엽니다.
- 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
- USB 케이블을 통해 ESP8266을 PC에 연결하세요
- Arduino IDE를 열고, 올바른 보드와 포트를 선택하세요
- Arduino IDE 왼쪽 바의 Libraries 아이콘을 클릭하세요.
- “ezButton”을 검색하고, ESP8266GetStarted.com에서 제공하는 버튼 라이브러리를 찾으세요.
- EzButton 라이브러리를 설치하려면 Install 버튼을 클릭하세요.
- 위의 코드를 복사하고 Arduino IDE로 열기
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266에 업로드하세요
- 연결이 올바르면 모터가 시계 방향으로 회전하는 것을 볼 수 있습니다.
- 리미트 스위치를 눌러보세요
- 모터가 즉시 멈추는 것을 보게 될 것입니다
- 시리얼 모니터의 결과는 아래와 같습니다
코드 설명
위의 아두이노 코드의 주석 라인에서 설명을 찾을 수 있습니다.
ESP8266 코드 - 리미트 스위치로 DC 모터의 방향 변경
아래 코드는 직류 모터가 무한히 회전하게 만들고, 리미트 스위치에 닿으면 그 방향을 바꾸게 합니다.
사용 방법
- 위의 코드를 복사하고 Arduino IDE로 열기
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266에 업로드합니다.
- 배선이 올바르면 모터가 시계 방향으로 회전하는 것을 볼 수 있습니다.
- 리미트 스위치를 터치하세요.
- DC 모터의 방향이 반시계 방향으로 변경되는 것을 볼 수 있습니다.
- 다시 리미트 스위치를 터치하세요.
- DC 모터의 방향이 시계 방향으로 변경되는 것을 볼 수 있습니다.
- 시리얼 모니터의 결과는 아래와 같습니다.
ESP8266 코드 - 리미트 스위치 두 개로 DC 모터의 방향 변경
아래 코드는 DC 모터가 무한히 회전하게 하고, 두 개의 리미트 스위치 중 하나가 닿을 때 방향을 변경합니다.
사용 방법
- 아두이노 IDE에서 Upload 버튼을 클릭하여 ESP8266에 코드를 업로드하십시오.
- 배선이 올바르면 모터가 시계 방향으로 회전하는 것을 볼 수 있습니다.
- 리미트 스위치 1을 터치하십시오.
- DC 모터의 방향이 반시계 방향으로 변경된 것을 볼 수 있습니다.
- 리미트 스위치 2를 터치하십시오.
- DC 모터의 방향이 시계 방향으로 변경된 것을 볼 수 있습니다.
- 시리얼 모니터의 결과는 아래와 같습니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.