Arduino Nano - Servo Motor
Este tutorial ensina você a usar o Arduino Nano para controlar um servo motor. Em detalhes, vamos aprender:
- Como conectar o servo motor ao Arduino Nano
- Como programar o Arduino Nano para controlar um servo motor
- Como controlar a velocidade de um servo motor usando o Arduino Nano
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: For controlling multiple servo motors, use the PCA9685 16 Channel PWM Servo Driver Module to save MCU pins and simplify wiring.
Sobre o Servo Motor
Um servo motor é um componente capaz de girar seu eixo, normalmente entre 0° e 180°. Ele é comumente utilizado para controlar a posição angular de um objeto.
Pinagem do Servo Motor
O servo motor tem três pinos:
- O pino VCC (geralmente vermelho) deve ser conectado ao VCC (5V)
- O pino GND (geralmente preto ou marrom) deve ser conectado ao GND (0V)
- O pino de Sinal (comumente amarelo ou laranja) recebe o sinal de controle PWM de um pino do Arduino Nano.

Arduino Nano - Servo Motor
Alguns dos pinos do Arduino Nano podem ser programados para produzir um sinal PWM. Podemos conectar o pino de sinal do servo motor a um desses pinos e programá-lo para gerar uma saída PWM. Isso nos permitirá controlar o servo motor.
Graças à biblioteca Servo do Arduino Nano, controlar um servo motor é fácil. Não precisamos entender como os servo motores funcionam nem como gerar sinais PWM. Tudo o que precisamos é aprender a usar a biblioteca.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Por simplicidade, o diagrama de ligação acima é usado para testes ou fins educacionais, e para um servo motor com torque pequeno. Recomendamos fortemente usar uma fonte de alimentação externa para o servo motor na prática. O diagrama de ligação abaixo mostra como conectar o servo motor a uma fonte de alimentação externa.

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Nano e outros componentes.
Por favor, não se esqueça de conectar o GND da fonte externa ao GND do Arduino.
Como Programar o Servo Motor
- Inclua a biblioteca:
- Crie um objeto Servo:
- Se você tiver mais de um servo motor, basta declarar objetos Servo adicionais:
- Atribua o pino do Arduino Nano que se conecta ao pino de sinal do servo motor. Como exemplo, use o pino 9:
- Por fim, controle o servo motor até o ângulo desejado. Por exemplo, 90°
Código Arduino Nano
Passos Rápidos
- Conecte o Arduino Nano ao seu computador usando um cabo USB.
- Abra a Arduino IDE, selecione a placa e a porta corretas.
- Copie o código e abra-o na Arduino IDE.
- Clique no botão Upload na Arduino IDE para compilar e fazer upload do código para o Arduino Nano.

- Confira o resultado: O servo motor gira nos sentidos horário e anti-horário.
Explicação do Código
Confira a explicação linha por linha contida nos comentários do código-fonte!
Como Controlar a Velocidade do Servo Motor
Utilizando as funções map() e millis(), podemos ajustar a velocidade de um servo motor de maneira constante sem impedir a execução de outro código.