Arduino Nano - Joystick - Servo Motor
Este tutorial ensina você a usar o Arduino Nano e um joystick para controlar dois servo motores ou um kit pan-tilt.
Um joystick é equipado com dois potenciômetros perpendiculares entre si (conhecidos como eixo X e eixo Y). Esses potenciômetros fornecem valores analógicos (valor X e valor Y) nos pinos VRX e VRY. Vamos usar esses valores analógicos para controlar dois servo motores de forma independente: o valor X para o servo #1 e o valor Y para o servo #2. Ao usar um kit pan-tilt, o movimento dos dois servo motores cria um movimento 3-D.
Há dois casos de uso:
- Caso de uso 1: Os servo motores giram de acordo com o movimento do manche do joystick:
- Os ângulos dos servo motores são proporcionais aos valores X e Y do joystick.
- Quando o manche do joystick é solto, todos os valores voltam aos valores centrais e os servo motores voltam automaticamente à posição central
- Caso de uso 2: Use o joystick para comandar os servo motores (comandos de cima/baixo/esquerda/direita)
- Quando o manche do joystick é empurrado para a esquerda, o servo motor #1 se move no sentido horário
- Quando o manche do joystick é empurrado para a direita, o servo motor #1 se move no sentido anti-horário
- Quando o manche do joystick é empurrado para cima, o servo motor #2 se move no sentido horário
- Quando o manche do joystick é empurrado para baixo, o servo motor #2 se move no sentido anti-horário
- Quando o manche do joystick é solto, os servo motores não voltam à posição central
- Se o joystick for pressionado (botão de pressão), os servo motores voltam à posição central
- Conecte o cabo USB ao Arduino Nano e ao PC.
- Abra o Arduino IDE, escolha a placa e a porta corretas.
- Copie o código e abra-o no Arduino IDE.
- Clique no botão Upload no Arduino IDE para enviar o código ao Arduino Nano.
- Abra o Serial Monitor
- Empurre o joystick em uma determinada direção
- Veja a rotação do servo motor
- Veja o resultado no Serial Monitor
- Clique no ícone Libraries na barra esquerda do Arduino IDE.
- Pesquise por “ezButton” e localize a biblioteca de botão do ArduinoGetStarted.com.
- Pressione o botão Install para instalar a biblioteca ezButton.
- Copie o código e abra-o com o Arduino IDE.
- Clique no botão Upload na IDE para transferir o código para o Arduino Nano.
- Abra o Serial Monitor.
- Mova o joystick em uma determinada direção.
- Veja a rotação do servo motor.
- Veja o resultado no Serial Monitor.
O tutorial fornece o código para os dois cenários.
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 Joystick e o Servo Motor
Se você não está familiarizado com o joystick e o servo motor (incluindo pinagem, funcionamento, programação etc.), os tutoriais a seguir podem ajudar:
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Nano e outros componentes.
Não se esqueça de conectar o GND da alimentação externa ao GND do Arduino Nano.
Código Arduino Nano
Código Arduino Nano - Os servo motores giram de acordo com o movimento do manche do joystick
Passos Rápidos

Código Arduino Nano - Use o joystick para comandar os servo motores
Passos Rápidos

Explicação do Código
Confira a explicação linha por linha nos comentários do código-fonte!