Controlando a Velocidade de um Motor DC com Potenciômetro e PWM

No conteúdo anterior, usamos um potenciômetro para ajustar o brilho de um LED. Hoje vamos aplicar o mesmo conceito para controlar a velocidade de um motor DC com o Arduino, usando a função analogWrite().

📦 Materiais necessários:

  • 1 Motor DC pequeno
  • 1 Transistor NPN (ex: TIP120 ou 2N2222)
  • 1 Diodo 1N4007 (proteção)
  • 1 Potenciômetro de 10k
  • 1 Resistor de 1k Ohm (base do transistor)
  • Protoboard, fonte 5V externa (opcional) e Arduino Uno

📷 Esquema de ligação


)

  • Pino central do potenciômetro → A0
  • Pino PWM (ex: 9) → resistor de 1k → base do transistor
  • Coletor do transistor → polo negativo do motor
  • Emissor do transistor → GND
  • Polo positivo do motor → 5V (com diodo em paralelo)

💻 Código para controle de velocidade


int potPin = A0;
int motorPin = 9;

void setup() {
  pinMode(motorPin, OUTPUT);
}

void loop() {
  int valorPot = analogRead(potPin);              // Lê valor do potenciômetro (0–1023)
  int pwm = map(valorPot, 0, 1023, 0, 255);        // Converte para escala PWM
  analogWrite(motorPin, pwm);                     // Controla o motor
  delay(10);
}

🧠 Explicação:

Usamos um transistor como chave controlada pelo Arduino. O potenciômetro regula o valor PWM e, consequentemente, a potência entregue ao motor.

⚠️ Importante:

Sempre utilize um diodo em paralelo com o motor, em sentido reverso, para proteger o Arduino contra picos de corrente causados pelo campo magnético do motor.

🚀 No próximo dia

Vamos começar a trabalhar com sensores de luz (LDR) para acionar LEDs ou motores com base na luminosidade do ambiente!

🔌 Fique ligado no Eletrocondutor para aprender eletrônica aplicada com Arduino de forma prática e didática!

Comentários

Postagens mais visitadas deste blog

contador 9999 com pic 16f628

CNC fotos cordenadas x y z dicas

codigo assembler braço mecanico para 5 motores