Блоки для отрисовки на дисплеях с контроллером SSD1306

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

Блоки для отрисовки на дисплеях с контроллером SSD1306

#1

Сообщение Олег » 03.01.2018{, 23:21}

[ · Скачать удаленно () ] 24.11.2017, 19:53
"SSD1306 print" отображает текст - строку(string). Поддерживается кириллица.
В папке "Draw" графические блоки для рисования прямоугольников, кругов, треугольников. Описания внутри блоков.
Требуется установить в IDE библиотеки Adafruit_GFX_Library и Adafruit_SSD1306-master
в папке "...\Documents\Arduino\libraries\"
Перед всеми блоками добавить один из трех блоков "SSD1306 main" в зависимости от используемого вами подключения.
После всех блоков отрисовки добавить блок "SSD1306 display".
Пример
ssd1306.png
ssd1306.png (11.25 КБ) 6780 просмотров
12345
Категория: Блоки пользователей | Добавил: joogorden
Вложения
ssd1306.ubl
(756.47 КБ) 676 скачиваний

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 63
Контактная информация:

Блоки для отрисовки на дисплеях с контроллером SSD1306

#2

Сообщение Олег » 03.01.2018{, 23:23}

Всего комментариев: 17


2 Smit8719 • 00:59, 25.11.2017
Спасибо! Даже русский поддерживает.
А что за параметр в блоке SSD1306 main I2C OLED RESET?

3 joogorden • 19:38, 29.11.2017
Этот параметр есть в библиотечной функции инициализации. Видимо у каких то дисплеев есть такой вход.
Если у вашего дисплея такого нет введите значение 255.

4 kotaf • 21:17, 29.11.2017
А как включить поддержку русского? Или это от дисплея зависит?

5 joogorden • 01:17, 30.11.2017
Прошу прощенья, совсем забыл что когда то в папке библиотеки Adafruit менял файл шрифта glcdfont.c

6 kotaf • 01:19, 30.11.2017
Одновременно могут быть рус и англ?

12 kotaf • 08:56, 01.12.2017
Русский появился. Но то что я набираю на клавиатуре и то что отображает дисплей не соответствует. Пишу "К" отображает "Б", "С" - "Т" и т.д.

13 joogorden • 19:19, 01.12.2017
Да действительно когда я удалил Adafruit_GFX_Library и по новой установил, заменил файл шрифта у меня тоже русские символы стали отображаться не те.
Пока могу предложить как временное решение заменить всю обе папки библиотек из этого архива libraries_SSD1306.zip

14 kotaf • 20:20, 01.12.2017
Спасибо. Теперь корректно отображается.

7 joogorden • 01:27, 30.11.2017
Да

8 kotaf • 01:28, 30.11.2017
Спасибо!

9 Vano1989 • 03:04, 30.11.2017
У меня все растягивается в 2 раза по вертикали с вашими библиотеками. С этой библиотекой все нормально Adafruit_SSD1306
Почему так не пойму... Вроде одна и та же библиотека

10 joogorden • 16:03, 30.11.2017
Скорей всего потому что в библиотеке по вашей ссылке в файле Adafruit_SSD1306.h раскомментирована строка на дисплей с разрешением 128x64
#define SSD1306_128_64
//#define SSD1306_128_32
//#define SSD1306_96_16

В той что я скачал по ссылке из IDE, раскомментирована #define SSD1306_128_32.
У меня в наличии только SPI дисплей 128x64. На нем отображается нормально.

11 Vano1989 • 17:00, 30.11.2017
Да, действительно так, проверил, у меня #define SSD1306_128_64. Спасибо!

15 kotaf • 22:51, 14.12.2017
Кто будет использовать данный дисплей с NodeMCU Lolin, вот блок для подключения I2C https://yadi.sk/d/ap2YrlC43QdBvm

16 Денис Анатольевич • 13:25, 31.12.2017
У меня ничего не показывает. И что за вход EN описания к нему нет?

17 joogorden • 14:58, 31.12.2017
EN -Enable. Разрешает работу блока.

серёга
Рядовой
Сообщения: 1
Зарегистрирован: 06.02.2018{, 19:06}
Репутация: 0
Имя: серёга

Блоки для отрисовки на дисплеях с контроллером SSD1306

#3

Сообщение серёга » 06.02.2018{, 20:38}

как скачать

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Блоки для отрисовки на дисплеях с контроллером SSD1306

#4

Сообщение pan » 06.02.2018{, 21:11}

серёга, блок вложил к первому посту

AveMneAve
Рядовой
Сообщения: 13
Зарегистрирован: 06.02.2018{, 14:45}
Репутация: 0
Имя: Константин

Блоки для отрисовки на дисплеях с контроллером SSD1306

#5

Сообщение AveMneAve » 12.02.2018{, 00:22}

А как заставить центровать текст,да и вообще всю информацию на дисплее?

AveMneAve
Рядовой
Сообщения: 13
Зарегистрирован: 06.02.2018{, 14:45}
Репутация: 0
Имя: Константин

Блоки для отрисовки на дисплеях с контроллером SSD1306

#6

Сообщение AveMneAve » 12.02.2018{, 23:26}

Теме Ап! Срочно надо!

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

Блоки для отрисовки на дисплеях с контроллером SSD1306

#7

Сообщение aidar_i » 28.11.2018{, 23:07}

Напишите формулу и вставьте
Ширина дисплея минус длина текста делить пополам, вот это и есть координата х, по высоте аналогично, только минус высота шрифта.
Длину текста кажется считает блок в строках, все это можно задать штатными блоками
.

Аватара пользователя
diman27
Сержант
Сообщения: 269
Зарегистрирован: 06.09.2015{, 07:33}
Репутация: 4
Откуда: Белово

Блоки для отрисовки на дисплеях с контроллером SSD1306

#8

Сообщение diman27 » 29.11.2018{, 07:54}

Не нашел, а как шрифт поменять можно? этот узкий. Например как в этой теме.

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

Блоки для отрисовки на дисплеях с контроллером SSD1306

#9

Сообщение aidar_i » 06.06.2019{, 14:44}

Посмотрю.

Аватара пользователя
НиколаМастер
Рядовой
Сообщения: 99
Зарегистрирован: 10.01.2018{, 12:36}
Репутация: 8
Контактная информация:

Блоки для отрисовки на дисплеях с контроллером SSD1306

#10

Сообщение НиколаМастер » 29.08.2020{, 16:35}

Ник как не подружу OLED c Nano. Можете дать ссылку на работающие блоки? Спасибо.
И по ограничения можно пару слов? У меня вывод текста на разных платах, меню листаю и вывод данных, как лучше сделать?
Brevis esse laboro, obscurus fiо - если я стараюсь быть кратким, я становлюсь непонятным

Аватара пользователя
НиколаМастер
Рядовой
Сообщения: 99
Зарегистрирован: 10.01.2018{, 12:36}
Репутация: 8
Контактная информация:

Блоки для отрисовки на дисплеях с контроллером SSD1306

#11

Сообщение НиколаМастер » 29.08.2020{, 18:10}

Благодарю что ответили!
Ссылка на библиотеку не активна.
У меня работает и то не правильно только на одной плате, когда подключаю остальные просто черный экран.
А первая плата это меню. Когда листаю видны не все позиции целиком, когда листаю по второму кругу то еще меньше информации выводится.
Пришлите библиотеки пожалуйста

Отправлено спустя 7 минут 24 секунды:
Adafruit_Circuit_Playground
Adafruit_GFX_Library
Adafruit_SSD1306-master
Adafruit-GFX-Library
такие стоят
Brevis esse laboro, obscurus fiо - если я стараюсь быть кратким, я становлюсь непонятным

Аватара пользователя
НиколаМастер
Рядовой
Сообщения: 99
Зарегистрирован: 10.01.2018{, 12:36}
Репутация: 8
Контактная информация:

Блоки для отрисовки на дисплеях с контроллером SSD1306

#12

Сообщение НиколаМастер » 30.08.2020{, 08:56}

Посмотрите пожалуйста
Вложения
30.08.2020_oled_1.flp
(1.65 МБ) 100 скачиваний
Brevis esse laboro, obscurus fiо - если я стараюсь быть кратким, я становлюсь непонятным

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

Блоки для отрисовки на дисплеях с контроллером SSD1306

#13

Сообщение Ingwar » 30.08.2020{, 11:49}

НиколаМастер писал(а):
29.08.2020{, 16:35}
У меня вывод текста на разных платах, меню листаю и вывод данных,
Проект не смотрел. Сколько оперативной памяти используется после компиляции?
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
НиколаМастер
Рядовой
Сообщения: 99
Зарегистрирован: 10.01.2018{, 12:36}
Репутация: 8
Контактная информация:

Блоки для отрисовки на дисплеях с контроллером SSD1306

#14

Сообщение НиколаМастер » 30.08.2020{, 12:36}

Ни чего не остается...
Скетч использует 28428 байт (92%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 2021 байт (98%) динамической памяти, оставляя 27 байт для локальных переменных. Максимум: 2048 байт.
Brevis esse laboro, obscurus fiо - если я стараюсь быть кратким, я становлюсь непонятным

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

Блоки для отрисовки на дисплеях с контроллером SSD1306

#15

Сообщение aidar_i » 30.08.2020{, 19:57}

av писал(а):
06.06.2019{, 10:51}
aidar_i, вы пробовали на библиотеке от Adafruit_SSD1306 сделать блок скроллинга текста ? Попытался сваять блок но не могу разобраться как это сделать. Если есть идеи поделитесь пожалуйста!

Вот блок который пытался сделать:
Scroll_(CODE).ubi
Я забыл про Ваш вопрос, решили?

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

Блоки для отрисовки на дисплеях с контроллером SSD1306

#16

Сообщение aidar_i » 30.08.2020{, 20:00}

Почему вход? С параметрами легко решается! Можно бег организовать и подачей на вход Х со счетчика значения.

Shurkan1
Рядовой
Сообщения: 27
Зарегистрирован: 28.08.2020{, 17:32}
Репутация: 0
Имя: Александр

Блоки для отрисовки на дисплеях с контроллером SSD1306

#17

Сообщение Shurkan1 » 31.08.2020{, 18:29}

Подскажите. display.print() накладывается на предыдущее изображение. Это у всех так?
экранчик 2.4" SSD1309.

Вопрос снят, оказалось если цвет фона не указан то фон прозрачный.

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

Блоки для отрисовки на дисплеях с контроллером SSD1306

#18

Сообщение KulibinOrsk » 01.10.2020{, 11:00}

Shurkan1, подскажите у вас работает дисплей SSD1309 с этим блоком ?
у меня такой https://zen.yandex.ru/media/id/5d5ff446 ... 39effcd1fc
хочу подключить в работу по SPI , но для начала I2C бы проверить ...

Отправлено спустя 2 часа 17 минут 59 секунд:
Олег, остается у вас спросить - должен ли работать с дисплеем SSD1309 (пост 25)
У меня по I2C не запустился, по SPI смысла нет пробовать пока

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

Блоки для отрисовки на дисплеях с контроллером SSD1306

#19

Сообщение aidar_i » 01.02.2021{, 22:48}

В дополнение к этим блокам выложу пример с блоками для рисования графика на OLED дисплее.
Используется совместно с главным и блоком завершения вывода из данной темы.
Вывод графика на OLED дисплей.flp
(1.11 МБ) 176 скачиваний
Испытан в Протеус.

Goldln
Рядовой
Сообщения: 10
Зарегистрирован: 23.01.2024{, 12:24}
Репутация: 1
Имя: Oleg

Блоки для отрисовки на дисплеях с контроллером SSD1306

#20

Сообщение Goldln » 26.01.2024{, 12:03}

Здравствуйте можно ли как-то переделать блок вывода графика для ESP32 .

Ответить

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