Pilotare elettrovalvole Arduino

Allora si può scrivere proprio tutto in italiano, così la logica è perfettamente leggibile:

switch(stato) 
{
    case RIPOSO:
        if (comando_attivo()) {
            avvia_gonfiaggio();
            stato = GONFIAGGIO;
            }
        break;

    case GONFIAGGIO:
        if(pressione_massima()) {
            fermo();
            annota_tempo();
            stato = PAUSA;
            }
        break;

    case PAUSA:
        if(trascorsi(10000)) {
            avvia_sgonfiaggio();
            stato = SGONFIAGGIO;
            }
        else if(pressione_bassa()){
            avvia_gonfiaggio();
            stato = RABBOCCA;
            }
        break;

    case RABBOCCA:
        if(trascorsi(10000)) {
            avvia_sgonfiaggio();
            stato = SGONFIAGGIO;
            }
        else if(pressione_massima()){
            fermo();
            stato = PAUSA;
            }
        break;

    case SGONFIAGGIO:
        if(pressione_minima()) {
            fermo();
            stato = ATTENDI_NO_COMANDO;
            }
        break;

    case ATTENDI_NO_COMANDO:
        if (!comando_attivo()) stato = RIPOSO; 
        break;                       
}

Dopo di che restano da scrivere le brevi funzioncine che vengono richiamate (per quasi tutte credo basti una sola riga).