Conectando o modulo Joystick no Arduíno

 Ola pessoal neste próximo projeto iremos conectar o modulo Joystick no Arduíno , aquela "alavanquinha" que tem nos controles de vídeo games mais modernos como playstation e Xbox dentre outros, seu funcionamento e bem simples cada modulo(alavanquinha) dessas possuem dois potenciômetros e um botão. No caso do potenciômetro cada vez que a manete e posicionada para frente sua resistência de saída aumenta e quando posicionada para traz ela diminui, então sempre que se move a alavanca para frente ou para traz ou para os lados essas resistências são alteradas. De posse dessa resistência e usando um código adequado no Arduíno e possível utiliza-la para controlar  um carrinho por exemplo, mas neste caso iremos controlar alguns LEDS.








Vamos agora as etapas de integração do Joystick com o Arduíno.


Você vai precisar de ;
-1x arduino
-1x protoboard
-1x modulo Joystick
-Varios fios jumpers

Esquema de conexão;




Copie o código fonte abaixo para seu Arduíno.



//-----------------------------------------Inicio do código-------------------------------------//

/* Conexoes

 Eixo X  liga na entrada analogica A0 do arduino
 Eixo Y  liga na entrada analogica A1 do arduino
 Botao sw liga na entrada analogica A2 do arduino

*/



    //----------Var de armazenamento joystich---------------//
           int EixoX = 0; // Eixo X  
           int EixoY = 0; // Eixo Y  
          int BotaoZ = 0; // Botao Z  Var armazenamento
           
 //-------------Var LED---------------//

   

  int LEDesquerda = 2; //Pino Led Esquerdo  
  int LEDsuperior = 3; //Pino Led Superior  
  int LEDdireita = 4;  //Pino Led Direito  
  int LEDinferior = 5; //Pino Led Inferior  
  int LEDbotao = 6;    //Pino saida Led Botao Z  
   
   
  
   
 void setup() 
 {  
   
    Serial.begin(9600);  
    


 pinMode(LEDesquerda,OUTPUT);  
 pinMode(LEDsuperior,OUTPUT);  
 pinMode(LEDdireita,OUTPUT);  
 pinMode(LEDinferior,OUTPUT);  
 pinMode(LEDbotao,OUTPUT);  
 }  
   
 void loop() 
 {  
   

   
   
 //As linhas abaixo apagam todos os leds  
 digitalWrite(LEDesquerda,LOW);  
 digitalWrite(LEDsuperior,LOW);  
 digitalWrite(LEDdireita,LOW);  
 digitalWrite(LEDinferior,LOW);  
 digitalWrite(LEDbotao,LOW);  
   
 //Le o valor do potenciometro ligado à porta analogica A0 - Eixo X  
 EixoX = analogRead(0);   
   
 //Mostra o valor do eixo X no serial monitor  
 Serial.print("X:");  
 Serial.print(EixoX , DEC);  
   
 //Testa o valor do Eixo X e aciona o led correspondente  
 if ( EixoX  > -1 &  EixoX  <200)  
 {  
  digitalWrite(LEDinferior, HIGH); //Acende o led inferior  
 }  
 if ( EixoX  > 700 &  EixoX  <1025)  
 {  
  digitalWrite(LEDsuperior, HIGH); //Acende o led superior  
 }  
   
 //Le o valor do potenciometro ligado à porta analogica A1 - Eixo Y  
 EixoY= analogRead(1);  
   
 //Mostra o valor do eixo Y no serial monitor  
 Serial.print(" | Y:");  
 Serial.print(EixoY, DEC);  
   
 //Testa o valor do Eixo Y e aciona o led correspondente  
 if (EixoY > -1 & EixoY <200)  
 {  
  digitalWrite(LEDdireita, HIGH); //Acende o led da direita  
 }  
 if (EixoY > 700 & EixoY <1025)  
 {  
  digitalWrite(LEDesquerda, HIGH); //Acende o led da equerda  
 }  
   
 //Le o valor do Botao ligado à porta analogica A2 - Eixo Y  
  BotaoZ= analogRead(2);
 //Mostra o valor do Eixo Z no serial monitor  
 Serial.print(" | Z: ");  
 Serial.println(BotaoZ, DEC);  
   
 //Caso o botão do Eixo Z seja pressionado, acende o led   
 if (BotaoZ <10 )  
 {  
  digitalWrite(LEDbotao, HIGH);  
 }  



//-----------------------------------------Fim do código-------------------------------------//




Vídeo demostrativo.





Nenhum comentário:

Postar um comentário