• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Модуль с E-ink экраном LILYGO T5-4.7. Подготовка изображения для вывода на дисплей.

5 марта, 2021

Приобрести можно тут: http://alli.pub/5lt20l

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

 

Данный дисплей имеет 4.7 дюйма диагональ. Разрешение у него 960 на 540 пикселей. Имеет 16 уровней серого. Мозгами данного устройства выступает ESP32-WROVER-E. Также выведены пины под коннекторы от контроллера. 14,15,12,13. Также есть возможность подключить сенсорную панель. Еще имеется 5 кнопок, одна из которых Reset. Питание Type-C.

Существует две версии данного девайса. Одина с гнездом под батарею 18650. Другая с  гнездом PH2.

Потребляет 5 вольт 1 ампер.

Вот так выглядит распиновка данного модуля:

 

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

Купить тачскрин можно тут: http://alli.pub/5lt268

купить магнитные крепления тут: http://alli.pub/5lt25g

 

Теперь что касается работы с дисплеем. необходимо скачать библиотеку для дисплея. Ее можно скачать по ссылке: https://github.com/Xinyuan-LilyGO/LilyGo-EPD47

С данной библиотекой идут сразу 4 примера работы с дисплеем. Их можно найти по пути в программе arduino ide после установки библиотеки. Файл->примеры->LilyGoEPD47. Там есть примеры градации серого, тоесть выводит изображение полосками с разными оттенками серого цвета. Также есть пример работы с тач скрином. С данным примером не получилось познакомиться, так как нет у меня тачскрина.

Также есть пример с которым пришел модуль. Он показывает вольтаж заряда и характеристики дисплея.

Ну и последний пример. Это тот с которым мы будем в этой статье играться. Это пример вывода изображения. Пример выводит 3 изображения меняющихся между собой каждые 3 секунды. Выглядит это все следующим образом:

Итак. Видим картинки конечно потрясные. И на E-ink дисплее выглядят просто божественно.

С помощью данного примера, он кстати называется drawImages мы можем выводить свое изображение какое захотим. Для этого выберем нужное изображение. Я выбрал изображение supergirl. И отредактируем его в paint.

Разрешение ставим приближенное к разрешению экрана. У экрана 960 на 540. Если Выставить по горизонтали разрешение 960 и сохранять пропорции, выставится для данной картинки 600. Это приемлемо. По этому оставляем так и сохраняем картинку в формате .png

Далее самое интересное. В архиве с библиотекой шли не только примеры, но еще и скрипт Python который позволяет конвертировать картинку .png в программный код для  вывода картинки на дисплей.

Для этого разархивируем архив. Открываем PowerShell. И командой в powershelle переходим в разархивированную папку, далее в папку scripts. Это делается командой cd. У меня это выглядит следующим образом:

Также в папку scripts нужно положить файл .png. И нужно чтоб небыло русских букв в пути к папке scripts.

Теперь нужно установить компонент Pillow. Это делается следующей командой:

python -m pip install pillow

После установки переходим к конвертации файла. Например, у меня изображение называется 123.png . Его будем конвертировать в файл demo.h. Тогда для этого находясь в папке со скриптом вводим следующую команду:

python imgconvert.py -i 123.png  -n demo -o demo.h

И тогда у нас конвертируется изображение в файл demo.h

 

Теперь открываем пример drawImages и видим что он состоит из 4 файлов:

Точнее на скрине уже 5 файлов. Также добавленный мной demo.h. Чтоб его добавить достаточно перекинуть получившийся файл demo.h в папку со скетчем. Скетч находится по пути: C:\Users\оператор\Documents\Arduino\libraries\LilyGo-EPD47-master\examples\drawImages

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

  1. Прописать файл demo.h командой #include “demo.h”

Далее в функции loop отредактировать следующее:

После этого загружаем скетч и наслаждаемся нашей картинкой на электронных чернилах. Также можно уменьшить скорость смены картинки увеличив update(3000) на свое значение. Где 3000 – это 3000 миллисекунд или 3 секунды

А вот так у нас показывается изображение:

Отредактированный пример можно скачать тут: https://disk.yandex.ru/d/jB7as7b6DT3lpQ

 

Видео с проделанной работой можно посмотреть тут:

Primary Sidebar

Поиск

Новые записи

  • Автоматизация оповещения о надвигающимся дожде в Home Assistant
  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)
  • Интеграция для локального управления (без интернета) ик пультом Tuya работающим по wifi из Home Assistant
  • Транслируем показания с Уличного Bluetooth Датчика температуры по BTHome на дисплей датчика температуры XIaomi LYWSD03MMC

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·