Arduino Nano - Motor de Passo com Chave Fim de Curso
Este tutorial ensina como usar o Arduino Nano para controlar um motor de passo por meio de uma chave fim de curso e de um driver L298N. Especificamente, vamos abordar:
- Como programar o Arduino Nano para parar o motor de passo quando uma chave fim de curso é tocada.
- Como programar o Arduino Nano para mudar a direção do motor de passo quando uma chave fim de curso é tocada.
- Como programar o Arduino Nano para mudar a direção do motor de passo usando duas chaves fim de curso instaladas em posições opostas.
Hardware Necessário
Or you can buy the following kits:
| 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 (incluindo pinagem, funcionamento e programação), os tutoriais a seguir podem ajudar você a aprender:
- Tutorial Arduino Nano - Chave Fim de Curso
- Tutorial Arduino Nano - Motor de Passo
Diagrama de Ligação
Este tutorial apresenta o diagrama de ligação 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 ESP8266, o motor de passo e, e uma chave fim de curso.

This image is created using Fritzing. Click to enlarge image
- Diagrama de Ligação entre o ESP8266, o motor de passo e, e duas chaves fim de curso.

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Nano e outros componentes.
※ Nota:
A ligação entre o motor de passo e o L298N pode variar conforme o tipo de motor de passo. Para garantir uma conexão bem-sucedida, consulte o tutorial Arduino Nano - Motor de Passo para ver como conectar o motor de passo ao driver de motor L298N.
Código Arduino Nano - Parar o Motor de Passo com uma Chave Fim de Curso
É possível parar um motor de passo de várias maneiras:
- Chamar a função stepper.stop(): Isso não leva o motor a uma parada imediata, mas faz com que ele desacelere gradualmente
- Não chamar a função stepper.run(): Isso faz o motor de passo parar imediatamente
O código abaixo faz um motor de passo girar continuamente até que uma chave fim de curso seja tocada.
Passos Rápidos
- Conecte o Arduino Nano a um computador usando um cabo USB.
- Abra o Arduino IDE e escolha a placa e a porta corretas.
- Clique no ícone Libraries na barra esquerda do Arduino IDE.
- Pesquise “ezButton” e localize a biblioteca de botão do ArduinoGetStarted.com.
- Pressione o botão Install para instalar a biblioteca ezButton.

- Procure por “AccelStepper” e localize a biblioteca AccelStepper criada por Mike McCauley.
- Em seguida, pressione o botão Install para adicioná-la.

- Copie o código acima e abra-o no Arduino IDE.
- Clique no botão Upload no Arduino IDE para compilar e fazer upload do código para o Arduino Nano.
- Se a ligação estiver correta, o motor deve girar no sentido horário.
- Quando a chave fim de curso for tocada, o motor deve parar imediatamente.
- O resultado exibido no Serial Monitor deve ser parecido com este.
Explicação do Código
Veja a explicação linha por linha contida nos comentários do código-fonte!
Código Arduino Nano - Mudar a Direção do Motor de Passo com uma Chave Fim de Curso
Um motor de passo é feito para girar continuamente, e a sua direção é alterada quando uma chave fim de curso é tocada. Isso é feito com o código a seguir:
Passos Rápidos
- Copie o código e abra-o com o Arduino IDE.
- Clique no botão Upload no IDE para fazer upload do código para o Arduino Nano.
- Se a ligação estiver correta, o motor vai girar no sentido horário.
- Toque na chave fim de curso e a direção do motor de passo será invertida para o sentido anti-horário.
- Toque na chave fim de curso novamente e o motor de passo vai girar no sentido horário.
- O resultado no Serial Monitor deve ser parecido com este.
Código Arduino Nano - Mudar a Direção do Motor de Passo com duas Chaves Fim de Curso
Faça um motor de passo girar continuamente e mudar de direção quando qualquer uma das duas chaves fim de curso for tocada.
Passos Rápidos
- Copie o código acima e abra-o no Arduino IDE.
- Clique no botão Upload para enviar o código ao Arduino Nano.
- Se a ligação estiver correta, o motor deve girar no sentido horário.
- Quando você tocar na chave fim de curso 1, a direção do motor de passo deve ser invertida para o sentido anti-horário.
- Quando você tocar na chave fim de curso 2, a direção do motor de passo deve voltar para o sentido horário.
- O resultado no Serial Monitor deve ser parecido com este.