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

У Павла!

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

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

Март 5, 2021

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

Данный дисплей имеет 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

Поиск

Новые записи

  • Вывод картинки на OLED дисплей на микроконтроллере Raspberry pi pico
  • Программирование на raspberry pi pico через Arduino ide
  • Примитивный автопилот для машины на raspberry pi, arduino. OpenCV
  • Определение объектов на ESP32-CAM с помощью TensorFlow
  • Красивый ночник “Электронная свечка”

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


Secondary Sidebar

Свежие записи

  • Вывод картинки на OLED дисплей на микроконтроллере Raspberry pi pico
  • Программирование на raspberry pi pico через Arduino ide
  • Примитивный автопилот для машины на raspberry pi, arduino. OpenCV
  • Определение объектов на ESP32-CAM с помощью TensorFlow
  • Красивый ночник “Электронная свечка”




Copyright_У Павла! © 2021 ·