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