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
Postar um comentário
Faça seu comentário referente a este assunto