Aunque algunos dispositivos funcionarán bien con la dirección que se cambia mientras está encendido, la mayoría de las hojas de datos no reflejarán eso. Tendrá que probarlo. Para hacer eso, necesitará unos pocos pines de repuesto, o un expansor de 16 bits adicional, para impulsar los pines de dirección. Una configuración podría ser tener los 13 expansores de LED A2 y A1 pines atados a la lógica alta. Un 14º expansor, para accionar el pin A0, con A2, A1 y A0 ligados a lógica baja (0x20). Cada vez que necesite actualizar un nuevo expansor, actualice primero el expansor de direcciones, luego el expansor de led real. Esto agrega una transacción i2c de 2 a 3 bytes a cada actualización.
Sin embargo, tienes dos opciones principales para alternativas. En el Arduino, puede usar la biblioteca I2C del software para tener un segundo bus i2c. Esto puede estar en cualquiera de los dos pines. Ponga 8 en uno, 5 en el otro.
O para la compatibilidad general de i2c, un multiplexor i2c / concentrador / bus extensor / repetidor / conmutador (tienen muchos nombres). Dependiendo de la velocidad que esté utilizando (400kHz vs 1.7MHz [FM +]), deberá encontrar la adecuada. La mayoría son para uso de 400kHz. Estos le permiten conectar dos buses i2c y alternar entre ellos.