Módulo Joystick Arduino:Como fazer um efetivamente
Módulo de joystick
Você está atualmente lidando com projetos relacionados a movimento e robótica? Então, há uma chance de você provavelmente já ter ouvido falar sobre o módulo Arduino Joystick, mas não sabe como fazer um.
Ou talvez você queira obter mais informações sobre como funciona um módulo de joystick do Arduino?
Então, você está no lugar certo.
O objetivo de um Arduino Joystick é comunicar movimento a um Arduino. E faz isso em 2-D (2 eixos), tornando-o adequado para aplicações de movimento e robótica.
Portanto, neste artigo, você aprenderá tudo sobre o módulo de joystick do Arduino, como ele funciona e como fazer um circuito de joystick fácil do Arduino.
Você está pronto? Vamos pular!
O que é um módulo de joystick?
Dificilmente existe um projeto robótico que não exija um joystick. Às vezes é difícil obter um controlador que funcione para seus projetos e pode até ser caro. Mas, um módulo de joystick oferece uma maneira mais acessível de alcançar o mesmo resultado.
Além disso, o módulo joystick funciona de forma semelhante aos joysticks encontrados em gamepads analógicos. Seus principais componentes são dois potenciômetros inclinados em ângulos de 90 graus. Além disso, há uma conexão entre um bastão curto (com molas no centro) e os potenciômetros.
Potenciômetros
O módulo joystick pode produzir cerca de 2,5 V dos eixos X e Y quando está em repouso. Agora, ao mover o Joystick, a saída varia de 0V a 5V. No entanto, isso depende da direção.
Além disso, se você usar um microcontrolador com o módulo joystick, o valor real na posição de repouso seria em torno de 512. Assim, ao mover este joystick, você pode ver os valores mudarem de 0 a 1023, mas isso depende de sua posição.
Configuração de pinos
Aqui está a configuração de pinos para o módulo joystick:
Nº do PIN | Nome do PIN | Descrição |
1 | GND | Terminal de aterramento do módulo |
2 | +5V | Terminal de alimentação positiva do módulo |
3 | VRx | A tensão proporcional ao eixo X |
4 | VRy | A tensão proporcional ao eixo Y |
5 | SW | O switch do módulo |
Fcaracterísticas
Aqui estão os principais recursos do módulo de joystick do Arduino:
- Tem dois potenciômetros independentes para cada eixo (X e Y)
- Não tem muito peso
- Você pode conectar facilmente o módulo com a maioria dos microcontroladores ou Arduino
- Ele retorna automaticamente para a posição central quando não está em uso
- Também tem um botão tipo copo
Especificações técnicas
As especificações do módulo joystick incluem:
- Tem uma tensão de operação de 5V
- O valor do potenciômetro interno é 10k
- Sua temperatura de operação é de cerca de 0 a 70 graus Celsius
- Os terminais da interface do pino são de 2,54 mm
- As dimensões do módulo do joystick são:1,57 pol x 1,02 pol x 1,26 pol (4,0 cm x 2,6 cm x 3,2 cm)
- Tem cinco pinos
- Dois potenciômetros controlam as direções horizontal e vertical do módulo.
Diagrama esquemático
A imagem abaixo mostra o esquema completo do módulo joystick. Como mencionamos anteriormente, o módulo possui dois potenciômetros que controlam os eixos X e Y.
Esquemas para o módulo Joystick
Além disso, ambos os potenciômetros (10k) se movem independentemente. Em outras palavras, você pode movê-los individualmente e em suas direções. Além disso, há uma conexão interna do pino do interruptor (SW) ao botão de pressão.
Interface de joystick com Arduino
Os módulos de joystick são compatíveis com muitos microcontroladores como Raspberry Pi, Arduino e outros. Além disso, a interface é fácil e você primeiro precisa conectar os pinos do eixo VRx e VRy aos pinos ADC do microcontrolador.
Além disso, se você planeja usar um switch, deve conectar o botão aos pinos digitais do microcontrolador.
Confira o diagrama abaixo para entender como conectar o módulo joystick a qualquer microcontrolador.
Módulo Joystick para Microcontrolador
Agora, o diagrama a seguir mostrará como fazer a interface de um módulo de joystick com um Arduino. Com este diagrama, você poderá conectar o módulo ao Arduino. Além disso, você obterá uma saída dependendo da direção em que mover o botão do joystick.
Módulo Joystick para Arduino
Depois de terminar a interface, descobriremos que cada direção tem uma faixa de saída fixa. A imagem a seguir mostrará a saída para os eixos X e Y dependendo do movimento do módulo joystick nas quatro direções, +X, -X, +Y e –Y. Também haverá alguns valores analógicos quando você mover o botão diagonalmente.
Direções de movimento
Se você quiser saber quando pressionar o botão Joystick para baixo, também poderá conectar o pino SW ao pino digital 8 do Arduino.
Além disso, o Joystick requer energia para funcionar corretamente. Então, conecte o pino VCC ao terminal 5V do Arduino e o GND ao terminal GND do Arduino.
Código do Arduino
É muito fácil codificar este programa no Arduino IDE. Portanto, para obter os melhores resultados, você medirá o movimento do Joystick a partir de um pino de entrada digital e duas entradas analógicas. Em seguida, o Arduino exibirá o impacto em seu monitor.
Aqui está a melhor parte
Você não precisa de uma biblioteca para codificar este programa. Ele simplesmente lê a entrada analógica e exibe os valores que obtém dela. Além disso, também mostra a saída do botão pressionado.
Aqui está o esboço bruto do código:
- #definir joyX A0
- #definir alegriaY A1
- nulo configuração () {
- Série . começar ( 9600 );
- }
- nulo loop () {
- // coloque seu código principal aqui, para executar repetidamente:
- xValor = analogRead ( alegriaX );
- yValue = analogRead ( alegria );
- //imprima os valores para plotar ou visualizar
- Série . imprimir ( xValor );
- Série . imprimir ( ”\t” );
- Série . imprimir ( yValue );
Imagem mostrando o código do Arduino
Mapeamento
Às vezes, não se trata apenas de ler valores analógicos e pode haver a necessidade de mapear seu módulo para uma tela ou outras interfaces. Então, para te ajudar com isso, mostraremos como mapear os valores do código acima para uma matriz led 8×8.
Mapeamento do Arduino
O resultado deste processo é mover os pixels em exibição com o Joystick. Além disso, é fácil alterar o código para mapeá-lo para um display OLED ou gráfico.
- #incluir “LedControl.h”
- #definir joyX A0
- #definir alegriaY A1
- int xMapa , yMapa , xValor , yValue ;
- LedControl lc = LedControl ( 12 , 11 , 10 , 1 );
- nulo configuração () {
- Série . começar ( 115200 );
- lc . encerramento ( 0 , falso );
- /* Defina o brilho para valores médios */
- lc . definir intensidade ( 0 , 8 );
- /* e limpe a tela */
- lc . limpar exibição ( 0 );
- }
- nulo loop () {
- // coloque seu código principal aqui, para executar repetidamente:
- xValor = analogRead ( alegriaX );
- yValue = analogRead ( alegria );
- xMapa = mapa ( xValor , 0 , 1023 , 0 , 7 );
- yMapa = mapa ( yValue , 0 , 1023 , 7 , 0 );
- lc . definido ( 0 , xMapa , yMapa , verdadeiro );
- lc . limpar exibição ( 0 );
- }
Imagem do código necessário para mapear o Arduino para um display OLED ou gráfico
Observação:o código acima mostra que você pode usar a função map() para mapear os intervalos de acordo com suas preferências.
Então, se você acertar tudo, a saída no seu monitor serial deve ficar assim:
Aplicativos
Aqui estão algumas aplicações do módulo Arduino Joystick:
- Você pode usar o módulo joystick na robótica
Robô Drone
- Você também pode controlar o movimento de uma câmera móvel
Câmera móvel
- Uma ampla variedade de aplicativos de movimento
Arredondando
Quando você ouve a palavra Joystick, a primeira coisa que vem à mente são os controladores de jogos. No entanto, existem muitas aplicações interessantes do módulo joystick quando se trata de eletrônicos DIY.
Controladores de jogo
Além disso, esses módulos funcionam principalmente para projetos DIY baseados em Arduino e controle de robôs. Como discutimos anteriormente, o módulo do joystick primeiro liberou a saída analógica para alimentar a entrada analógica dependendo do movimento horizontal ou vertical do joystick.
Bem, isso completa este artigo. Se você tiver alguma dúvida ou sugestão, sinta-se à vontade para entrar em contato conosco. Estamos sempre felizes em ajudar.
Tecnologia industrial
- Como fazer um botão de teclado punível personalizável
- Como fazer a interface do Arduino Mega com o Módulo GPS NEO-6M
- Joystick Arduino
- Como fazer música com um Arduino
- Como fazer a abertura automática de porta baseada no Arduino
- Como fazer um carro Arduino controlado por Bluetooth
- Como fazer um mini osciloscópio em casa usando o Arduino Nano
- Tutorial do Arduino:JARVIS v1 | Como fazer uma automação residencial
- rDUINOScope
- Como fazer um robô de controle por gestos em casa