← Todos os projetos
Intermediário ⏱ 50 min 02 de julho de 2026

Controle de motor DC com Motor Shield L293D e Arduino

Controle um motor DC de verdade: ligue para frente, inverta o sentido, pare e ajuste a velocidade girando um potenciômetro. Com o Motor Shield L293D encaixado no Arduino, você tem a base de carrinhos robôs, esteiras, ventiladores e qualquer projeto com movimento.

Projeto Arduino: Controle de motor DC com Motor Shield L293D e Arduino — A2 Robotics

Como funciona

O Arduino sozinho não consegue alimentar um motor diretamente — seus pinos fornecem pouca corrente, e o motor exigiria mais do que ele aguenta, podendo danificar a placa. É aí que entra o Motor Shield L293D: ele é uma placa que encaixa por cima do Arduino e contém dois chips L293D, que funcionam como "ponte H". Esses chips recebem o sinal fraco do Arduino e usam uma fonte externa para entregar a corrente que o motor precisa, além de permitir inverter o sentido de rotação. O shield controla até 4 motores DC (ou 2 motores de passo) e 2 servos. Neste projeto, usamos um motor, três botões para comandar (frente, ré e parar) e um potenciômetro para regular a velocidade.

O que você vai precisar

Todos os componentes disponíveis na A2 Robotics — clique em cada item para comprar

Arduino Uno R3

1 unidade

Ver produto ↗

Motor Shield L293D

1 unidade

Ver produto ↗

Motor DC

1 unidade

Ver produto ↗

Potenciômetro 10KΩ

1 unidade

Ver produto ↗

Chave táctil (push-button)

3 unidades

Ver produto ↗

Protoboard

1 unidade

Ver produto ↗

Jumpers (cabos de ligação)

1 kit

Ver produto ↗

Montagem

MOTOR SHIELD L293D (encaixa sobre o Arduino) M1 Motor DC Potenciômetro (A0) Frente Parar
Motor → terminal M1 Potenciômetro → A0 Botão frente → D2 Botão ré → D3 Botão parar → D5
Use fonte externa para o motor Alimente o shield com uma fonte separada (o motor 3-6V funciona bem com 4 pilhas AA) no borne de alimentação. Não tente puxar a corrente do motor pela USB.

Biblioteca necessária

Este projeto usa a biblioteca AFMotor (Adafruit Motor Shield). Na IDE do Arduino, vá em Ferramentas → Gerenciar Bibliotecas, procure por "Adafruit Motor Shield library" (a versão para o shield V1, que é o L293D) e instale. Sem ela o código não compila.

O código

O código lê os três botões e o potenciômetro. O botão de frente gira o motor num sentido, o de ré no sentido oposto, e o de parar desliga. O potenciômetro, lido no pino A0, define a velocidade (de 0 a 255). O motor fica conectado ao terminal M1 do shield.

// Controle de motor DC com Motor Shield L293D — A2 Robotics
#include <AFMotor.h>

// Motor conectado ao terminal M1 do shield
AF_DCMotor motor(1);

// Pinos dos botões
#define BTN_FRENTE 2
#define BTN_RE     3
#define BTN_PARAR  5
#define POT        A0

void setup() {
  pinMode(BTN_FRENTE, INPUT_PULLUP);
  pinMode(BTN_RE, INPUT_PULLUP);
  pinMode(BTN_PARAR, INPUT_PULLUP);
  motor.setSpeed(150);  // velocidade inicial
  motor.run(RELEASE);   // começa parado
}

void loop() {
  // Lê o potenciômetro e converte para velocidade (0 a 255)
  int velocidade = map(analogRead(POT), 0, 1023, 0, 255);
  motor.setSpeed(velocidade);

  // Botões (com INPUT_PULLUP, LOW = pressionado)
  if (digitalRead(BTN_FRENTE) == LOW) {
    motor.run(FORWARD);
  } else if (digitalRead(BTN_RE) == LOW) {
    motor.run(BACKWARD);
  } else if (digitalRead(BTN_PARAR) == LOW) {
    motor.run(RELEASE);
  }

  delay(50);
}

Passo a passo

  1. Encaixe o shield no Arduino

    O Motor Shield L293D encaixa diretamente por cima do Arduino Uno, alinhando os pinos. Pressione com firmeza até assentar.

  2. Conecte o motor

    Ligue os dois fios do motor DC no terminal M1 do shield (o bornezinho verde com parafusos).

  3. Alimente com fonte externa

    Conecte uma fonte de 4-6V (ex: 4 pilhas AA) no borne de alimentação do shield. Isso é o que dá força ao motor.

  4. Ligue os botões e o potenciômetro

    Os três botões nos pinos D2, D3 e D5 (o outro lado no GND). O potenciômetro: as pontas em 5V e GND, e o meio no A0.

  5. Instale a biblioteca e envie o código

    Instale a AFMotor, carregue o código e teste: aperte frente, ré e parar, e gire o potenciômetro para mudar a velocidade.

Vá além

Com um motor funcionando, o próximo passo natural é montar um carrinho robô: use dois motores DC (nos terminais M1 e M2), acople-os a um chassi com rodas, e você terá um veículo controlável. Dá para adicionar um sensor ultrassônico para desviar de obstáculos, controle por Bluetooth pelo celular, ou seguir uma linha no chão. O Motor Shield também controla motores de passo e servos, abrindo caminho para braços robóticos e impressoras CNC caseiras.

Gostou do projeto? Monte o seu Todos os componentes disponíveis com entrega para todo o Brasil
Ver produtos →