- PVSM.RU - https://www.pvsm.ru -
Всем привет. Давно хотел собрать большой E-Ink дисплей, который можно поставить на стол и отображать на нем полезную информацию (погоду, календарь и т.д.) В этой статье расскажу, как можно собрать такое устройство на базе ESP32 и дисплея от Kindle DX значительно дешевле, чем Waveshare.
Идея собрать такое устройство возникла еще зимой. Отдавать 120 вечнозеленых за дисплей от Waveshare и 30 за их контроллер совсем не хотелось. Поиск на али показал, что можно купить 9.7 дисплей ED097OC4 от Kindle DX за 30 долларов с доставкой. На нем и решил остановиться.
После гугления решил остановиться на вот этом самодельном контроллере hackaday.io/project/168193-epdiy-976-e-paper-controller [1] и он же на гитхабе github.com/vroland/epdiy [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
Нажмите здесь для печати.