Ahorro de pin de rejilla de sensor de presión 4x4

0

Me gustaría hacer una rejilla de sensor de presión 4x4 (resistencia de fuerza) para usar con un arduino. Pero 16 sensores seguramente necesitan un montón de pines. Durante mi investigación sobre este tema, me topé con un par de sugerencias. Un ejemplo que he visto al menos 100 veces es el que genera una cuadrícula de LED 4x4. Pero en este ejemplo, no hay sensordata para leer.

Entonces,respaldadoporelmanualdefábricassobrecómoconectarelsensorycómoeltutorialdecuadrículadeLED4x4sugirióquecreémipropiaideasobrecómocableartodoconunarduino.

Mispensamientossobreeso:MantengaD1aD4definidoscomoSALIDAALTA.EstablecerD5aD8alternativamentecomotierra.RecopileinformaciónanalógicaatravésdeA2aA5delafilaseleccionadaactualmente.Guardalosdatosymiralasiguientefila.

Mipreguntaahora,antesdeordenartodosloscomponentes:¿Esosuenarealistadesdeunpuntodevistaeléctrico?

!EDITAR:

Asíquelaprimerarespuestamehizopensar,yaquíestáminuevoplandecircuito:

¿No rompí la paralelidad de los sensores resistivos porque no estoy midiendo la resistencia en los pines 5-8, en cambio mido los valores en los pines analógicos 2 a 5? Así que ahora, si D5 se configura en gound, la fila superior de los sensores recibe alimentación y datos de detección, que se recopilan mediante los pines analógicos 2 a 5. Y luego se conecta a tierra en el pin digital 5.

    
pregunta beware_bear

2 respuestas

0

Su esquema muestra sensores resistivos en paralelo, por lo que no funcionará. No podrás distinguir las resistencias individuales cuando están en paralelo. Esto significa que se necesita algún cambio.

enlace enlace

Necesitará interruptores ... muchos interruptores ...

Personalmente, intentaría mantener las cosas simples y utilizar dos de estos 1x16 muxes analógicos:

enlace

El primero tomaría una fuente de corriente como entrada y la enviaría a una de las 16 resistencias. El segundo tomaría el voltaje en la resistencia que se está leyendo y la remitirá al ADC.

Esto permite ignorar la resistencia interna de los interruptores. Y dado que se utiliza la misma fuente actual para todas las mediciones, puede invertir un poco más en ella para hacerla más precisa.

    
respondido por el peufeu
0

Realmente necesitas poder dibujar un esquema, ya que tu última edición / modificación es aún más difícil de leer.

La idea básica que tienes es razonable, pero no funcionará como lo has demostrado. Le dejaré un ejercicio para que averigüe por qué no puede funcionar debido a las rutas fantasma.

El problema que está tratando de resolver es muy parecido a una tarea de escaneo de matriz de conmutadores de teclado. Para un teclado, debes ser capaz de detectar múltiples cierres de conmutación simultáneos (N-Key Rollover) que crean todo tipo de dificultades. Por lo general, usted ve soluciones que involucran diodos para aislar entre líneas (esto es lo mismo que su LED 4 * 4 donde los LEDS son los diodos), pero los diodos aquí no serían adecuados.

Al intentar escanear 1 de los 16 valores de resistencia (o divisores de tensión) como lo ha hecho, el problema se simplifica mucho por el hecho de que solo hay un sensor de presión objetivo que medir y solo puede leer un pin analógico a una tiempo.

Dibuje un esquema más fácil de interpretar en la misma línea (una solución de divisor de voltaje) con el que comenzó, y espero que esto le funcione:

simular este circuito : esquema creado usando CircuitLab

El NPIC6C595 tiene 8 pines de salida de drenaje abiertos, por lo que se puede usar solo de forma selectiva El único sensor de presión que quieres leer.

Simplemente cambiaría 0b1000000000000000 a los dos registros de desplazamiento usando Data y SRClock, luego cargará en paralelo a los bits de salida usando ParClock. Luego lee su valor, desplaza 0b0 al registro para mover el '1' al siguiente bit, ParClock y vuelve a leer ... etc. Muy simple de programar. No necesita utilizar OE * y MR * en absoluto, ya que de todos modos tiene que cargar el SR.

    
respondido por el Jack Creasey

Lea otras preguntas en las etiquetas