U8G2Lib: olikraus/u8g2: U8glib library for monochrome displays, version 2
|Работа OLED 0.91 inch 128*32 с библиотекой u8g2 (бывшая u8glib) (LRR 0.91 inch)
Библиотека u8g2 (бывшая u8glib) позволяет выводить на дисплей текстовую информацию. Большой выбор шрифтов и большое количество поддерживаемых дисплеев делает эту библиотеку наиболее популярной.
Для начала рассмотрим подключение дисплея OLED 0.91 inch 128*32 к ARDUINO. Для подключения потребуется всего 4 провода: GND, 5V, SCL (Clock Line) и SDA (Data Line)
В моем случае используются:
— версия программы ARDUINO 1.8.13
— плата ARDUINO UNO
— дисплей OLED 0.91 inch 128*32
— библиотека u8g2
Если у вас не установлена эта библиотека, то ее нужно установить. Пункт меню ИНСТРУМЕНТЫ — УПРАВЛЯТЬ БИБЛИОТЕКАМИ. Далее найти и установить u8g2
Я нашел в интернете самый простой скетч и слегка переработал его, чтобы понять возможности вывода текста на экран.
Работу скетча описал в комментариях
#include <Arduino.h> #include <U8g2lib.h> #include <SPI.h> #include <Wire.h> U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0); // описание OLED 0.91 inch 128*32 void setup(void) { u8g2.begin(); } void loop(void) { u8g2.clearBuffer(); // очищаем буфер u8g2.setFont(u8g2_font_cupcakemetoyourleader_tr); // выбираем красивый шрифт u8g2.drawStr(0, 29, "D.A.CHOCOLATE"); // начальная позиция и текст u8g2.sendBuffer(); // отправляем в буфер delay(2000); // пауза for (int i = 0; i < 250; i++) { // добавляем цикл для эффекта бегущей строки u8g2.clearBuffer(); u8g2.setFont(u8g2_font_bubble_tr); // еще один красивый шрифт u8g2.drawStr(125-i, 29, "FANYA"); // горизонтальная позиция меняется от 125 до -125 u8g2. sendBuffer(); delay(20); // этой паузой задается скорость } u8g2.clearBuffer(); u8g2.setFont(u8g2_font_tenstamps_mf); // еще один красивый шрифт u8g2.drawStr(15, 29, "Little"); u8g2.sendBuffer(); delay(1500); u8g2.clearBuffer(); u8g2.setFont(u8g2_font_heavybottom_tr); // еще один красивый шрифт u8g2.drawStr(32, 29, "Red Rat"); u8g2.sendBuffer(); delay(2000);
Посмотреть и выбрать шрифты можно по ссылке https://github.com/olikraus/u8g2/wiki/fntlistall
Шрифты отсортированы по размеру. Слева образец. Копируем название нужного шрифта и вставляем в скетч. Можно найти шрифты с русскими буквами, шрифты с символами (заряд батареи, уровень сигнала и т.п.)
Также в скетче указывается позиция вывода текста
u8g2. drawStr(32, 29, "Red Rat");
Как видно на фото, сначала указывается горизонтальная позиция (слева направо), затем вертикальная (сверху вниз). Значения могут выходить из диапазона 128*32. За счет этого у меня реализована бегущая строка. При отрицательных значениях текст начинается с позиции за видимой частью дисплея.
Для отображения нескольких строк делаем следующие:
u8g2.clearBuffer(); u8g2.setFont(u8g2_font_tenstamps_mf); u8g2.drawStr(15, 16, "Line 1"); u8g2.drawStr(15, 32, "Line 2"); u8g2.sendBuffer(); delay(4500);В следующий раз я напишу как выводить на этот дисплей графическую информацию.
На этом все. Спасибо всем за внимание. Если вам помогла эта статья, можете сказать мне спасибо просто посмотрев рекламу 🙂
U8g2 — Библиотеки Arduino
- Автор
- Оливер
- Веб-сайт
- https://github. com/olikraus/u8g2
- Гитхаб
- https://github.com/olikraus/U8g2_Arduino
- Категория
- Дисплей
- Лицензия
- BSD 2 Пункт
- Тип библиотеки
- Добавлено
- Архитектуры
- Любые
Монохромный LCD, OLED и eInk Library. Контроллер дисплея: SSD1305, SSD1306, SSD1309, SSD1312, SSD1316, SSD1318, SSD1320, SSD1322, SSD1325, SSD1327, SSD1329, SSD1606, SSD1607, Sh2106, Sh2107, Sh2108, Sh2122, T6963, RA8835, LC7981, PCD8544, PCF8812, UC1601, UC1160 608, UC1610, UC1611 . 102, Т7932, СЭД1520, СБН1661 , ИЛ3820, МАКС7219, ГП1287, ГП1247, ГУ800. Интерфейсы: I2C, SPI, параллельный. Особенности: UTF8, >700 шрифтов, вывод символов U8x8.
Имя файла | Дата выпуска | Размер файла |
---|---|---|
U8g2-2.33.15.zip | 2022-09-04 | 10,48 МБ |
U8g2-2. 32.15.zip | 2022-04-03 | 10,50 МБ |
U8g2-2.31.2.zip | 20.09.2021 | 10,25 МБ |
U8g2-2.31.1.zip | 2021-09-19 | 10,25 МБ |
U8g2-2.30.1.zip | 2021-09-07 | 10,15 МБ |
U8g2-2.29.11.zip | 2021-09-03 | 10,14 МБ |
U8g2-2.28.10.zip | 2020-12-28 | 10,07 МБ |
U8g2-2.27.6.zip | 2020-01-27 | 10,03 МБ |
U8g2-2.26.14.zip | 2019-06-30 | 8,91 МБ |
U8g2-2.25.10.zip | 2019-02-09 | 8,86 МБ |
U8g2-2. 24.3.zip | 2018-10-28 | 8,45 МБ |
U8g2-2.23.18.zip | 2018-08-24 | 8,44 МБ |
U8g2-2.22.18.zip | 2018-04-30 | 8,33 МБ |
U8g2-2.21.8.zip | 2018-02-18 | 7,35 МБ |
U8g2-2.20.13.zip | 2017-12-09 | 4,44 МБ |
U8g2-2.19.8.zip | 2017-10-13 | 4,42 МБ |
U8g2-2.18.13.zip | 2017-09-30 | 4,00 МБ |
U8g2-2.17.11.zip | 2017-09-10 | 4,00 МБ |
U8g2-2.16.9.zip | 2017-08-12 | 3,94 МБ |
U8g2-2. 15.2.zip | 2017-05-21 | 3,57 МБ |
U8g2-2.14.7.zip | 2017-03-11 | 3,52 МБ |
U8g2-2.13.5.zip | 2017-02-07 | 3,51 МБ |
U8g2-2.12.6.zip | 2017-01-15 | 3,40 МБ |
U8g2-2.11.4.zip | 2017-01-08 | 3,39 МБ |
U8g2-2.11.2.zip | 3,39 МБ | |
U8g2-2.10.1.zip | 2016-12-30 | 3,37 МБ |
U8g2-2.9.2.zip | 2016-12-23 | 3,36 МБ |
U8g2-2.9.1.zip | 20.12.2016 | 3,36 МБ |
U8g2-2. 8.5.zip | 2016-12-12 | 3,35 МБ |
U8g2-2.8.4.zip | 2016-12-11 | 3,35 МБ |
U8g2-2.7.5.zip | 2016-11-28 | 3,34 МБ |
U8g2-2.6.3.zip | 3,32 МБ | |
U8g2-2.5.2.zip | 3,31 МБ | |
U8g2-2.4.1.zip | 1,87 МБ | |
U8g2-2.3.2.zip | 1,87 МБ | |
U8g2-2.2.7.zip | 914,72 КиБ | |
U8g2-2.1.5.zip | 1,86 МБ | |
U8g2-2.0.7.zip | 1,71 МБ | |
U8g2-2. 0.6.zip | 1,69 МБ |
Arduino Oled Проблема U8G2Lib – Поддержка Simhub – SimHub Forum
Поддержка Simhub
6
Сообщения
4
Пользователи
0
Нравится
1353
Взгляды
Merlin2k
(@merlin2k)
Новый пользователь
Присоединился: 2 года назад
Сообщений: 4
Автор темы
12.08.2020 17:13
Здравствуйте, я хотел бы использовать SimHub с светодиодами oled и ws2812b.
Поскольку мой oled, вероятно, безымянный, я получаю только пиксельный салат.
Теперь я прочитал, что вы должны использовать U8g2lib.
С файлом примера библиотеки я могу без проблем использовать свой дисплей. К сожалению, я не знаю, как изменить код в Arduino для этого. Было бы здорово, если бы кто-нибудь мог мне помочь привет Миша
Wotever
(@admin5435)
Illustrious Member Admin
Присоединился: 6 лет назад
Сообщения: 701
12.08.2020 17:26
Какую плату Arduino вы используете? Если вы используете nano или аналогичный, у вас может не хватать памяти, как указано в вики:
https://github.com/SHWotever/SimHub/wiki/Arduino-SSD1306-0.96»-Oled-I2C#restrictions
Можете ли вы также проверить, что вы используете модуль SSD1306? Боюсь, смена библиотеки — непростая задача.
Merlin2k
(@merlin2k)
Новый пользователь
Присоединился: 2 года назад
Сообщений: 4
Автор темы
12. 08.2020 18:09
Привет, используйте mega 2560 pro mini.
олэд это Ш2106. вот почему мне нужна другая библиотека
Merlin2k
(@merlin2k)
Новый пользователь
Присоединился: 2 года назад
Сообщений: 4
Автор темы
12.13.2020 10:28
ОК. купил мне дисплей SSD1306. Теперь это работает. А жаль, хотелось бы поставить побольше. еще один вопрос, можно ли настроить то, что отображается на oled? и можно ли повернуть экран?
В настоящее время F1 отображается на oled передач и скорости. хотелось бы только скорость поверх полного дисплея
спасибо
ryanaukes
(@ryanaukes)
Новый пользователь
Присоединился: 1 год назад
Сообщений: 3
23.02.2022 20:44
@merlin2k
Привет, ты узнал, как повернуть OLED-дисплей? Я тоже хочу это сделать.