Рубрики
Проекты на Raspberry Pi

Подключение TFT ЖК дисплея 3,5 дюйма к Raspberry Pi Zero W

Хотя плата Raspberry Pi Zero W имеет в своем составе HDMI выход, позволяющий подключать к ней полноценные мониторы, тем не менее, в условиях, когда пространство ограничено, возникает необходимость подключения к плате дисплеев меньших размеров. Поэтому в данной статье мы рассмотрим подключение к плате Raspberry Pi Zero W TFT ЖК дисплея с диагональю 3,5 дюйма. Данный дисплей легко подключается к плате и с него удобно управлять различными внешними устройствами (например, датчиками) подключенными к плате Raspberry Pi Zero W. Ранее на нашем сайте мы рассматривали подключение данного дисплея к плате Raspberry Pi.

Для удаленного управления платой Raspberry Pi Zero W и установки на нее необходимых драйверов для работы с TFT ЖК дисплеем мы будем использовать программное обеспечение MobaXterm, которое ранее мы рассматривали в статье про первоначальную настройку платы Raspberry Pi Zero W без использования монитора.

Необходимые компоненты

  1. Плата Raspberry Pi Zero W (купить на AliExpress).
  2. TFT ЖК дисплей диагональю 3,5 дюйма (купить на AliExpress).

Общие принципы работы TFT ЖК дисплея

Рассматриваемый в данной статье TFT ЖК дисплей имеет резистивный сенсорный экран диагональю 3,5 дюйма и совместим с любыми платами из семейства Raspberry Pi. Данный дисплей имеет разрешение 480×320 пикселов, цвет каждого его пиксела кодируется 16 битами. Дисплей легко размещается сверху платы Raspberry Pi Zero W и запитывается от ее контакта Vcc. Взаимодействие с дисплеем осуществляется с помощью интерфейса SPI. При подключенном данном дисплее к плате можно также дополнительно подключить и обычный монитор через разъем HDMI. Дисплей поддерживает подключение к плате Raspberry Pi Zero W по технологии «plug and play», что означает, что перезагрузка платы при его подключении не требуется. Максимальная частота интерфейса SPI у данного дисплея составляет 32 МГц, что позволяет воспроизводить на нем фильмы и играть в компьютерные игры.

TFT ЖК дисплей 3,5 дюйма содержит 26 контактов на своей обратной стороне, с помощью которых осуществляется его подключение к плате Raspberry Pi Zero W. С помощью данных контактов осуществляется взаимодействие по интерфейсу SPI между платой и дисплеем, а также подача на него питания с контактов платы 5V и 3.3V. Назначение контактов (распиновка) приведено в следующей таблице.

Номер контакта Обозначение Описание
1, 17 3.3V питание 3.3V
2,4 5V питание 5V
3,5,7,8,10,12,13,15,16 NC Не подключается, используется для поддержки
6,9,14,20,25 GND земля
11 TP_IRQ Контакт прерывания по уровню логического нуля
18 LCD_RS Контакт выбора регистра для контроллера дисплея
19 LCD_SI Вход данных SPI интерфейса
21 TP_SO Выход данных SPI интерфейса
22 RST Сброс
23 LCD_SCK Контакт синхронизации SPI интерфейса
24 LCD_CS Контакт выбора чипа SPI интерфейса ЖК дисплея
26 TP_CS Контакт выбора чипа SPI интерфейса сенсорного экрана

Теперь рассмотрим подключение этого дисплея к нашей плате.

Подключение 3.5” TFT ЖК дисплея к плате Raspberry Pi Zero W

Подключить данный дисплей к плате Raspberry Pi Zero W достаточно просто. У платы Raspberry Pi Zero W 40 контактов, а у дисплея – 26, поэтому удостоверьтесь в том, что вы подключили эти контакты к плате правильно. Лента контактов типа «мама» достаточно плотно входит в контакты платы типа «папа». Для подключения дисплея необходимо выровнять эти контакты друг напротив друга и немного нажать на верхнюю часть TFT ЖК дисплея. Внешний вид подключенного к плате Raspberry Pi Zero W 3.5” TFT ЖК дисплея выглядит следующим образом.

Подготовка платы Raspberry Pi Zero W к работе с 3.5” TFT ЖК дисплеем

После того как вы подключите дисплей к плате Raspberry Pi Zero W и подадите на плату питание, вы увидите на дисплее пустой белый экран, что будет то, что на плату не установлены необходимые драйверы для работы с дисплеем. Для удаленного управления платой Raspberry Pi Zero W мы в данном проекте будем использовать программу MobaXterm, но вы также можете использовать программу PuTTY если вам более удобно с ней работать.

Предполагается, что на вашу плату Raspberry Pi Zero W уже установлена операционная система и она полностью готова к работе, если же нет – то можете прочитать статью на нашем сайте про первоначальную настройку данной платы без использования монитора. В данном проекте мы будем использовать программу MobXterm в режиме SSH для удаленного управления платой Raspberry Pi Zero W и доступа к ее окну терминала.

Для подготовки платы Raspberry Pi Zero W к работе с 3.5” TFT ЖК дисплеем выполните следующую последовательность шагов.

Шаг 1. В окне терминала платы введите следующую команду:

В результате выполнения данной команды у вас откроется окно настроек платы.

Шаг 2. В открывшемся окне настроек выберите настройки подключения (‘Interface options’), а в них выберите ‘SPI option’. Затем нажмите ‘yes’ чтобы включить интерфейс SPI для использования в плате.

Шаг 3. После того как вы включили интерфейс SPI в настройках платы нам необходимо установить на плату Raspberry Pi Zero W драйвер для работы с сенсорными ЖК дисплеями. Сделать это можно с помощью команды:

После клонирования (копирования) данного драйвера на плату сменим текущий каталог в плате.

Шаг 4. После установки драйвера для работы с сенсорным дисплеем необходимо с помощью команды chmod изменить режим доступа к файлу.

Шаг 5. Перезагрузите вашу плату Raspberry Pi Zero W. Когда плата будет перезагружаться, вы увидите на экране TFT ЖК дисплея загрузочную информацию, после чего на экране дисплея появится рабочий стол платы.

Во время тестирования работы данного проекта его автор (ссылка на оригинал приведена в конце статьи) обнаружил, что 3.5” TFT ЖК дисплей успешно подключается к плате Raspberry Pi Zero W только если на ней установлена Raspberry Pi OS с рабочим столом и рекомендованным программным обеспечением (Raspberry Pi OS with desktop and recommended software), а если на плате установлены Raspberry Pi OS Lite или Raspberry Pi OS with desktop, то дисплей к плате не подключается.

Видео, демонстрирующее работу проекта

Источник статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *