Duda sobre como conectar una matriz de 8x8 de sensores LDR a Arduino

Hola a todos,

Necesito saber como puedo conectar 64 LDR (8 filas x 8 columnas) a un Arduino Uno. He mirado un poco y he encontrado el multiplexor analógico 74HC4067, que tiene 16 canales. Con 4 de estos imagino que funcionaria. Como hay que conectarlos? Habría algún inconveniente?

Otra idea que se me ha ocurrido es usar 2 chips 74HC4051 (multiplexor de 8 canales), uno conectado a las 8 filas (conectando cada fila por los negativos de los LDR) y otro conectado a las 8 columnas (conectando cada columna por los positivos de los LDR). Funcionaria? A nivel de programación como habría que hacerlo?

Tengo algunos chips MCP23017 pero por lo que he visto solo admiten entradas digitales. Se podrían usar de alguna manera como entradas analógicas?

Conecta uno como filas y otro como columnas, o sea dos 4051.
Scanneas en filas y columnas y vas leyendo en el mismo pin AD todos los sensores. los 64.
Supongo que no tendras problemas de velocidad, asi que para que buscar otra alternativa mas simple.
Solo dos en matrix XY usando 4051 para mi es la mejor opción.

surbyte:
Conecta uno como filas y otro como columnas, o sea dos 4051.
Scanneas en filas y columnas y vas leyendo en el mismo pin AD todos los sensores. los 64.
Supongo que no tendras problemas de velocidad, asi que para que buscar otra alternativa mas simple.
Solo dos en matrix XY usando 4051 para mi es la mejor opción.

Gracias por responder. Era la segunda opción que comentaba. Probablemente sea lo más sensato.

Por lo de problemas de velocidad, espero que vaya fluido, aunque tampoco necesito que revise el estado de los LDR constantemente. Con que cada 2-3 segundos haga una comprobación suficiente.

Solo una duda: Con pin AD qué quieres decir?

Imagina que el AD tarda 100useg x conversión asi que 100uSeg x 64 = 6.4mseg mas extras. supongamos 7 mseg.
Creo que es suficientemente rápido.

He hecho un esquema con Fritzing. Así funcionaria? A nivel de código que debería hacer?

Enlace al esquema de la matriz de LDR

Sabes leer un AD? Se usa
analogRead(AX); // donde X es 0...N según cantidad de entradas analógicas disponibles en tu Arduino.

Tienes dos multiplexores 4051 supongo, asi que debes barrer sus 3 entradas BCD con numeros de 000 a 111 completando las 8 opciones en X y en Y. Es muy fácil y no tienes mas que usar un contador y direccionar los pines de salida corresondientes y lo mismo con el 2do contador.

Algo asi

for (byte x=0; x<8; x++) {
      for (byte y=0; y<8; y++) {     
             // direccionas salidas
             // direccionas entradas
             analogRead(A0); // que es donde se supone apunta el CD4051 que recibe el estado del LDR direccionado
      }
}