sábado, 11 de octubre de 2014

Pantalla táctil para la Raspberry Pi

En la presente entrada del blog añadiremos una pantalla táctil para la Raspberry Pi, en este caso se ha adquirido una PiScreen procedente de Kickstarter.


Primero de todo un paso rápido del producto integrado y a continuación la configuración.


Configuración
El primer paso para poder usar la pantalla es configurar el entorno para que haga uso de ella. Primero de todo es actualizar el firmware, mediante la instrucción siguiente:
sudo rpi-update

Tras ello, reiniciamos la Raspberry Pi con la sentencia
sudo reboot

En este momento estamos en disposición de instalar los drivers desde el repositorio de NotroTFT, mediante la sentencia siguiente:
sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update

Activación de SPI.
Editar el fichero siguiente
sudo nano /etc/modprobe.d/raspi-blacklist.conf

Comentar la línea blacklist spi-bcm2708 añadiendo el caracter # delante y reiniciar de nuevo la Raspberry Pi.

En las últimas versiones de Raspbian, es necesario editar el fichero siguiente:
sudo nano /boot/config.txt

y añadir la siguiente linea:
dtparam=spi=on

Para forzar que arranque con los drivers. hay que añadir lo siguiente al fichero
sudo nano /etc/modules

flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0x36,0x28,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x0,0x0,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x11,-1,0X29,-3
fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24,led:22
ads7846_device gpio_pendown=17 verbose=3 x_plate_ohms=100 pressure_max=255  swap_xy=1

Aplicación práctica
Para que se muestre la consola (console) en la pantalla, los pasos son los siguientes:

Realizamos una copia de seguridad
cp /boot/cmdline.txt ~/cmdline.txt

editamos el fichero
sudo nano /boot/cmdline.txt

y añadimos lo siguiente al final de esta
fbcon=map:10 fbcon=rotate:0 fbcon=font:ProFont6x11

Siendo los valores posibles para el campo Rotate de 0,1 y 2

Video
En el siguiente video de puede ver un ejemplo de funcionamiento de arranque y parada en modo consola.