Vediamo se ho capito, sono un po' rinco, mi son svegliato ora

: riassumendo ai minimi termini, devi leggere da 12 terminali il valore di 6 pulsanti e poi elaborarli.
Giusto?
Se è così, io userei su ogni terminale (il bersaglio? eri tu che tempo fa parlava di qualche programma per arceri o sbaglio?) un pcf8574. E basta.
Lo imposti con 6 porte come input e te ne avanzano 2 per farci quello che vuoi, come ingresso o uscita. Lo leggi via i2c, che è molto semplice.
Il master può essere l'arduino con il display e tutta la logica.