O que é?
O Motor Fan L9110 é um módulo pequeno e de baixo custo muito utilizado em projetos de robótica diy, especialmente em projetos “bombeiros” visando conter pequenos incêndios.
Ele atua como um intermediário entre um microcontrolador (no nosso caso, o arduino) e o motor do ventilador, permitindo que você controle tanto a velocidade de rotação da hélice quanto a direção. E isso se dá por causa do circuito L9110 que ele possui, constituído de duas pontes h.
Ao aplicar uma tensão em um motor de qualquer uma das duas direções,o usuário é capaz de direcionar a rotação da hélice. Tudo isso graças ao circuito eletrônico da ponte H.
Como funciona?
Podemos ver que o módulo possui 4 pinos de conexão:
VCC: conectamos este pino na tensão de alimentação do Arduino. No caso deste módulo, 5v.
GND: terra. Conectamos ao GND no Arduino.
1 NB e 1 NA: são os pinos de controle. Cada um é conectado em uma saída digital no Arduino. É neles que fazemos o controle de direção. Se definimos a saída de um deles como HIGH e o outro como LOW o motor rotacionará para um lado e vice-versa. Se ambos possuírem o mesmo valor, a hélice ficará parada.
Mão na massa
Vamos criar um circuito em que controlamos o funcionamento do nosso mini-ventilador com um
potenciômetro. Quanto mais eu girar o pino do potenciômetro em sentido horário, maior será a velocidade de rotação do motor.
Para criar este projeto, você precisará de:
- 1 Arduino Uno
- 1 Potenciômetro
- 1 Protoboard
- 1 Motor Fan L9110
- Alguns Jumpers
Vamos primeiro conectar nossa fonte de tensão (5V) e o terra (GND) na nossa protoboard.
Conectemos o pino central do potenciômetro na saída analógica A0 do Arduino. E, respectivamente, o GND e o VCC na protoboard.
O pino A0 da placa é uma entrada analógica, ou seja, é uma entrada que entende sinais analógicos e produz uma tensão variável a partir do valor enviado.
O potenciômetro é um resistor variável. Conforme giramos o seu eixo, a resistência é alterada, consequentemente, alterando a tensão de saída que ele envia para a placa, variando entre 0V e 5V.
E, para finalizar o nosso circuito, vamos adicionar o nosso Motor Fan L9110.
O pino 1 NB será conectado na saída digital 9. O pino 1 NA no ground, já que queremos movimentar nossa hélice apenas em uma direção, e os outros no ground e no VCC.
Vamos agora adicionar este código na sua IDE do Arduino e executar.
Um adendo quanto à definição do targetSpeed
: o potenciômetro lê valores entre 0 e 1023. Entretanto, a função analogWrite()
só aceita valores entre 0 e 255. Portanto, é necessário que um mapeamento seja feito para a escala suportada pela função.
O delay é apenas um enfeite para termos uma transição mais suave durante as mudanças de velocidade.
Fim! Obrigado pela leitura!