아두이노 우노 R4 MOSFET 모듈
이 가이드에서는 MOSFET 모듈을 아두이노 UNO R4의 전원 스위치로 사용하는 방법을 배웁니다. 자세히 배울 내용은 다음과 같습니다:
- AOD4184, LR7843, FR120N MOSFET 모듈의 내부 구조와 알맞은 모듈을 고르는 방법
- MOSFET 모듈, 12V 전원 어댑터, 12V LED 스트립을 아두이노 UNO R4에 연결하는 방법
- 아두이노 UNO R4로 부하를 켜고 끄고, PWM으로 전력을 단계별로 바꾸는 프로그램을 작성하는 방법

준비물
| 1 | × | Arduino UNO R4 WiFi or Arduino UNO R4 Minima | ||
| 1 | × | (또는) DIYables STEM V4 IoT, Compatible with Arduino Uno R4 WiFi | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
| 1 | × | MOSFET Module (AOD4184, LR7843 or FR120N) | 아마존 | |
| 1 | × | 12V LED 스트립 | 아마존 | |
| 1 | × | (또는) 12V DC 선풍기 | 아마존 | |
| 1 | × | 12V 전원 어댑터 | 아마존 | |
| 1 | × | DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노 R4용 스크루 터미널 블록 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) Sensors/Servo Expansion Shield for Arduino UNO R4 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노 R4용 브레드보드 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노 R4용 케이스 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노 R4용 전원 분배기 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 | 아마존 |
MOSFET 모듈에 대하여
아두이노 UNO R4의 핀은 5V와 아주 작은 전류만 낼 수 있습니다. 작은 LED에는 충분하지만 12V LED 스트립, 팬, 펌프에는 부족합니다. MOSFET 모듈이 그 중간에 놓입니다. 아두이노 UNO R4가 약한 신호를 보내면, 모듈이 부하를 위한 강한 12V 경로를 열거나 닫습니다.
인기 있는 모듈은 세 가지입니다: AOD4184(D4184로 팔리기도 합니다), LR7843, FR120N. 보드는 모두 똑같이 생겼습니다. 크기, 핀, 배선이 같고 같은 코드를 사용합니다. 다른 점은 위에 붙은 MOSFET 칩뿐입니다.
릴레이 대신 MOSFET 모듈을 쓰는 이유는 무엇일까요?
- 조용합니다. 움직이는 부분도, 딸깍거리는 소리도 없습니다.
- 아주 빠르게 스위칭하므로 PWM을 할 수 있습니다. 조명을 어둡게 하거나 팬을 느리게 돌릴 수 있다는 뜻입니다. 릴레이는 완전히 켜거나 완전히 끄는 것만 가능합니다.
- 닳는 접점이 없어서 오래 사용할 수 있습니다.
- 한계: DC 부하에만 사용할 수 있습니다. AC 교류 전원에는 절대 사용하지 마세요. AC 기기는 아두이노 우노 R4 - 릴레이 튜토리얼을 참고하세요.
| AOD4184 | LR7843 | FR120N | |
|---|---|---|---|
| MOSFET 칩 | AOD4184A (N채널) | IRLR7843 (N채널) | IRFR120N (N채널) |
| 최대 부하 전압 (칩 정격) | 40V DC | 30V DC | 100V DC |
| 최대 전류 (칩 정격) | 50A | 161A | 9.4A |
| 온 저항 RDS(on) | 약 7 mΩ | 약 3.3 mΩ | 약 210 mΩ |
| 방열판 없이 실제 전류 | 약 10–15A | 약 15A | 약 2A |
| 제어 신호 | 3.3V / 5V, 액티브 HIGH | 3.3V / 5V, 액티브 HIGH | 3.3V / 5V, 액티브 HIGH |
| 절연 | PC817 포토커플러 | PC817 포토커플러 | PC817 포토커플러 |
| PWM | 예, 약 1 kHz까지 | 예, 약 1 kHz까지 | 예, 약 1 kHz까지 |
| 부하 종류 | DC 전용 | DC 전용 | DC 전용 |
고르는 방법:
- LR7843: 저항이 가장 낮아서 큰 전류가 흘러도 가장 시원하게 유지됩니다. 긴 LED 스트립이나 큰 모터처럼 강한 12V 또는 24V 부하에 선택하세요. 한계 전압은 30V입니다.
- AOD4184: 대부분의 프로젝트에 좋은 선택입니다. 최대 40V와 강한 전류를 견디므로 12V, 24V, 36V 부하 모두 괜찮습니다.
- FR120N: 가장 높은 전압(최대 100V)을 받지만 저항이 큽니다. 방열판 없이는 전류를 약 2A로 작게 유지하세요. 작은 24V 또는 48V 부하에 알맞습니다.
※ 주의:
50A, 161A 같은 큰 숫자는 칩 자체의 한계입니다. 작은 모듈은 그만큼 흘릴 수 없습니다. 실제 한계는 열이기 때문입니다. 몇 분 동안 동작시킨 뒤 MOSFET을 만져 보세요. 너무 뜨거워 만질 수 없다면 전류를 낮추거나 방열판을 붙이세요.
동작 원리
아두이노 UNO R4의 신호는 MOSFET에 직접 닿지 않습니다. 먼저 PC817 포토커플러를 거칩니다: 9번 핀 → PWM 핀 → 작은 저항 → PC817 안의 LED → 빛 → PC817 안의 포토트랜지스터 → MOSFET 게이트. MOSFET은 N채널 타입이며 LOAD 단자와 − 단자 사이에 놓입니다(로우 사이드 스위치). 기기는 + 와 LOAD 사이에 연결합니다.
그러면 9번 핀의 신호에 따라 어떤 일이 일어날까요? 세 가지 경우를 살펴봅시다.
9번 핀이 LOW(0V)일 때: 기기가 꺼짐
- 포토커플러 안의 LED에 전류가 흐르지 않습니다. LED는 꺼진 상태입니다.
- 포토트랜지스터가 꺼져 있으므로 게이트의 저항이 MOSFET 게이트를 0V로 유지합니다.
- MOSFET은 OFF입니다. LOAD와 − 사이에서 열린 스위치처럼 동작합니다.
- 기기의 − 선은 GND로 가는 경로가 없습니다. 전류가 흐르지 않고 기기는 0V를 받습니다.
코드로는: digitalWrite(MOSFET_PIN, LOW) 또는 analogWrite(MOSFET_PIN, 0).
9번 핀이 HIGH(5V)일 때: 기기가 최대 전력을 받음
- 몇 mA가 포토커플러 안의 LED로 흘러 LED가 켜집니다. 칩 안에 있어서 눈에 보이지 않습니다.
- 포토트랜지스터가 켜집니다. 이제 MOSFET 게이트는 부하 전원의 약 절반, 즉 12V 어댑터에서 약 6V를 받습니다.
- MOSFET이 완전히 ON이 됩니다. 아주 낮은 저항의 닫힌 스위치처럼 동작합니다: AOD4184나 LR7843은 몇 mΩ, FR120N은 약 0.2Ω입니다.
- 전류가 고리 모양으로 흐릅니다: 어댑터 + → + 단자 → 기기 → LOAD 단자 → MOSFET → − 단자 → 어댑터 −.
- 기기는 거의 12V 전체를 받아 최대 전력으로 동작합니다.
코드로는: digitalWrite(MOSFET_PIN, HIGH) 또는 analogWrite(MOSFET_PIN, 255). 포토커플러 LED는 작은 전류만 필요하므로 3.3V 보드도 같은 일을 할 수 있습니다.
9번 핀이 PWM을 보낼 때: 기기가 전력의 일부를 받음
- 9번 핀은 LOW와 HIGH 사이를 아주 빠르게, 초당 약 500~1000번(500 Hz~1 kHz) 오갑니다.
- MOSFET이 이를 그대로 따라 합니다: HIGH 구간에서는 ON, LOW 구간에서는 OFF.
- 기기는 짧은 12V 펄스를 받습니다. 듀티 사이클은 신호가 HIGH인 시간의 비율입니다. 평균 전압과 평균 전력 = 듀티 사이클 × 최대값.
analogWrite(MOSFET_PIN, value)에서 value는 0부터 255까지이고, 듀티 사이클은 value / 255입니다. 12V 어댑터를 쓸 때의 예:
- analogWrite(MOSFET_PIN, 0): 0%, 항상 꺼짐, 평균 0V.
- analogWrite(MOSFET_PIN, 64): 약 25%, 시간의 4분의 1 동안 켜짐, 평균 약 3V, 전력은 약 4분의 1.
- analogWrite(MOSFET_PIN, 128): 약 50%, 시간의 절반 동안 켜짐, 평균 약 6V, 전력은 약 절반.
- analogWrite(MOSFET_PIN, 191): 약 75%, 시간의 4분의 3 동안 켜짐, 평균 약 9V.
- analogWrite(MOSFET_PIN, 255): 100%, 항상 켜짐, 12V, 최대 전력.
눈에 보이는 결과: LED 스트립은 어두워집니다(깜박이지만 눈으로 알아볼 수 없을 만큼 빠릅니다). 팬, 모터, 펌프는 회전 부분이 펄스를 부드럽게 만들어 주기 때문에 더 느리게 돕니다.
주파수가 중요한 이유: PC817은 느린 부품입니다. PWM이 너무 빠르면 MOSFET이 완전히 스위칭하지 못합니다. 기기가 깨끗한 펄스를 받지 못하고 MOSFET이 뜨거워집니다. 아두이노 UNO R4의 기본 analogWrite() 주파수는 이미 안전한 범위에 있으므로 아무것도 바꿀 필요가 없습니다.
그 밖의 알아둘 점
- 포토커플러가 아두이노 UNO R4 쪽과 12V 쪽을 절연합니다. 신호 GND와 부하 GND는 모듈에서 서로 연결되어 있지 않습니다.
- 게이트 전압은 부하 전원에서 나오므로 부하 전원은 약 6V 이상이어야 합니다. 5V 부하 전원은 잘 동작하지 않습니다. 부하가 몇 A 이상 흐르면 9V 이상을 사용하세요.
- 보드에는 플라이백 다이오드가 없습니다. 모터, 펌프, 솔레노이드, 릴레이 코일에는 필요합니다. 1N5819나 1N4007 같은 다이오드를 부하에 걸쳐 연결하세요: 줄무늬 쪽(캐소드)은 부하 +에, 다른 쪽(애노드)은 부하 −에 연결합니다.
핀아웃

제어 쪽은 2핀 헤더(2.54mm 피치)입니다:
- PWM 핀: 아두이노 UNO R4의 핀에 연결합니다. 이 핀이 ON/OFF 또는 PWM 신호를 받습니다.
- GND 핀: 아두이노 UNO R4의 GND에 연결합니다.
전원 쪽에는 나사 단자가 세 개 있습니다:
- + 핀: 부하 전원(예: 12V)의 양극 선과 부하의 양극 선에 연결합니다. 두 선이 이 단자 하나를 함께 사용합니다.
- LOAD 핀: 부하의 음극 선에 연결합니다. MOSFET이 스위칭하는 쪽입니다.
- − 핀: 부하 전원의 음극 선(GND)에 연결합니다.
라벨은 제조 묶음에 따라 조금 다를 수 있습니다. 항상 사용 중인 보드에 인쇄된 글자를 확인하세요.
선연결
아두이노 UNO R4는 PWM 핀과 GND 핀만 구동하고, 12V 어댑터는 나사 단자를 통해 부하에 전력을 공급합니다.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
| From | To |
|---|---|
| Arduino UNO R4 9번 핀 | MOSFET 모듈 PWM |
| Arduino UNO R4 GND | MOSFET 모듈 GND |
| 12V 어댑터 + (DC 전원 잭 경유) | MOSFET 모듈 + |
| 12V 어댑터 − (DC 전원 잭 경유) | MOSFET 모듈 − |
| LED 스트립 + | MOSFET 모듈 + |
| LED 스트립 − | MOSFET 모듈 LOAD |
포토커플러가 이미 모듈에 있으므로 트랜지스터나 저항을 추가할 필요가 없습니다. 덕분에 배선이나 납땜이 더 쉽습니다. 12V 선을 아두이노 UNO R4의 어떤 핀에도 절대 연결하지 마세요.
연결할 수 있는 다른 기기
LED 스트립 대신 팬, 펌프, 도어락을 돌리고 싶다면? 9번 핀과 GND는 그대로 두세요. 나사 단자 쪽만 바뀝니다. 모든 기기에 똑같이 적용되는 규칙은 다음과 같습니다:
- 전원 어댑터: +는 + 단자에, −는 − 단자에 연결합니다.
- 기기: 기기의 + 선도 + 단자에 연결하고(어댑터 +와 공유), − 선은 LOAD에 연결합니다.
- 전압: 어댑터를 기기에 맞추세요(12V 기기에는 12V 어댑터). 6V 아래로는 절대 내리지 마세요.
- 전류: FR120N은 작은 기기에만 괜찮습니다(방열판 없이 약 2A). 더 큰 기기에는 AOD4184나 LR7843을 고르세요.
- 다이오드: 안에 코일이 있는 기기(팬, 모터, 펌프, 솔레노이드)에는 동작 원리 부분의 1N5819 또는 1N4007 플라이백 다이오드가 필요합니다. 줄무늬는 기기 +에, 다른 쪽은 기기 −에 연결합니다.
새 코드는 필요 없습니다. 위의 코드가 모든 기기에서 동작합니다. 솔레노이드만 예외입니다: 최대 전력 또는 끄기(100% / 0%)만 사용하고 페이드는 건너뛰세요.
배선 예제: 12V 팬

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 빨간 선은 +에, 검은 선은 LOAD에 연결합니다.
- 노란색 세 번째 선이 있나요? 속도 신호선입니다. 연결하지 않고 두세요.
- 다이오드를 추가하세요. 거의 돈이 들지 않고 해가 되지 않습니다.
- PWM으로 속도를 바꿉니다. 약 30% 이상에서 시작하세요. 많은 팬이 아주 낮은 듀티 사이클에서는 돌지 않기 때문입니다.
배선 예제: 12V LED 스트립

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 스트립 +(보통 12V로 표시)는 +에, 스트립 −는 LOAD에 연결합니다.
- 여기에는 다이오드가 필요 없습니다. LED 스트립에는 코일이 없습니다.
- PWM으로 밝기를 바꿉니다.
- 긴 스트립은 더 많은 전류를 끌어갑니다. 모듈을 고르기 전에 스트립의 전류를 확인하세요.
- 단색 스트립을 사용하세요. RGB 스트립과 어드레서블 스트립은 배선이 다릅니다.
배선 예제: 12V 워터 펌프

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 펌프 +는 +에, 펌프 −는 LOAD에 연결합니다.
- 다이오드를 펌프에 걸쳐 연결하세요.
- PWM으로 유량을 바꿉니다.
- 물 없이 펌프를 돌리지 마세요.
배선 예제: 12V DC 모터

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 모터 +는 +에, 모터 −는 LOAD에 연결합니다.
- 다이오드를 모터에 걸쳐 연결하세요: 줄무늬는 모터 + 쪽입니다.
- PWM으로 속도를 바꿉니다.
- 모터는 한 방향으로만 돕니다. 방향을 바꾸고 싶나요? L298N 같은 모터 드라이버를 사용하세요. 아두이노 우노 R4 - DC 모터 튜토리얼을 참고하세요.
배선 예제: 12V 솔레노이드 락

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 락 +는 +에, 락 −는 LOAD에 연결합니다.
- 다이오드는 필수입니다.
- 완전히 켜거나 끄기만 하세요. PWM은 안 됩니다.
- 오래 켜 두지 마세요. 열이 납니다. 잠금을 풀 때는 짧은 ON 펄스를 주세요.
배선 예제: 12V 솔레노이드 밸브

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
Arduino Uno R4와 기타 부품에 전원을 공급하는 가장 효과적인 방법을 확인하시려면, 아래 링크를 참조하세요: 아두이노 우노 R4 전원 공급 방법.
- 밸브 +는 +에, 밸브 −는 LOAD에 연결합니다.
- 여기에서도 다이오드는 필수입니다.
- 상시 닫힘(normally closed) 밸브입니다: ON이면 열리고, OFF이면 닫힙니다.
- ON 또는 OFF로만 스위칭하세요. PWM은 사용하지 마세요.
MOSFET 모듈을 위한 아두이노 프로그래밍 방법
라이브러리는 필요 없습니다. 코드는 내장 함수만 사용합니다.
- 모듈의 PWM 핀에 연결되는 아두이노 UNO R4의 핀을 설정합니다:
- 핀을 출력으로 설정합니다:
- 부하를 완전히 켜거나 완전히 끕니다:
- 전력 수준을 퍼센트로 설정합니다. 먼저 0–100%를 0–255 범위로 변환하세요:
ON과 OFF만 필요하다면 digitalWrite(MOSFET_PIN, HIGH)와 digitalWrite(MOSFET_PIN, LOW)도 사용할 수 있습니다.
아두이노 UNO R4 코드 - MOSFET 모듈
아래 코드는 한 사이클을 계속 반복합니다:
- 부하가 2초 동안 최대 전력입니다.
- 부하가 2초 동안 꺼집니다.
- 전력이 10%에서 100%까지 올라가며, 0.5초마다 10%씩 늘어납니다.
- 같은 방식으로 90%에서 0%까지 내려갑니다.
- 1초 기다린 뒤 다시 시작합니다.
빠른 단계
다음 안내를 단계별로 따라 하세요:
- Arduino Uno R4 WiFi/Minima를 처음 사용한다면 아두이노 우노 R4 - 소프트웨어 설치 튜토리얼을 참고하세요.
- 제공된 배선도에 따라 부품을 연결합니다. 12V 어댑터는 아직 꽂지 마세요.
- USB 케이블로 Arduino UNO R4 보드를 컴퓨터에 연결합니다.
- 컴퓨터에서 Arduino IDE를 실행합니다.
- 알맞은 Arduino UNO R4 보드(예: Arduino UNO R4 WiFi 또는 Arduino UNO R4 Minima)와 COM 포트를 선택합니다.
- 위 코드를 복사하여 Arduino IDE에 붙여넣습니다.
- Upload 버튼을 클릭하여 Arduino UNO R4에 코드를 업로드합니다.
- 12V 전원 어댑터를 꽂습니다.
- 시리얼 모니터를 열고 보드레이트를 9600으로 설정합니다.
- LED 스트립을 지켜보세요: 2초 동안 가장 밝다가 2초 동안 꺼집니다. 그다음 조금씩 밝아졌다가 조금씩 어두워집니다. 팬이라면 속도가 올라갔다 내려가는 소리를 들을 수 있습니다.
LED 스트립이 전혀 켜지지 않는다면 먼저 12V 전원을 확인하세요. 그다음 PWM 선과 GND 선이 아두이노 UNO R4의 9번 핀과 GND에 연결되어 있는지 확인하세요.
PWM 조광에 대해 더 알아보려면 아두이노 우노 R4 - LED 점점 밝아지기/어두워지기 튜토리얼을 참고하세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.