Arduino UNO R4 - Módulo MOSFET
En esta guía, aprenderemos a usar un módulo MOSFET como interruptor de potencia con el Arduino UNO R4. En detalle, aprenderemos:
- Qué hay dentro de los módulos MOSFET AOD4184, LR7843 y FR120N, y cómo elegir el adecuado.
- Cómo conectar el módulo MOSFET, un adaptador de corriente de 12V y una tira LED de 12V al Arduino UNO R4.
- Cómo escribir un programa para el Arduino UNO R4 que encienda y apague la carga, y que cambie su potencia paso a paso con PWM.

Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables STEM V4B IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del módulo MOSFET
Un pin del Arduino UNO R4 da solo 5V y una corriente muy pequeña. Eso está bien para un LED pequeño, pero no para una tira LED de 12V, un ventilador o una bomba. Un módulo MOSFET se coloca en medio: el Arduino UNO R4 envía una señal débil, y el módulo abre o cierra un camino fuerte de 12V para la carga.
Hay tres módulos populares: AOD4184 (a veces vendido como D4184), LR7843 y FR120N. Las placas se ven iguales. Tienen el mismo tamaño, los mismos pines y el mismo cableado, y usan el mismo código. El único cambio es el chip MOSFET de la parte superior.
¿Por qué usar un módulo MOSFET y no un relé?
- Es silencioso. Nada se mueve y nada hace clic.
- Conmuta muy rápido, así que puede hacer PWM. Esto significa que puedes atenuar una luz o reducir la velocidad de un ventilador. Un relé solo puede estar totalmente encendido o totalmente apagado.
- No tiene contactos que se desgasten, así que dura mucho tiempo.
- El límite: solo funciona con cargas de CC. Nunca lo uses con la red eléctrica de CA. Para dispositivos de CA, consulta el tutorial Arduino UNO R4 - Relé.
| AOD4184 | LR7843 | FR120N | |
|---|---|---|---|
| Chip MOSFET | AOD4184A (canal N) | IRLR7843 (canal N) | IRFR120N (canal N) |
| Voltaje máximo de la carga (valor del chip) | 40V CC | 30V CC | 100V CC |
| Corriente máxima (valor del chip) | 50A | 161A | 9.4A |
| Resistencia en conducción RDS(on) | unos 7 mΩ | unos 3.3 mΩ | unos 210 mΩ |
| Corriente real sin disipador | unos 10–15A | unos 15A | unos 2A |
| Señal de control | 3.3V / 5V, activo en ALTO | 3.3V / 5V, activo en ALTO | 3.3V / 5V, activo en ALTO |
| Aislamiento | optoacoplador PC817 | optoacoplador PC817 | optoacoplador PC817 |
| PWM | sí, hasta unos 1 kHz | sí, hasta unos 1 kHz | sí, hasta unos 1 kHz |
| Tipo de carga | solo CC | solo CC | solo CC |
Cómo elegir uno:
- LR7843: tiene la resistencia más baja, así que se mantiene más frío cuando pasa una corriente grande. Elígelo para cargas fuertes de 12V o 24V, como una tira LED larga o un motor grande. Su límite es 30V.
- AOD4184: una buena opción para la mayoría de los proyectos. Soporta hasta 40V y una corriente fuerte, así que las cargas de 12V, 24V y 36V funcionan bien.
- FR120N: acepta el voltaje más alto (hasta 100V), pero su resistencia es alta. Mantén la corriente baja, unos 2A sin disipador. Sirve para cargas pequeñas de 24V o 48V.
※ Nota:
Los números grandes como 50A o 161A son los límites del chip solo. El módulo pequeño no puede llevar tanta corriente, porque el calor es el verdadero límite. Después de unos minutos de funcionamiento, toca el MOSFET. Si está demasiado caliente para tocarlo, baja la corriente o añade un disipador.
Cómo funciona
La señal del Arduino UNO R4 no toca el MOSFET directamente. Pasa primero por un optoacoplador PC817: pin 9 → pin PWM → resistencia pequeña → LED dentro del PC817 → luz → fototransistor dentro del PC817 → puerta del MOSFET. El MOSFET es de canal N y está entre los terminales LOAD y − (un interruptor en el lado de tierra). Tu dispositivo va entre + y LOAD.
¿Qué pasa con cada señal en el pin 9? Veamos los tres casos.
El pin 9 está en BAJO (0V): el dispositivo está apagado
- No entra corriente en el LED dentro del optoacoplador. Se queda oscuro.
- El fototransistor se queda apagado, así que una resistencia en la puerta mantiene la puerta del MOSFET en 0V.
- El MOSFET está APAGADO. Funciona como un interruptor abierto entre LOAD y −.
- El cable − del dispositivo no tiene camino a tierra. No fluye corriente, y el dispositivo recibe 0V.
En el código: digitalWrite(MOSFET_PIN, LOW) o analogWrite(MOSFET_PIN, 0).
El pin 9 está en ALTO (5V): el dispositivo recibe toda la potencia
- Unos pocos mA entran en el LED dentro del optoacoplador, y se enciende. Está dentro del chip, así que no lo puedes ver.
- El fototransistor se enciende. Ahora la puerta del MOSFET recibe más o menos la mitad de la alimentación de la carga, unos 6V con un adaptador de 12V.
- El MOSFET se ENCIENDE por completo. Funciona como un interruptor cerrado con una resistencia muy baja: unos pocos mΩ para el AOD4184 o el LR7843, unos 0.2Ω para el FR120N.
- La corriente fluye en un bucle: adaptador + → terminal + → dispositivo → terminal LOAD → MOSFET → terminal − → adaptador −.
- El dispositivo recibe casi los 12V completos y funciona a plena potencia.
En el código: digitalWrite(MOSFET_PIN, HIGH) o analogWrite(MOSFET_PIN, 255). Una placa de 3.3V puede hacer el mismo trabajo, porque el LED del optoacoplador necesita solo una corriente pequeña.
El pin 9 envía PWM: el dispositivo recibe parte de la potencia
- El pin 9 cambia entre BAJO y ALTO muy rápido, unas 500 a 1000 veces por segundo (500 Hz a 1 kHz).
- El MOSFET lo copia: ENCENDIDO en cada parte ALTA, APAGADO en cada parte BAJA.
- El dispositivo recibe pulsos cortos de 12V. El ciclo de trabajo es la parte del tiempo en que la señal está en ALTO. Voltaje medio y potencia media = ciclo de trabajo × valor completo.
Con analogWrite(MOSFET_PIN, value), el valor va de 0 a 255, y el ciclo de trabajo es value / 255. Algunos ejemplos con un adaptador de 12V:
- analogWrite(MOSFET_PIN, 0): 0%, siempre apagado, 0V de media.
- analogWrite(MOSFET_PIN, 64): unos 25%, encendido una cuarta parte del tiempo, unos 3V de media, una cuarta parte de la potencia.
- analogWrite(MOSFET_PIN, 128): unos 50%, encendido la mitad del tiempo, unos 6V de media, la mitad de la potencia.
- analogWrite(MOSFET_PIN, 191): unos 75%, encendido tres cuartas partes del tiempo, unos 9V de media.
- analogWrite(MOSFET_PIN, 255): 100%, siempre encendido, 12V, plena potencia.
Lo que ves: una tira LED se atenúa (parpadea, pero demasiado rápido para tus ojos). Un ventilador, motor o bomba gira más lento, porque su parte giratoria suaviza los pulsos.
Por qué importa la frecuencia: el PC817 es un componente lento. Si el PWM es demasiado rápido, el MOSFET no puede conmutar por completo. El dispositivo no recibe pulsos limpios, y el MOSFET se calienta. La frecuencia por defecto de analogWrite() del Arduino UNO R4 ya está en el rango seguro, así que no necesitas cambiar nada.
Otros puntos
- El optoacoplador aísla el lado del Arduino UNO R4 del lado de 12V. El GND de la señal y el GND de la carga no están unidos en el módulo.
- El voltaje de la puerta viene de la alimentación de la carga, así que esa alimentación debe ser de unos 6V o más. Una alimentación de carga de 5V no funcionará bien. Si la carga consume más de unos pocos amperios, usa 9V o más.
- La placa no tiene diodo de rueda libre (flyback). Los motores, las bombas, los solenoides y las bobinas de relé lo necesitan. Añade un diodo como el 1N5819 o el 1N4007 en paralelo con la carga: el lado de la franja (cátodo) va al + de la carga, y el otro lado (ánodo) va al − de la carga.
Pinout

El lado de control es un conector de 2 pines (paso de 2.54mm):
- Pin PWM: conéctalo a un pin del Arduino UNO R4. Este pin recibe la señal de ENCENDIDO/APAGADO o PWM.
- Pin GND: conéctalo a GND del Arduino UNO R4.
El lado de potencia tiene tres bornes de tornillo:
- Pin +: conéctalo al cable positivo de la fuente de la carga (por ejemplo, 12V) y al cable positivo de la carga. Ambos cables comparten este único borne.
- Pin LOAD: conéctalo al cable negativo de la carga. Este es el lado que conmuta el MOSFET.
- Pin −: conéctalo al cable negativo (tierra) de la fuente de la carga.
Las etiquetas pueden verse un poco distintas de un lote a otro. Lee siempre el texto impreso en tu propia placa.
Diagrama de Cableado
El Arduino UNO R4 solo maneja los pines PWM y GND, mientras que el adaptador de 12V alimenta la carga a través de los bornes de tornillo.

This image is created using Fritzing. Click to enlarge image
| Desde | Hasta |
|---|---|
| Pin 9 del Arduino UNO R4 | PWM del módulo MOSFET |
| GND del Arduino UNO R4 | GND del módulo MOSFET |
| + del adaptador de 12V (a través del conector DC) | + del módulo MOSFET |
| − del adaptador de 12V (a través del conector DC) | − del módulo MOSFET |
| + de la tira LED | + del módulo MOSFET |
| − de la tira LED | LOAD del módulo MOSFET |
El optoacoplador ya está en el módulo, así que no hace falta añadir un transistor ni una resistencia. Esto hace más fácil el cableado o la soldadura. Nunca conectes los cables de 12V a ningún pin del Arduino UNO R4.
Más dispositivos que puedes conectar
¿Y si quieres usar un ventilador, una bomba o una cerradura en lugar de la tira LED? Deja el pin 9 y GND como están. Solo cambia el lado de los bornes de tornillo. Estas son las reglas que no cambian para ningún dispositivo:
- Adaptador de corriente: + va al terminal +, − va al terminal −.
- Dispositivo: su cable + va también al terminal + (compartido con el + del adaptador), su cable − va a LOAD.
- Voltaje: haz coincidir el adaptador con el dispositivo (dispositivo de 12V, adaptador de 12V). Nunca bajes de 6V.
- Corriente: el FR120N sirve solo para dispositivos pequeños (unos 2A sin disipador). Para los más grandes, elige el AOD4184 o el LR7843.
- Diodo: un dispositivo con una bobina dentro (ventilador, motor, bomba, solenoide) necesita el diodo de rueda libre (flyback) 1N5819 o 1N4007 de la parte Cómo funciona. Franja hacia el + del dispositivo, el otro extremo al − del dispositivo.
No necesitas código nuevo. El código de arriba funciona para todos. El único cambio es para los solenoides: usa plena potencia o apagado (100% / 0%), y omite el fundido.
Ejemplo de cableado: ventilador de 12V

This image is created using Fritzing. Click to enlarge image
- Cable rojo al +, cable negro a LOAD.
- ¿Hay un tercer cable amarillo? Es la señal de velocidad. Déjalo libre.
- Añade el diodo. Cuesta casi nada y no puede hacer daño.
- El PWM cambia la velocidad. Empieza por encima del 30%, porque muchos ventiladores no giran con un ciclo de trabajo muy bajo.
Ejemplo de cableado: tira LED de 12V

This image is created using Fritzing. Click to enlarge image
- + de la tira (a menudo marcado 12V) al +, − de la tira a LOAD.
- Aquí no hay diodo. Una tira LED no tiene bobina.
- El PWM cambia el brillo.
- Las tiras largas consumen más corriente. Revisa la corriente de tu tira antes de elegir el módulo.
- Usa una tira de un solo color. Las tiras RGB y las direccionables necesitan otro cableado.
Ejemplo de cableado: bomba de agua de 12V

This image is created using Fritzing. Click to enlarge image
- + de la bomba al +, − de la bomba a LOAD.
- Pon el diodo en paralelo con la bomba.
- El PWM cambia el caudal.
- No dejes que la bomba funcione sin agua.
Ejemplo de cableado: motor de CC de 12V

This image is created using Fritzing. Click to enlarge image
- + del motor al +, − del motor a LOAD.
- Pon el diodo en paralelo con el motor: la franja en el lado + del motor.
- El PWM cambia la velocidad.
- El motor gira en un solo sentido. ¿Necesitas invertirlo? Usa un controlador de motor como el L298N. Consulta el tutorial Arduino UNO R4 - Motor de CC.
Ejemplo de cableado: cerradura de solenoide de 12V

This image is created using Fritzing. Click to enlarge image
- + de la cerradura al +, − de la cerradura a LOAD.
- El diodo es obligatorio.
- Solo ENCENDIDO o APAGADO total. Sin PWM.
- No la dejes ENCENDIDA mucho tiempo, o se calienta. Dale un pulso corto de ENCENDIDO para abrir.
Ejemplo de cableado: válvula de solenoide de 12V

This image is created using Fritzing. Click to enlarge image
Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.
- + de la válvula al +, − de la válvula a LOAD.
- Aquí el diodo también es obligatorio.
- Es una válvula normalmente cerrada: ENCENDIDO la abre, APAGADO la cierra.
- Solo ENCENDIDO o APAGADO. No uses PWM.
Cómo programar para el módulo MOSFET
No se necesita ninguna biblioteca. El código usa solo funciones integradas.
- Define el pin del Arduino UNO R4 que se conecta al pin PWM del módulo:
- Configura el pin como salida:
- Enciende la carga por completo o apágala por completo:
- Define un nivel de potencia en porcentaje. Primero convierte 0–100% al rango 0–255:
Si solo necesitas ENCENDIDO y APAGADO, digitalWrite(MOSFET_PIN, HIGH) y digitalWrite(MOSFET_PIN, LOW) también funcionan.
Código Arduino UNO R4 - Módulo MOSFET
El siguiente código ejecuta un ciclo una y otra vez:
- La carga está a plena potencia durante 2 segundos.
- La carga está apagada durante 2 segundos.
- La potencia sube del 10% al 100%, un 10% más cada 0.5 segundos.
- La potencia baja del 90% al 0% de la misma forma.
- El código espera 1 segundo y empieza de nuevo.
Pasos R\u00e1pidos
Sigue estas instrucciones paso a paso:
- Si es la primera vez que usas el Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
- Conecta los componentes según el diagrama proporcionado. Deja el adaptador de 12V desenchufado por ahora.
- Conecta la placa Arduino UNO R4 a tu computadora con un cable USB.
- Lanza el IDE de Arduino en tu computadora.
- Selecciona la placa Arduino UNO R4 adecuada (p. ej., Arduino UNO R4 WiFi o Arduino UNO R4 Minima) y el puerto COM.
- Copia el código anterior y pégalo en el IDE de Arduino.
- Haz clic en el botón Subir para enviar el código al Arduino UNO R4.
- Enchufa el adaptador de corriente de 12V.
- Abre el Monitor Serie y ajusta la velocidad en baudios a 9600.
- Mira la tira LED: brilla al máximo durante 2 segundos, luego se queda oscura durante 2 segundos. Después, brilla poco a poco más, y luego poco a poco menos. Con un ventilador, oirás que la velocidad sube y baja.
Si la tira LED no se enciende en absoluto, revisa primero la alimentación de 12V. Luego comprueba que los cables PWM y GND van al pin 9 y a GND del Arduino UNO R4.
Para saber más sobre la atenuación con PWM, consulta el tutorial Arduino UNO R4 - Fundido de LED.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.