아두이노 나노 ESP32 펌프 제어

이 튜토리얼은 Arduino Nano ESP32를 사용하여 펌프를 제어하는 방법에 대한 지침을 제공합니다. 이 튜토리얼을 확장하여 DIY 수족관, 칵테일 기계, 커피 기계, 또는 물주기 시스템 등을 구축할 수 있습니다...

펌프를 구동하는 방법은 두 가지입니다. 하나는 릴레이로, 펌프를 시작하고 멈추는 것만 가능합니다. 다른 하나는 MOSFET 모듈로, 펌프를 시작하고 멈출 수 있을 뿐 아니라 PWM으로 펌프 속도를 바꿔 물의 양을 늘리거나 줄일 수도 있습니다. 소음도 적습니다. 여기서 두 가지 방법을 모두 배웁니다.

준비물

1×아두이노 나노 ESP32 쿠팡 | 아마존
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×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(옵션) DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×(추천) 아두이노 나노용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) 아두이노 나노용 브레이크아웃 확장 보드 쿠팡 | 아마존
1×(추천) 아두이노 나노 ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

12V 펌프에 관하여

펌프 핀배열

아두이노 나노 ESP32 pump 사용법 핀아웃
image source: diyables.io

12V 펌프에는 두 개의 전선이 있습니다:

  • 부정(-) 전선(검정색): 이 전선을 12V DC 전원 공급 장치의 부정 전선에 연결하십시오
  • 긍정(+) 전선(빨간색): 이 전선을 12V DC 전원 공급 장치의 긍정 전선에 연결하십시오

아두이노 나노 ESP32를 사용한 펌프 제어 방법

12V 전원 공급 장치를 펌프에 연결하면 펌프가 작동합니다. Arduino Nano ESP32를 사용하여 프로그래밍 방식으로 펌프를 제어할 수 있습니다. 이를 위해서는 펌프 Arduino Nano ESP32 보드 사이에 릴레이가 필요합니다. 릴레이에 대해 자세한 정보와 단계별 지침, 하드웨어 핀아웃, 작동 원리, ESP32에 대한 배선 연결, Arduino Nano ESP32 코드 등이 포함된 구체적인 튜토리얼이 있습니다. 아두이노 나노 ESP32 - 릴레이 튜토리얼에서 릴레이에 대해 알아보세요.

릴레이 대신 MOSFET 모듈을 사용할 수 있습니다. 이 모듈을 처음 사용한다면 아두이노 나노 ESP32 - MOSFET 모듈 튜토리얼에서 처음부터 설명합니다.

펌프에는 무엇을 쓸까: 릴레이 또는 MOSFET 모듈

릴레이 MOSFET 모듈
펌프 제어 시작과 정지만 가능 시작, 정지, 유량 조절(PWM)
스위칭 소리 딸깍 소리가 들림 없음
스위칭 속도 느림(몇 ms) 매우 빠름
수명 접점이 마모됨 움직이는 부품 없음
펌프 종류 AC 또는 DC 펌프 DC 펌프만 가능
펌프 전원 릴레이가 허용하는 범위 6V 이상
절연 예, 코일과 접점 사이 예, PC817 포토커플러로
가장 적합한 용도 AC 펌프, 단순 ON/OFF DC 펌프, 유량 제어, 잦은 ON/OFF 반복

12V DC 펌프에서 물을 적게 주고 싶다면, 예를 들어 식물에 천천히 물방울을 떨어뜨리고 싶다면 MOSFET 모듈을 선택하세요. 펌프가 AC로 동작하거나 ON/OFF만 필요하다면 릴레이로 충분합니다.

ESP32, 릴레이 및 펌프간의 배선도

아두이노 나노 ESP32 pump 연결 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

브레드보드 없이 연결한 같은 배선입니다:

아두이노 나노 ESP32 pump 연결 배선도 (브레드보드 없음)

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

프로젝트를 오래 실행하거나 케이스 안에 넣을 경우, 전선을 나사로 고정하는 것이 좋습니다. Arduino Nano ESP32를 아두이노 나노용 스크루 터미널 확장 보드에 꽂기만 하면 됩니다. 아래는 나사 단자 보드를 사용한 배선도입니다.

아두이노 나노 ESP32 pump 연결 배선도 (screw terminal)

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

아두이노 나노 ESP32 - 펌프 코드

아래 코드는 4초마다 펌프를 주기적으로 켜고 끕니다.

/* * 이 아두이노 나노 esp32 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 나노 esp32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-controls-pump */ #define RELAY_PIN D2 // 아두이노 나노 ESP32 핀이 릴레이를 통해 펌프에 연결됨 // The setup function runs once on reset or power-up void setup() { // initialize digital pin as an output. pinMode(RELAY_PIN, OUTPUT); } // The loop function repeats indefinitely void loop() { digitalWrite(RELAY_PIN, HIGH); // 펌프를 4초 동안 켭니다. delay(4000); digitalWrite(RELAY_PIN, LOW); // 펌프를 4초 동안 끕니다. delay(4000); }

사용 방법

아두이노 나노 ESP32를 시작하는 방법은 다음과 같습니다:

  • 아두이노 나노 ESP32가 처음이라면, 아두이노 나노 ESP32 - 소프트웨어 설치에 대한 튜토리얼을 참조하세요.
  • 제공된 도면에 따라 구성 요소를 연결하세요.
  • USB 케이블을 사용하여 아두이노 나노 ESP32 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 아두이노 IDE를 실행하세요.
  • Arduino Nano ESP32 보드와 해당 COM 포트를 선택하세요.* 위의 코드를 복사하여 아두이노 IDE에 붙여넣으세요.
  • 아두이노 IDE의 Upload 버튼을 클릭하여 아두이노 나노 ESP32 보드에 코드를 컴파일하고 업로드하세요.
  • 펌프의 상태를 확인하세요.

코드 줄별 설명

위의 Arduino Nano ESP32 코드는 줄별 설명을 포함하고 있습니다. 코드의 주석을 읽어주세요!

MOSFET 모듈로 펌프 유량 제어하기

이제 같은 펌프를 MOSFET 모듈로 구동해 봅시다. 그러면 Nano ESP32가 유량을 세게 또는 약하게 만들 수 있습니다.

ESP32, MOSFET 모듈, 펌프 간의 배선도

아두이노 나노 ESP32 펌프 mosfet 모듈 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

아래 그림은 브레드보드 없이 같은 연결을 보여줍니다:

아두이노 나노 ESP32 펌프 mosfet 모듈 배선도 (브레드보드 없음)

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

점퍼 와이어는 프로젝트를 옮길 때 빠질 수 있습니다. 이를 위해 Arduino Nano ESP32를 아두이노 나노용 스크루 터미널 확장 보드에 장착하세요. 아래 그림처럼 각 전선은 같은 핀의 나사 단자로 연결됩니다.

아두이노 나노 ESP32 펌프 mosfet 모듈 배선도 (screw terminal)

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

연결:

  • Nano ESP32의 D9는 모듈의 PWM 핀에, Nano ESP32의 GND는 모듈의 GND 핀에 연결합니다.
  • 12V 어댑터 +와 펌프 빨간색 선(+)을 모두 + 단자에 넣습니다.
  • 펌프 검은색 선(−)은 LOAD 단자에 넣습니다.
  • 12V 어댑터 −는 − 단자에 넣습니다.
  • 펌프 양쪽에 플라이백 다이오드(1N4007 또는 1N5819)를 추가합니다. 줄무늬(캐소드)는 펌프 +에, 다른 쪽 끝은 펌프 −에 연결합니다. 펌프 모터는 코일이며, 모듈에는 다이오드가 내장되어 있지 않습니다.

Arduino Nano ESP32 - 펌프 유량 코드

MOSFET 모듈 튜토리얼의 코드를 변경 없이 사용합니다. 펌프는 2초 동안 최대 유량으로 작동하고 2초 동안 멈춥니다. 그 후 유량이 10%에서 100%까지 올라갔다가 0%까지 내려갑니다.

/* * 이 아두이노 나노 esp32 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 나노 esp32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-controls-pump */ const int MOSFET_PIN = D9; // Arduino Nano ESP32 pin connected to the PWM pin of the MOSFET module void setup() { Serial.begin(9600); pinMode(MOSFET_PIN, OUTPUT); analogWrite(MOSFET_PIN, 0); // start with the load OFF } void setLoad(int percent) { int duty = map(percent, 0, 100, 0, 255); // convert 0-100% to 0-255 analogWrite(MOSFET_PIN, duty); Serial.print("Load power: "); Serial.print(percent); Serial.println("%"); } void loop() { // turn the load fully ON, then fully OFF Serial.println("Load: ON"); setLoad(100); delay(2000); Serial.println("Load: OFF"); setLoad(0); delay(2000); // increase the power step by step (PWM) for (int percent = 10; percent <= 100; percent += 10) { setLoad(percent); delay(500); } // decrease the power step by step (PWM) for (int percent = 90; percent >= 0; percent -= 10) { setLoad(percent); delay(500); } delay(1000); }

빠른 단계

  • 필요하면 먼저 릴레이 빠른 단계에서 보여 준 대로 Arduino IDE를 설정하세요.
  • 펌프를 물에 담그세요. 물 없이 작동시키지 마세요.
  • 12V 어댑터를 뽑은 상태로 위 다이어그램과 같이 부품을 배선하세요.
  • 코드를 Arduino Nano ESP32에 업로드하세요.
  • 12V 어댑터를 꽂고 시리얼 모니터를 9600 보드레이트로 여세요.
  • 튜브에서 나오는 물을 보세요. 세게 흐르다가 멈추고, 점점 늘어났다가 다시 약해집니다.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%
Ln 11, Col 1
Arduino Nano ESP32 on COM15
2

기억하세요: MOSFET 모듈은 DC 펌프 전용이며, 펌프 전원은 약 6V 이상이어야 합니다. AC 펌프에는 계속 릴레이를 사용하세요.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.