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

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Tarik2511
Рядовой
Сообщения: 17
Зарегистрирован: 04 июл 2020, 21:15
Имя: Тарас

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

Сообщение Tarik2511 »

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

А для этой библиотеки существуют графические пользовательские блоки в FLprog? Блоки библиотеки U8glib не подходят для U8g2lib.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Я не делал их. Если нужно сделаю, по возможности. Может кто нибудь делал и выложут.
Tarik2511
Рядовой
Сообщения: 17
Зарегистрирован: 04 июл 2020, 21:15
Имя: Тарас

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

Сообщение Tarik2511 »

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

А эти блоки можно переделать или это совсем другая топология.
viewtopic.php?f=72&t=4316&p=91770&hilit=st7920#p91770
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Здесь посмотрите.
KulibinOrsk
Лейтенант
Сообщения: 516
Зарегистрирован: 25 фев 2018, 08:48
Откуда: Оренбург
Имя: Александр

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

Сообщение KulibinOrsk »

[ref=#000080]aidar_i[/ref], подскажите SSD1309 можно использовать с этими блоками или это другая тема ?
Есть интерес с ПБ для SSD1309 ...
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Посмотрите весь список в блоке или в библиотеке.
pochabych
Рядовой
Сообщения: 37
Зарегистрирован: 09 ноя 2021, 15:12
Имя: Денис

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

Сообщение pochabych »

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

Спасибо.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

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

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

const uint8_t rook_bitmap[] PROGMEM = {   0x00,    0x55,   0x7f,   0x3e,   0x3e,   0x3e,   0x3e,   0x7f };
Внутри фигурных скобок нужный код рисунка.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Есть такие экранчики
Разрешение 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);
Или организовать вход для подбора оптимальной контрастности.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Понадобилось использовать экранчик не с ардуино. Аппаратный SPI не захотел сходу работать на альтернативных чипах с библиотекой U8glib.
Пришлось перейти на софтовый SPI в U8g2 и немного подправить блоки уважаемого [ref=#ff8000]aidar_i[/ref], .
Проверил на ESP32 и Atmega328PB
тестовая 12864 u8g2.flp
Кириллицы не делал.

Отправлено спустя 9 минут 3 секунды:
3 элемента смазаны, поскольку перемещаются
[spoiler]
IMG_20220818_003113.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

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

З.Ы. Будьте внимательны при использовании в проекте нескольких разных шрифтов. Они очень различны по размеру и в некоторых случаях даже 2 шрифта не "влезут" в 328.
Блок позволяет использовать не только кириллицу.
[spoiler]
1.jpg
[/spoiler]
[spoiler]
2.jpg
[/spoiler]
тестовая 12864 u8g2 RUS.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

GDAN7777 писал(а): 05 ноя 2022, 09:09 Никому не удалось запустить на ESP32?
Ingwar писал(а): 18 авг 2022, 00:37 Проверил на ESP32 и Atmega328PB
Или речь о других?
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
pochabych
Рядовой
Сообщения: 37
Зарегистрирован: 09 ноя 2021, 15:12
Имя: Денис

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

Сообщение pochabych »

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

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

Сообщение Tolyan28 »

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

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


Добрый день,подскажите как выводить картинку с помощью ваших блоков. Хочу выводить логотип/заставку,при включении.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Tolyan28 писал(а): 29 янв 2023, 15:30 Добрый день,подскажите как выводить картинку
Посмотрите тут viewtopic.php?f=72&t=4316#p55013
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Tolyan28
Рядовой
Сообщения: 6
Зарегистрирован: 04 янв 2021, 19:13
Откуда: Киев
Имя: Анатолий

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

Сообщение Tolyan28 »

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

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

Сообщение Ingwar »

Tolyan28 писал(а): 29 янв 2023, 20:28 добавить в Ваш ПБ
Вот мой набор для 7565
ST7565_U8G2_SW_HW_SPI.ubl
Для справки, если в строке выбора дисплея менять цифру (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 янв 2021, 19:13
Откуда: Киев
Имя: Анатолий

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

Сообщение Tolyan28 »

Спасибо большое,на днях попробую
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Проект от форумчанина Villi. Данный проект работает на Ардуино Мега, у Ардуино Uno не хватает памяти.
Отображение данных на 4 рабочих экранах Mega v4.0.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

aidar_i писал(а): 21 фев 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 ничего не выводит.
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей