Paso 3: La tercera máquina: 1 master (con parada de emergencia) y 3 esclavos sincronizados y extensiones de la entrada-salida de I2C
Usar clase 2 de I2C:
-2 x PCF8591P: 2 x 4 entradas analógicas y 2 salidas analógicas de x1
-2 x PCF8574P: dar 1 x 8 entradas digitales y 1 x 8 salidas digitales.
Las direcciones I2C son calculará con la tabla suministrada.
Según el esquema, encontré las siguientes direcciones:
-dec 73 por la primera salida analógica (IC PCF8591P)
-Dic 74 para la salida del segundo analógica (IC PCF8591P)
-dec 59 para las entradas digitales (IC PCF8574P)
-dec 60 para las salidas digitales (IC PCF8574P)
Ahora las 3 máquinas independientes son acción 3 diferentes bytes registra FBx, SBx y PUMPx en el cual puse una máscara XOR para dar un único registro "x" que actualiza las salidas del IC de la dirección 60.
Ver el código fuente, hay muchos comentarios sobre él.
ADVERTENCIA!! Cuando usted enciende el PCF8574 todas las salidas digitales alta ir rápidamente y luego bajo: puede lesionado su sistema. ¡ Tenga cuidado! Para solucionar este problema uso un complemento de los bytes a enviar y un buffer inversor detrás el PCF8574. Lo corrigiré lo antes posible.