아두이노 나노 ESP32 팬 제어

이 튜토리얼은 Arduino Nano ESP32를 사용하여 팬을 제어하는 방법에 대한 지침을 제공합니다.

Nano ESP32로 팬을 구동하는 방법은 두 가지입니다. 릴레이 또는 MOSFET 모듈입니다. 릴레이는 단순한 스위치라서 팬이 완전히 켜지거나 완전히 꺼집니다. 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 DC 선풍기 아마존
1×(또는) 5V DC 선풍기 쿠팡 | 아마존
1×12V 전원 어댑터 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(옵션) DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×(추천) 아두이노 나노용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) 아두이노 나노용 브레이크아웃 확장 보드 쿠팡 | 아마존
1×(추천) 아두이노 나노 ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

DC 팬에 대하여

핀 배치

fan 사용법 핀아웃
image source: diyables.io

DC 팬은 보통 두 개의 핀이 있습니다:

  • 음극(-) 핀 (검정색): DC 전원 공급 장치의 음극 선과 연결해야 합니다.
  • 양극(+) 핀 (빨간색): DC 전원 공급 장치의 양극 선과 연결해야 합니다.

DC 전원 공급 장치의 전압은 팬에 지정된 전압과 같아야 합니다. 이 튜토리얼에서 우리는 12VDC와 5VDC 팬을 사용할 것입니다.

팬을 제어하는 방법

  • DC 팬이 12V/5V 전원 공급 장치로 구동되면, 전속력으로 회전합니다.
  • DC 팬이 12V/5V PWM 신호로 구동되면, 팬의 속도를 제어할 수 있습니다.

이 튜토리얼은 Arduino Nano ESP32를 사용하여 선풍기를 켜고 끄는 방법에 대한 지침을 제공합니다. 선풍기의 속도를 제어하는 방법은 다른 튜토리얼에서 소개될 예정입니다.

팬이 고전압을 사용하기 때문에, ESP32에 바로 연결할 수 없고, 릴레이를 통해 아두이노 나노 ESP32에 간접적으로 팬을 연결해야 합니다. 우리는 릴레이에 대한 구체적인 튜토리얼(핀 배치, 작동 방식, 프로그래밍 방법 등)을 가지고 있으며, 아두이노 나노 ESP32 - 릴레이에서 릴레이에 대해 배울 수 있습니다.

다른 방법은 MOSFET 모듈입니다. 핀배열, 작동 원리, 기본 코드는 아두이노 나노 ESP32 - MOSFET 모듈 튜토리얼에 있습니다.

팬에는 릴레이와 MOSFET 모듈 중 무엇이 좋을까요?

릴레이 MOSFET 모듈
팬으로 할 수 있는 일 켜기 또는 끄기 켜기 또는 끄기, 그리고 속도 조절(PWM)
소음 켤 때마다 딸깍 소리가 남 소음 없음
스위칭 속도 느림, 몇 밀리초 매우 빠름
수명 금속 접점이 마모됨 움직이는 부품이 없어 수명이 긺
팬 종류 AC 또는 DC 팬 DC 팬만 가능
팬 전원 릴레이 정격 내의 모든 전압 약 6V 이상
보드 보호 코일과 접점이 분리됨 PC817 포토커플러
적합한 경우 팬이 AC로 동작하거나 ON/OFF만으로 충분할 때 DC 팬에 속도 조절이 필요하거나 자주 켜고 끌 때

12V DC 쿨링 팬에는 MOSFET 모듈이 더 좋습니다. 냉각 시스템은 조금 따뜻할 때는 팬을 느리게, 뜨거울 때는 빠르게 돌릴 수 있기 때문입니다. 릴레이는 AC 팬과 5V 팬에 사용하세요. MOSFET 모듈은 약 6V 이상의 전원이 필요하기 때문입니다.

선연결

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

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

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

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

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

배선이 제자리에 단단히 고정되기를 원하시나요? Arduino Nano ESP32를 아두이노 나노용 스크루 터미널 확장 보드 위에 올린 다음, 각 전선을 나사로 조이세요. 나사 단자 버전은 아래 다이어그램을 참고하세요.

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

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

5V 팬을 사용하는 경우, 5V 전원 어댑터를 사용해야 합니다.

아두이노 나노 ESP32 코드

아래 코드는 10초마다 팬을 켜고 끕니다.

/* * 이 아두이노 나노 esp32 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 나노 esp32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-controls-fan */ #define RELAY_PIN D2 // 아두이노 나노 ESP32 핀이 릴레이를 통해 팬에 연결됨 // setup 함수는 리셋 또는 전원을 켤 때 한 번 실행됩니다. void setup() { // 디지털 핀 A5를 출력으로 초기화합니다. pinMode(RELAY_PIN, OUTPUT); } // loop 함수는 무한히 반복됩니다. void loop() { digitalWrite(RELAY_PIN, HIGH); // 팬을 10초 동안 켭니다 delay(10000); digitalWrite(RELAY_PIN, LOW); // 팬을 10초 동안 끕니다 delay(10000); }

사용 방법

Arduino Nano ESP32를 시작하는 방법은 다음 단계를 따르세요:

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

코드 줄별 설명

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

MOSFET 모듈로 팬 속도 제어하기

이 부분에서는 릴레이 대신 MOSFET 모듈을 사용합니다. 그러면 Nano ESP32가 팬을 켜고 끄는 것뿐 아니라 속도까지 바꿀 수 있습니다.

MOSFET 모듈 배선도

아두이노 나노 ESP32 쿨링 팬 mosfet 모듈 배선도

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

브레드보드가 없나요? 아래와 같이 브레드보드 없이도 같은 회로를 연결할 수 있습니다:

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

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

더 깔끔하고 안전한 구성을 원하시나요? 이 경우 아두이노 나노용 스크루 터미널 확장 보드를 사용하세요. Arduino Nano ESP32를 꽂으면 각 핀마다 나사 단자가 생깁니다. 다음은 나사 단자 보드를 통해 배선한 같은 회로입니다:

아두이노 나노 ESP32 쿨링 팬 mosfet 모듈 배선도 (screw terminal)

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

  • Arduino Nano ESP32 핀 D9 → MOSFET 모듈의 PWM 핀
  • Arduino Nano ESP32 GND → MOSFET 모듈의 GND 핀
  • 12V 어댑터 + → + 단자
  • 팬 빨간색 선(+) → 같은 + 단자
  • 팬 검은색 선(−) → LOAD 단자
  • 12V 어댑터 − → − 단자
  • 두 팬 선 사이에 플라이백 다이오드(1N4007 또는 1N5819)를 연결합니다. 줄무늬 쪽(캐소드)은 팬 +에, 반대쪽은 팬 −에 연결합니다. 팬 안에는 모터 코일이 있으므로 다이오드가 모듈을 보호합니다.

Arduino Nano ESP32 코드 - 팬 속도 제어

MOSFET 모듈 튜토리얼과 같은 코드입니다. 팬이 2초 동안 최대 속도로 돌고, 2초 동안 멈춘 뒤, 10%에서 100%까지 빨라졌다가 다시 느려집니다. 팬은 아주 낮은 전력에서는 시작하지 않을 수 있으므로, 처음 몇 단계에서는 멈춰 있을 수 있습니다.

/* * 이 아두이노 나노 esp32 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 나노 esp32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-controls-fan */ 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를 설정하세요.
  • 다이어그램과 같이 팬과 MOSFET 모듈을 배선하세요. 12V 어댑터는 뽑아 둔 상태로 두세요.
  • 위의 코드를 복사하여 Arduino IDE에 붙여넣고 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 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.