Preciso de ajuda com o codigo de um joystick, existem 14 entradas(0 a 13) para 14 botoes ON OFF, a interface dispolibiliza ate 32(Reconhecidos pelo windos). O problema é que preciso que quando pressionado ative um botao, quando nao precionado ative outro botao.
Ex: Precionando A2 o Botão 2 no sistema aciona
Não precionando A2 o Botão 16 aciona( e o Botao 2 se apaga)
const bool initAutoSendState = true;
void setup()
{
pinMode(0, INPUT_PULLUP);
pinMode(1, INPUT_PULLUP);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
pinMode(10, INPUT_PULLUP);
pinMode(11, INPUT_PULLUP);
pinMode(12, INPUT_PULLUP);
pinMode(13, INPUT_PULLUP);
pinMode(14, INPUT_PULLUP);
Joystick.begin();
}
const int pinToButtonMap = 0;
int lastButtonState[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0};
void loop(){
for (int index = 0; index < 14; index++)
{
int currentButtonState = !digitalRead(index + pinToButtonMap);
if (currentButtonState != lastButtonState[index])
{
Joystick.setButton(index, currentButtonState);
lastButtonState[index] = currentButtonState;
}
}
delay(50);
}