Aumentare pin digitali su arduino mega ( port expander )

Salve a tutti,

per un progetto personale sto cercando di controllare un gran numero di motori passo passo, pilotati attualmente da un arduino Mega. Le schede di controllo che monto utilizzano 2 o 4 pin digitali, dipende dal modello, ma purtroppo anche con una scheda Mega posso controllare solo un numero limitato di motori. Ho letto su vari topic la possibilità di aumentare le porte di un arduino con chip vari o port expander collegati via i2c, oppure con vari arduino collegati fra loro come slave ed un master che si occupa del controllo, quale opzione sarebbe migliore per ciò che devo fare? E come potrei implementarla? (P.s. il mio problema non risiede nel controllo del motore in se, ma proprio nella necessità di collegare un numero di motori maggiore alle uscite fisiche di un arduino.)

Grazie in anticipo a chi leggerà il topic, Riccardo.

Per aumentare le uscite puoi usare degli shift register come i 74HC595, che oltretutto comandi con una semplice istruzione da Arduino, shiftOut.
Qui trovi un pò di info:

Puoi collegarne diversi in cascata (mi pare max 8) ognuno con 8 uscite, pilotabili tutti con 3 soli pin.

Se vuoi anche degli ingressi e rimanendo negli shift register, ci sono i 74HC165, anche questi mettibili in catena e pilotabili con una semplice shiftIn.

Se vuoi qualcosa di pilotabile via I2C e che funzionino come I/O ci sono gli MCP23016/17 oppure i PCF8574: i primi hanno 16 uscite, i secondi 8. I primi forniscono più corrente per pin rispetto ai secondi. Per entrambi ti servono delle librerie apposite.

Quindi non avrebbe senso collegare vari arduino Mega via i2c per poter suddividere le varie funzioni ( che comprendono i movimenti degli stepper ) lasciando alla master board il solo compito di trasmettere una serie di caratteri che ricevuti dalle slave faccia eseguire una serie di movimenti? All'inizio mi sembrava l'opzione più semplice per poter controllare ogni motore...

se hai tutto circoscritto, mi sembra uno spreco comprare diverse schede solo per aumentare le uscite quando a te interessa pilotare dei motori e con poche decine di centesimi ti prendi un 74HC595 che ti da 8 uscite. Con pochi euri raddoppi le uscite della Mega.
Se devi solo mettere dei pin su Low/high questa mi sembra la soluzione più semplice, se poi invece il pilotaggio richiede qualche particolare sistema, allora è un altro paio di maniche.

Più che altro fino ad adesso ho utilizzato delle schede di controllo che montano chip uln2003, che necessitano semplicemente di un high/low a coppie per far muovere il motore a step, ora dovrei utilizzare delle ( un pò più evolute ) "Easy Driver", che utilizzano due soli pin oltre a quelli di alimentazione, uno per indicare gli step, e l'altro per il senso di rotazione, a questo punto appena mi arrivano i 74HC595 faccio qualche prova per vedere se funziona tramite shift register, mi sembra l'unica soluzione...