Vamos agora as etapas de integração do Joystick com o Arduíno.
Você vai precisar de ;
-1x arduino
-1x modulo Joystick
-11x fios jumpers
1x modulo rele 4 canais
Esquema de conexão;
Esquema de conexão Joystick;
Esquema de conexão Modulo rele;
Copie o código fonte abaixo para seu Arduíno.
//-----------------------------------------Inicio do código-------------------------------------//
/* Conexões
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 esquerda = 2; //Pino rele2
int superior = 3; //Pino rele4
int direita = 4; //Pino rele1
int inferior = 5; //Pino rele3
int todos = 6; //Pino liga todos os reles
void setup()
{
Serial.begin(9600);
pinMode(esquerda,OUTPUT);
pinMode(superior,OUTPUT);
pinMode(direita,OUTPUT);
pinMode(inferior,OUTPUT);
pinMode(todos,OUTPUT);
}
void loop()
{
//As linhas abaixo apagam todos os leds
digitalWrite(esquerda,HIGH);
digitalWrite(superior,HIGH);
digitalWrite(direita,HIGH);
digitalWrite(inferior,HIGH);
digitalWrite(todos,HIGH);
//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(inferior, LOW); ////Alavanca para inferior acende o rele3
}
if ( EixoX >600 & EixoX <1025)
{
digitalWrite(superior, LOW); ////Alavanca posicionada para superior acende o rele4
}
//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 > 20 & EixoY <200)
{
digitalWrite(direita, LOW); ////Alavanca para direita acende o rele1
}
if (EixoY > 600 & EixoY <1025)
{
digitalWrite(esquerda, LOW); //Alavanca para esquerda acende o rele2
}
//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 Z seja pressionado, liga todos os reles
if (BotaoZ <10 )
{
digitalWrite(todos, LOW);
digitalWrite(esquerda,LOW);
digitalWrite(superior,LOW);
digitalWrite(direita ,LOW);
digitalWrite(inferior ,LOW);
digitalWrite(todos ,LOW);
}
delay(50);
}
//-----------------------------------------Fim do código-------------------------------------//
Nenhum comentário:
Postar um comentário