Сенсорный TFT LCD-дисплей превращает Raspberry PI в портативное устройство управлять которым можно вне зависимости от внешних источников сигнала (ТВ, монитор).
Характеристики
Тип дисплея: TFT
Интерфейс: SPI
Сенсор: резистивный
Контроллер сенсора: XPT2046
Кол-во цветов: 65536
Разрешение: 320*240
Установка и настройка драйвера дисплея в системе Rasbian
Проверено на Raspberry Pi «B» и Raspberry Pi «2B»
Для полноценной работы дисплея необходима установка драйвера FBTFT. На момент установки драйвера текущая версия Rasbian была 3.18.7+.
Меняем источник сигнала с HDMI на подключенный дисплей.
В файле 99-fbturbo.conf меняем значение FB0 на FB1
pi# nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf
Активируем аппаратный интерфейс SPI
Это можно сделать через утилиту raspi-config.
Исключаем spi-bcm2708 из списка
Загружаем и устанавливаем драйвера
pi# REPO_URI=https://github.com/notro/rpi-firmware rpi-update.
Обновление весит порядка 45Mb. После установки необходимо перезагрузить устройство.
Редактируем файл модуля ядра
pi# nano /etc/modules snd-bcm2835 spi-bcm2708 fbtft_device name=waveshare32b gpios=dc:22,reset:27 speed=48000000 waveshare32b width=320 height=240 buswidth=8 init=-1,0xCB,0x39,0x2C,0x00,0x34,0x02,-1,0xCF,0x00,0XC1,0X30, -1,0xE8,0x85,0x00,0x78,-1,0xEA,0x00,0x00,-1,0xED,0x64,0x03,0X12, 0X81,-1,0xF7,0x20,-1,0xC0,0x23,-1,0xC1,0x10,-1,0xC5,0x3e,0x28, -1,0xC7,0x86,-1,0x36,0x28,-1,0x3A,0x55,-1,0xB1,0x00,0x18,-1,0xB6, 0x08,0x82,0x27,-1,0xF2,0x00,-1,0x26,0x01,-1,0xE0,0x0F,0x31,0x2B, 0x0C,0x0E,0x08,0x4E,0xF1,0x37,0x07,0x10,0x03,0x0E,0x09,0x00, -1,0XE1,0x00,0x0E,0x14,0x03,0x11,0x07,0x31,0xC1,0x48,0x08,0x0F,0x0C, 0x31,0x36,0x0F,-1,0x11,-2,120,-1,0x29,-1,0x2c, -3 ads7846_device model=7846 cs=1 gpio_pendown=17 speed=1000000 keep_vref_on=1 swap_xy=0 pressure_max=255 x_plate_ohms=60 x_min=200 x_max=3900 y_min=200 y_max=3900
Строка fbtft_device name=waveshare32b указывает на использование модуля ads7846
Таблицу модулей для разных видом дисплеев можно посмотреть здесь
Редактируем файл cmdline.txt
pi# nano /boot/cmdline.txt
Удаляем все строки и вставляем
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fbtft_device.custom fbtft_device.name=waveshare32b fbtft_device.gpios=dc:22,reset:27 fbtft_device.bgr=1 fbtft_device.speed=48000000 fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo dma.dmachans=0x7f35 console=tty1 consoleblank=0 fbtft_device.fps=50 fbtft_device.rotate=0
Параметр fbtft_device.name=waveshare32b меняем на тип своего дисплея, если у вас не waveshare32b
Добавляем в автозагрузку запуск графической оболочки
add su -l pi -c startx
Обновление системы кроме, загрузчика
sudo apt-mark hold raspberrypi-bootloader sudo apt-get update sudo apt-get upgrade sudo apt-get install rpi-update sudo SKIP_KERNEL=1 rpi-update
Если загрузчик обновился, то необходимо выполнить
pi# sudo REPO_URI=https://github.com/notro/rpi-firmware BRANCH=builtin rpi-update pi# sudo reboot
Изменение ориентации экрана
Открываем файле /boot/cmdline.txt
Изменяем параметр с fbtft_device.rotate=0 на fbtft_device.rotate=90