ESP32 - Botão - Servo Motor

Este tutorial ensina como usar o ESP32 com um botão e um servo motor. Em detalhes, vamos aprender a fazer o seguinte:

Esse processo se repete.

Sobre Servo Motor e Botão

Temos tutoriais específicos sobre servo motor e botão. Cada tutorial contém informações detalhadas e instruções passo a passo sobre pinagem do hardware, princípio de funcionamento, ligação ao ESP32, código ESP32... Saiba mais sobre eles nos links a seguir:

Diagrama de Ligação

Diagrama de ligação ESP32 botão servo motor

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 - Botão Controla Servo Motor

Por que é necessário fazer debounce do botão? ⇒ veja o Tutorial ESP32 - Debounce de Botão

/* * 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-button-servo-motor */ #include <ESP32Servo.h> #include <ezButton.h> #define BUTTON_PIN 21 // ESP32 pin GPIO21 connected to button's pin #define SERVO_PIN 26 // ESP32 pin GPIO26 connected to servo motor's pin ezButton button(BUTTON_PIN); // create ezButton object that attach to pin 7; Servo servo; // create servo object to control a servo // variables will change: int angle = 0; // the current angle of servo motor void setup() { Serial.begin(9600); // initialize serial button.setDebounceTime(50); // set debounce time to 50 milliseconds servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(angle); } void loop() { button.loop(); // MUST call the loop() function first if (button.isPressed()) { // change angle of servo motor if (angle == 0) angle = 90; else if (angle == 90) angle = 0; // control servo motor arccoding to the angle Serial.print("The button is pressed => rotate servo to "); Serial.print(angle); Serial.println("°"); servo.write(angle); } }

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 na Arduino IDE.
  • Instale a biblioteca ezButton. Veja Como Fazer
  • Clique no ícone Libraries na barra esquerda da Arduino IDE.
  • Digite ESP32Servo na caixa de busca e procure a biblioteca 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 ESP32
  • Copie o código acima e cole-o na Arduino IDE.
  • Compile e faça upload do código para a placa ESP32 clicando no botão Upload na Arduino IDE
  • Pressione o botão várias vezes
  • Veja a rotação do servo motor

Vídeo

※ 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!