costruire un cambio ad h per pc con arduino e uno switch case "aiuto"

Salve a tutti sto costruendo un cambio ad h per il mio volante per pc che ha il cambio sequenziale (ovvero a levette):
In poche parole sto sfruttando il pulsante che ruota nel joypad che possiede 2 potenziometri e leggendo i vari valori cosi so in che posizione è inserita la marcia ,ho creato delle funzioni che mi restituiscono sempre la stessa variabile (chiamata"statomarcia" )che assume valore diverso a seconda della posizione della marcia es 1 e per la prima etc...
Per far comunicare il volante con il cambio devo chiudere un circuito sfruttando un pin di arduino portando il singolo pin prima ad 1 e poi a 0 (per cambiare una singola marcia ) creo una sorta di impulso che simula la levetta che inserisce la marcia nel volante.
Per il codice sto sfruttando un switch case.

switch(statomarcia){
case 1:
Serial.print("prima");
digitalWrite(pulsrosso,HIGH);
delay(2);
digitalWrite(pulsrosso,LOW); // cosi inserisco la prima marcia
break;

essendo il case un mini loop le istruzioni si ripetono sempre a ruota e cosi si inseriscono tutte e sei le
marce.
Io vorrei che questa serie di istruzioni venissero svolte una sola volta (cosi inserisco una sola marcia
e dopo di che il pulsante rimane a stato zero fino a quando non si attiva il case successivo che sta ad
indicare un altra marcia ad esempio:

case 2:
Serial.print("seconda");

ho provato con while , do while e delay ma non ci sono riuscito.

Chi può darmi una mano ? grazie in anticipo :wink:

Buonasera, :slight_smile:
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink: