En esta entrada vamos a ver como conectar una pantalla táctil HDMI de 7 pulgadas (aunque la guía vale para cualquier tamaño) a nuestra Raspberry Pi 3. En nuestro caso vamos a conectar una pantalla como esta, que podéis comprar (aquí por 38€, o si preferís con un poco menos de resolución por 32€ aquí).

Por lo tanto para comenzar necesitamos tener a mano:
- Pantalla como las de arriba
- Conector HDMI
- Raspberry pi 3

Conectando todo
La conexión entre los componentes es muy sencilla. Primero conectamos el puerto de GPIOs. Luego añadimos el adaptador HDMI para conectar la pantalla y el Raspberry pi. Solo nos queda
alimentar la Raspberry Pi 3 y listo. En caso de no conectar los GPIOs, por ejemplo si queremos tener la pantalla y la RPI separada conectada con un cable HDMI normal, habría que alimentar con 5 voltios la pantalla a través del conector que pone Power Only justo al lado del HDMI.
- Conexión HDMI
- Conexión GPIOs
Configuración Raspbian
En nuestro caso vamos a configurar la pantalla con Raspbian. Necesitamos la versión con escritorio (sino para que queremos el táctil?). Vamos a realizar todo suponiendo la pantalla de 1024×600, para otras resoluciones es igual, solo hay que cambiar un par de valores.
Fichero /boot/config.txt
Lo primero que haremos será configurar el arranque. Tenemos que buscar o añadir las siguientes líneas en el fichero ‘/boot/config.txt’:
#hdmi disable_overscan=1 hdmi_cvt=1024 600 60 3 0 0 0 hdmi_group=1 hdmi_mode=3 dtparam=i2c_arm=on dtparam=spi=on dtoverlay=ads7846,penirq=25,speed=10000,penirq_pull=2,xohms=150
Fichero ’99-calibration.conf’
Lo siguiente que nos quedaría, sería configurar la parte táctil de la pantalla. Para ello tenemos que añadir un controlador de Inputs en el X11. Para eso, si no existe creamos, la carpeta ‘/etc/X11/xorg.conf.d/’ y dentro de esta carpeta el fichero ’99-calibration.conf’ (La ruta completa quedaría ‘/etc/X11/xorg.conf.d/99-calibration.conf‘)
Section "InputClass" Identifier "calibration" MatchProduct "ADS7846 Touchscreen" Option "Calibration" "3853 170 288 3796" Option "SwapAxes" "1" EndSection<br>
En caso mi caso, los ejes de la pantalla táctil estaban mal colocados y para ponerlos en su sitio tuve que añadir más configuraciones para cambiar los ejes. El fichero de configuración me quedo tal que así:
Section "InputClass"<br>Identifier "calibration" MatchProduct "ADS7846 Touchscreen" Option "Calibration" "3853 170 288 3796" Option "SwapAxes" "1" Option "InvertX" "true" Option "InvertY" "true" Option "TransformationMatrix" "0 1 0 -1 0 1 0 0 1" EndSection
Con esto ya podemos reiniciar y tendremos nuestra pantalla táctil completamente funcional 😀
