Arduino UNO R4 - Módulo MOSFET
Neste guia, vamos aprender a usar um módulo MOSFET como chave de potência com o Arduino UNO R4. Em detalhes, vamos aprender:
- O que há dentro dos módulos MOSFET AOD4184, LR7843 e FR120N, e como escolher o certo.
- Como conectar o módulo MOSFET, um adaptador de 12V e uma fita LED de 12V ao Arduino UNO R4.
- Como escrever um programa para o Arduino UNO R4 ligar e desligar a carga e mudar sua potência passo a passo com PWM.

Hardware Necessário
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) |
Sobre o Módulo MOSFET
Um pino do Arduino UNO R4 fornece apenas 5V e uma corrente muito pequena. Isso é suficiente para um LED pequeno, mas não para uma fita LED de 12V, um ventilador ou uma bomba. Um módulo MOSFET fica no meio: o Arduino UNO R4 envia um sinal fraco, e o módulo abre ou fecha um caminho forte de 12V para a carga.
Existem três módulos populares: AOD4184 (às vezes vendido como D4184), LR7843 e FR120N. As placas são parecidas. Elas têm o mesmo tamanho, os mesmos pinos e a mesma ligação, e usam o mesmo código. A única diferença é o chip MOSFET na parte de cima.
Por que usar um módulo MOSFET e não um relé?
- Ele é silencioso. Nada se move e nada faz clique.
- Ele comuta muito rápido, então pode fazer PWM. Isso significa que você pode reduzir o brilho de uma luz ou diminuir a velocidade de um ventilador. Um relé só consegue ficar totalmente LIGADO ou totalmente DESLIGADO.
- Ele não tem contatos que se desgastam, então dura muito tempo.
- O limite: ele funciona somente com cargas DC. Nunca o use com a rede elétrica AC. Para dispositivos AC, veja o tutorial Arduino UNO R4 - Relé.
| AOD4184 | LR7843 | FR120N | |
|---|---|---|---|
| Chip MOSFET | AOD4184A (canal N) | IRLR7843 (canal N) | IRFR120N (canal N) |
| Tensão máxima da carga (especificação do chip) | 40V DC | 30V DC | 100V DC |
| Corrente máxima (especificação do chip) | 50A | 161A | 9.4A |
| Resistência ligado RDS(on) | cerca de 7 mΩ | cerca de 3.3 mΩ | cerca de 210 mΩ |
| Corrente real sem dissipador de calor | cerca de 10–15A | cerca de 15A | cerca de 2A |
| Sinal de controle | 3.3V / 5V, ativo em HIGH | 3.3V / 5V, ativo em HIGH | 3.3V / 5V, ativo em HIGH |
| Isolamento | optoacoplador PC817 | optoacoplador PC817 | optoacoplador PC817 |
| PWM | sim, até cerca de 1 kHz | sim, até cerca de 1 kHz | sim, até cerca de 1 kHz |
| Tipo de carga | somente DC | somente DC | somente DC |
Como escolher um:
- LR7843: tem a menor resistência, então fica mais frio quando uma corrente grande passa. Escolha-o para cargas fortes de 12V ou 24V, como uma fita LED longa ou um motor grande. O limite dele é 30V.
- AOD4184: uma boa escolha para a maioria dos projetos. Ele aguenta até 40V e uma corrente forte, então cargas de 12V, 24V e 36V funcionam bem.
- FR120N: aceita a maior tensão (até 100V), mas sua resistência é alta. Mantenha a corrente baixa, cerca de 2A sem dissipador de calor. Ele serve para cargas pequenas de 24V ou 48V.
※ Nota:
Os números grandes, como 50A ou 161A, são os limites apenas do chip. O módulo pequeno não consegue suportar tanto, porque o calor é o limite real. Depois de alguns minutos de funcionamento, toque no MOSFET. Se estiver quente demais para encostar, reduza a corrente ou adicione um dissipador de calor.
Como Funciona
O sinal do Arduino UNO R4 não toca o MOSFET diretamente. Ele passa primeiro por um optoacoplador PC817: pino 9 → pino PWM → resistor pequeno → LED dentro do PC817 → luz → fototransistor dentro do PC817 → gate do MOSFET. O MOSFET é do tipo canal N e fica entre os terminais LOAD e − (uma chave do lado baixo). Seu dispositivo fica entre + e LOAD.
Então o que acontece para cada sinal no pino 9? Vamos ver os três casos.
Pino 9 em LOW (0V): O Dispositivo Está Desligado
- Nenhuma corrente entra no LED dentro do optoacoplador. Ele permanece apagado.
- O fototransistor permanece desligado, então um resistor no gate mantém o gate do MOSFET em 0V.
- O MOSFET está DESLIGADO. Ele funciona como uma chave aberta entre LOAD e −.
- O fio − do dispositivo não tem caminho para o terra. Nenhuma corrente flui, e o dispositivo recebe 0V.
No código: digitalWrite(MOSFET_PIN, LOW) ou analogWrite(MOSFET_PIN, 0).
Pino 9 em HIGH (5V): O Dispositivo Recebe Potência Total
- Alguns mA fluem para o LED dentro do optoacoplador, e ele acende. Ele fica dentro do chip, então você não o vê.
- O fototransistor liga. Agora o gate do MOSFET recebe cerca de metade da tensão de alimentação da carga, cerca de 6V em um adaptador de 12V.
- O MOSFET liga totalmente. Ele funciona como uma chave fechada com uma resistência muito baixa: alguns mΩ para o AOD4184 ou o LR7843, cerca de 0.2Ω para o FR120N.
- A corrente flui em um circuito: adaptador + → terminal + → dispositivo → terminal LOAD → MOSFET → terminal − → adaptador −.
- O dispositivo recebe quase os 12V completos e funciona com potência total.
No código: digitalWrite(MOSFET_PIN, HIGH) ou analogWrite(MOSFET_PIN, 255). Uma placa de 3.3V pode fazer o mesmo trabalho, porque o LED do optoacoplador precisa de apenas uma corrente pequena.
O Pino 9 Envia PWM: O Dispositivo Recebe Parte da Potência
- O pino 9 alterna entre LOW e HIGH muito rápido, cerca de 500 a 1000 vezes por segundo (500 Hz a 1 kHz).
- O MOSFET copia o sinal: LIGADO em cada parte HIGH, DESLIGADO em cada parte LOW.
- O dispositivo recebe pulsos curtos de 12V. O ciclo de trabalho (duty cycle) é a fração do tempo em que o sinal fica em HIGH. Tensão média e potência média = ciclo de trabalho × valor total.
Com analogWrite(MOSFET_PIN, value), o valor vai de 0 a 255, e o ciclo de trabalho é value / 255. Alguns exemplos com um adaptador de 12V:
- analogWrite(MOSFET_PIN, 0): 0%, sempre desligado, 0V de média.
- analogWrite(MOSFET_PIN, 64): cerca de 25%, ligado um quarto do tempo, cerca de 3V de média, cerca de um quarto da potência.
- analogWrite(MOSFET_PIN, 128): cerca de 50%, ligado metade do tempo, cerca de 6V de média, cerca de metade da potência.
- analogWrite(MOSFET_PIN, 191): cerca de 75%, ligado três quartos do tempo, cerca de 9V de média.
- analogWrite(MOSFET_PIN, 255): 100%, sempre ligado, 12V, potência total.
O que você vê: uma fita LED fica com menos brilho (ela pisca, mas rápido demais para os seus olhos). Um ventilador, motor ou bomba gira mais devagar, porque a parte giratória suaviza os pulsos.
Por que a frequência importa: o PC817 é uma peça lenta. Se o PWM for rápido demais, o MOSFET não consegue comutar por completo. O dispositivo não recebe pulsos limpos, e o MOSFET esquenta. A frequência padrão do analogWrite() do Arduino UNO R4 já está na faixa segura, então você não precisa mudar nada.
Outros Pontos
- O optoacoplador isola o lado do Arduino UNO R4 do lado de 12V. O GND do sinal e o GND da carga não são ligados entre si no módulo.
- A tensão do gate vem da alimentação da carga, então a alimentação da carga deve ser de cerca de 6V ou mais. Uma alimentação de carga de 5V não vai funcionar bem. Se a carga consome mais do que alguns amperes, use 9V ou mais.
- A placa não tem diodo flyback. Motores, bombas, solenoides e bobinas de relé precisam de um. Adicione um diodo, como 1N5819 ou 1N4007, em paralelo com a carga: o lado com a faixa (cátodo) vai ao + da carga, e o outro lado (ânodo) vai ao − da carga.
Pinagem

O lado de controle é um conector de 2 pinos (passo de 2.54mm):
- Pino PWM: conecte a um pino do Arduino UNO R4. Este pino recebe o sinal LIGA/DESLIGA ou PWM.
- Pino GND: conecte ao GND do Arduino UNO R4.
O lado de potência tem três bornes de parafuso:
- Pino +: conecte ao fio positivo da fonte de alimentação da carga (por exemplo, 12V) e ao fio positivo da carga. Os dois fios compartilham este único terminal.
- Pino LOAD: conecte ao fio negativo da carga. Este é o lado que o MOSFET comuta.
- Pino −: conecte ao fio negativo (terra) da fonte de alimentação da carga.
Os rótulos podem ser um pouco diferentes de um lote para outro. Sempre leia o texto impresso na sua própria placa.
Diagrama de Ligação
O Arduino UNO R4 aciona apenas os pinos PWM e GND, enquanto o adaptador de 12V alimenta a carga pelos bornes de parafuso.

This image is created using Fritzing. Click to enlarge image
| De | Para |
|---|---|
| Pino 9 do Arduino UNO R4 | PWM do módulo MOSFET |
| GND do Arduino UNO R4 | GND do módulo MOSFET |
| Adaptador de 12V + (pelo DC power jack) | + do módulo MOSFET |
| Adaptador de 12V − (pelo DC power jack) | − do módulo MOSFET |
| Fita LED + | + do módulo MOSFET |
| Fita LED − | LOAD do módulo MOSFET |
O optoacoplador já está no módulo, então não é preciso adicionar um transistor nem um resistor. Isso facilita a ligação ou a soldagem. Nunca conecte os fios de 12V a nenhum pino do Arduino UNO R4.
Mais Dispositivos que Você Pode Conectar
E se você quiser acionar um ventilador, uma bomba ou uma fechadura no lugar da fita LED? Mantenha o pino 9 e o GND como estão. Muda apenas o lado dos bornes de parafuso. Estas são as regras que valem para todos os dispositivos:
- Adaptador de alimentação: + vai ao terminal +, − vai ao terminal −.
- Dispositivo: o fio + dele também vai ao terminal + (compartilhado com o + do adaptador), o fio − vai ao LOAD.
- Tensão: combine o adaptador com o dispositivo (dispositivo de 12V, adaptador de 12V). Nunca use menos de 6V.
- Corrente: o FR120N serve apenas para dispositivos pequenos (cerca de 2A sem dissipador de calor). Para os maiores, escolha o AOD4184 ou o LR7843.
- Diodo: um dispositivo com bobina por dentro (ventilador, motor, bomba, solenoide) precisa do diodo flyback 1N5819 ou 1N4007 da parte Como Funciona. Faixa no + do dispositivo, a outra ponta no − do dispositivo.
Você não precisa de código novo. O código acima funciona para todos eles. A única mudança é para solenoides: use potência total ou desligado (100% / 0%) e pule o fade.
Exemplo de Ligação: Ventilador de 12V

This image is created using Fritzing. Click to enlarge image
- Fio vermelho no +, fio preto no LOAD.
- Tem um terceiro fio amarelo? Esse é o sinal de velocidade. Deixe-o livre.
- Adicione o diodo. Ele custa quase nada e não faz mal.
- O PWM muda a velocidade. Comece acima de cerca de 30%, porque muitos ventiladores não giram com um ciclo de trabalho muito baixo.
Exemplo de Ligação: Fita LED de 12V

This image is created using Fritzing. Click to enlarge image
- + da fita (muitas vezes marcado como 12V) no +, − da fita no LOAD.
- Sem diodo aqui. Uma fita LED não tem bobina.
- O PWM muda o brilho.
- Fitas longas consomem mais corrente. Verifique a corrente da sua fita antes de escolher o módulo.
- Use uma fita de uma cor só. Fitas RGB e endereçáveis precisam de outra ligação.
Exemplo de Ligação: Bomba de Água de 12V

This image is created using Fritzing. Click to enlarge image
- + da bomba no +, − da bomba no LOAD.
- Coloque o diodo em paralelo com a bomba.
- O PWM muda a vazão.
- Não deixe a bomba funcionar sem água.
Exemplo de Ligação: Motor DC de 12V

This image is created using Fritzing. Click to enlarge image
- + do motor no +, − do motor no LOAD.
- Coloque o diodo em paralelo com o motor: faixa no lado + do motor.
- O PWM muda a velocidade.
- O motor gira em apenas um sentido. Precisa invertê-lo? Use um driver de motor como o L298N. Veja o tutorial Arduino UNO R4 - Motor DC.
Exemplo de Ligação: Fechadura Solenoide de 12V

This image is created using Fritzing. Click to enlarge image
- + da fechadura no +, − da fechadura no LOAD.
- O diodo é obrigatório.
- Somente totalmente LIGADO ou DESLIGADO. Sem PWM.
- Não a deixe LIGADA por muito tempo, ou ela esquenta. Dê a ela um pulso curto de LIGADO para destrancar.
Exemplo de Ligação: Válvula Solenoide de 12V

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.
- + da válvula no +, − da válvula no LOAD.
- O diodo também é obrigatório aqui.
- Esta é uma válvula normalmente fechada: LIGADA abre, DESLIGADA fecha.
- Apenas ligue ou desligue. Não use PWM.
Como Programar o Módulo MOSFET
Nenhuma biblioteca é necessária. O código usa apenas funções nativas.
- Defina o pino do Arduino UNO R4 que se conecta ao pino PWM do módulo:
- Configure o pino como saída:
- Ligue a carga totalmente ou desligue-a totalmente:
- Defina um nível de potência em porcentagem. Converta primeiro 0–100% para a faixa de 0–255:
Se você só precisa de LIGADO e DESLIGADO, digitalWrite(MOSFET_PIN, HIGH) e digitalWrite(MOSFET_PIN, LOW) também funcionam.
Código Arduino UNO R4 - Módulo MOSFET
O código abaixo executa um ciclo repetidamente:
- A carga fica com potência total por 2 segundos.
- A carga fica desligada por 2 segundos.
- A potência sobe de 10% a 100%, 10% a mais a cada 0.5 segundo.
- A potência desce de 90% a 0% da mesma forma.
- O código espera 1 segundo e começa de novo.
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a sua primeira vez usando o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima na Arduino IDE.
- Ligue os componentes conforme o diagrama fornecido. Deixe o adaptador de 12V desconectado da tomada por enquanto.
- Conecte a placa Arduino UNO R4 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Selecione a placa Arduino UNO R4 apropriada (por exemplo, Arduino UNO R4 WiFi ou Arduino UNO R4 Minima) e a porta COM.
- Copie o código acima e cole-o na Arduino IDE.
- Clique no botão Upload para enviar o código ao Arduino UNO R4.
- Conecte o adaptador de 12V à tomada.
- Abra o Serial Monitor e defina o baud rate como 9600.
- Observe a fita LED: ela fica com brilho total por 2 segundos e depois apagada por 2 segundos. Depois disso, ela fica mais brilhante aos poucos e depois mais fraca aos poucos. Com um ventilador, você vai ouvir a velocidade subir e descer.
Se a fita LED não acender de jeito nenhum, verifique primeiro a alimentação de 12V. Depois, confira se os fios PWM e GND vão ao pino 9 e ao GND do Arduino UNO R4.
Para saber mais sobre o controle de brilho com PWM, veja o tutorial Arduino UNO R4 - Fade LED.