Movimentazione stepper motor con tb6600 e pulsanti

salve a tutti, Sto realizzando un progetto con arduino per movimentare uno stepper motor per mezzo del driver tb6600 e dei pulsanti come questi che allego sotto:

https://www.banggood.com/DC-5V-19mm-4-Pin-Momentary-Switch-Led-Light-Metal-Push-Button-Waterproof-Switch-p-1347775.html?rmmds=search&ID=223&cur_warehouse=CN

Confermo che preliminarmente ho testato il motore il driver e risultano funzionare correttamente. Il problema arriva cercando di governare la movimentazione con i due pulsanti, uno per il verso orario e uno per il verso antiorario. i pulsanti sono stati cablati nel seguente modo: l'alimentazione del LED a 5V e GND mentre per il contatto è stato messo un polo a GND e un altro con un parallelo: un filo al pin di arduino e un filo ai 5V con resistenza da 2200 ohm. Il problema si presenta sul pin 2 di arduino ossia se scambio i pulsanti qualunque metto sul pin 2 non funziona.Ho pensato che magari il problema fosse che il pin 2 non sia un pin PWM (anche se non credo sia questo il problema). così ho corretto lo sketch e messo i due pulsanti sul pin 9 e 10 di Arduino ma il problema si ripresenta ossia uno dei due non funziona e se li scambio comunque ne funziona solo uno.

allego il codice qui sotto:

int switchACW = 2; //define anticlockwise temporary switch
int switchCW = 3; //define clockwise temporary switch
int PUL = 7; //define Pulse pin
int DIR = 6; //define Direction pin
int ENA = 5; //define Enable Pin

int valACW = 0;
int valCW = 0;

void setup() {
  pinMode (switchACW, INPUT);
  pinMode (switchCW, INPUT);
  pinMode (PUL, OUTPUT);
  pinMode (DIR, OUTPUT);
  pinMode (ENA, OUTPUT);
}

void loop() {
  valCW = digitalRead(switchCW);
  
    if (valCW == HIGH)  {        //when clockwise temporary switch is pressed
  
    digitalWrite(DIR, LOW);
    digitalWrite(ENA, HIGH);
    digitalWrite(PUL, HIGH);
    delayMicroseconds(200);
  }
  else
  {
    digitalWrite(DIR, HIGH);
    digitalWrite(ENA, HIGH);
    digitalWrite(PUL, LOW);
    delayMicroseconds(200);
  }
  {
    if (valACW == LOW)   {      //when anticlockwise temporary switch is pressed
  
    digitalWrite(DIR, HIGH);
    digitalWrite(ENA, HIGH);
    digitalWrite(PUL, HIGH);
    delayMicroseconds(200);
  }
  else
  {
    digitalWrite(DIR, HIGH);
    digitalWrite(ENA, HIGH);
    digitalWrite(PUL, LOW);
    delayMicroseconds(200);
  }
  }
}

Mi sfugge il problema e vi sarei grato se poteste aiutarmi.

Se fai il digitalRead() di un solo pulsante, mi pare normale che il secondo non te lo veda

brunello22: Se fai il digitalRead() di un solo pulsante, mi pare normale che il secondo non te lo veda

brunello22 grazie mille. Putroppo io e la programmazione non andiamo molto d'accordo ed errori di distrazione e dimenticanze mi succedono con frequenza rilevante. Grazie.