ESP32 - Servo Motor

Este tutorial ensina como usar o ESP32 para controlar um servo motor.

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.
Pinagem do Servo Motor

Como o Servo Motor Funciona

Veja Como o servo motor funciona

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

Diagrama de Ligação do Servo Motor com 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.

Diagrama de ligação do servo motor com fonte de alimentação externa e ESP32

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.

Diagrama de ligação da alimentação do servo motor com ESP32

Código ESP32

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-servo-motor */ #include <ESP32Servo.h> #define SERVO_PIN 26 // ESP32 pin GPIO26 connected to servo motor Servo servoMotor; void setup() { servoMotor.attach(SERVO_PIN); // attaches the servo on ESP32 pin } void loop() { // rotates from 0 degrees to 180 degrees for (int pos = 0; pos <= 180; pos += 1) { // in steps of 1 degree servoMotor.write(pos); delay(15); // waits 15ms to reach the position } // rotates from 180 degrees to 0 degrees for (int pos = 180; pos >= 0; pos -= 1) { servoMotor.write(pos); delay(15); // waits 15ms to reach the position } }

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.
Biblioteca de servo motor para 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
Como carregar o código ESP32 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

Veja 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

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!