Se você já pensou em construir um robô, um game, ou um braço robótico usando o arduino sabemos que um joystick é um componente fundamental, então nesse post vou mostrar como ligar um joystick em um arduino e ler as posições X, Y e Z do joystick. Tendo o controle sobre as posições X, Y e Z de um joystick você estará habilitado a controlar diversos outros dispositivos também ligados ao Arduino, como por exemplo servomotores que controlam e movimentam um braço robótico. Então vamos lá!
Para ligar e ler as posições de um joystick no seu Arduino você vai precisar de:
Esse tipo de joystick você encontra fácil em lojas de eletrônica e robótica na internet, inclusive você pode comprar mais barato direto da china. Nesse projeto eu usei o da direita na imagem abaixo, mas também poderia usar o da esquerda, a ligação seria a mesma, a diferença entre os dois é o tamanho e que o joystick da esquerda tem os terminais dentro de um invólucro plástico.
O esquema de ligação do joystick no Arduino segue abaixo, mas vou transcrevê-lo para facilitar o entendimento. Nosso joystick tem 9 pinos, da esquerda para a direita temos:
O código fonte completo que você vai gravar no seu arduino segue abaixo.
/* Projeto Arduino - Como ligar um joystick no Arduino ---------------------------------------- --=<| www.ComoFazerAsCoisas.com.br |>=-- ---------------------------------------- */ //Variável que armazena a posição lida //nos eixos do joystick int joystick = 0; //Atribuindo o pino analógico A0 a variável eixoX int eixoX = A0; //Atribuindo o pino analógico A1 a variável eixoY int eixoY = A1; //Atribuindo o pino digital 2 a variável eixoZ int eixoZ = 2; void setup() { //Definindo eixoZ como um pino de entrada pinMode(eixoZ, INPUT); //Ativando o Serial Monitor que exibirá os //valores lidos no Joystick Serial.begin(9600); } void loop() { //Lê o valor do eixoX joystick = analogRead(eixoX); //imprime o valor do eixoX Serial.print(" X="); Serial.print(joystick); //Lê o valor do eixoY joystick = analogRead(eixoY); //imprime o valor do eixoY Serial.print(" Y="); Serial.print(joystick); //Lê o valor do eixoZ joystick = digitalRead(eixoZ); //imprime o valor do eixoZ Serial.print(" Z="); Serial.println(joystick); //espera 200 milisegundos. //Se vc quiser aumentar a velocidade //de leitura dos valores do joystick //diminua o tempo de espera. Ex: delay(100); delay(200); }
Veja agora o vídeo onde ensino passo a passo como ligar o joystick no Arduino, com todos os detalhes, e também mostro o projeto em funcionamento.
Então é isso pessoal, e para fechar com chave de ouro e demonstrar o seu apoio ao nosso esforço dê um gostei no vídeo, compartilhe, adicione aos favoritos e inscreva-se no nosso canal do YouTube. Valeu e um grande abraço!