Страница 2 из 2

Библиотека u8g2+u8x8 OLED I2C

Добавлено: 06.10.2019{, 05:22}
DrMario
Всем привет!
Сделал блоки для библиотеки монохромных дисплеев u8g2 и u8x8, которая входит в ее состав. Библиотека Arduino U8g2 может быть установлена ​​из менеджера библиотек IDE Arduino. U8g2 также включает в себя библиотеку U8x8: https://github.com/olikraus/u8g2.
Меня интересовало подключение только по I2C, по этому убрал все лишнее.
Список чипов для библиотеки u8g2:
SSD1306 128X64
SH1106 128X64
SH1107 128X128
SH1107 PIMORONI 128X128
SH1107 SEEED 128X128
SSD1306 128X32
SSD1306 64X48
SSD1306 48X64
SSD1306 64X32
SSD1306 96X16
SSD1327 SEEED 96X96
SSD1327 EA W128X128
LD7032 60X32
ST7567 64X32
ST75256 JLX256X64
ST7588 JLX128X64
UC1611 EA DOGM240
UC1611 EA DOGXL240

В состав проекта должно входить блок ChipSet и блок(и) вывода на дисплей. Библиотека поддерживает два способа вывода на дисплей, это Full Buffer или Page Buffer, по этому необходимо это учитывать в настройках блока чипсет и выборе блоков вывода на дисплей с индексом P или F.

Видео с примера

u8g2 SSD1327 128x128 I2C DrawGlyph Page.flp
Пример рисования символа из таблицы способом Page Buffer
(279.45 КБ) 254 скачивания
u8g2 SSD1327 128x128 I2C Print Full.flp
Пример печати текста способом Full Buffer
(310.31 КБ) 256 скачиваний
u8g2 SSD1327 128x128 I2C Print Page.flp
Пример печати текста способом Page Buffer
(308.59 КБ) 224 скачивания
Oled I2C u8g2 Lib.ubl
Все блоки в одном флаконе. Добавлены блоки рисования двумя способами.
(909.79 КБ) 459 скачиваний
===========================
Блоки пользователя библиотеки u8x8 для дисплеев OLED I2C.
Список чипов для библиотеки u8x8:
SSD1306_128X64
SH1106_128X64
SH1107_128X128
SH1107_PIMORONI_128X128
SH1107_SEEED_128X128
SSD1306_128X32
SSD1306_64X48
SSD1306_48X64
SSD1306_64X32
SSD1306_96X16
SSD1327_SEEED_96X96
ST7567_64X32
ST75256_JLX25664
ST7588_JLX12864
UC1611_EA_DOGM240
UC1611_EA_DOGXL240

В состав проекта должно входить блок ChipSet и блок(и) вывода на дисплей.
В списке шрифтов этой библиотеки не смог найти шрифты кириллицы (Русский шрифт).
u8x8 SH1106 128x64 I2C Print1.flp
Пример печати текста, способ 1
(265.25 КБ) 283 скачивания
u8x8 SH1106 128x64 I2C Print2.flp
Пример печати текста, способ 2
(218.25 КБ) 203 скачивания
u8x8 SH1106 128x64 I2C DrawString.flp
Пример рисования строки
(235.35 КБ) 206 скачиваний
u8x8 SH1106 128x64 I2C DrawUTF8.flp
Пример рисования строки с кодировкой UTF-8
(231.9 КБ) 186 скачиваний
Oled I2C u8x8 Lib.ubl
Все блоки в одном флаконе. Добавлена возможность увеличить скорость I2C.
(279.4 КБ) 305 скачиваний
Использование библиотеки u8x8
U8x8 - это небольшой объем памяти и более высокая скорость. Чтобы код работал быстрее, нужно пойти на жертвы.
В этом случае все графические возможности отбрасываются, и все шрифты помещаются в область памяти 8x8. Это делается для того, чтобы не выполнялось никаких вращений битов, что экономит много времени на обработку.
Эта библиотека поставляется с библиотекой u8g2 и предназначена для минимального вывода текста, чтобы сэкономить много памяти и работать немного быстрее. Вы должны использовать библиотеку u8x8, если вам нужно экономить память и требуется только вывод текста.
Режим u8x8 обрабатывает каждую позицию экрана как блок 8x8, поэтому он всегда заполняет этот блок и, следовательно, никогда не нуждается в считывании данных экрана. Это означает, что буфер не требуется, но в то же время никакая графика не может быть использована.
Источник
https://www.best-microcontroller-projec ... d1306.html

Библиотека u8g2+u8x8 OLED I2C

Добавлено: 14.01.2023{, 22:27}
DownHouse
вот это
Это из первого поста один из примеров

Библиотека u8g2+u8x8 OLED I2C

Добавлено: 15.01.2023{, 12:18}
pochabych
У меня ошибок при компиляции нет. 1. Снесите IDE и установите его заново Включая все библиотеки. 2 в ФЛпрог переключите компиляцию на внешний IDE. затем попробуйте.

Библиотека u8g2+u8x8 OLED I2C

Добавлено: 15.01.2023{, 18:16}
DownHouse
IDE не сносил, но в настройках FlProg в разделе Папки прописан путь к IDE. Запустил IDE из этой папки и потом обновил библиотеку U8G2. Компиляция всегда стояла на внешней IDE. Вроде заработало.
НО... вот этот пример автора не компилируется из-за недостатка памяти (в настройках проекта изменил контроллер на Arduino Pro Mini, в примере у Автора это был ESP8266 NodeMcu v3) это действительно так или глюк?
Ну и собственно по настройке самих блоков. Не понял, что подавать на вход New. Достаточно просто единицу?

Библиотека u8g2+u8x8 OLED I2C

Добавлено: 15.01.2023{, 22:47}
pochabych
Судя по отсутствию других ответов вы изрядно форум подизнасиловали. Вам, когда доктор в поликлинике говорит какие лекарства принимать, тоже говорите что У вас особое мнение по поводу лечения?
Я не поленился. Скомпилировал проект и Вуаля.... все работает. Даже на версии NodeMCU 1.0 Вам когда что то рекомендуют прислушивайтесь. ПОЖАЛУЙСТА.

По сути заданных вопросов. Вы насколько я понимаю вы хотите натянуть сову на глобус, использовать ATmega168 с ее памятью 1 кб для проектов предусматривающих использование ESP8266 с 520 кб памяти.

По входу New на мой взгляд можно поставить инверсию или константу True что в общем то одно и тоже.

Библиотека u8g2+u8x8 OLED I2C

Добавлено: 16.05.2023{, 08:56}
ARTEMM
добрый день а как в этих блоках увеличить количество строк

Библиотека u8g2+u8x8 OLED I2C

Добавлено: 05.04.2024{, 08:42}
DmitryiK
Доброго времени суток, уважаемые форумчане. к ESP32 подключаю дисплей OLED-дисплей 1,3 дюйма, 128 x 64 на чипе SH1107.
перепробовал все блоки но он отображает будто он 64 х 128 (вертикальная развертка) плюсом строчка начинается с 32 пикселя,
и ко всему этому добавляется страшное мерцание. обратился к производителю-он мне сбросил код для проверки дисплея (отображает правильно)
может я не так блоки настраиваю ?