Muovere due stepper tramite comandi da tastiera PC

Buongiorno, volevo esporvi il mio quesito. Io sto progettando un semplice meccanismo che prevede l’utilizzo di due motori stepper unipolari. Ho verificato a priori la correttezza dei collegamenti di tali motori ed è andato tutto bene, poi ho fatto qualche prova con codici semplici e anche qui tutto bene. Ora però mi trovo a un punto di stallo: quello che chiedo io al mio software è che faccia fare determinati movimenti ai miei motori ricevendo un input dalla tastiera del mio pc (ad esempio: se premo ‘a’ il mio motore numero 1 avanza di 20 step e il mio motore 2 avanza di 30, poi si fermano; se digito ‘y’ il mio motore uno avanza di 200 step e il motore 2 avanza di 50, poi si fermano; e così via…).

Vi posto il codice che ho scritto e vi sarei molto grato se riusciste a darmi qualche dritta e farmi capire gli errori che ho commesso, dal momento che sono un vero novizio della programmazione. Grazie a tutti in anticipo.

#include <Stepper.h>
#define STEPS1 200
#define STEPS2 200


// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper1(STEPS1, 8, 9, 10, 11);
Stepper stepper2(STEPS2, 4, 5, 6, 7);

void setup(){ }

void loop()
{
 if (Serial.available() > 0) {
    int inByte = Serial.read();

    switch (inByte) {
     case 'a':    
      //code for a
      stepper1.setSpeed(5);
      stepper2.setSpeed(8);
      stepper1.step(100);
      stepper2.step(100);
      stepper1.step(-100);
      stepper2.step(-100);
      break;
      
    case 'b':    
      //code for b
      stepper1.setSpeed(5);
      stepper2.setSpeed(8);
      stepper1.step(150);
      stepper2.step(100);
      stepper1.step(-150);
      stepper2.step(-100);
      break;
      
    case 'c':    
      //code for c
      stepper1.setSpeed(5);
      stepper2.setSpeed(8);
      stepper1.step(200);
      stepper2.step(100);
      stepper1.step(-200);
      stepper2.step(-100);
      break;
      
    case 'd':    
      //code for d
      stepper1.setSpeed(5);
      stepper2.setSpeed(8);
      stepper1.step(250);
      stepper2.step(100);
      stepper1.step(-250);
      stepper2.step(-100);
      break;
      
    default:
      // se nessuna opzione è tra quelle prestabilite
      //code
      stepper1.setSpeed(0);
      stepper2.setSpeed(0);
      stepper1.step(0);
      stepper2.step(0);
      }
    }
}

E i sintomi quali sono? Non si muove nulla? nessun sussulto dei motori?

Una cosa banale e non importante è la variabile inByte puoi dichiararla byte. Poi personalmente non mi piace quella dichiarazione+assegnazione nell'if (ma è solo una scelta)

void()
{ char inByte; 
  if (Serial.available() > 0) 
  { inByte = Serial.read();