Tutorial ESP32 15/55 - Controle de Velocidade do Motor DC com ESP32 L293D | Kit de Aprendizagem IoT ESP32 da SunFounder
Tutorial ESP32 15/55 - Controle de Velocidade do Motor CC com ESP32 L293D | Kit de Aprendizado IoT da SunFounder
Controlar um motor DC com um ESP32 pode parecer intimidante, mas é bem gerenciável com os componentes e o entendimento corretos. Neste tutorial, vamos construir um projeto que nos permitirá controlar a velocidade e a direção de um motor DC usando o driver de motor L293D. Ao final, você terá uma configuração funcional que pode girar o motor para frente e para trás enquanto ajusta sua velocidade. Para uma referência visual, certifique-se de assistir ao vídeo em (no vídeo em 00:00).
Hardware Explicado
Os principais componentes deste projeto incluem o microcontrolador ESP32 e o driver de motor L293D. O ESP32 é um microcontrolador poderoso com capacidades embutidas de Wi-Fi e Bluetooth, tornando-o adequado para aplicações de IoT. Ele pode controlar vários componentes de hardware, incluindo motores, por meio de seus pinos GPIO. O L293D é um driver de motor H-bridge duplo que permite controlar a direção e a velocidade de dois motores DC. Cada H-bridge pode acionar um motor em qualquer direção, invertendo a polaridade da tensão aplicada aos terminais do motor. Além disso, o L293D pode suportar uma corrente de até 600 mA por canal, tornando-o adequado para motores de pequeno a médio porte.
Detalhes da Ficha Técnica
| Fabricante | Texas Instruments |
|---|---|
| Número da peça | L293D |
| Tensão de lógica/IO | 2,5 - 7 V |
| Tensão de alimentação | 4.5 - 36 V |
| Corrente de saída (por canal) | 600 mA (típ.) |
| Corrente de pico (por canal) | 1,2 A (máx) |
| Orientação sobre a frequência PWM | 20 kHz (típ.) |
| Limiares de lógica de entrada | 0,8 V (alto), 2,0 V (baixo) |
| Queda de tensão / RDS(on)/ saturação | 1,5 V (máx) |
| Limites térmicos | 150 °C (máx) |
| Pacote | 16-DIP |
| Notas / variantes | Condutor meio-H quádruplo |
- Garanta o resfriamento adequado para aplicações de alta corrente.
- Desacople a fonte de energia com capacitores para prevenir picos de tensão.
- Tenha cuidado ao fazer a fiação para evitar polaridade invertida.
- Use PWM para controle de velocidade para evitar superaquecimento.
- Verifique a tensão nominal do motor para evitar danos.
Instruções de Fiação

Para ligar o ESP32 e o driver de motor L293D, comece conectando a fonte de alimentação. Conecte o pino 16 do L293D ao terminal positivo da sua fonte de alimentação e o pino 4 ao terra. Em seguida, conecte o motor: um terminal ao pino 3 e o outro ao pino 6 do L293D. Para os sinais de controle, conecte o pino GPIO 13 do ESP32 ao pino 2 do L293D e o pino GPIO 14 ao pino 7. Finalmente, certifique-se de conectar o terra do ESP32 ao terra do L293D para garantir uma referência comum. Se o vídeo mencionar uma fiação alternativa (no vídeo às 05:00), certifique-se de seguir as alterações específicas mostradas.
Exemplos de Código e Tutorial
O código para controlar o motor consiste em definir os pinos para o motor e configurar seus modos. Aqui está um trecho da função de configuração:
#define motor1A 13
#define motor2A 14
void setup() {
pinMode(motor1A, OUTPUT);
pinMode(motor2A, OUTPUT);
}
Neste trecho, definimos os pinos de controle do motor como constantes e os configuramos como saídas na função de configuração. Isso é crucial, pois prepara os pinos para controlar o motor. A função de loop é onde o comportamento do motor é controlado. Aqui está uma parte chave do loop:
void loop() {
digitalWrite(motor1A, HIGH);
digitalWrite(motor2A, LOW);
delay(2000);
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, HIGH);
delay(2000);
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, LOW);
delay(3000);
}
Este código faz o motor girar em uma direção por 2 segundos, depois inverte a direção por mais 2 segundos e, finalmente, para o motor por 3 segundos. Este loop irá se repetir indefinidamente, permitindo um controle contínuo. Para obter informações mais detalhadas e o código completo, consulte o programa completo que é carregado abaixo do artigo.
Demonstração / O que Esperar
Após conectar e enviar o código com sucesso, você deve ver o motor girar em uma direção por 2 segundos, mudar de direção por mais 2 segundos e depois parar por 3 segundos. Se o motor não responder conforme o esperado, verifique armadilhas comuns, como polaridade invertida ou conexões de pinos incorretas (no vídeo às 08:00). Esta configuração oferece uma maneira simples de controlar a velocidade e a direção de um motor CC usando o ESP32 e o L293D.
Marcas de Tempo do Vídeo
- 00:00 Iniciar
- 2:01 Introdução ao motor CC
- 6:14 L293D Driver de motor
- 9:17 Documentos do Projeto.
- 11:04 Explicação da Fiação
- 14:41 Controle de motor Arduino com ESP32
- 17:10 Selecionando portas Arduino para placa ESP32
- 18:52 Demonstração do projeto
- 22:08 Controle de Velocidade do Motor usando ESP32
- 26:22 Demonstração de Controle de Velocidade
- 28:01 Código Arduino para controle de velocidade e direção
- 29:05 Demonstração de Velocidade e Direção
#define motor1A 13
#define motor2A 14
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin as an output.
pinMode(motor1A, OUTPUT);
pinMode(motor2A, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
// Rotate
digitalWrite(motor1A, HIGH);
digitalWrite(motor2A, LOW);
delay(2000);
// Rotate in the opposite direction
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, HIGH);
delay(2000);
// Stop
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, LOW);
delay(3000);
}
Common Course Links
Common Course Files
Coisas que você pode precisar
-
Amazonas
-
eBayCompre um chip L293D no eBay.ebay.us
-
AliExpressCompre o IC driver de motor L293D no AliExpress.s.click.aliexpress.com
Recursos e referências
-
DocumentaçãoTutorial do ESP32 15/55 - Documentação de controle de motor SunFounderdocs.sunfounder.com
Arquivos📁
Folha de dados (pdf)
-
L293d_Quadruple_half_bridge_ficha_técnica
l293d_Quadruple_half_bridge_datasheet.pdf0.34 MB