Москва, ул. Пушкинская, д.12
Акции
Бренды
О компании
Помощь
  • Методы оплаты
  • Методы доставки
  • Гарантия
  • Вопрос-ответ
Блог
Информация
  • Политика конфиденциальности
  • Политика использования файлов cookie
  • Договор публичной оферты
Отзывы
Контакты
    +7 100 000-00-11
    +7 100 000-00-11 Консультация
    +7 100 000-00-22 Отдел продаж
    +7 100 000-00-33 Бухгалтерия
    E-mail
    info@site.com
    Адрес
    Москва, ул. Пушкинская, д.12
    Режим работы
    Пн - Вс: 10.00 - 19.00
    3d-xpert
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    • 3D принтеры
      3D принтеры
      • Печать пластиком (FDM/FFF)
      • Печать фотополимером (SLA/DLP/LCD)
      • Печать воском (MJP)
      • Для дома
      • Для бизнеса
      • Для производства
      • Промышленные
    • 3D-сканеры
      3D-сканеры
    • Материалы для 3D печати
      Материалы для 3D печати
      • Пластики
      • Фотополимеры
    • Комплектующие 3D принтера
      Комплектующие 3D принтера
      • Электроника
      • Механика
      • Нагревательные столы и сопутствующие
      • Экструдеры
      • Сушилки для пластика
      • УФ-камеры
      • Мойки
      • Ультразвуковые ванны (мойки)
      • 3D ручки
      • Расходные материалы для SLA / LCD
      • Сопутствующие
      • Наборы для мейкеров
      • Инструменты для 3D печатника
      • Постобработка
      • Адгезивы
      • Автоматические системы подачи пластиков (АМС)
    • Arduino и робототехника
      Arduino и робототехника
      • Arduino
      • Raspberry Pi
      • Обучающие наборы
      • Orange Pi
      • Одноплатники
      • Модули
      • Датчики
      • Дисплеи
      • Механика
      • Макетные платы
      • Светодиоды
      • Провода и кабели
      • Источники питания
      • Радиодетали
    • Комплектующие ЧПУ станка
      Комплектующие ЧПУ станка
      • Шаговые двигатели и аксессуары
      • Зубчатые ременные передачи
      • Шарико-винтовые передачи (ШВП)
      • Трапецеидальные передачи винт-гайка
      • Цилиндрические направляющие
      • Профильные направляющие
      • Муфты соединительные
      • Электроника
      • Фрезы
      • Карбоновый профиль / трубки
      • Пневматическое оборудование
      • Системы подачи смазки
      • Сопутствующие
      • Шпиндели и сопутствующие
      • Механика
      • Конструкционный профиль
      • Комплектующие OpenBuilds
      • Лазерные станки
      • Лазерная резка и аксессуары
    • Инструменты
      Инструменты
      • Зачистка и обрезка кабеля
      • Измерительный инструмент
      • Кабель и провода
      • Клеевые пистолеты (термопистолеты)
      • Напильники и надфили
      • Обжимной инструмент
      • Отвертки
      • Паяльное оборудование
      • Пинцеты
      • Расходные материалы
    • Запчасти для 3D принтеров по брендам
      Запчасти для 3D принтеров по брендам
      • Bambu Lab
      • Creality
      • Flashforge
      • Anycubic
      • ELEGOO
      • Flying Bear
      • Qidi
      • Sovol
      • 3DIY printers
    3D принтеры 3D-сканеры Материалы для 3D печати Комплектующие 3D принтера Arduino и робототехника Комплектующие ЧПУ станка Инструменты Запчасти для 3D принтеров по брендам
    3d-xpert
    • 3D принтеры
      3D принтеры
      • Печать пластиком (FDM/FFF)
      • Печать фотополимером (SLA/DLP/LCD)
      • Печать воском (MJP)
      • Для дома
      • Для бизнеса
      • Для производства
      • Промышленные
    • 3D-сканеры
      3D-сканеры
    • Материалы для 3D печати
      Материалы для 3D печати
      • Пластики
      • Фотополимеры
    • Комплектующие 3D принтера
      Комплектующие 3D принтера
      • Электроника
      • Механика
      • Нагревательные столы и сопутствующие
      • Экструдеры
      • Сушилки для пластика
      • УФ-камеры
      • Мойки
      • Ультразвуковые ванны (мойки)
      • 3D ручки
      • Расходные материалы для SLA / LCD
      • Сопутствующие
      • Наборы для мейкеров
      • Инструменты для 3D печатника
      • Постобработка
      • Адгезивы
      • Автоматические системы подачи пластиков (АМС)
    • Arduino и робототехника
      Arduino и робототехника
      • Arduino
      • Raspberry Pi
      • Обучающие наборы
      • Orange Pi
      • Одноплатники
      • Модули
      • Датчики
      • Дисплеи
      • Механика
      • Макетные платы
      • Светодиоды
      • Провода и кабели
      • Источники питания
      • Радиодетали
    • Комплектующие ЧПУ станка
      Комплектующие ЧПУ станка
      • Шаговые двигатели и аксессуары
      • Зубчатые ременные передачи
      • Шарико-винтовые передачи (ШВП)
      • Трапецеидальные передачи винт-гайка
      • Цилиндрические направляющие
      • Профильные направляющие
      • Муфты соединительные
      • Электроника
      • Фрезы
      • Карбоновый профиль / трубки
      • Пневматическое оборудование
      • Системы подачи смазки
      • Сопутствующие
      • Шпиндели и сопутствующие
      • Механика
      • Конструкционный профиль
      • Комплектующие OpenBuilds
      • Лазерные станки
      • Лазерная резка и аксессуары
    • Инструменты
      Инструменты
      • Зачистка и обрезка кабеля
      • Измерительный инструмент
      • Кабель и провода
      • Клеевые пистолеты (термопистолеты)
      • Напильники и надфили
      • Обжимной инструмент
      • Отвертки
      • Паяльное оборудование
      • Пинцеты
      • Расходные материалы
    • Запчасти для 3D принтеров по брендам
      Запчасти для 3D принтеров по брендам
      • Bambu Lab
      • Creality
      • Flashforge
      • Anycubic
      • ELEGOO
      • Flying Bear
      • Qidi
      • Sovol
      • 3DIY printers
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    3d-xpert
    Телефоны
    +71000000011 Консультация
    +71000000022 Отдел продаж
    +71000000033
    E-mail
    info@site.com
    Адрес
    Москва, ул. Пушкинская, д.12, Москва, ул. Пушкинская, д.12
    Режим работы
    Пн - Вс: 10.00 - 19.00
    0
    0
    0
      • Каталог
      • 3D принтеры
        • 3D принтеры
        • Печать пластиком (FDM/FFF)
        • Печать фотополимером (SLA/DLP/LCD)
        • Печать воском (MJP)
        • Для дома
        • Для бизнеса
        • Для производства
        • Промышленные
      • 3D-сканеры
      • Материалы для 3D печати
        • Материалы для 3D печати
        • Пластики
        • Фотополимеры
      • Комплектующие 3D принтера
        • Комплектующие 3D принтера
        • Электроника
        • Механика
        • Нагревательные столы и сопутствующие
        • Экструдеры
        • Сушилки для пластика
        • УФ-камеры
        • Мойки
        • Ультразвуковые ванны (мойки)
        • 3D ручки
        • Расходные материалы для SLA / LCD
        • Сопутствующие
        • Наборы для мейкеров
        • Инструменты для 3D печатника
        • Постобработка
        • Адгезивы
        • Автоматические системы подачи пластиков (АМС)
      • Arduino и робототехника
        • Arduino и робототехника
        • Arduino
        • Raspberry Pi
        • Обучающие наборы
        • Orange Pi
        • Одноплатники
        • Модули
        • Датчики
        • Дисплеи
        • Механика
        • Макетные платы
        • Светодиоды
        • Провода и кабели
        • Источники питания
        • Радиодетали
      • Комплектующие ЧПУ станка
        • Комплектующие ЧПУ станка
        • Шаговые двигатели и аксессуары
        • Зубчатые ременные передачи
        • Шарико-винтовые передачи (ШВП)
        • Трапецеидальные передачи винт-гайка
        • Цилиндрические направляющие
        • Профильные направляющие
        • Муфты соединительные
        • Электроника
        • Фрезы
        • Карбоновый профиль / трубки
        • Пневматическое оборудование
        • Системы подачи смазки
        • Сопутствующие
        • Шпиндели и сопутствующие
        • Механика
        • Конструкционный профиль
        • Комплектующие OpenBuilds
        • Лазерные станки
        • Лазерная резка и аксессуары
      • Инструменты
        • Инструменты
        • Зачистка и обрезка кабеля
        • Измерительный инструмент
        • Кабель и провода
        • Клеевые пистолеты (термопистолеты)
        • Напильники и надфили
        • Обжимной инструмент
        • Отвертки
        • Паяльное оборудование
        • Пинцеты
        • Расходные материалы
      • Запчасти для 3D принтеров по брендам
        • Запчасти для 3D принтеров по брендам
        • Bambu Lab
        • Creality
        • Flashforge
        • Anycubic
        • ELEGOO
        • Flying Bear
        • Qidi
        • Sovol
        • 3DIY printers
    • Кабинет
    • Сравнение
    • Избранное
    • Корзина
    • Акции
    • Бренды
    • О компании
    • Помощь
      • Помощь
      • Методы оплаты
      • Методы доставки
      • Гарантия
      • Вопрос-ответ
    • Блог
    • Информация
      • Информация
      • Политика конфиденциальности
      • Политика использования файлов cookie
      • Договор публичной оферты
    • Отзывы
    • Контакты
    +71000000011 Бухгалтерия
    • Телефоны
    • +71000000011 Консультация
    • +71000000022 Отдел продаж
    • +71000000033 Бухгалтерия
    • info@site.com
    • Москва, ул. Пушкинская, д.12, Москва, ул. Пушкинская, д.12
    • Пн - Вс: 10.00 - 19.00
    Главная
    Блог
    Дисплеи
    Дисплей E-paper. Электронная бумага

    Дисплей E-paper. Электронная бумага

    Дисплей E-paper. Электронная бумага
    Дисплеи 24 января 2025

    Содержание

    • Назначение, плюсы и минусы,
    • Принцип работы,
    • E-paper и Ардуино,
    • Вывод,
    • FAQ.

    Назначение, плюсы и минусы

    Электронная бумага (E-Paper), также известная как электронные чернила (E-ink устар.) - относительно новое электронное устройство отображение информации, знакомое нам по так называемым “читалкам” - электронным книгам. За последние лет пятнадцать эти носители в среде книголюбов, особенно молодых, почти полностью вытеснили своих бумажных конкурентов, хотя бы потому, что один такой легкий и компактный гаджет может заменить собой не то что пару книжных шкафов, а хоть всю мировую библиотеку.

    e-paper-knigi.jpg

    Возникает вопрос: зачем нужна электронная книга, если у всех уже и так имеются планшеты и смартфоны, способны выполнять ту же работу? Могут конечно, но e-paper обладает парой преимуществ, которые с лихвой оправдывают ее покупку. Первое, оно же главное, электронная бумага практически полностью повторяет собой свойства обычной целлюлозной бумаги, то есть только отражает падающий на нее свет, ничего не излучает, а значит не мерцает, имеет отличную четкость и контрастность изображения, не “давит” на глаза и портит их намного медленнее чем традиционные мониторы и дисплеи.

    sravnenie-displey.jpg

    Второе замечательное свойство, частично вытекающее из первого, потребление энергии на порядки ниже, бумага не светится (пока говорим о классической версии, без подсветки), электричество потребляет лишь в момент смены изображения, после чего текст и картинки не требуют никаких дополнительных ресурсо, чтобы оставаться на экране. Аккумулятора книги хватит на несколько суток непрерывной работы. Еще один бонус - электронная бумага очень тонкая и легкая, при необходимости сделать из нее выпуклый или вогнутый экран гораздо проще и дешевле.

    elektron-bumaga-tonkaya.png

    Электронная бумага - гениальное изобретение и замечательная альтернатива бумаге настоящей, однако у нее есть ряд существенных недостатков, которые ограничивают ее применение в ряде случаев. А именно: медленная смена изображения, от половины секунды до десятков секунд, ограниченная цветовая гамма (чаще всего черно-белая), малое количество оттенков по сравнению с традиционными мониторами. Забегая вперед скажем, что с развитием технологий перечисленные недостатки становятся все менее заметны, однако до сих пор на устройствах с такими дисплеями ни видео толком не посмотреть, ни в динамичные игрушки не поиграть.

    Немного о перспективах. На данный момент уже существуют цветные версии e-paper. Двухцветные широко используются в дисплеях для DIY-изделий и один такой мы даже рассмотрим в этой статье. Более продвинутые версии имеют в арсенале до 7 цветов, сочетаниями которых можно получать практически полноцветное изображение. Скорость обновления страниц тоже постоянно растет от версии к версии и, на самых последних поколениях, уже приближается к обычным мониторам. Оснащение экрана сенсорным слоем и подсветкой позволило недавно появиться в продаже полноценному смартфону на e-ink, который демонстрирует неплохие результаты в сравнении со своими традиционными собратьями. На очереди e-ink ноутбук.

    e-ink-noutbuk.jpg

    Будем болеть за технологию электронной бумаги, пожелаем ей развития и процветания во благо нашего зрения.


    Принцип работы

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

    princip-rabot-e-ink.jpg

    Разумеется, на перемещение толкающихся внутри капсулы шариков требуется время, отсюда и медленная реакция. Более того, часть “неправильных” шариков при смене цвета обязательно застрянет среди “правильных” товарищей, и на экране останутся артефакты - “призраки” прошлого. Бороться с этим можно многократной сменой кадра, как бы встряхивая капсулы, на что тратится еще больше времени. Однако со временем растет миниатюризация, капсулы становятся все меньше, а значит увеличивается разрешение дисплея и повышается скорость его работы.

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

    princip-rabot-e-ink-2.jpg

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

    princip-rabot-e-ink-3.jpg

    Если вам показалось, что подобным образом работают обычные эмиссионные дисплеи, то вам не показалось, это все тот же принцип RGB, известный со школьного курса физики.

    А теперь настала пора переходить от теории к практике. Какие дисплеи e-paper, как и для чего можно применять DIY-мастеру в реальной жизни. Что для этого нужно и что из этого получится?


    E-paper и Ардуино

    В продаже имеется несколько разновидностей дисплеев, различающихся размером, цветностью и компоновкой. Самые бюджетные - черно-белые, с диагональю полтора дюйма, они вполне могут демонстрировать небольшое количество информации, например время, температуру, влажность, скорость и прочие цифры, при условии, что они меняются не очень часто. На дисплей можно вывести надписи, заранее подготовленную картинку или несложную инфографику.

    e-paper-arduino.jpg

    Далее размеры дисплеев растут по дюйму до размера 7,5 и более. К некоторым добавляется желтый или красный цвет, что разнообразит картину, делает ее нагляднее и веселее.

    e-paper-displey-arduino.jpg

    Дисплеи продаются как в “чистом” виде, без драйвера, так и в виде модуля, который уже готов к подключению к Ардуино сразу из коробки. Если нет технических оснований для использования бумаги на некотором расстоянии от драйвера, например ограниченное пространство, лучше покупать модуль в сборе, это значительно проще и надежнее.

    Нам в руки попал именно такой модуль с драйвером на борту. Размер средний - 2,9 дюйма, прямоугольной формы, в миллиметрах выглядит вот так.

    e-paper-displey-arduino-1.jpg

    Толщина 7 мм без защитного стекла, которое идет в комплекте. Еще в комплект входят четыре нейлоновые стойки с болтами и гайками, для легкого монтажа дисплея к чему угодно. Дисплей достался трехцветный: черно-бело-красный.

    e-paper-displey-arduino-2.jpg

    На дисплее застыла тестовая картинка, залита на заводе-производителе, что однозначно доказывает его работоспособность и исправность. Сохранять изображение после отключения питания - важнейшее и полезнейшее свойство электронных чернил.

    На обратной стороне два параллельно распятых разъема интерфейса и переключатель режима работы на 3 или 4 контакта.

    e-paper-kontakt.jpg

     

    e-paper-kontakt-2.jpg

    Продавец не публикует рекомендуемые библиотеки для работы, поэтому для начала пробуем подобрать их самостоятельно. Первой в глаза бросается библиотека от заслуженно знаменитой Adafruit, которая так и называется “

    Adafruit EPD

    ”. Сокращение EPD, вероятно, означает Electronic Paper Display. Попытка запустить бумагу с этой библиотекой оказывается напрасной, дисплей не реагирует никак. Перебирались все возможные варианты подключения, результат нулевой. Вывод: скорее всего, библиотека не подходит для данного дисплея, но не исключено, что, потратив время на адаптацию, от нее можно чего-то добиться.

    Вторая попытка скрестить e-paper с Ардуино была предпринята при помощи библиотеки со сложным названием “

    GxEPD2

    ”, именно ее рекомендует сообщество электроннокнижников. Самый большой плюс библиотеки - поддержка десятков дисплеев различных размеров и производителей. Самым большой минус - тот же самый. При запуске примера в IDE сразу подгружаются с десяток файлов, которые требуется изучить и настроить. Следует закомментировать ненужные строки и раскомментировать нужные, указать чип драйвера, цветность, размер и подключенные ноги. Рекомендуется удалить все ненужное, потому что полная версия простой тестовой прошивки после компиляции занимает от 80 до 95% флеш-памяти и порядка 80% динамической для контроллера Atmega32. Компилятор даже сообщает, что с такими критическими нагрузками программа может работать нестабильно. Потратив какое-то время, можно почистить библиотеку до разумных 60-70% памяти, что тоже особо не даст разгуляться основному коду.

    С библиотекой “GxEPD2” дисплей наконец-то ожил. На экране появились надписи разного размера и цвета, зажглись простые геометрические фигуры, а в конце нас даже порадовали полноэкранным двухцветным иероглифом. Вывод: библиотека работает с этим дисплеем, но нуждается в настройке и подгонке по многим параметрам, а также исключением ненужного кода для максимального сокращения своей громоздкости. Пользоваться можно.

    На этом можно было бы остановиться, но практически случайно мы нашли библиотеку от производителя. На нее нет ссылки у продавцов, поисковик ее загнал на какую-то далекую страницу, что очень странно, но тем не менее она отыскалась. Строго говоря, это даже не библиотека, а набор полноценных примеров для разных типов и размеров дисплеев. Каждый пример включает полтора десятка файлов, из которых пять - латинские шрифты разного размера от 8 до 24 пунктов. Имеется запускаемый файл с примером кода, файлы с подгружаемыми функциями и файл с примером картинки в виде шестнадцатеричного массива. Примеры есть на все дисплеи этого производителя, причем каждый для трех видов контроллеров: AVR, STM32 и Raspberry. Скачиваются одним архивом. Ссылка на сайт с примерами и мануалом по подключению и работе

    здесь

    .

    Данная, своего рода, SDK показалась нам оптимальной. Благодаря разделению примеров по аппаратному признаку, настройки сведены к минимуму, ничего лишнего в код практически не попадает, скомпилированный код, конечно, компактным не назвать, но занимает он почти вдвое меньше памяти, чем предыдущее решение. Давайте немного остановимся на этом варианте.

    Не будем дословно повторять написанное на сайте производителя, разберем несколько функций и выведем на экран картинку.

    Итак, сперва подключаем дисплей к Ардуино согласно приложенной схеме.

    shema-podklucheniya.jpg

    Переключатель интерфейса BS1 на дисплее устанавливаем в положении L - на 4 провода.

    Загружаем пример согласно имеющемуся у нас на руках дисплею (в нашем случае epd2in9bc), запускаем и смотрим на результат. На дисплее появится несколько простых фигур, надписи, затем двухцветная картинка (если дисплей двухцветный), после чего дисплей выключается, его можно даже отсоединять от Ардуино, картинка с живописными иероглифами все равно останется.

    Наблюдая за процессом вывода изображения узнаем несколько фактов. Первое: время на формирование полного кадра требуется порядка 15 секунд, да, скорость обновления не его конёк. Второе: изображение получается очень четким и приятным, практически как на лощеной бумаге дорогого журнала. Третье: цветная часть графики выводится после черной, надо обязательно это учитывать при работе, если черный и цветной объект пересекутся, место пересечения будет в любом случае цветным.

    Все функции делятся на несколько категорий:

    • формирование примитивов, простых элементов: точка, линия, квадрат, круг, заполненный квадрат и заполненный круг,
    • формирование текста, строчные и прописные латинские буквы, цифры, знаки препинания и другое (полный список можно посмотреть в файле с шрифтами, там все наглядно),
    spisok.jpg
    • формирование растровой картинки,
    • вывод на экран,
    • очистка экрана.

    Что нужно знать о примитивах и тексте. Сами функции не дают команду контроллеру на вывод картинки на дисплей, они лишь заполняют буфер экрана в нужных местах нужным цветом. Например, строка:

    paint.DrawStringAt(0, 0, "e-Paper Demo", &Font24, COLORED);

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

    epd.SetPartialWindowBlack(paint.GetImage(), 24, 32, paint.GetWidth(), paint.GetHeight());

    Она закидывает картинку в память дисплея на указанное место (24, 32) и с указанным цветом (Black). Таким образом сперва готовим и размещаем в памяти все необходимые элементы (текст и примитивы), а затем уже даем драйверу команду все это отобразить:

    epd.DisplayFrame();

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

    setka-displeya.png

    Текст всегда создается на подложке, то есть в окружении прямоугольника цвета фона (белого), если вывести текст поверх другой картинки или надписи, под ним будет белая непрозрачная “рамка”. Правила несложные, но и они могут причинять страдания при написании кода.

    В принципе, при помощи имеющихся примитивов можно изобразить все, что угодно, однако более сложные картинки иногда проще подготовить в растровом формате, то есть в виде набора точек. Делается это в несколько этапов. Давайте рассмотрим процесс на примере, а именно будем изображать на нашем дисплее логотип сайта 3D-DIY.

    logo-3diy.png

    Сперва мы готовим картинку в любом графическом редакторе: обрезаем и масштабируем рисунок до нужного разрешения (у нас 296x128), не забывая, как расположена координатная сетка, затем разбиваем рисунок на два имеющихся в распоряжении цвета (черный и красный). Да, логотип получится не в оригинальном колоре, но тут мы бессильны, делаем из чего можем, буквы и тени от щита создадим черными, сам щит красным. Сохраняем два черно-белых файла, для черного и красного, в формате gif.

    3diy-chast1.gif

     

    3diy-chast2.gif

    Примечание: при смене палитры с многоцветной на черно-белую, края букв и прочих фигур могут стать “пупырчатыми”. В случае градации серого это был бы полутон, но у нас его нет.

    p.jpg

    Если вы перфекционист, “побрейте” края попиксельно, например в программе Paint, на экране дисплея все будет смотреться чуть лучше.

    p-paint.jpg

    Следующий этап - перевести растровое черно-белое изображение в байтовый массив, где один пиксель равен одному биту. Несложно рассчитать размер будущего массива: разрешение 296*128 = 37888 пикселя, 8 бит в байте 37888/8 = 4736 байт. И таких массивов нужно два, для черного и для красного цвета, причем независимо от того, сколько точек будет цветных, даже чисто белая картинка будет того же размера. Итого потребуется целых 9472 байта для одной картинки! Разумеется, в динамической памяти контроллера такого размера данные не поместятся, поэтому размещать их будем в флеш-памяти, там же, где код, с помощью утилиты PROGMEM. Кстати, флеш-память у Ардуино UNO тоже не бесконечная, в наличии всего 32256 байт, а значит три картинки уже не оставят места для основной программы, имейте это в виду.

    Перевести картинку в набор данных можно и вручную, разбив ее на строки, ряды и группы по 8 пикселей, но никто такого делать не будет даже из спортивного интереса. Есть несколько готовых утилит и некоторые из них онлайновые. Одной такой мы сейчас воспользуемся.

    Заходим на сайт

    , находим там примерно такую форму:

    phorma.jpg

    Загружаем наш файл (а можно и оба сразу), в пункте OUTPUT выбираем “Arduino”, имя массива по умолчанию, ориентацию оставляем “Horizontal”.

    image25.jpg

    Жмем кнопку “Generate code”.

    image9.jpg

    Под кнопкой получаем окно с массивом, уходящим далеко вниз. Если вы загрузили две и более картинки, массивов будет два и более. Однако рекомендуем делать по одному, так проще копировать их в программу и труднее перепутать один с другим.

    image20.jpg

    В программе-примере открываем вкладку “imagedata.cpp”, где сразу видим начало первого “черного массива” (IMAGE_BLACK), при помощи копипасты заменяем его содержимое, начиная с первой строки цифр и до закрывающей фигурной скобки, на сгенерированный нами код. Строку с именем массива копировать и менять не надо! Повторяем то же самое для “красного массива” (IMAGE_RED).

    image21.jpg
    image11.jpg

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

    Все готово, остается дать команду на вывод картинки в программе, что делается одной строкой:

    epd.DisplayFrame(IMAGE_BLACK, IMAGE_RED);

    Для вывода картинки на экран такой процедуры достаточно. Если эта команда последняя и изображение менять больше не планируется, крайне рекомендуется добавить еще одну команду, “укладывающую в сон” дисплей. Так он практически отключится, перестанет потреблять энергию и его можно будет физически оторвать от Ардуино, сделав бейджиком.

    Если дисплей подключен правильно и программа составлена и скомпилирована без ошибок, мы наконец-то увидим, как картинка в течение нескольких секунд “проявляется”на экране. В результате получим яркое и симпатичное двухцветное изображение нашего логотипа.

    e-paper-3diy.jpg

    Для наглядности добавим к этой картинке подпись, чтобы точно не забыть, с чем мы имеем дело. Полностью основная программа разобранного примера будет выглядеть вот так:

    #include // подгружаем инструменты для работы SPI, дисплея и файл с картинкой #include "epd2in9b.h" #include "imagedata.h" #include "epdpaint.h" void setup() { Serial.begin(9600); // запуск сериал-порта (необязателен) Epd epd; // создаем экземпляр дисплея if (epd.Init() != 0) { // запускаем дисплей Serial.print("e-Paper init failed"); // если увидим эту надпись в ком-порту, значит что-то подключили не так return; } epd.ClearFrame(); // очищаем его внутреннюю память от прошлых картин epd.DisplayFrame(IMAGE_BLACK, IMAGE_RED); // загружаем в память дисплея картинку и немедленно выводим ее на экран paint.Clear(1); // фон надписи прозрачный paint.DrawStringAt(0, 0, "E-paper", &Font20, 0); // создаем картинку из строки 20ым размером epd.SetPartialWindowRed(paint.GetImage(), 20, 105, paint.GetWidth(), paint.GetHeight()); // размещаем ее в памяти в определенном месте epd.DisplayFrame(); // выводим на экран в дополнение к предыдущему изображению epd.Sleep(); // уходим в "сон" } void loop() {} // тут пусто

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

    logo-3diy-e-paper.jpg

    Глаз не оторвать!


    Вывод

    Электронная бумага, она же электронные чернила - интересный и, на наш взгляд, перспективный способ отображения информации на экране. Минимальное потребление энергии, высокая четкость изображения, приятный и безвредный вид, а также компактные размеры достойны того, чтобы обратить на нее пристальное внимание. Несмотря на медленную работу, ограниченную цветовую гамму, отсутствие подсветки и относительно высокую цену, электронная бумага вполне может занять место и в DIY-проектах и промышленных изделиях. И обязательно возьмите e-paper на заметку, если вам хочется иногда добавить красоты и “необычности” в ваше электронное творение.


    FAQ

    Какие дисплеи e-ink можно найти в продаже?

    Выбор дисплеев для подключения к Ардуино пока не очень велик, порядка десятка-полтора моделей, отличающихся размером и количеством цветов. Самый маленький и недорогой - черно-белый 1,54 дюйма, самый большой - семицветный 7,6 дюймов.

    Можно ли подключить семицветный дисплей к Ардуино?

    Подключить можно, но при его разрешении 600х448 пикселей и 7 цветах на одну картинку потребуется 235200 байт памяти, что способна принять в себя разве что Atmeta2560 из линейки контроллеров AVR, да и то со скрипом. STM32 справится с этой задачей лучше, благодаря большей памяти и быстродействию, Raspberry еще лучше.

    7-color-epaper.jpg

    Можно ли хранить картинки на внешнем устройстве и загружать их по мере необходимости?

    Да, теоретически можно подключить к Ардуино SD-карту и считывать информацию с нее, практически же это довольно сложно и достойно стать темой отдельного проекта и отдельной статьи. На карту можно записать огромное количество файлов с массивами данных или вовсе преобразовывать изображение напрямую с картинок, что конечно же потребуется немалого мастерства от программиста, зато снимет ограничение на количество картинок.

    В каких проектах можно применять e-paper?

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

    Можно ли использовать дисплей в качестве ценников, ярлыков и этикеток?

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

    Составит ли когда-нибудь e-ink реальную конкуренцию ЖК-дисплеем?

    В статье уже говорилось, что в чем-то электронная бумага даже выигрывает у ЖК-дисплеев, главный недостаток же в скорости работы. Сейчас уже существует “скоростная” электронная бумага, применяемая в топовых электронных книгах и некоторых смартфонах, но до DIY-индустрии она пока не добралась. Будем надеяться, что скоро можно будет запускать на электронной бумаге даже видео и полноцветную анимацию.

    Похожие статьи

    Обзор 3D принтера FlashForge Creator 5
    3D принтеры
    15 мая 2026
    Обзор 3D принтера FlashForge Creator 5
    Обзор 3D-принтера FlashForge 5M Pro
    3D принтеры
    21 марта 2025
    Обзор 3D-принтера FlashForge 5M Pro
    Изготавливаем вывеску. Идея для бизнеса?
    3D печать
    01 сентября 2024
    Изготавливаем вывеску. Идея для бизнеса?
    Назад к списку
    • Все публикации 273
      • 3D печать 62
      • 3D принтеры 57
      • 3D сканеры 1
      • Arduino механика 6
      • Arduino платы 8
      • Датчики 27
      • Дисплеи 6
      • Кейсы 1
      • Компоненты 13
      • Мировые новости 35
      • Модули 38
      • Проекты 7
      • Сопутствующие 2
      • ЧПУ 10
    Подпишитесь на рассылку наших новостей и акций
    Подписаться
    Подписаться
    на новости и акции
    Связаться с нами
    +71000000011
    +7 100 000-00-11 Консультация
    +7 100 000-00-22 Отдел продаж
    +7 100 000-00-33 Бухгалтерия
    E-mail
    info@site.com
    Адрес
    Москва, ул. Пушкинская, д.12
    Режим работы
    Пн - Вс: 10.00 - 19.00
    info@site.com
    Москва, ул. Пушкинская, д.12
    Каталог товаров
    3D принтеры
    3D-сканеры
    Материалы для 3D печати
    Комплектующие 3D принтера
    Arduino и робототехника
    Комплектующие ЧПУ станка
    Инструменты
    Запчасти для 3D принтеров по брендам
    Компания
    О компании
    Акции
    Блог
    Методы оплаты
    Методы доставки
    Гарантия
    Отзывы
    Контакты
    Личный кабинет
    Избранное
    Сравнение товаров
    Мои заказы
    Авторизация
    Регистрация
    Восстановление пароля
    Информация
    Политика конфиденциальности
    Политика использования файлов cookie
    Договор публичной оферты
    © 2026 Site
    Каталог товаров
    Компания
    Личный кабинет
    Информация
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Бренды Контакты