ESP8266 펌프
이 튜토리얼은 ESP8266을 사용하여 펌프를 제어하는 방법을 안내합니다. 이 튜토리얼을 변형하여, 관개 시스템, 수족관, 물 보충 시스템 등을 구축할 수 있습니다.
펌프를 구동하는 두 가지 방법, 즉 릴레이와 MOSFET 모듈을 배웁니다. 릴레이는 펌프를 시작하고 멈추기만 할 수 있습니다. MOSFET 모듈도 시작하고 멈출 수 있으며, 거기에 더해 PWM으로 펌프 속도를 바꿔 물을 더 많이 또는 더 적게 퍼 올릴 수 있습니다. 딸깍 소리 없이 작동하기도 합니다.
준비물
| 1 | × | Micro USB Cable | 아마존 | |
| 1 | × | ESP8266 NodeMCU | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
| 1 | × | 릴레이 | 아마존 | |
| 1 | × | (또는) MOSFET Module (AOD4184, LR7843 or FR120N) | 아마존 | |
| 1 | × | 12V 펌프 | 쿠팡 | 아마존 | |
| 1 | × | Vinyl Tube | 아마존 | |
| 1 | × | 12V 전원 어댑터 | 아마존 | |
| 1 | × | DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (추천) ESP8266용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 |
12V 펌프에 대하여
펌프 핀배열

12V 펌프에는 보통 두 개의 핀이 있습니다:
- 음극(-) 핀(검은색)은 DC 전원 공급 장치의 GND에 연결되어야 합니다.
- 양극(+) 핀(빨간색)은 DC 전원 공급 장치의 12V에 연결되어야 합니다.
ESP8266을 사용하여 펌프를 제어하는 방법
12V 펌프에 12V 전원 공급장치가 제공되면 작동합니다. 펌프를 제어하려면 ESP8266과 펌프 사이에 릴레이를 사용해야 합니다. 그러면 ESP8266은 릴레이를 통해 펌프를 제어할 수 있습니다.
릴레이(핀배열, 작동, 프로그래밍 등)에 익숙하지 않으시다면, 추가 정보를 위해 ESP8266 - 릴레이을 참고해 주세요.
마찬가지로, MOSFET 모듈을 아직 사용해 보지 않으셨다면 ESP8266 - MOSFET 모듈 튜토리얼에서 기본을 배울 수 있습니다.
펌프용 릴레이와 MOSFET 모듈 비교
| 항목 | 릴레이 | MOSFET 모듈 |
|---|---|---|
| 펌프 제어 | 시작/정지만 가능 | 시작/정지 및 유량(PWM) |
| 스위칭 시 소음 | 딸깍 소리 | 무음 |
| 반응 시간 | 느림, 밀리초 단위 | 매우 빠름 |
| 내구성 | 시간이 지나면 접점이 마모됨 | 움직이는 부품 없음 |
| 펌프 전원 | AC 또는 DC | DC만 가능 |
| 펌프 전압 | 릴레이 정격 범위 내 | 최소 약 6V |
| 절연 | 예 (코일 / 접점) | 예 (PC817 포토커플러) |
| 이상적인 용도 | AC 펌프, 단순한 켜짐/꺼짐 | DC 펌프, 유량 제어, 잦은 스위칭 |
12V DC 펌프는 MOSFET 모듈과 매우 잘 맞습니다. 유량을 약하게 또는 강하게 만들 수 있기 때문입니다. 펌프가 AC 주전원으로 작동한다면 릴레이를 사용해야 합니다.
선연결

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP8266 핀배열 및 ESP8266 전원을 켜는 방법에 대해 더 많이 보십시오.
브레드보드 없이 연결한 같은 배선입니다:

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
펌프 제어를 위한 ESP8266 코드
아래의 코드는 펌프를 5초마다 켜고 끄는 것을 반복하도록 합니다.
사용 방법
Arduino IDE에서 ESP8266을 시작하는 방법은 다음과 같습니다:
- ESP8266을 처음 사용하는 경우, ESP8266 - 소프트웨어 설치 튜토리얼을 확인하세요.
- 다이어그램에 표시된 대로 구성요소를 연결하세요.
- USB 케이블을 사용하여 ESP8266 보드를 컴퓨터에 연결하세요.
- 컴퓨터에서 Arduino IDE를 엽니다.
- 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
- USB 케이블을 사용하여 ESP8266을 컴퓨터에 연결하세요.
- Arduino IDE를 실행하고 적절한 보드와 포트를 선택하세요.
- 위의 코드를 복사하여 Arduino IDE에서 엽니다.
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266에 전송하세요.
- 펌프 상태의 변화를 확인하세요.
코드 설명
소스 코드의 주석에 포함된 줄별 설명을 확인하세요!
이 튜토리얼을 확인하세요 ESP8266 - 버튼 - 펌프.
MOSFET 모듈로 펌프 유량을 제어하는 ESP8266 코드
이 부분에서는 릴레이를 MOSFET 모듈로 바꿉니다. NodeMCU 핀 D5가 PWM을 출력하고, 듀티 사이클이 펌프가 얼마나 빨리 돌고 물을 얼마나 많이 옮길지 결정합니다.
배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- NodeMCU D5 (GPIO14) → 모듈 PWM
- NodeMCU G (GND) → 모듈 GND
- 12V 어댑터 + → 모듈 +
- 펌프 빨간색 선 (+) → 모듈 + (어댑터 + 선과 함께)
- 펌프 검은색 선 (−) → 모듈 LOAD
- 12V 어댑터 − → 모듈 −
펌프 모터는 코일입니다. 펌프의 두 선 사이에 플라이백 다이오드(1N4007 또는 1N5819)를 연결하고, 줄무늬가 있는 쪽(캐소드)을 펌프 + 선에 연결하세요.
ESP8266 코드
펌프의 동작은 다음과 같습니다. 2초 동안 최대 유량, 2초 동안 정지, 그다음 유량이 10%에서 100%까지 늘어났다가 다시 0%까지 줄어듭니다. 전력이 낮으면 펌프가 튜브 위로 물을 밀어 올리지 못할 수 있습니다.
빠른 단계
- 위의 릴레이 빠른 단계에서 한 Arduino IDE와 NodeMCU 설정을 하세요.
- 펌프를 물에 넣고 다이어그램대로 연결하세요. 12V 어댑터는 꽂지 마세요.
- 위의 코드를 업로드하세요.
- 12V 어댑터를 꽂고 물의 흐름을 보세요.
- 시리얼 모니터를 9600 보드레이트로 여세요.
MOSFET 모듈에는 DC 펌프와 약 6V 이상의 전원이 필요하다는 점에 유의하세요. AC 펌프는 릴레이를 그대로 사용해야 합니다. 펌프를 절대 물 없이 작동시키지 마세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.