Главная » Обзоры
Призовой фонд
на сентябрь 2019 г.
1. Осциллограф DSO138
Паяльник
2. 1000 руб
Паяльник

Обзор e-ink дисплея 800х600, 4,3"

Ко мне в руки попал довольно интересный девайс, а именно дисплейный модуль на котором установлен дисплей, работающий по технологии "электронных чернил", они же e-ink. Давайте же посмотрим, чем же он уникален. Продает данные дисплеи компания DF-Robot, соответственно, посылки приходят вот в таких коробках с символикой компании:

Сам дисплей обернут вспененным упаковочным нечто и помещен в антистатический ZIP-пакет:

Внутри пакета обнаружился сам дисплей и провода для подключения оного:

Вот и вся комплектация. На самом деле этого более чем достаточно для работы с дисплеем. Но прежде чем приступить к подключению попытаюсь немного рассказать об отличительных особенностях данного типа дисплеев.

Итак, технология e-ink подразумевает, что изображение на дисплее максимально приближено к изображению на листе бумаги. Отсюда и светлый фон. Но это не все. Есть еще одна замечательная особенность - отсутствие потребления в статическом режиме. Т.е. при отключении питания изображение сохраняется неопределенно долго.Кроме этого такие дисплеи не имеют задней подсветки. Изображение становится видимым за счет отраженного света. Долгое время e-ink дисплеи были черно-белые, но не так давно начался выпуск цветных дисплеев. В нашем случае дисплей черно-белый, но поддерживает 4 градации серого цвета. Не густо, конечно, но уже можно отобразить изображения. Кроме этого e-ink дисплеи отличаются малой толщиной. Конкретно здесь толщина всего 1,5мм.

Модуль имеет следующие технические характеристики:

  • Размеры модуля - 118*75 мм;
  • Размеры экрана - 4,3";
  • Разрешение - 800х600 px;
  • Количество градаций серого - 4;
  • Максимальная частота обновления - 2 Гц;
  • Интерфейс управления - UART;
  • Напряжение питания - 3,3 - 5 В;
  • Потребляемый ток в режиме покоя - 5 мА;
  • Потребляемый ток при обновлении экрана - ~480 мА в течении 32 мс;

Настало время подключить модуль и попытаться вывести да экран что-то осмысленное. Сделать это довольно легко, т.к. модуль вполне себе умный. Т.е. вся работа по общению с самим дисплеем возложена на МК, установленный на плате модуля:

Кроме МК на плате присутствует два чипа памяти (FLASH и RAM) и разъем для MicroSD карточек. Т.е. все, что требуется для получения изображения - отправить набор команд (чуть позже я расскажу о них подробнее). Управляется модуль по UART, скорость по умолчанию 115200 бод/с. Для первоначальной проверки вполне достаточно обычного USB-UART адаптера. Тем более, производитель сделал специальное ПО с достаточно подробной инструкцией при помощи которого можно управлять работой дисплея.

Из 6 доступных проводов достаточно подключить лишь 4 - VCC, GND, DI (rx), DO (tx). Что я и сделал. При подаче питания происходит очистка рабочей области дисплея. После этого модуль готов к приему команд. Выбираем СОМ порт, и жмем "Open". Связь с дисплеем можно проверить при помощи кнопки "Shake Hands". Если все подключили верно, дисплей пришлет "ОК" в ответ. Каждая отправляемая команда высвечивается в окне программы, что позволяет достаточно легко соотнести их со списком команд в документации и быстро разобраться в работе модуля.

Модуль поддерживает вывод графических примитивов (точка, линия, треугольник, прямоугольник, круг и их закрашенные версии), изображений, хранящиеся на MiscroSD карте или внутренней Flash и текст (доступные размеры маленький, средний и большой) Все это можно выводить как на белом фоне, так и в инверсии, на черном или сером. Однако, для текста есть серьезное ограничение - язык. Для работы доступны лишь английский и китайский языки. Других языков просто нет в установленных шрифтах и добавить их нельзя (Задавал вопрос по этому поводу производителю. Действительно нельзя). Так что либо учить языки, либо писать транслитом.

Для получения изображения требуется отправить команды на вывод (можно одну, можно несколько подряд) и нажать кнопку Refresh. После этого отправленное появится на экране.

Как текст, так и графика легко читаемы, что вполне ожидаемо для разрешения 800х600 точек при размерах дисплея 4,3". Для того, чтобы вывести изображение необходимо прогнать его через специальную программу, предоставленную производителем. Тут все просто, открываем картинку, через меню Tools->Convert переводим цвета в градации серого и сохраняем как *.bmp с именем не длиннее 7 символов.

После чего, копируем на MicroSD, устанавливаем ее в модуль и шлем команду вывода изображения с указанием имени файла, обновляем экран и вуаля:

Управлять модулем с ПК, конечно, прикольно, но подключить его к МК куда интереснее. Что я и сделаю. Для работы буду использовать плату с STM32F103VET6. На самом деле здесь хватило бы и чего-то вроде AtTiny13, т.к. команды очень просты.Но, что есть, к тому и подключаю. Структура команд, как и сами команды, подробно описаны в документации. Более того, все это дело дополнено примерами для каждой команды. Кроме этого, производитель предоставляет библиотеку для Arduino. Все команды имеют вот такую структуру:

Заголовок - 0xA5 Длина пакета Типа команды Данные Окончание - 0xCC 0x33 0xC3 0x3C Четность
1 байт 2 байта 1 байт 0-1024 байт 4 байта 1 байт

Все довольно просто. В длину пакета входят все байты пакета, включая заголовок и байт четности. Байт четности считается обычным XOR всех байтов пакета. 
Подключаем, запускаем, вуаля!
 

Весь список поддерживаемых команд я приводить не буду, дабы не превращать статью в нечто бесконечное. Приведу лишь несколько из них в качестве примера.

Выбор устройства хранения.
0xA5 0x000A 0x07 0x01  0xCC 0x33 0xC3 0x3C 0xA9
Обновление изображения.
0xA5 0x0009 0x0A  0xCC 0x33 0xC3 0x3C 0xA6
Очистка дисплея.
0xA5 0x0009 0x2E  0xCC 0x33 0xC3 0x3C 0x82
Отображение текста.
0xA5 0x000D + длина строки текста 0x30 X(2 байта), Y(2 байта), Строка текста в кодировке ASCII  0xCC 0x33 0xC3 0x3C XOR
Отображение окружности.
0xA5 0x000А 0x26 X(2 байта), Y(2 байта), R(2 байта)  0xCC 0x33 0xC3 0x3C XOR

Как видите, все предельно просто. При работе с модулем рекомендуется ожидать отчета о выполнении команды и только после этого слать следующую. Однако, модуль умеет запоминать пришедшие команды и последовательно их выполнять. В принципе выводится все то же самое, что и с ПК, ничего нового нет:

Изображения смотрятся на удивление неплохо. Конечно, детали на темных изображениях не всегда хорошо различимы, но это и не TFT дисплей, число градаций серого здесь всего 4. К сожалению, здесь присутствует болезнь всех e-ink дисплеев - дисплей очищается не полностью. Т.е. остается едва видимое старое изображение. На фото данный эффект почти не заметен, но он есть. Лечится это дело - несколькими обновлениями экрана подряд. Либо можно вывести закрашенный прямоугольник на весь дисплей, предварительно указав в параметрах дисплея белую отрисовку на черном фоне. 

Итак, подведем итоги:

Плюсы:

  • Низкое энергопотребление.
  • Отсутствие необходимости в постоянном наличии питания.
  • Высокое разрешение и благодаря этому - высокая четкость изображения.
  • Простота управления.

Минусы.

  • Отсутствие поддержки русского языка.
  • Отсутствие возможности смены шрифтов.
  • Отсутствие частичного обновления.
  • Не до конца затирается предыдущее изображение (болезнь всех e-ink).
  • Довольно высокая цена. Однако тут стоит учитывать малую распространенность дисплеев данного типа. Кроме этого, e-ink дисплеи в принципе недешевы.

Кроме этого, в качестве управляющего выбран довольно распространенный МК STM32F103, что делает возможным написание своей прошивки для работы с дисплеем, если получится узнать, что за контроллер стоит внутри дисплея. На этом у меня все. Лично мне дисплей понравился. Довольно легко можно сделать что-то вроде доски уведомлений с батарейным питанием, соединив модуль с тем же ESP8266. Хотя, конечно, огорчило отсутствие возможности подгружать различные шрифты, в т.ч. а особенно русскоязычные. Ну а дальше решать вам, уважаемые читатели. Ну а на канале Паяльник ТВ доступен видео обзор данного модуля. До новых встреч.

P.S. Прикрепляю только мануал, ибо производитель может менять версии ПО и библиотек, а тут будут оставаться старые.

Прикрепленные файлы:

Теги:

Опубликована: 0 1
Я собрал 0 1
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 1 чел.

Комментарии (1) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Макетная плата для пайки (10 шт)
Макетная плата для пайки (10 шт)
AVR-программатор USB ASP Программатор Pickit3
вверх