ESP32 - MG996R
Neste tutorial, vamos aprender a usar o servo motor de alto torque MG996R com o ESP32.
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 MG996R é um servo motor de alto torque capaz de levantar até 15kg de peso. O motor pode girar seu braço de 0° a 180°, oferecendo um controle preciso da posição angular. Para informações básicas sobre servo motores, consulte o tutorial ESP32 - Servo Motor.
Pinagem
O servo motor MG996R usado neste exemplo possui três pinos:
- Pino VCC: (normalmente vermelho) deve ser conectado ao VCC (4.8V – 7.2V)
- Pino GND: (normalmente preto ou marrom) deve ser conectado ao GND (0V)
- Pino de sinal: (normalmente amarelo ou laranja) recebe o sinal de controle PWM de um pino do ESP32.

Diagrama de Ligação
Como o MG996R é um servo motor de alto torque, ele consome muita energia. Não devemos alimentar este motor pelo pino 5v do ESP32. Em vez disso, precisamos usar uma fonte de alimentação externa para o servo motor MG996R.

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.
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 conforme a 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 (por exemplo, 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.

- Conecte o ESP32 ao PC por meio do cabo USB
- Abra a Arduino IDE e selecione a placa e a porta corretas
- Copie o código acima e abra-o na Arduino IDE
- Clique no botão Upload na Arduino IDE para carregar o código no ESP32

- Veja o resultado: o servo motor gira lentamente de 0 a 180° e depois gira lentamente de volta de 180° até 0°
Explicação do Código
Leia a explicação linha por linha nas linhas de comentário do código!
Como Controlar a Velocidade do Servo Motor
Usando as funções map() e millis(), podemos controlar a velocidade do servo motor de forma suave, sem bloquear o restante do código