ESP32 - Motor de Passo e Chave Fim de Curso
Neste tutorial de ESP32, vamos explorar como usar o ESP32, uma chave fim de curso, o driver L298N e um motor de passo. Especificamente, vamos abordar:
- Parar o motor de passo quando uma chave fim de curso é tocada.
- Mudar a direção do motor de passo quando uma chave fim de curso é tocada.
- Mudar a direção do motor de passo quando duas chaves fim de curso são tocadas.
Esses tópicos vão permitir que você crie aplicações de movimento controladas e versáteis com o seu 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) |
Sobre o Motor de Passo e a Chave Fim de Curso
Se você não conhece o motor de passo e a chave fim de curso (pinagem, como funciona, como programar ...), aprenda sobre eles nos seguintes tutoriais:
- Tutorial ESP32 - Chave Fim de Curso
- Tutorial ESP32 - Controlar Motor de Passo
Diagrama de Ligação
Este tutorial fornece os códigos ESP32 para dois casos: Um motor de passo + uma chave fim de curso, Um motor de passo + duas chaves fim de curso.
- Diagrama de ligação entre o motor de passo e uma chave fim de curso

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.
- Diagrama de ligação entre o motor de passo e duas chaves fim de curso

This image is created using Fritzing. Click to enlarge image
※ Nota:
Dependendo do motor de passo, a ligação entre o motor de passo e o L298N pode ser diferente. Veja com atenção este tutorial ESP32 - Motor de Passo para saber como conectar o motor de passo ao driver de motor L298N.
Código ESP32 - Parar o Motor de Passo com uma Chave Fim de Curso
Há várias maneiras de fazer um motor de passo parar:
- Chamar a função stepper.stop(): Este jeito NÃO para o motor de passo imediatamente, mas aos poucos
- NÃO chamar a função stepper.run(): Este jeito para o motor de passo imediatamente
O código abaixo faz um motor de passo girar infinitamente e parar imediatamente quando uma chave fim de curso é tocada
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente do ESP32 no Arduino IDE.
- Faça a ligação como na imagem acima.
- Conecte a placa ESP32 ao seu PC por um cabo micro USB
- Abra o Arduino IDE no seu PC.
- Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
- Conecte o ESP32 ao PC por um cabo USB
- Abra o Arduino IDE, selecione a placa e a porta corretas
- Clique no ícone Libraries na barra à esquerda do Arduino IDE.
- Pesquise “ezButton” e encontre a biblioteca de botão de ArduinoGetStarted.com
- Clique no botão Install para instalar a biblioteca ezButton.

- Pesquise “AccelStepper” e encontre a biblioteca AccelStepper de Mike McCauley
- Clique no botão Install para instalar a biblioteca AccelStepper.

- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no ESP32
- Se a ligação estiver correta, você vai ver o motor girar no sentido horário.
- Toque na chave fim de curso
- Você vai ver o motor parar imediatamente
- O resultado no Serial Monitor fica assim
Explicação do Código
Leia a explicação linha por linha nas linhas de comentário do código!
Código ESP32 - Mudar a Direção do Motor de Passo com uma Chave Fim de Curso
O código abaixo faz um motor de passo girar infinitamente e mudar de direção quando uma chave fim de curso é tocada
Passos Rápidos
- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no ESP32
- Se a ligação estiver correta, você vai ver o motor girar no sentido horário.
- Toque na chave fim de curso
- Você vai ver a direção do motor de passo mudar para o sentido anti-horário
- Toque na chave fim de curso novamente
- Você vai ver a direção do motor de passo mudar para o sentido horário
- O resultado no Serial Monitor fica assim
Código ESP32 - Mudar a Direção do Motor de Passo com duas Chaves Fim de Curso
O código abaixo faz um motor de passo girar infinitamente e mudar de direção quando uma das duas chaves fim de curso é tocada
Passos Rápidos
- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no ESP32
- Se a ligação estiver correta, você vai ver o motor girar no sentido horário.
- Toque na chave fim de curso 1
- Você vai ver a direção do motor de passo mudar para o sentido anti-horário
- Toque na chave fim de curso 2
- Você vai ver a direção do motor de passo mudar para o sentido horário
- O resultado no Serial Monitor fica assim