se todos os shields forem I2C, apenas precisa empilha-los, e usar o I2C endereçando cada um deles, I2C é um barramento, que você pode ter vários devices pendurados nele.
Como faço para endereçar por exemplo 3 pcf8574 e um lcd 16x2? Sei que cada um tem um endereço, mas como isso é feito no software? Pode me ajudar? Tem exemplo de código?
Você pode conectar uma infinidade de chips especificos ou mesmo arduinos em um barramento de dois fios. É uma boa opção para expandir os projetos de forma modular. Acho que é uma boa aposta