아두이노 펌프 제어
이 튜토리얼에서는 아두이노를 사용하여 펌프를 제어하는 방법을 배우게 됩니다. 이 튜토리얼을 기반으로, 관개 시스템, 수족관, 물 보충 시스템 등을 만들 수 있습니다...
펌프를 아두이노에 연결하는 방법은 두 가지입니다. 첫 번째 방법은 릴레이를 사용하며, 펌프를 시작하고 멈추는 것만 할 수 있습니다. 두 번째 방법은 MOSFET 모듈을 사용합니다. 펌프를 시작하고 멈출 수 있을 뿐만 아니라 펌프를 더 느리게 또는 더 빠르게 돌릴 수도 있어서 물의 흐름을 작게 또는 크게 할 수 있습니다. MOSFET 모듈은 딸깍 소리가 나지 않습니다. 두 방법을 아래에서 설명합니다.
준비물
| 1 | × | 아두이노 우노 R3 | 쿠팡 | 아마존 | |
| 1 | × | USB 2.0 타입 A-to-B 케이블 (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 2.0 타입 C-to-B 케이블 (USB-C PC용) | 아마존 | |
| 1 | × | 릴레이 | 아마존 | |
| 1 | × | (또는) MOSFET Module (AOD4184, LR7843 or FR120N) | 아마존 | |
| 1 | × | 12V 펌프 | 쿠팡 | 아마존 | |
| 1 | × | Vinyl Tube | 아마존 | |
| 1 | × | 12V 전원 어댑터 | 아마존 | |
| 1 | × | DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 스크루 터미널 블록 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) Sensors/Servo Expansion Shield for Arduino Uno | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 브레드보드 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 케이스 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 | 아마존 |
12V 펌프에 관하여
핀배열

12V 펌프는 보통 두 개의 핀이 있습니다:
- 음성(-) 핀 (검정색): DC 전원 공급 장치의 GND에 연결해야 합니다.
- 양성(+) 핀 (빨간색): DC 전원 공급 장치의 12V에 연결해야 합니다.
펌프 제어 방법
12V 펌프가 12V 전원 공급장치로 구동되면 작동됩니다. 펌프를 제어하기 위해서는 Arduino와 펌프 사이에 릴레이를 사용해야 합니다. Arduino는 릴레이를 통해 펌프를 제어할 수 있습니다. 릴레이(핀아웃, 작동 방식, 프로그래밍 방법 등)에 대해 모른다면, 아두이노 - 릴레이에서 릴레이에 대해 알아보세요.
MOSFET 모듈을 사용해 본 적이 없다면, 아두이노 - MOSFET 모듈 튜토리얼에서 자세히 설명합니다.
12V 펌프용 릴레이 vs MOSFET 모듈
| 릴레이 | MOSFET 모듈 | |
|---|---|---|
| 펌프 제어 | 작동 또는 정지 | 작동, 정지, 그리고 펌프 속도 / 물 흐름(PWM) |
| 스위치 소음 | 딸깍 소리 | 소리 없음 |
| 스위칭 속도 | 느림(몇 밀리초) | 매우 빠름 |
| 수명 | 접점이 시간이 지나면 마모됨 | 내부에 움직이는 부분이 없음 |
| 지원하는 펌프 | AC 또는 DC | DC만 가능 |
| 펌프 공급 전압 | 정격 내의 모든 전압 | 약 6V 이상 |
| 절연 | 예(코일과 접점) | 예(PC817 포토커플러) |
| 적합한 용도 | AC 펌프, 단순한 작동/정지 | 12V DC 펌프, 흐름 제어, 잦은 스위칭 |
물탱크를 채우거나 식물에 물을 줄 때만 필요하다면 둘 다 잘 작동합니다. 예를 들어 수족관처럼 부드러운 흐름을 원한다면 MOSFET 모듈을 선택하세요.
선연결

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아두이노 코드
아래 코드는 펌프를 5초 동안 켜고 5초 동안 끕니다.
사용 방법
- 아두이노를 USB 케이블을 통해 PC에 연결하세요.
- 아두이노 IDE를 열고, 올바른 보드와 포트를 선택하세요.
- 위의 코드를 복사하고 아두이노 IDE에서 엽니다.
- 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 아두이노에 업로드하세요.
- 펌프의 상태를 확인하세요.
코드 설명
위의 아두이노 코드의 주석 줄에서 설명을 찾을 수 있습니다.
아두이노 - 버튼 - 펌프 더 보기
MOSFET 모듈로 펌프 흐름 제어하는 방법
이 부분에서는 두 번째 방법을 보여 줍니다. 릴레이를 빼고 MOSFET 모듈이 펌프를 스위칭하므로, 아두이노가 펌프 속도도 바꿀 수 있습니다.
배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 모듈 PWM 핀 ← Arduino 핀 9
- 모듈 GND 핀 ← Arduino GND
- 모듈 − 단자 ← 12V 어댑터 −
- 모듈 + 단자 ← 12V 어댑터 +와 펌프 빨간색 선(+)을 함께 연결
- 모듈 LOAD 단자 ← 펌프 검은색 선(−)
펌프 안에는 모터가 있습니다. 펌프 양쪽에 플라이백 다이오드(1N4007 또는 1N5819)를 연결하세요: 줄무늬(캐소드)는 펌프 +에, 다른 쪽 끝은 펌프 −에 연결합니다.
아두이노 코드
코드는 MOSFET 모듈 튜토리얼에서 변경 없이 가져왔습니다. 먼저 펌프가 2초 동안 최대 출력으로 작동하고 2초 동안 정지합니다. 그 후 출력이 10%에서 100%까지 올라갔다가 0%까지 내려가므로, 물의 흐름이 커졌다가 약해집니다.
빠른 단계
- 펌프를 물에 넣으세요. 절대 물 없이 작동시키지 마세요.
- 위의 배선도와 같이 펌프와 MOSFET 모듈을 연결하세요.
- 코드를 업로드하세요(IDE 단계는 릴레이 부분과 같습니다).
- 12V 전원 어댑터를 꽂으세요.
- 튜브에서 나오는 물을 보세요: 세게 나오고, 멈추고, 그다음 천천히 세졌다가 약해집니다. 출력이 낮으면 펌프가 멈출 수 있습니다. 이것은 정상입니다.
- 시리얼 모니터(보드레이트 9600)를 열고 결과를 확인하세요.
기억하세요: MOSFET 모듈은 약 6V 이상의 전원을 사용하는 DC 펌프에만 사용하세요. AC 펌프에는 릴레이가 필요합니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.
도전해보세요
- 아두이노, 토양 수분 센서, 그리고 펌프를 사용하여 자동 관수 시스템을 만드세요.
- 아두이노, 수위 센서, 그리고 펌프를 사용하여 자동 물 보충 시스템을 만드세요.