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

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

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

Сообщение Олег »

[ · Скачать удаленно () ] 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
12345
Категория: Блоки пользователей | Добавил: joogorden
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

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

Сообщение Олег »

Всего комментариев: 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. Разрешает работу блока.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

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

Сообщение pan »

[ref]серёга[/ref], блок вложил к первому посту
AveMneAve
Рядовой
Сообщения: 13
Зарегистрирован: 06 фев 2018, 14:45
Имя: Константин

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

Сообщение AveMneAve »

А как заставить центровать текст,да и вообще всю информацию на дисплее?
AveMneAve
Рядовой
Сообщения: 13
Зарегистрирован: 06 фев 2018, 14:45
Имя: Константин

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

Сообщение AveMneAve »

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

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

Сообщение aidar_i »

Напишите формулу и вставьте
Ширина дисплея минус длина текста делить пополам, вот это и есть координата х, по высоте аналогично, только минус высота шрифта.
Длину текста кажется считает блок в строках, все это можно задать штатными блоками
.
Аватара пользователя
diman27
Сержант
Сообщения: 291
Зарегистрирован: 06 сен 2015, 07:33
Откуда: Белово
Благодарил (а): 4 раза

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

Сообщение diman27 »

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

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

Сообщение aidar_i »

Посмотрю.
Аватара пользователя
НиколаМастер
Сержант
Сообщения: 113
Зарегистрирован: 10 янв 2018, 12:36
Благодарил (а): 3 раза
Контактная информация:

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

Сообщение НиколаМастер »

Ник как не подружу OLED c Nano. Можете дать ссылку на работающие блоки? Спасибо.
И по ограничения можно пару слов? У меня вывод текста на разных платах, меню листаю и вывод данных, как лучше сделать?
Brevis esse laboro, obscurus fiо - если я стараюсь быть кратким, я становлюсь непонятным
Аватара пользователя
НиколаМастер
Сержант
Сообщения: 113
Зарегистрирован: 10 янв 2018, 12:36
Благодарил (а): 3 раза
Контактная информация:

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

Сообщение НиколаМастер »

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

Отправлено спустя 7 минут 24 секунды:
Adafruit_Circuit_Playground
Adafruit_GFX_Library
Adafruit_SSD1306-master
Adafruit-GFX-Library
такие стоят
Brevis esse laboro, obscurus fiо - если я стараюсь быть кратким, я становлюсь непонятным
Аватара пользователя
НиколаМастер
Сержант
Сообщения: 113
Зарегистрирован: 10 янв 2018, 12:36
Благодарил (а): 3 раза
Контактная информация:

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

Сообщение НиколаМастер »

Посмотрите пожалуйста
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Brevis esse laboro, obscurus fiо - если я стараюсь быть кратким, я становлюсь непонятным
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

НиколаМастер писал(а): 29 авг 2020, 16:35 У меня вывод текста на разных платах, меню листаю и вывод данных,
Проект не смотрел. Сколько оперативной памяти используется после компиляции?
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
НиколаМастер
Сержант
Сообщения: 113
Зарегистрирован: 10 янв 2018, 12:36
Благодарил (а): 3 раза
Контактная информация:

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

Сообщение НиколаМастер »

Ни чего не остается...
Скетч использует 28428 байт (92%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 2021 байт (98%) динамической памяти, оставляя 27 байт для локальных переменных. Максимум: 2048 байт.
Brevis esse laboro, obscurus fiо - если я стараюсь быть кратким, я становлюсь непонятным
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

av писал(а): 06 июн 2019, 10:51 [ref]aidar_i[/ref], вы пробовали на библиотеке от Adafruit_SSD1306 сделать блок скроллинга текста ? Попытался сваять блок но не могу разобраться как это сделать. Если есть идеи поделитесь пожалуйста!

Вот блок который пытался сделать:
Scroll_(CODE).ubi
Я забыл про Ваш вопрос, решили?
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Почему вход? С параметрами легко решается! Можно бег организовать и подачей на вход Х со счетчика значения.
Shurkan1
Рядовой
Сообщения: 27
Зарегистрирован: 28 авг 2020, 17:32
Имя: Александр

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

Сообщение Shurkan1 »

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

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

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

Сообщение KulibinOrsk »

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

Отправлено спустя 2 часа 17 минут 59 секунд:
[ref]Олег[/ref], остается у вас спросить - должен ли работать с дисплеем SSD1309 (пост 25)
У меня по I2C не запустился, по SPI смысла нет пробовать пока
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

В дополнение к этим блокам выложу пример с блоками для рисования графика на OLED дисплее.
Используется совместно с главным и блоком завершения вывода из данной темы.
Вывод графика на OLED дисплей.flp
Испытан в Протеус.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Goldln
Рядовой
Сообщения: 11
Зарегистрирован: 23 янв 2024, 12:24
Имя: Oleg

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

Сообщение Goldln »

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

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

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

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