¿Cómo controlo una pantalla táctil resistiva?

4

Lo esencial de mi problema es que tengo una pantalla táctil resistiva y una Raspberry Pi, y necesito hacer una conversación con la otra utilizando un solo ADC de algún tipo.

He trabajado con un Arduino y también conozco el concepto básico detrás de una pantalla táctil resistiva. Sin embargo, estoy teniendo algunos problemas para planear cómo adjuntarlo a la frambuesa pi y no quiero comprometerme demasiado con las partes a menos que sepa cómo lo voy a hacer. Básicamente, necesito colocar voltaje en los cables x + y x-, mientras se mide el cable y + usando el ADC, ¿verdad? Pero luego tengo que cambiar los cables y colocar el voltaje entre los cables y + y y-, y medir el cable x +.

En un Arduino es obvio cómo hacerlo, porque los pines de entrada analógica también pueden servir como salidas digitales. Pero no tengo tanta suerte con el Pi. Puedo conectar un ADC al pi pero no estoy realmente seguro de qué ADC hará el trabajo, ya que parece que también tiene que proporcionar salidas digitales. Estoy viendo ADCs básicos como el MCP3008 en este momento. ¿Es posible controlar una pantalla táctil resistiva con un chip de este tipo? Si es así, ¿cómo? Si no, ¿qué CI necesito?

Además, si va a sugerir un IC, siga los que se encuentran en los paquetes PDIP. Sé que eso es REALMENTE restrictivo (muchos de los "ADC con digitalizador de pantalla táctil" que he visto son solo TSSOP / QFN) pero este es un pequeño pasatiempo para mí, estoy trabajando en una placa de pruebas, y realmente no tengo el Herramientas para usar otros paquetes.

    
pregunta tummychow

1 respuesta

4

Bueno, haces la medición de la misma manera que en Arduino. El MCP3008 tiene 8 canales, por lo que puede hacer fácilmente 8 mediciones. Normalmente conectaría dos canales del ADC a los cables X + e Y +. Los conectores del ADC están en modo de entrada de alta impedancia, por lo que puede tratarlos como desconectados en lo que respecta a la fuente de alimentación.

Luego, también debe conectar dos pines GPIO de la Raspberry Pi a los conectores X + e Y + y conectar los conectores X e Y a las patillas GND de la Raspberry Pi.

Cuando desee realizar una medición para el eje X, debe configurar el pin Y + para flotar, el pin X + a alto y luego utilizar el ADC en el canal Y +. Lo mismo ocurre cuando se mide el eje Y.

Ahora sobre el ADC: Bueno, dado que el ADC es un convertidor analógico a digital, debe tener salidas digitales. Todos los ADC tienen salidas digitales, así es como se comunican con el resto del sistema. Los pines de salida digital están separados de los pines de entrada analógica, por lo que no habrá ningún problema de comunicación.

El ADC particular al que has vinculado usa SPI. En Raspberry Pi, puede usar el puerto SPI de hardware o los pines GPIO para el software SPI. Tenga en cuenta que el ADC requiere un reloj SPI incluso cuando no se está realizando una transferencia de datos para poder ejecutar la conversión.

Aquí hay dos artículos relativamente buenos con un poco de información sobre MCP3008 en Raspberry Pi: MCP3008 con hardware SPI , MCP3008 con software SPI .

    
respondido por el AndrejaKo

Lea otras preguntas en las etiquetas