Mouse generico + arduino Pro mini = mouse com macro para jogos

Ola pessoal sou novo aki estou tentando integrar meu Arduíno com um mouse genérico para fazer macro, desconectando os botoes e conectando no Arduíno já a saída do Arduíno vai ser conectada no lugar dos botoes alguem sabe se isso daria certo? ou daria sobrecarga ou curto?

pois pretendo usar esse codigo para os macros...

//projeto Macro mouse generico
int botDIR=13;//entrada botao direito
int botdir=12;//saida transistor direita
int botESQ=11;//entrdada botao esquerdo
int botesq=10;//saida transistor esquerda
int botCTR=9;//entrada botao central(roda do mouse)
int botctr=8;//saida botaocentral(roda do mouse)
int bot1LTR=7;//entrada 1 botao lateral
int botltr1=6;//saida de transistor botao lateral
int bot2LTR=5;//entrada 2 botao lateral
int botltr2=4;//saida botao lateral
int botMODE=3;//entrada botao Mode gamming (CPI)
int mode=0;

#define t_500 delay(500);
//ativa e desativa os botoes
#define ligEsq digitalWrite(botesq, HIGH);//liga e deslia esq
#define desEsq digitalWrite(botesq, LOW);
#define ligDir digitalWrite(botdir, HIGH);//liga e desliga direito
#define desDir digitalWrite(botdir, LOW);
#define ligLtr1 digitalWrite(botltr1, HIGH);//liga e desliga o lateral 1
#define desLtr1 digitalWrite(botltr1, LOW);
#define ligLtr2 digitalWrite(botltr2, HIGH);//liga e desliga o lateral 2
#define desLtr2 digitalWrite(botltr2, LOW);
#define ligCtr digitalWrite(botctr, HIGH);//liga e desliga o central
#define desCtr digitalWrite(botctr, LOW);
//Principais Skills do Macro----------------------------------------------------------------------------------------------------------------------------------------------
#define Pressed_Dir int botDIR1 = digitalRead(botDIR); if(botDIR1 == LOW){ligDir;}else{desDir;}
#define Pressed_Esq int botESQ1 = digitalRead(botESQ); if(botESQ1 == LOW){ligEsq;}else{desEsq;}
#define Pressed_Esq_3kill int botESQ1 = digitalRead(botESQ); if(botESQ1 == LOW){int conte=0; if(conte <3){ ligEsq; t_500; desEsq; t_500; conte++;}}else{desEsq;}
#define Pressed_Esq_Scope int botESQ1 = digitalRead(botESQ); if(botESQ1 == LOW){ligDir; t_500; ligEsq; t_500; desEsq; desDir;}
#define Pressed_1Ltr int botLTR1 = digitalRead(bot1LTR); if(botLTR1 == LOW){ligLtr1; }else{desLtr1;}
#define Pressed_2Ltr int botLTR2 = digitalRead(bot2LTR); if(botLTR2 == LOW){ligLtr2;}else{desLtr2;}
#define Pressed_Ctr int botCTR1 = digitalRead(botCTR); if(botCTR1 == LOW){ligCtr; }else{desCtr;}
#define Pressed_Mode int botMODE1 = digitalRead(botMODE); if(botMODE1 == LOW){mode++; t_500;}if(mode == 5){mode=0;}//seleciona o n max de perfis que atualmente é 5
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

void setup(){
//PULLUP PERMITE LIGAR UM BOTAO AO TERRA DIRETAMENTE
pinMode(botDIR,INPUT_PULLUP);//Entrada direita
pinMode(botdir,OUTPUT);//saida direita
pinMode(botESQ,INPUT_PULLUP);//Entrada esquerda
pinMode(botesq,OUTPUT);//saida esquerda
pinMode(botCTR,INPUT_PULLUP); //Entrada do botao da roda do mouse
pinMode(botctr,OUTPUT);//saida do botao da roda do mouse
pinMode(bot1LTR,INPUT_PULLUP);//Entrada do botao lateral 1
pinMode(botltr1,OUTPUT);//saida botao lateral 1
pinMode(bot2LTR,INPUT_PULLUP);// Entrada do botao lateral 2
pinMode(botltr2,OUTPUT);//saida botao lateral 2
pinMode(botMODE,INPUT_PULLUP);// Entrada do botao CPI do mouse
}//fim do void setup

void loop(){
Pressed_Mode;
//perfil normal
if(mode == 0){
Pressed_Dir;
Pressed_Esq;
Pressed_1Ltr;
Pressed_2Ltr;
Pressed_Ctr;
}
//fim do perfil normal
//perfil sniper
if(mode == 1){
Pressed_Esq_Scope;
Pressed_Dir;
Pressed_1Ltr;
Pressed_2Ltr;
Pressed_Ctr;
}
//fim do perfil sniper
//perfil 3balas por vez
if(mode == 2){
Pressed_Dir;
Pressed_Esq_3kill;
Pressed_1Ltr;
Pressed_2Ltr;
Pressed_Ctr;
}
//fim do perfil 3balas
}//fim do void loop

 

Exibições: 378

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço