- PVSM.RU - https://www.pvsm.ru -

Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно

Всем привет. Давно хотел собрать большой E-Ink дисплей, который можно поставить на стол и отображать на нем полезную информацию (погоду, календарь и т.д.) В этой статье расскажу, как можно собрать такое устройство на базе ESP32 и дисплея от Kindle DX значительно дешевле, чем Waveshare.

Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно - 1

Идея собрать такое устройство возникла еще зимой. Отдавать 120 вечнозеленых за дисплей от Waveshare и 30 за их контроллер совсем не хотелось. Поиск на али показал, что можно купить 9.7 дисплей ED097OC4 от Kindle DX за 30 долларов с доставкой. На нем и решил остановиться.
После гугления решил остановиться на вот этом самодельном контроллере hackaday.io/project/168193-epdiy-976-e-paper-controller [1] и он же на гитхабе github.com/vroland/epdiy [2] Проект активно развивается и я решил к нему присоединиться.

Дальше, как мне казалось, все будет просто: заказываем платы и компоненты, собираем, подключаем и радуемся. Но не тут то было. Спаяв плату и скомпилировав демку, я получил вот такую картинку.

Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно - 2

Связался с автором проекта, пришли к выводу, что причиной мог стать сдвиговый регистр (я применил немного не тот, который указан). Но предположение не подтвердилось. После ковыряния кода и экспериментов с частотой сигнала было найдено решение.
Как оказалось, дисплеи ED097OC4 бывают как минимум трех типов: обычный ED097OC4, высоко контрастный ED097TC2 (если хотите такой, стоит уточнить у продавца) и низкого качества, которые и попались мне. Подробности изучения проблемы доступны вот здесь github.com/vroland/epdiy/issues/15 [3]

Тем не менее, фикс в прошивке сделан и все заработало с почти незаметными артефактами в виде сжатия нескольких пикселей в районе полос на 1/3 и 2/3 экрана (обратите внимание на показания температуры на первой картинке в статье).

Пришло время написать программу для отображения погоды. Тут пришлось допилить драйвер и добавить недостающие функции отрисовки. А дальше портируем вот этот замечательный проект github.com/G6EJD/ESP32-e-Paper-Weather-Display [4] под наш дисплей и драйвер, немного меняем расположения элементов, убираем рамки и делаем прочие украшательства на свой вкус. Подробно останавливаться на коде не буду, все описал на гитхабе github.com/vroland/epdiy/tree/master/examples/weather [5]

В итоге имеем интересное многофункциональное устройство на базе уже народного модуля умного дома ESP32 и одного из самых больших и доступных E-Ink дисплеев на рынке. Все вместе (дисплей, компоненты, печатные платы) мне обошлось около 70 долларов.

Полезные ссылки:
essentialscrap.com/eink/waveforms.html [6]
hackaday.io/project/21607-paperback-a-desktop-epaper-monitor [7]
hackaday.io/project/11537-nekocal-an-e-ink-calendar [8]

Автор: Михаил

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/diy-ili-sdelaj-sam/354779

Ссылки в тексте:

[1] hackaday.io/project/168193-epdiy-976-e-paper-controller: https://hackaday.io/project/168193-epdiy-976-e-paper-controller

[2] github.com/vroland/epdiy: https://github.com/vroland/epdiy

[3] github.com/vroland/epdiy/issues/15: https://github.com/vroland/epdiy/issues/15

[4] github.com/G6EJD/ESP32-e-Paper-Weather-Display: https://github.com/G6EJD/ESP32-e-Paper-Weather-Display

[5] github.com/vroland/epdiy/tree/master/examples/weather: https://github.com/vroland/epdiy/tree/master/examples/weather

[6] essentialscrap.com/eink/waveforms.html: http://essentialscrap.com/eink/waveforms.html

[7] hackaday.io/project/21607-paperback-a-desktop-epaper-monitor: https://hackaday.io/project/21607-paperback-a-desktop-epaper-monitor

[8] hackaday.io/project/11537-nekocal-an-e-ink-calendar: https://hackaday.io/project/11537-nekocal-an-e-ink-calendar

[9] Источник: https://habr.com/ru/post/510102/?utm_source=habrahabr&utm_medium=rss&utm_campaign=510102