¿Rejilla de sensor táctil capacitiva para el Arduino?

3

Estoy tratando de construir una cuadrícula de 8x8 que consiste en sensores capacitivos que hemos realizado con éxito mediante el uso de resistencias altas y láminas de cobre. Usé biblioteca de Arduino para controlarla, pero mi problema es cómo controlar las 64 . Tengo acceso a casi todos los tipos de Arduinos en el laboratorio de interacción de mis escuelas, y como Mega tiene muchos pines digitales que puedo usar, lo he elegido. Sin embargo, incluso tiene 53 pines digitales, y necesito usar 10 pines más para otros componentes de mi proyecto. Tengo un multiplexor pero los sensores que he construido y el multiplexor no funcionan juntos. El problema es que, en la biblioteca de Arduino, para controlar el sensor capacitivo, necesito especificar sus pines de envío y recepción claramente. Si desconecto el sensor de los pines de la placa y lo conecto a los pines mulplexizados, ya no tiene un número de PIN para dar a la biblioteca. Intenté hackear la biblioteca, pero fue un callejón sin salida. ¿Esto significa que no puedo usar el multiplexor y los sensores capacitivos juntos, o me falta algo?

Cualquier solución al problema de multiplexación o cualquier alternativa que pueda usar en lugar de 64 sensores capacitivos sería muy apreciada.

EDITAR: Creo que encontré lo que buscaba en el sitio web de Sparkfun . De acuerdo con los cálculos de pin de atmega1280, 2 de estos serían suficientes. Sin embargo, quiero estar en el lado seguro, ordenaré 3 por si acaso. No lo he comprado y lo he probado todavía, pero creo que puede hacer lo que trato de hacer. Voy a publicar los resultados después del envío.

    
pregunta hevele

1 respuesta

1

Aquí hay un ejemplo de una posible solución usando el interruptor MCP23017 y 4066. En ese caso, lea el 14 y el 15. En el ejemplo hay dos sensores. Una adjunta a U3: A: Y / U3: B: Y y la segunda adjunta a U3: C: Y / U3: D: Y.

Usted controla el MCP23017 con I2C, él encenderá o apagará los interruptores y, por lo tanto, seleccionará las entradas que están conectadas al pin 14 y 15. Una salida en el MCP32017 controla dos interruptores, un par de cables y un sensor.

Solo coloqué las conexiones "útiles" y traté de hacerlo lo más simple posible. Así que es solo una idea, no una solución tal como funciona. Por ejemplo, le sugiero que coloque flip flop con latch para controlar una vez que se actualice el MCP23017 cuando refleje las actualizaciones en el 4066 y manténgalas tal como están hasta el próximo latch o encuentre unos 4066 interruptores con latch.

NOTA: no he encontrado el componente táctil en la biblioteca excepto este ... Pero se te ocurre la idea con tus dos cables para tu sensor.

Para 64 sensores, puedes hacerlo con 32 chips 4066 y 4 MCP23017. Los pines utilizados en el arduino serán 2 para los sensores y 2 analógicos para controlar los 4 MCP23017 a través de I2C, por lo que 4 pines en total, incluso UNO o ATTiny pueden hacerlo.

EDIT

En lugar del 4066 puede usar CBT3245A, necesitará 16 de ellos en lugar de 32 y también son bastante baratos. Además, otra alternativa sería usar MAX4618, también necesitarás 16 de ellos, pero son bastante caros. 1.8 $ cada uno en el paquete DIP en digikey un 4066 es 0.4 $ y un CBT3245A en el paquete SO es 0.11 $, así que 12.8 $ en total para 32 * 4066, 28.8 $ para 16 * MAX4618 y 1.76 $ para el 16 * CBT3245A (pero SO paquete, no puedo encontrar DIP)

    
respondido por el Emmanuel Istace

Lea otras preguntas en las etiquetas