Cómo detectar e identificar múltiples puntos de contacto

2

Estoy buscando una forma de detectar & Distinguir los múltiples puntos de contacto de la fuerza o presión. He hecho una pregunta relacionada en la URL que aparece a continuación:

Cómo codificar un gran número de señales de entrada digital en un resultado de señal

La respuesta proporcionada en esto fue crear un D2A & Determine los puntos de contacto extrayéndolos del nivel de voltaje emitido. He encontrado que esta solución es un poco 'torpe', ya que luego pasaré el single original a mi D2A de forma aproximada, que luego pasará de nuevo a un A2D para su procesamiento.

Estoy buscando una solución alternativa a este problema. Cualquier sugerencia es apreciada

    
pregunta Buck

1 respuesta

1

Respondí a la pregunta anterior pensando que no te importaba qué punto se presionaba y solo quería saber si alguno de ellos lo estaba.

Ahora veo que quieres saber qué puntos se presionan y cómo detectar un gran número usando solo unos pocos pines del microcontrolador. Mi sugerencia esta vez es utilizar algunos registros de desplazamiento . Estos solo requieren unos pocos pines y muchos se pueden encadenar para leer muchas líneas y convertir los datos paralelos en datos en serie para que se registren en el microcontrolador. Necesita una SR que realice PISO (entrada paralela, salida en serie) y se pueda conectar en cascada. Un SR universal como CD74HCT299 debería funcionar bien. Eche un vistazo a Mouser, Farnell, Digikey, etc. para ver más opciones: aquí hay lotes de Farnell .

Ahora mencionó "simultáneo", pero no dio una definición de la rapidez con la que considera esto. Supongo que si se trata de detectar un toque humano, entonces no tiene que ser tan rápido en comparación con la velocidad del reloj de un microcontrolador.

Por ejemplo, si está leyendo 256 líneas y su reloj está en 1MHz, entonces está mirando alrededor de 0.25ms para registrar todos los datos. Esto es lo suficientemente rápido para garantizar que no se pierda ni un toque. Dependiendo de los registros de desplazamiento utilizados (retraso de propagación, número máximo de registros encadenados en serie, por ejemplo, podría hacer dos o cuatro cadenas en lugar de una larga) podría ir más rápido: muchos micros pequeños tienen un periférico SPI que puede hacer hasta al menos 8MHz.

Dependiendo de cómo quieras hacer las cosas y qué tan rápido debe ser, puedes configurarlo como, por ejemplo, una matriz de 8x8 o 16x16, escaneando una fila a la vez.

Aquí hay un ejemplo de dos SR en cadena (de esta página ):

    
respondido por el Oli Glaser

Lea otras preguntas en las etiquetas