Joystick Analógico (KY-023): O Guia Completo — Dois Potenciômetros, Zona Morta e Leitura no Arduino
Guia completo do joystick KY-023: como dois potenciômetros viram movimento, leitura analógica de 0 a 1023, o botão do eixo Z, zona morta, calibração e os erros mais comuns.
Aquele joystick de videogame que você já usou mil vezes tem um segredo simples: ele não sabe o que é direita ou esquerda. Por dentro são só dois potenciômetros montados em ângulo reto, e é o seu código que transforma dois números em movimento.
O módulo KY-023 é a versão pronta para Arduino: os dois potenciômetros, um botão embutido no eixo e cinco pinos de ligação.
Neste guia você vai entender a leitura analógica, aprender a tratar a zona morta (o motivo de o seu robô andar sozinho) e ver como calibrar direito.
🕹️ O que é e como funciona
Dentro do KY-023 existem dois potenciômetros de 10 kΩ. Um gira quando você move a alavanca no eixo X (horizontal), o outro no eixo Y (vertical). Cada um funciona como um divisor de tensão: a alavanca move o cursor e a tensão de saída muda proporcionalmente.
Uma mola central devolve a alavanca ao meio quando você solta. Nessa posição, cada potenciômetro fica na metade do curso — e entrega metade da tensão de alimentação.
🔢 A leitura no Arduino
O conversor analógico-digital do Arduino tem 10 bits: ele transforma a tensão num número de 0 a 1023.
| Posição da alavanca | Tensão aproximada | Leitura |
|---|---|---|
| Totalmente para um lado | 0 V | 0 |
| Centro (solta) | 2,5 V | ~512 |
| Totalmente para o outro | 5 V | 1023 |
🔌 Os 5 pinos
- GND e +5V: alimentação dos dois potenciômetros.
- VRx: saída analógica do eixo X → entrada A0 (ou outra analógica).
- VRy: saída analógica do eixo Y → entrada A1.
- SW: o botão de apertar a alavanca. Vai para uma entrada digital com pull-up.
INPUT_PULLUP no código (ou um resistor externo), ele flutua e dispara sozinho.⚠️ Zona morta: o problema que todo mundo tem
Se você mandar o motor girar sempre que a leitura for diferente de 512, o robô vai andar sozinho com a alavanca parada. Porque o centro real oscila alguns pontos para cima e para baixo o tempo todo.
A solução é a zona morta: uma faixa em torno do centro onde você simplesmente ignora a leitura.
📖 Como definir a zona morta
1) Com a alavanca solta, leia os dois eixos e anote. Digamos: X = 507, Y = 514.
2) Observe a variação. Se X oscila entre 503 e 511, a folga é de ±4.
3) Adote uma margem maior que a folga — normalmente ±30 a ±50 já resolve com sobra.
4) No código: se a leitura estiver entre 507−40 e 507+40, trate como parado.
🎯 Onde usar
- Controle de robôs e carrinhos.
- Movimento de braço robótico e garra.
- Navegação em menus de display.
- Controle de câmera em suporte pan-tilt.
- Joguinhos em matriz de LED ou OLED.
🆚 Joystick x outros controles
- Informa direção e intensidade
- 2 entradas analógicas
- Movimento proporcional
- Precisa de zona morta
- Só liga ou desliga
- Entradas digitais
- Velocidade fixa
- Muito mais simples
🛠️ Problemas comuns
| Sintoma | Causa provável | Solução |
|---|---|---|
| Robô anda sozinho | Sem zona morta | Ignore a faixa em torno do centro |
| Eixos trocados | VRx e VRy invertidos | Troque os fios ou os pinos no código |
| Movimento invertido | Orientação do módulo | Inverta o sinal no código: 1023 − leitura |
| Botão dispara sozinho | Pino SW flutuando | Use INPUT_PULLUP |
| Leitura instável | Alimentação ruidosa | Alimente com 5 V estável e faça média de leituras |
| Não chega a 0 nem a 1023 | Normal em módulos baratos | Use map() com os valores reais medidos |
🚀 Conclusão
O joystick é um dos módulos mais simples de ligar e um dos que mais dão dor de cabeça — sempre pelo mesmo motivo: a zona morta.
Meça o centro real, defina uma margem confortável e trate o botão com pull-up. Com esses três cuidados, ele funciona liso.
Vai controlar o quê primeiro? Conta pra gente! 🦣⚡
Mamute Eletrônica · Componentes, Módulos e Robótica · Rua Vitória, 125 — Santa Efigênia/SP · mamuteeletronica.com.br
Para montar o que você acabou de ler
O joystick é analógico puro — precisa de uma placa com ADC para virar movimento, e dos jumpers para os 5 fios.