Arduino - Motor de Passo e Chave de Fim de Curso
Neste tutorial de Arduino, vamos aprender a usar o Arduino, a chave de fim de curso, o driver L298N e o motor de passo. Em detalhes, vamos aprender:
- Como parar o motor de passo quando uma chave de fim de curso é tocada
- Como mudar a direção do motor de passo quando uma chave de fim de curso é tocada
- Como mudar a direção do motor de passo quando duas chaves de fim de curso são tocadas
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Motor de Passo e a Chave de Fim de Curso
Se você ainda não conhece o motor de passo e a chave de fim de curso (pinagem, como funciona, como programar ...), aprenda sobre eles nos seguintes tutoriais:
- Tutorial Arduino - Chave de Fim de Curso
- Tutorial Arduino - Controlar Motor de Passo
Diagrama de Ligação
Este tutorial fornece os códigos Arduino para dois casos: um motor de passo + uma chave de fim de curso, e um motor de passo + duas chaves de fim de curso.
- Diagrama de ligação entre o motor de passo e uma chave de fim de curso

This image is created using Fritzing. Click to enlarge image
- Diagrama de ligação entre o motor de passo e duas chaves de 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. Por favor, veja com atenção o tutorial Arduino - Motor de Passo para saber como conectar o motor de passo ao driver de motor L298N.
Código Arduino - Parar o Motor de Passo com uma Chave de Fim de Curso
Existem várias formas de fazer um motor de passo parar:
- Chamar a função stepper.stop(): Esta forma NÃO para o motor de passo imediatamente, mas sim gradualmente
- NÃO chamar a função stepper.run(): Esta forma para o motor de passo imediatamente
O código abaixo faz um motor de passo girar infinitamente e parar imediatamente quando uma chave de fim de curso é tocada
Passos Rápidos
- Conecte o Arduino ao PC por meio do cabo USB
- Abra o Arduino IDE, selecione a placa e a porta corretas
- Vá até o ícone Libraries na barra esquerda do Arduino IDE.
- Pesquise “ezButton” e encontre a biblioteca de botão da 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-o no Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino
- Se a ligação estiver correta, você verá o motor girar no sentido horário.
- Toque na chave de fim de curso
- Você 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 Arduino - Mudar a Direção do Motor de Passo com uma Chave de Fim de Curso
O código abaixo faz um motor de passo girar infinitamente e mudar sua direção quando uma chave de fim de curso é tocada
Passos Rápidos
- Copie o código acima e abra-o no Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino
- Se a ligação estiver correta, você verá o motor girar no sentido horário.
- Toque na chave de fim de curso
- Você verá a direção do motor de passo mudar para o sentido anti-horário
- Toque na chave de fim de curso novamente
- Você verá a direção do motor de passo mudar para o sentido horário
- O resultado no Serial Monitor fica assim:
Código Arduino - Mudar a Direção do Motor de Passo com duas Chaves de Fim de Curso
O código abaixo faz um motor de passo girar infinitamente e mudar sua direção quando uma das duas chaves de fim de curso é tocada
Passos Rápidos
- Copie o código acima e abra-o no Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino
- Se a ligação estiver correta, você verá o motor girar no sentido horário.
- Toque na chave de fim de curso 1
- Você verá a direção do motor de passo mudar para o sentido anti-horário
- Toque na chave de fim de curso 2
- Você verá a direção do motor de passo mudar para o sentido horário
- O resultado no Serial Monitor fica assim: