ESP32 - Servo Motor
Este tutorial ensina como usar o ESP32 para controlar um servo motor.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: For controlling multiple servo motors, use the PCA9685 16 Channel PWM Servo Driver Module to save MCU pins and simplify wiring.
Sobre o Servo Motor
O servo motor padrão é um motor que pode girar entre 0° e 180°.
Pinagem do Servo Motor
O servo motor tem três pinos:
- Pino GND: (marrom ou preto) conecte este pino ao GND (0V)
- Pino VCC: (vermelho) conecte este pino ao VCC (5V)
- Pino de sinal: (amarelo ou laranja) recebe o sinal de controle PWM de um pino do ESP32.

Como o Servo Motor Funciona
Diagrama de Ligação entre o Servo Motor e o ESP32

This image is created using Fritzing. Click to enlarge image
Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.
Para simplificar, o diagrama de ligação acima é usado para fins de teste ou aprendizado e para servo motores de baixo torque. Na prática, recomendamos fortemente usar uma fonte de alimentação externa para o servo motor. O diagrama de ligação abaixo mostra como conectar o servo motor a uma fonte de alimentação externa.

This image is created using Fritzing. Click to enlarge image
A imagem abaixo mostra uma ligação real entre o servo motor e o ESP32.

Código ESP32
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 na Arduino IDE.
- Faça a ligação como na imagem acima.
- Conecte a placa ESP32 ao seu PC por meio de um cabo USB Type-C
- Abra a Arduino IDE no seu PC.
- Selecione a placa ESP32 correta (ex.: ESP32 Dev Module) e a porta COM.
- Clique no ícone Libraries na barra esquerda da Arduino IDE.
- Digite ESP32Servo na caixa de pesquisa e procure a biblioteca de servo de Kevin Harrington, John K. Bennett.
- Clique no botão Install para instalar a biblioteca de servo motor para o ESP32.

- Copie o código acima e cole-o na Arduino IDE.
- Compile e carregue o código na placa ESP32 clicando no botão Upload na Arduino IDE

- Veja o resultado: o servo motor gira lentamente cerca de 180° no sentido horário e no sentido anti-horário
Explicação do Código Linha por Linha
O código ESP32 acima contém a explicação linha por linha. Leia os comentários no código!
Como Controlar a Velocidade do Servo Motor
Vídeo
As instruções e o código-fonte do vídeo acima estão disponíveis no tutorial como controlar o servo motor pela web