ESP8266 팬

이 튜토리얼은 ESP8266을 사용하여 선풍기를 켜거나 끄는 방법을 안내합니다. 선풍기의 속도를 제어하는 방법은 다른 튜토리얼에서 다룰 예정입니다.

NodeMCU와 팬 사이에는 릴레이 또는 MOSFET 모듈을 둘 수 있습니다. 릴레이는 팬에 켜짐(ON)과 꺼짐(OFF) 두 가지 상태만 줍니다. MOSFET 모듈도 그렇게 할 수 있고, 거기에 더해 PWM으로 팬을 더 느리게 또는 더 빠르게 돌릴 수 있으며 딸깍 소리도 나지 않습니다. 이 페이지는 두 가지 방법을 모두 보여 줍니다. 먼저 릴레이를, 마지막에 MOSFET 모듈을 설명합니다.

준비물

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

DC 팬에 대하여

핀배열

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

DC 팬은 보통 두 개의 핀을 가지고 있습니다:

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

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

팬 제어 방법

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

이 튜토리얼에서는 ESP8266을 사용하여 선풍기를 켜거나 끄는 방법에 대해 논의할 것입니다. 선풍기의 속도를 제어하는 방법은 별도의 튜토리얼에서 다룰 것입니다.

팬을 켜거나 끄려면 ESP8266과 팬 사이에 릴레이를 사용해야 합니다. 그러면 ESP8266이 릴레이를 통해 팬을 제어할 수 있습니다.

릴레이(핀아웃, 작동 원리, 프로그래밍 방법 등)에 익숙하지 않으시다면, 더 많은 정보를 위해 ESP8266 - 릴레이을 참조하십시오.

MOSFET 모듈이 처음이신가요? ESP8266 - MOSFET 모듈 튜토리얼에서 핀과 작동 원리를 설명합니다.

팬용 릴레이와 MOSFET 모듈 비교

릴레이 MOSFET 모듈
팬 제어 켜짐 또는 꺼짐 켜짐, 꺼짐, 그리고 속도(PWM)
소음 켜고 끌 때마다 딸깍 소리 소리 없음
스위칭 속도 느림, 몇 밀리초 매우 빠름
수명 금속 접점이 마모됨 움직이는 부품이 없어 수명이 김
팬 종류 AC 또는 DC 팬 DC 팬만 가능
팬 공급 전압 릴레이 정격 범위 내 어떤 전압이든 약 6V 이상
NodeMCU와의 절연 예, 코일과 접점이 분리됨 예, PC817 포토커플러로 절연
이런 경우에 적합 AC 팬, 단순한 켜짐/꺼짐 속도 제어가 필요한 DC 팬

12V DC 팬에는 MOSFET 모듈이 더 좋은 선택입니다. 속도를 정할 수 있고 소음도 없기 때문입니다. AC 팬이나 5V 팬에는 릴레이를 사용하세요. 모듈은 최소 약 6V가 필요하기 때문입니다.

선연결

ESP8266 NodeMCU fan 연결 배선도

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

ESP8266 핀배열 및 ESP8266 전원을 켜는 방법에 대해 더 많이 보십시오.

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

ESP8266 NodeMCU fan 연결 배선도 (브레드보드 없음)

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

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

ESP8266 코드

아래의 코드는 팬이 5초마다 켜지고 5초마다 꺼지도록 반복해서 작동하게 할 것입니다.

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-fan */ #define RELAY_PIN D8 // ESP8266 핀이 릴레이의 IN 핀에 연결됨 // 설정 함수는 리셋 또는 전원 켜짐 시 한 번 실행됩니다. void setup() { // 디지털 핀 D8을 출력으로 초기화합니다. pinMode(RELAY_PIN, OUTPUT); } // 루프 함수는 무한히 반복됩니다 void loop() { digitalWrite(RELAY_PIN, HIGH); // 선풍기를 10초 동안 켭니다 delay(10000); digitalWrite(RELAY_PIN, LOW); // 선풍기를 10초 동안 끕니다 delay(10000); }

사용 방법

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에 업로드하세요.
  • 팬의 상태를 확인하세요.

코드 설명

소스 코드의 주석에 포함된 줄별 설명을 확인하세요!

MOSFET 모듈로 팬 속도 제어하는 방법

이제 릴레이를 MOSFET 모듈로 바꿔 봅시다. NodeMCU가 D5 핀에서 PWM 신호를 보내면 모듈이 이를 팬용 12V 펄스로 바꿔 주므로, 팬은 정지부터 최고 속도까지 원하는 속도로 돌 수 있습니다.

배선도

ESP8266 NodeMCU nodemcu cooling fan mosfet module 연결 배선도

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

출발 연결 대상
NodeMCU D5 (GPIO14) 모듈 PWM
NodeMCU G (GND) 모듈 GND
12V 어댑터 + 모듈 +
팬 빨간색 선 (+) 모듈 + (어댑터 +와 같은 단자)
팬 검은색 선 (−) 모듈 LOAD
12V 어댑터 − 모듈 −

팬 안에는 모터 코일이 있으므로 팬의 두 선 사이에 플라이백 다이오드(1N4007 또는 1N5819)를 연결하세요. 줄무늬가 있는 쪽(캐소드)을 팬의 + 선에 연결합니다. 팬에 노란색 세 번째 선이 있다면 연결하지 말고 그대로 두세요.

ESP8266 코드

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-fan */ const int MOSFET_PIN = D5; // ESP8266 pin D5 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); }

팬은 먼저 2초 동안 최고 속도로 돌고 2초 동안 멈춥니다. 그다음 출력이 10%에서 100%까지 올라가 팬이 단계적으로 빨라지고, 다시 내려가 팬이 멈출 때까지 느려집니다. 출력이 매우 낮으면 팬이 아예 돌지 않는 경우도 있습니다. 이것은 정상입니다.

빠른 단계

  • 위의 릴레이 빠른 단계와 같은 방법으로 Arduino IDE와 보드를 설정하세요.
  • 다이어그램에 표시된 대로 팬과 MOSFET 모듈을 연결하세요. 아직 12V 어댑터는 꽂지 마세요.
  • 위의 코드를 복사하여 Arduino IDE에 붙여넣고 NodeMCU에 업로드하세요.
  • 12V 어댑터를 꽂으세요.
  • 시리얼 모니터를 9600 보드레이트로 열고 팬 소리를 들어 보세요.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' 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
Nodemcu 1.0 (ESP-12E Module) on COM15
2

※ 주의:

MOSFET 모듈은 DC에서만 작동하며, 팬 공급 전압은 최소 약 6V여야 합니다. AC 팬에는 릴레이를 그대로 사용하세요.

동영상

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