Вывод текста и графики на дисплеях типа 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 КБ) 949 скачиваний
Здесь выложил обновленный вариант блоков

Пример с переключающимися текстом и графикой
Вывод текста и графики_1 LCD12864.flp
(132.66 КБ) 937 скачиваний
В описаниях блока вставил нужную информацию и ссылки.
Пример с 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 КБ) 977 скачиваний
Добавил в блок вывод растрового рисунка
Последний раз редактировалось aidar_i 17.10.2019{, 12:22}, всего редактировалось 4 раза.

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

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

#2

Сообщение aidar_i » 20.09.2018{, 10:57}

Видео: некоторые настройки блоков

В блоке выложенной в проекте ниже аналогично, только массив перенесен в Loop.

Добавил вывод рисунков созданных на редакторах типа Image2code. Видео об этом. Там очень понятно все показывается. Скриншот с Протеус
СпойлерПоказать
Снимок_2018_09_22_21_36_27_433.png
Последний раз редактировалось aidar_i 23.09.2018{, 08:40}, всего редактировалось 7 раз.

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

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

#3

Сообщение aidar_i » 20.09.2018{, 11:14}

Доступ был закрыт, открыл, попробуйте.

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

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

#4

Сообщение nalnik » 20.09.2018{, 11:15}

aidar_i писал(а):
20.09.2018{, 11:14}
Доступ был закрыт, открыл, попробуйте.
Работает.
Я хочу быть добрее, но люди сами нарываются.

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

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

#5

Сообщение SerOv » 20.09.2018{, 11:20}

Спасибо за блоки. И отдельно за видео. Пожелания. Снимать со звуком. Лучше усваивается. У меня лично;)

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

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

#6

Сообщение aidar_i » 22.09.2018{, 15:33}

Добавил в блок вывод растрового рисунка. Видео , как вставить (без звука еще).
Здесь
Файл Протеус.
LCD12864_KS0108_1.zip
(32.12 КБ) 329 скачиваний
Отправлено спустя 4 часа 7 минут 59 секунд:
Добавил блок для вставки рисунков созданных в редакторах сюда.

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

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

#7

Сообщение aidar_i » 22.10.2018{, 22:11}

Так как в форуме много вопросов про OLED дисплеи , выложил пример для этого дисплея.
Добавил пользовательский блок ""Тип дисплея U8Glib", читайте описание блока. Большой список LCD и OLED дисплеев.
Испытал в железе, у меня дисплей на SH1106.
Тип_дисплея_U8glib_(CODE).ubi
(53.74 КБ) 601 скачивание
test.flp
(199.71 КБ) 605 скачиваний

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

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

#8

Сообщение aidar_i » 26.11.2018{, 16:21}

Попробуйте поставьте библиотеку в папку библиотек arduino ide, в котором компилируете.

dime5800
Рядовой
Сообщения: 8
Зарегистрирован: 16.01.2019{, 15:39}
Репутация: 0
Имя: Дмитрий

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

#9

Сообщение dime5800 » 25.01.2019{, 09:36}

aidar_i, здравствуйте! Подскажите пожалуйста работает ли ПБ с контроллерами ESP8266, чтоб знать покупать или нет)) а то например ПБ для дисплея нокия 5110 только с ардуино вроде работает

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

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

#10

Сообщение aidar_i » 25.01.2019{, 15:01}

ESP8266 есть в u8g2, смотрите в этом же разделе .

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

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

#11

Сообщение aidar_i » 11.09.2019{, 15:42}

Посмотрю.
Последний раз редактировалось aidar_i 25.09.2019{, 20:34}, всего редактировалось 1 раз.

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

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

#12

Сообщение aidar_i » 25.09.2019{, 10:43}

Смотрите в ЛС.

STX-121
Рядовой
Сообщения: 20
Зарегистрирован: 03.03.2017{, 15:50}
Репутация: 0

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

#13

Сообщение STX-121 » 02.10.2019{, 15:17}

Здравствуйте, Айдар
Не получается добавить в библиотеку шрифт digits32.h (он есть в недобавленных).
Второй день мучаюсь, при компиляции получаю ошибку 'u8g_font_digits32' was not declared in this scope. Явно что-то делаю не так. Может есть какой-то мануал по добавлению шрифтов в библиотеку?

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

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

#14

Сообщение aidar_i » 02.10.2019{, 21:50}

Вы должны добавить шрифты в нижеуказанные файлы
u8g_font_data.c
(4.42 МБ) 299 скачиваний
u8g.h
(91.86 КБ) 234 скачивания
Я выкладываю готовые файлы (можете заменить в библиотеке в папке C:\Users\User\Documents\Arduino\libraries\U8glib\src\clib). Если Вы хотите в дальнейшем это проделывать, посмотрите с какими изменениями я добавил шрифт.

STX-121
Рядовой
Сообщения: 20
Зарегистрирован: 03.03.2017{, 15:50}
Репутация: 0

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

#15

Сообщение STX-121 » 03.10.2019{, 08:17}

Спасибо! Теперь все понятно

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

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

#16

Сообщение aidar_i » 16.10.2019{, 18:16}

av писал(а):
11.09.2019{, 10:40}
как можно инвертировать рисунок в блоке (Вывод текста, рисунка и графики ) ? В настройках блока изменением параметра "color" для монохромных дисплеев на базе St7920 и если да то возможно ли сделать вход для управления параметром "color" извне для настройки на лету, чтобы не лезть каждый раз в настройки блока.
Ответ на Ваш вопрос.
Немного переделал ПБ Graphics+Text+XBM LCD12864 При компиляции в Ардуино Иде у меня немного компиляция останавливается, программа думает несколько секунд , ошибки появляются, ругается на шрифт один (я его у себя удалил), но потом все заканчивается нормально. Так что не пугайтесь.

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

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

#17

Сообщение aidar_i » 17.10.2019{, 12:20}

Решил немного переделать блоки. Чтобы можно было собирать самому из отдельных блоков вывода текста, графики или рисунка свой дисплей. Для этого создал два дополнительных блока , один ставится первым после типа дисплея, второй последним. Так же сделал отдельные блоки вывода текста, рисунка и графики(универсальный для всей графики). Дополнительно добавил блоки отдельно для каждого элемента графики.

Пользовательские блоки:
Новые блоки LCD_U8glib.ubl
(360.05 КБ) 662 скачивания
Пример
Новые блоки для LCD12864.flp
(342.02 КБ) 667 скачиваний
И файлы библиотеки, где убрал шрифт, выдающий ошибку при компиляции в Ардуино Иде.
Замените их в папке библиотеки U8glib - (C:\Users\User\Documents\Arduino\libraries\U8glib\src\clib или в штатной папке FLProg)
clib.rar
(595.23 КБ) 555 скачиваний
Библиотека в первом сообщении.
Последний раз редактировалось aidar_i 04.07.2020{, 21:59}, всего редактировалось 4 раза.

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

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

#18

Сообщение aidar_i » 18.10.2019{, 13:52}

Можете в блоке графика в параметрах сами поставить нужную функцию и будут блоки разных фигур. В описании блока эти функции и как их вставить есть.
Если так не устроит, сделаю отдельно, когда будет время.

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

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

#19

Сообщение aidar_i » 19.10.2019{, 10:09}

av писал(а):
18.10.2019{, 10:21}
А есть ли блоки простой графики так же раздельные (линии, треугольники, прямоугольники, окружность) ?
Добавил сюда.
выложил все блоки и пример.

Треугольник можно построить из трех блоков вывода линии. Добавил отдельный блок для него.

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 55
Откуда: Днепр. UA
Имя: Григорий

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

#20

Сообщение grin-mpx » 24.01.2020{, 22:57}

Господа. Есть простой пример работы по SPI с дисплеем ST7920 на библиотеке U8glib, все пркрасно работает на ардуине. При попытке перенести проект на ESP 12 (Node mcu) ничего не произошло. Компилятор выдал предупреждение библиотека U8glib должна запускаться на архитектурах avr, sam и может быть несовместима с вашей платой, но программу таки загрузил. Смотрел пины SPI анализатором- тишина.
Я так понимаю шансов перенести проект на этой библиотеке на ESP-12, ESP-32 нет. Есть ли выход из этой ситуации?
ESP Тест шрифта-1.flp
(82.88 КБ) 106 скачиваний

Ответить

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