Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Tecnologia industrial

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:

Especificações técnicas


As especificações do módulo joystick incluem:

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:
  1. #definir joyX A0
  2. #definir alegriaY A1
  3. nulo configuração () {
  4. Série . começar ( 9600 );
  5. }
  6. nulo loop () {
  7. // coloque seu código principal aqui, para executar repetidamente:
  8. xValor = analogRead ( alegriaX );
  9. yValue = analogRead ( alegria );
  10. //imprima os valores para plotar ou visualizar
  11. Série . imprimir ( xValor );
  12. Série . imprimir ( ”\t” );
  13. 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.
  1. #incluir “LedControl.h”
  2. #definir joyX A0
  3. #definir alegriaY A1
  4. int xMapa , yMapa , xValor , yValue ;
  5. LedControl lc = LedControl ( 12 , 11 , 10 , 1 );
  6. nulo configuração () {
  7. Série . começar ( 115200 );
  8. lc . encerramento ( 0 , falso );
  9. /* Defina o brilho para valores médios */
  10. lc . definir intensidade ( 0 , 8 );
  11. /* e limpe a tela */
  12. lc . limpar exibição ( 0 );
  13. }
  14. nulo loop () {
  15. // coloque seu código principal aqui, para executar repetidamente:
  16. xValor = analogRead ( alegriaX );
  17. yValue = analogRead ( alegria );
  18. xMapa = mapa ( xValor , 0 , 1023 , 0 , 7 );
  19. yMapa = mapa ( yValue , 0 , 1023 , 7 , 0 );
  20. lc . definido ( 0 , xMapa , yMapa , verdadeiro );
  21. lc . limpar exibição ( 0 );
  22. }

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:

Robô Drone

Câmera móvel

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

  1. Como fazer um botão de teclado punível personalizável
  2. Como fazer a interface do Arduino Mega com o Módulo GPS NEO-6M
  3. Joystick Arduino
  4. Como fazer música com um Arduino
  5. Como fazer a abertura automática de porta baseada no Arduino
  6. Como fazer um carro Arduino controlado por Bluetooth
  7. Como fazer um mini osciloscópio em casa usando o Arduino Nano
  8. Tutorial do Arduino:JARVIS v1 | Como fazer uma automação residencial
  9. rDUINOScope
  10. Como fazer um robô de controle por gestos em casa