아두이노 나노 MOSFET 모듈
이 튜토리얼에서는 아두이노 나노로 MOSFET 모듈을 통해 12V DC 부하를 켜고 끄고 밝기나 속도를 조절하는 방법을 설명합니다. 작은 나노는 브레드보드 위에 놓이고 5V 신호만 보내며, 큰 12V 쪽은 MOSFET 모듈이 맡습니다. 자세히 다음 내용을 배웁니다:
- 아두이노 나노를 MOSFET 모듈(AOD4184, LR7843 또는 FR120N)에 연결하는 방법
- 12V LED 스트립과 12V 전원 어댑터를 모듈에 연결하는 방법
- 부하를 켜고 끄고 PWM으로 전력 수준을 설정하도록 아두이노 나노를 프로그래밍하는 방법
다음을 권장합니다:
- AC 주전원 장치를 켜고 끄려면 아두이노 나노 - 릴레이를 사용하세요. MOSFET 모듈은 DC 부하에만 사용할 수 있습니다.
- 반대로 아두이노 나노로 12V 또는 24V 신호를 읽으려면 아두이노 나노 - PC817 옵토커플러: 12V/24V DC 입력 신호 모니터링를 사용하세요.
준비물
| 1 | × | 아두이노 나노 | 쿠팡 | 아마존 | |
| 1 | × | USB A to Mini-B USB 케이블 | 쿠팡 | 아마존 | |
| 1 | × | MOSFET Module (AOD4184, LR7843 or FR120N) | 아마존 | |
| 1 | × | 12V LED 스트립 | 아마존 | |
| 1 | × | (또는) 12V DC 선풍기 | 아마존 | |
| 1 | × | 12V 전원 어댑터 | 아마존 | |
| 1 | × | DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 나노용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 나노용 브레이크아웃 확장 보드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 나노용 전원 분배기 | 쿠팡 | 아마존 |
MOSFET 모듈에 대하여
아두이노 나노의 핀 하나는 5V에서 몇 mA만 낼 수 있습니다. 작은 LED에는 충분하지만 12V LED 스트립, 팬, 펌프에는 부족합니다. MOSFET 모듈은 이 두 세계 사이에 놓입니다. 나노가 작은 신호를 보내면, 모듈의 MOSFET이 큰 12V 전류가 흐르는 길을 열거나 닫습니다.
이 튜토리얼 하나로 세 가지 모듈을 다룹니다: AOD4184(D4184로도 판매), LR7843, FR120N. 이들은 크기, 핀, 배선, 코드가 모두 같은 기판 설계를 사용합니다. 기판 위의 MOSFET 칩만 다릅니다.
| AOD4184 | LR7843 | FR120N | |
|---|---|---|---|
| MOSFET | AOD4184A (N채널) | IRLR7843 (N채널) | IRFR120N (N채널) |
| 최대 부하 전압 (MOSFET 정격) | 40V DC | 30V DC | 100V DC |
| 최대 전류 (MOSFET 정격) | 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 전용 |
릴레이 대신 MOSFET 모듈을 고르는 이유는 무엇일까요? 딸깍 소리가 나지 않고, 움직이는 부품이 없으며, 매우 빠르게 켜고 끌 수 있고, 수명이 깁니다. 무엇보다 PWM을 지원하므로 나노가 LED 스트립을 어둡게 하거나 팬을 느리게 할 수 있습니다. 릴레이는 켜기와 끄기만 가능합니다.
MOSFET 모듈 핀아웃

모듈에는 두 그룹의 핀이 있습니다. 제어 그룹은 피치 2.54mm의 작은 2핀 헤더라서 나노 옆 브레드보드에 바로 꽂을 수 있습니다:
- PWM 핀: PWM을 지원하는 아두이노 나노 핀(이 튜토리얼에서는 D9)에 연결해야 합니다. 이 핀이 제어 신호를 받습니다
- GND 핀: 아두이노 나노의 GND 핀(신호 접지)에 연결해야 합니다
전원 그룹에는 부하 전류가 흐르기 때문에 나사 단자 3개가 있습니다:
- + 핀: 부하 전원 공급 장치의 양극(+), 예를 들어 12V와 부하의 양극 전선에 연결해야 합니다. 두 전선이 이 단자 하나를 함께 사용합니다
- LOAD 핀: 부하의 음극 전선에 연결해야 합니다. 이쪽이 스위칭되는 쪽이며 MOSFET 드레인에 연결됩니다
- − 핀: 부하 전원 공급 장치의 음극(−)에 연결해야 합니다
※ 주의:
모듈의 핀 배열은 제조사마다 다를 수 있습니다. 라벨도 생산 묶음(batch)에 따라 조금씩 바뀔 수 있습니다. 모듈을 사용할 때는 항상 모듈에 인쇄된 라벨을 확인하는 것이 중요합니다. 꼼꼼히 살펴보세요!
모듈 작동 방식
나노의 신호는 MOSFET으로 바로 가지 않습니다. 신호는 다음 경로를 따릅니다: 나노 핀 D9 → PWM 핀 → 작은 저항 → PC817 포토커플러 안의 LED → 빛 → PC817 안의 포토트랜지스터 → MOSFET 게이트. 포토커플러가 꺼져 있는 동안에는 게이트의 풀다운 저항이 게이트를 0V로 유지합니다. MOSFET은 LOAD 단자와 − 단자 사이에 있고, 부하는 +와 LOAD 사이에 있습니다.
모듈은 나노가 PWM 핀에 내보내는 신호에 따라 세 가지 방식으로 반응합니다.
경우 1: PWM 핀이 LOW(0V)일 때
- 포토커플러로 전류가 흐르지 않아 내부 LED가 꺼진 상태로 유지됩니다.
- 포토트랜지스터가 꺼진 상태로 유지됩니다. 풀다운 저항이 MOSFET 게이트를 0V로 유지합니다.
- MOSFET은 꺼집니다(OFF). LOAD와 − 사이는 열린 스위치처럼 동작합니다.
- LED 스트립의 − 전선이 어댑터 −로 가는 길이 없으므로 전류가 흐르지 않습니다. 스트립에는 0V가 걸리고 꺼진 채로 있습니다.
- 코드에서: digitalWrite(MOSFET_PIN, LOW) 또는 analogWrite(MOSFET_PIN, 0).
경우 2: PWM 핀이 HIGH(5V)일 때
- 5V 핀이 포토커플러 LED에 몇 mA를 흘립니다. LED는 칩 안에서 켜지므로 눈에 보이지 않습니다.
- 그 빛이 포토트랜지스터를 켭니다. 이제 MOSFET 게이트는 부하 전원의 약 절반, 12V 어댑터에서는 약 6V를 받습니다.
- MOSFET이 완전히 켜집니다(ON). 저항이 매우 낮은 닫힌 스위치처럼 동작합니다: AOD4184와 LR7843은 몇 mΩ, FR120N은 약 0.2Ω입니다.
- 전류는 고리를 따라 흐릅니다: 어댑터 + → + 단자 → LED 스트립 → LOAD 단자 → MOSFET → − 단자 → 어댑터 −.
- 스트립은 거의 12V 전체를 받아 최대 밝기로 빛납니다.
- 코드에서: digitalWrite(MOSFET_PIN, HIGH) 또는 analogWrite(MOSFET_PIN, 255).
경우 3: PWM 핀이 PWM 신호를 받을 때
- 핀이 초당 약 490번 0V와 5V 사이를 오갑니다(D9에서 analogWrite()의 기본 주파수).
- MOSFET은 각 펄스를 따라갑니다: HIGH인 동안에는 ON, LOW인 동안에는 OFF가 됩니다.
- 부하는 12V 펄스를 받습니다. 듀티 사이클은 핀이 HIGH인 시간의 비율이며, 평균 전압과 전력은 듀티 사이클에 전체 값을 곱한 것과 같습니다.
- 코드에서: analogWrite(MOSFET_PIN, value). value는 0~255이며 듀티 사이클은 value / 255입니다. 튜토리얼 코드는 10%에서 100%까지 단계적으로 올라갑니다.
| 듀티 사이클 | analogWrite() 값 | 부하가 켜져 있는 시간 | 평균 전압 (12V 전원) | 전력 |
|---|---|---|---|---|
| 0% | 0 | 전혀 없음 | 0V | 꺼짐 |
| 25% | 64 | 시간의 1/4 | 약 3V | 약 4분의 1 |
| 50% | 128 | 시간의 절반 | 약 6V | 약 절반 |
| 75% | 191 | 시간의 3/4 | 약 9V | 약 4분의 3 |
| 100% | 255 | 항상 | 12V | 전체 |
- LED 스트립은 더 어둡게 보입니다. 여전히 깜박이지만 눈이 알아채기에는 너무 빠릅니다.
- 팬, 모터, 펌프는 더 느리게 돕니다. 회전하는 부분의 관성이 펄스를 부드럽게 만들기 때문입니다.
- PC817은 느린 부품이므로 PWM 주파수는 약 500 Hz에서 1 kHz 사이로 유지해야 합니다. 주파수가 훨씬 높으면 MOSFET이 완전히 스위칭되지 않고, 부하가 깨끗한 펄스를 받지 못하며, MOSFET이 뜨거워집니다. D9 핀의 490 Hz는 괜찮습니다.
프로젝트에서 알아 두면 좋은 점이 몇 가지 더 있습니다:
- 절연된 접지: 모듈에서 신호 GND와 부하 GND는 연결되어 있지 않습니다. 나노 쪽과 12V 쪽은 포토커플러로 전기적으로 분리되어 있습니다.
- 로우사이드 스위치: MOSFET은 N채널 타입입니다. 부하의 양극 전선이 아니라 음극 전선을 스위칭합니다.
- 부하 전원은 약 6V 이상: 경우 2에서 보았듯이 게이트 전압은 분압 회로를 거쳐 부하 전원에서 나옵니다. 그래서 부하 전원은 약 6V 이상이어야 합니다. 부하가 몇 A 이상을 쓴다면 9V 이상을 사용하세요. 5V 부하 전원에서는 모듈이 제대로 작동하지 않으므로 나노의 5V 핀으로 부하에 전원을 공급하지 마세요.
- 작은 제어 전류: 포토커플러 LED는 몇 mA만 필요하므로 나노 핀이 추가 트랜지스터 없이 직접 구동할 수 있습니다.
- 보드에 플라이백 다이오드 없음: 모터, 펌프, 솔레노이드, 릴레이(유도성 부하)에는 부하와 병렬로 외부 플라이백 다이오드(예: 1N5819 또는 1N4007)를 추가하세요. 캐소드(줄무늬가 있는 쪽)는 부하 +에, 애노드는 부하 −에 연결합니다.
선연결
나노와 모듈은 전선 두 개(신호와 GND)만 공유하며, 12V 어댑터는 아래와 같이 DC 전원 잭을 통해 부하 쪽에 전원을 공급합니다.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
| 연결 시작 | 연결 대상 |
|---|---|
| 아두이노 나노 핀 D9 | MOSFET 모듈 PWM 핀 |
| 아두이노 나노 GND | MOSFET 모듈 GND 핀 |
| 12V 어댑터 + (DC 전원 잭 경유) | MOSFET 모듈 + |
| 12V 어댑터 − (DC 전원 잭 경유) | MOSFET 모듈 − |
| LED 스트립 + | MOSFET 모듈 + (어댑터 +와 같은 단자) |
| LED 스트립 − | MOSFET 모듈 LOAD |
WARNING
12V 전선을 아두이노 나노의 어떤 핀에도 연결하지 마세요. 12V는 MOSFET 모듈의 나사 단자에만 연결합니다.
MOSFET 모듈을 다른 12V 장치에 연결하기
LED 스트립은 하나의 예일 뿐입니다. 아래 예시는 다른 일반적인 12V 부하를 보여 줍니다. 나노 쪽은 달라지지 않습니다: D9는 PWM에, GND는 GND에 연결합니다. 나사 단자 쪽만 다릅니다. 표로 간단히 정리하면 다음과 같습니다:
| 장치 | 플라이백 다이오드 | 제어 방법 |
|---|---|---|
| 12V LED 스트립 (단색) | 필요 없음 | PWM (밝기) |
| 12V DC 모터 | 필요 | PWM (속도) |
| 12V 쿨링 팬 | 필요 | PWM (속도) |
| 12V 워터 펌프 | 필요 | PWM (유량) |
| 12V 솔레노이드 잠금장치 | 필요 | ON/OFF만 |
| 12V 솔레노이드 밸브 | 필요 | ON/OFF만 |
모든 장치에서 어댑터 전압은 장치 전압과 같아야 하고(12V 장치에는 12V 어댑터가 필요합니다), 약 6V 이상이어야 합니다. 장치가 쓰는 전류도 확인하세요. FR120N 모듈은 방열판 없이 약 2A 정도의 작은 부하에만 사용할 수 있습니다. 더 큰 부하에는 AOD4184 또는 LR7843 모듈을 선택하세요.
이 모든 장치에 같은 아두이노 나노 코드가 작동합니다. 솔레노이드 잠금장치와 솔레노이드 밸브에는 페이드 대신 HIGH와 LOW(100% 또는 0%)만 사용하세요.
12V LED 스트립 배선 예시

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 스트립의 + 전선(보통 12V로 표시)은 +에 연결하고, − 전선은 LOAD에 연결해야 합니다.
- LED 스트립은 코일 부하가 아니므로 플라이백 다이오드가 필요 없습니다.
- PWM이 밝기를 정합니다.
- 이 예시는 단색 스트립 전용입니다. RGB 스트립과 주소 지정 가능 스트립은 배선 방법이 다릅니다. 스트립이 길수록 전류를 더 많이 쓰므로 모듈을 고르기 전에 전류를 확인하세요.
12V DC 모터 배선 예시

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
| 연결 시작 | 연결 대상 |
|---|---|
| 모터 + | MOSFET 모듈 + |
| 모터 − | MOSFET 모듈 LOAD |
| 1N5819 또는 1N4007 다이오드, 캐소드(줄무늬) | 모터 + |
| 1N5819 또는 1N4007 다이오드, 애노드 | 모터 − |
모터는 코일 부하입니다. 모터 전선 사이의 다이오드는 모터가 꺼질 때 생기는 전압 스파이크로부터 MOSFET을 보호합니다(위의 "보드에 플라이백 다이오드 없음" 참조). PWM이 속도를 정합니다. 이 모듈은 모터를 한 방향으로만 구동할 수 있습니다. 방향을 바꾸려면 아두이노 나노 - DC 모터 튜토리얼처럼 L298N 같은 모터 드라이버를 사용하세요.
12V 쿨링 팬 배선 예시

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 빨간색 전선은 +이며 +에 연결해야 합니다. 검은색 전선은 −이며 LOAD에 연결해야 합니다.
- 팬에 세 번째 전선(노란색, 속도 신호)이 있다면 연결하지 않고 그대로 두세요.
- DC 모터와 같은 방법으로 플라이백 다이오드를 추가하세요. 저렴하고 해가 되지 않습니다.
- PWM이 속도를 정합니다. 일부 팬은 듀티 사이클이 아주 낮으면 돌지 않으므로 약 30% 이상에서 시작하세요.
12V 워터 펌프 배선 예시

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 펌프 +는 +에, 펌프 −는 LOAD에 연결합니다.
- 펌프 안에는 모터가 있으므로 같은 플라이백 다이오드가 필요합니다.
- PWM이 유량을 정합니다. 펌프를 물 없이 돌리지 마세요.
12V 솔레노이드 잠금장치 배선 예시

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 잠금장치 +는 +에, 잠금장치 −는 LOAD에 연결합니다. 내부 코일에도 플라이백 다이오드가 필요합니다.
- 완전히 ON 또는 완전히 OFF로만 구동하세요. PWM 밝기 조절은 사용하지 마세요.
- 오래 켜 두면 잠금장치가 뜨거워집니다. 잠금을 풀 때 잠깐만 켜고 다시 끄세요.
12V 솔레노이드 밸브 배선 예시

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
Arduino Nano와 기타 부품에 전원을 공급하는 가장 효과적인 방법은 다음 링크를 참조하세요: 아두이노 나노 전원 공급 방법.
- 밸브 +는 +에, 밸브 −는 LOAD에 연결하고, 코일과 병렬로 플라이백 다이오드를 연결합니다.
- 상시 닫힘 밸브입니다: 완전히 ON이면 밸브가 열리고, OFF이면 닫힙니다.
- ON/OFF만 사용하고 PWM은 사용하지 마세요.
MOSFET 모듈을 위한 프로그래밍 방법
라이브러리는 필요 없습니다. 모듈은 아두이노 내장 함수로 구동합니다.
- 첫 번째 단계는 모듈의 PWM 핀에 연결된 아두이노 나노 핀을 지정하는 것입니다. PWM 핀(나노에서 ~로 표시된 핀, 예: D9)이어야 합니다:
- Setup()에서 핀을 출력으로 설정합니다:
- 부하를 완전히 켜거나 끄려면 간단한 디지털 쓰기로 충분합니다:
- 전력 수준을 설정하려면 0~255 사이의 PWM 값을 씁니다. 퍼센트로 생각하는 것이 더 쉬우므로, 퍼센트 값을 map()으로 변환합니다:
MOSFET 모듈을 위한 아두이노 나노 코드
아래 코드는 반복해서 다음을 수행합니다:
- 부하를 2초 동안 완전히 켜고, 2초 동안 완전히 끕니다
- 전력을 10%에서 100%까지 10%씩, 0.5초마다 한 단계씩 올립니다
- 전력을 90%에서 0%까지 같은 방법으로 내립니다
- 1초 기다린 후 다시 시작합니다
빠른 단계
- 아두이노 나노를 처음 사용한다면 아두이노 나노 - 소프트웨어 설치을 참조하세요.
- 다이어그램과 같이 부품을 연결합니다. 아직 12V 어댑터는 꽂지 마세요.
- USB 케이블로 아두이노 나노 보드를 컴퓨터에 연결합니다.
- 컴퓨터에서 Arduino IDE를 엽니다.
- Arduino Nano 보드와 해당 COM 포트를 선택합니다.
- 위의 코드를 복사하여 Arduino IDE에 붙여넣습니다.
- Upload 버튼을 클릭하여 코드를 아두이노 나노에 업로드합니다.
- 12V 전원 어댑터를 꽂습니다.
- 시리얼 모니터를 열고 보드레이트를 9600으로 설정합니다.
- LED 스트립을 지켜보세요: 2초 동안 최대 밝기로 켜지고, 2초 동안 꺼진 다음, 천천히 밝아지고 천천히 어두워집니다.
- 시리얼 모니터에서 결과를 확인합니다:
LED 스트립 대신 12V 팬을 사용하면, 팬이 최고 속도로 돌다가 멈추고, 그다음 단계적으로 빨라졌다가 느려집니다.
추가 지식
AOD4184 vs LR7843 vs FR120N: 어떤 것을 고를까
세 모듈 모두 같은 방법으로 아두이노 나노에 연결합니다. 선택은 부하 전압과 전류에 따라 달라집니다.
| AOD4184 | LR7843 | FR120N | |
|---|---|---|---|
| 최대 부하 전압 | 40V DC | 30V DC | 100V DC |
| 온 저항 | 약 7 mΩ | 약 3.3 mΩ | 약 210 mΩ |
| 방열판 없이 실제 사용 가능한 전류 | 약 10–15A | 약 15A | 약 2A |
| 적합한 용도 | 12V/24V/36V 부하 | 큰 전류의 12V/24V 부하 | 24V/48V 소형 부하 |
- LR7843: 저항이 가장 낮아 큰 전류에서도 가장 시원하게 작동합니다. 고출력 12V/24V LED 스트립과 큰 모터에 가장 좋습니다. 한계는 30V입니다.
- AOD4184: 만능형으로 좋습니다. 40V까지 작동하며 강한 전류를 다룰 수 있습니다.
- FR120N: 가장 높은 전압(최대 100V)을 다루지만 저항이 가장 높습니다. 방열판 없이 약 2A 정도의 작은 전류에만 사용합니다.
무거운 12V/24V 부하에는 LR7843이 최선이고, 40V 이상에서는 FR120N이 유일한 선택임이 분명합니다.
※ 주의:
큰 전류 수치(AOD4184는 50A, LR7843은 161A)는 MOSFET 칩의 한계입니다. 작은 모듈 기판이 감당할 수 있는 값이 아닙니다. 실제 한계는 열입니다. 몇 분 동안 작동시킨 뒤 MOSFET을 조심스럽게 만져 보세요. 너무 뜨거워서 잡을 수 없다면 부하를 줄이거나 방열판을 추가하세요.
MOSFET 모듈 vs 릴레이
| MOSFET 모듈 | 릴레이 | |
|---|---|---|
| 부하 종류 | DC 전용 | DC 또는 AC |
| PWM (밝기 조절, 속도 제어) | 가능 | 불가능 |
| 소음 | 조용함 | 딸깍 소리 |
| 움직이는 부품 | 없음 | 있음 |
| 스위칭 속도 | 매우 빠름 | 느림 |
브레드보드 위에서 12V LED 스트립, 팬, 펌프를 제어하는 나노 프로젝트에는 MOSFET 모듈이 더 좋은 선택입니다. AC 주전원 장치에는 아두이노 나노 - 릴레이를 사용하세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.