Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

Универсальные пользовательские блоки.

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#1

Сообщение aidar_i » 19.09.2018{, 22:41}

Здесь обсуждалось создание ПБ, решил выложить отдельно, чтобы было удобно искать. Немного доработал блок.
Дисплеи LCD.ubl
(89.3 КБ) 950 скачиваний
Здесь выложил обновленный вариант блоков

Пример с переключающимися текстом и графикой
Вывод текста и графики_1 LCD12864.flp
(132.66 КБ) 939 скачиваний
В описаниях блока вставил нужную информацию и ссылки.
Пример с OLED дисплеем смотрите тут
Сделал на более старой библиотеке U8glib, тк есть очень много шрифтов с кириллицей, в блок я вставил только часть, но этого предостаточно.
Добавил в библиотеку шрифты с кириллицей:
u8g_my10x14rus
u8g_font_4x6rus
u8g_font_rus5x7
u8g_font_5x8rus
u8g_font_6x10rus
u8g_font_6x12rus
u8g_font_8x13rus
u8g_font_8x13Brus
u8g_font_8x13Orus
u8g_font_9x15rus
u8g_font_9x15Brus
u8g_font_9x18rus
u8g_font_9x18Brus
u8g_font_10x20rus
u8g_font_rusUnifont
Выложил папки с шрифтами, в одной - установленные, в другой - не установленные. Можно добавить, если нужен будет определенный шрифт.
Шрифты кириллица.zip
(65.73 КБ) 734 скачивания
Отправлено спустя 1 минуту 40 секунд:
Библиотека с кириллицей
U8glib.rar
(924.71 КБ) 978 скачиваний
Добавил в блок вывод растрового рисунка
Последний раз редактировалось aidar_i 17.10.2019{, 12:22}, всего редактировалось 4 раза.

Tarik2511
Рядовой
Сообщения: 17
Зарегистрирован: 04.07.2020{, 21:15}
Репутация: 0
Имя: Тарас

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#41

Сообщение Tarik2511 » 23.07.2020{, 19:22}

aidar_i писал(а):
22.07.2020{, 07:31}
Вот здесь посмотрите. Комментарии типа /* clock=*/ удалите, FLProg на них раньше давал ошибку.

А для этой библиотеки существуют графические пользовательские блоки в FLprog? Блоки библиотеки U8glib не подходят для U8g2lib.

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#42

Сообщение aidar_i » 23.07.2020{, 22:15}

Я не делал их. Если нужно сделаю, по возможности. Может кто нибудь делал и выложут.

Tarik2511
Рядовой
Сообщения: 17
Зарегистрирован: 04.07.2020{, 21:15}
Репутация: 0
Имя: Тарас

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#43

Сообщение Tarik2511 » 24.07.2020{, 18:32}

aidar_i писал(а):
23.07.2020{, 22:15}
Я не делал их. Если нужно сделаю, по возможности. Может кто нибудь делал и выложут.

А эти блоки можно переделать или это совсем другая топология.
viewtopic.php?f=72&t=4316&p=91770&hilit=st7920#p91770

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#44

Сообщение aidar_i » 26.07.2020{, 05:55}

Здесь посмотрите.

KulibinOrsk
Лейтенант
Сообщения: 515
Зарегистрирован: 25.02.2018{, 08:48}
Репутация: 21
Откуда: Оренбург
Имя: Александр

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#45

Сообщение KulibinOrsk » 02.10.2020{, 11:14}

aidar_i, подскажите SSD1309 можно использовать с этими блоками или это другая тема ?
Есть интерес с ПБ для SSD1309 ...

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#46

Сообщение aidar_i » 02.10.2020{, 22:45}

Посмотрите весь список в блоке или в библиотеке.

pochabych
Рядовой
Сообщения: 37
Зарегистрирован: 09.11.2021{, 15:12}
Репутация: 3
Имя: Денис

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#47

Сообщение pochabych » 25.11.2021{, 10:59}

Коллеги не сочтите за некроманта но подниму тему. У меня вопрос по блоку вывода картинок. никак нельзя добавить раздел в настройках для того чтобы скармливать блоку код картинки а не лезть за каждым разом в LoopSection и редактировать блок. Сам я увы не справлюсь с блоками :( то что я добавляю дополнительный вход string вызывает только ошибку.

Спасибо.

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#48

Сообщение aidar_i » 25.11.2021{, 16:56}

Пожалуйста!
Вывод растрового рисунка LCD12864.flp
(129.07 КБ) 102 скачивания
Копируете нужный код растрового рисунка внутри фигурных скобок и вставляете в параметры. В коде не должно быть комментарии, если они есть , их удалите!
Перед вставкой тщательно удалите старый код, если останется какой либо "хвост" , будет ошибка компиляции. Можете в редакторе в параметрах удалить значение по умолчанию , тогда всегда будет , при вставке блока в проект, параметр чист.
После компиляции создается код типа:

Код: Выделить всё

const uint8_t rook_bitmap[] PROGMEM = {   0x00,    0x55,   0x7f,   0x3e,   0x3e,   0x3e,   0x3e,   0x7f };
Внутри фигурных скобок нужный код рисунка.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#49

Сообщение Ingwar » 16.08.2022{, 22:10}

Есть такие экранчики
Разрешение 128х64. Видимая область 50х25мм
Они на чипе ST7565
В отзывах его запускают на бибке U8g2, но можно и запустить для этого ПБ.
В блоке дисплея в секции декларирования меняем тип на
U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK(scl) = 13, MOSI(si) = 11, CS(cs) = 10, A0(rs) = 9, RST(rse) = 8
В комментариях в скобках указаны выводы дисплея.
Если купите голубенький экранчик, то он хорошо показывает и без подсветки. Для четкости изображения, в том же блоке дисплея в разделе луп нужно добавить строчку
u8g.setContrast (70);
Или организовать вход для подбора оптимальной контрастности.
Вложения
тестовая 12864 u8g2.flp
(1.21 МБ) 47 скачиваний
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#50

Сообщение Ingwar » 18.08.2022{, 00:28}

Понадобилось использовать экранчик не с ардуино. Аппаратный SPI не захотел сходу работать на альтернативных чипах с библиотекой U8glib.
Пришлось перейти на софтовый SPI в U8g2 и немного подправить блоки уважаемого aidar_i, .
Проверил на ESP32 и Atmega328PB
тестовая 12864 u8g2.flp
(1.21 МБ) 69 скачиваний
Кириллицы не делал.

Отправлено спустя 9 минут 3 секунды:
3 элемента смазаны, поскольку перемещаются
СпойлерПоказать
IMG_20220818_003113.jpg
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#51

Сообщение Ingwar » 31.08.2022{, 00:46}

Добавил поддержку кириллицы, выбора пинов и контрастности.
Список всех возможных шрифтов находится в папке библиотеки в файле keywords.txt.
Поддержка русского обозначена как приставка _cyrillic в названии шрифта.

З.Ы. Будьте внимательны при использовании в проекте нескольких разных шрифтов. Они очень различны по размеру и в некоторых случаях даже 2 шрифта не "влезут" в 328.
Блок позволяет использовать не только кириллицу.
СпойлерПоказать
1.jpg
СпойлерПоказать
2.jpg
тестовая 12864 u8g2 RUS.flp
(494.57 КБ) 99 скачиваний
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#52

Сообщение Ingwar » 05.11.2022{, 11:44}

GDAN7777 писал(а):
05.11.2022{, 09:09}
Никому не удалось запустить на ESP32?
Ingwar писал(а):
18.08.2022{, 00:37}
Проверил на ESP32 и Atmega328PB
Или речь о других?
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

pochabych
Рядовой
Сообщения: 37
Зарегистрирован: 09.11.2021{, 15:12}
Репутация: 3
Имя: Денис

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#53

Сообщение pochabych » 07.11.2022{, 13:59}

Коллеги энтузиасты добрый день. Ранее я (спасибо aidar_i) реализовывал блоки текста и графики на дисплее LCD12864 ST7920 при помощи ATmega328 (Ard nano) теперь очередь дошла до esp32. но вот беда, ESP 32 хорошо работает с библиотекой u8g2 а вот заставить работать ее с 8Uglib пока не увенчались успехом.
Если ли возможность замены библиотек без потери функционала с так полюбившимися плюшками 8Uglib (просто схема уже готова и не хотелось бы все переваривать для новых блоков).
Спасибо.

Tolyan28
Рядовой
Сообщения: 6
Зарегистрирован: 04.01.2021{, 19:13}
Репутация: 0
Откуда: Киев
Имя: Анатолий

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#54

Сообщение Tolyan28 » 29.01.2023{, 15:30}

Ingwar писал(а):
18.08.2022{, 00:37}
Понадобилось использовать экранчик не с ардуино. Аппаратный SPI не захотел сходу работать на альтернативных чипах с библиотекой U8glib.
Пришлось перейти на софтовый SPI в U8g2 и немного подправить блоки уважаемого aidar_i, .
Проверил на ESP32 и Atmega328PB
тестовая 12864 u8g2.flp
Кириллицы не делал.

Отправлено спустя 9 минут 3 секунды:
3 элемента смазаны, поскольку перемещаются
СпойлерПоказать
IMG_20220818_003113.jpg


Добрый день,подскажите как выводить картинку с помощью ваших блоков. Хочу выводить логотип/заставку,при включении.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#55

Сообщение Ingwar » 29.01.2023{, 17:55}

Tolyan28 писал(а):
29.01.2023{, 15:30}
Добрый день,подскажите как выводить картинку
Посмотрите тут viewtopic.php?f=72&t=4316#p55013
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Tolyan28
Рядовой
Сообщения: 6
Зарегистрирован: 04.01.2021{, 19:13}
Репутация: 0
Откуда: Киев
Имя: Анатолий

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#56

Сообщение Tolyan28 » 29.01.2023{, 20:28}

Ingwar писал(а):
29.01.2023{, 17:55}
Tolyan28 писал(а):
29.01.2023{, 15:30}
Добрый день,подскажите как выводить картинку
Посмотрите тут viewtopic.php?f=72&t=4316#p55013
Я это уже видел,но я в программировании не силен.К тому же мой дисплей от какого то МФУ,и заработал только на примерах из библиотеки U8g2lib,как U8G2_ST7565_EA_DOGM128_F_4W_SW_SPI u8g2. Соответственно ваш ПБ подошел идеально.Пробовал пока только текст и цифры,и хочется вывести графику(заставку при включении или элементы меню).Так вот,если конечно Вас не затруднит,прошу добавить в Ваш ПБ,блок вывода графики. Спасибо.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#57

Сообщение Ingwar » 29.01.2023{, 20:51}

Tolyan28 писал(а):
29.01.2023{, 20:28}
добавить в Ваш ПБ
Вот мой набор для 7565
ST7565_U8G2_SW_HW_SPI.ubl
(838.05 КБ) 57 скачиваний
Для справки, если в строке выбора дисплея менять цифру (0,1,2,3), то можно менять ориентацию экрана
U8G2_ST7565_ERC12864_ALT_1_4W_SW_SPI u8g2(U8G2_R0, scl(SCL) , si(MOSI) , cs(CS) , rs , rse ) ;

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

Tolyan28
Рядовой
Сообщения: 6
Зарегистрирован: 04.01.2021{, 19:13}
Репутация: 0
Откуда: Киев
Имя: Анатолий

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#58

Сообщение Tolyan28 » 29.01.2023{, 21:15}

Спасибо большое,на днях попробую

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#59

Сообщение aidar_i » 21.02.2023{, 13:32}

Проект от форумчанина Villi. Данный проект работает на Ардуино Мега, у Ардуино Uno не хвстает памяти.

Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

Вывод текста и графики на дисплеях типа LCD12864 и OLED (библиотека U8glib).

#60

Сообщение Ardudue » 31.05.2023{, 18:57}

aidar_i писал(а):
21.02.2023{, 13:32}
Данный проект работает на Ардуино Мега
U8GLIB_ST7920_128X64_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 - Это Software SPI?
У меня дисплей LCD for Melzi ничего не выводит.

Ответить

Вернуться в «Дисплеи, индикаторы и клавиатуры»