Peut être le programme INO a definir ?
Le programme tel qu'il est donné ne prévoit pas l'enregistrement des positions des aiguillages.
Deux solutions :
1. Au setup, on peut lancer une initialisation des aiguillages.
2. On peut stocker en EEPROM la dernière position.
Par ailleurs à la lecture du programme, vous verrez que la procédure de test des boutons :
boolean boutonTest(int i) neutralise les boutons pour un anti-rebond pendant 50 ms, au delà, ils redeviennent actifs.
La solution est d'utiliser une bibliothèque qui permette d'activer une fonction sur le relâchement du bouton (ou d'écrire un programme qui le fasse)
Ou encore mieux qui permette de multiplier les boutons en les câblant en matrice comme i2c_keypad.h en ne consommant que les deux fils de l'I2C avec un PCF8574.
https://github.com/thaieasyelecN'hésitez pas à proposer vos programmes, Locoduino est un site participatif.