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

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

Блоки для отрисовки на дисплеях с контроллером 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 КБ) 1992 просмотра
12345
Категория: Блоки пользователей | Добавил: joogorden
Вложения
ssd1306.ubl
(756.47 КБ) 188 скачиваний

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

Блоки для отрисовки на дисплеях с контроллером 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
Полковник
Сообщения: 2698
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 164
Откуда: Воронеж
Имя: Алексей
Контактная информация:

Блоки для отрисовки на дисплеях с контроллером 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
Капитан
Сообщения: 929
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 85
Откуда: Уфа
Контактная информация:

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

#7

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

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

av
Лейтенант
Сообщения: 615
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 30
Имя: Алексей

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

#8

Сообщение av » 29.11.2018{, 00:11}

aidar_i, облазил весь интернет не нашел код формулы расчета для Adafrut библиотеки. Видел эту формулу только у библиотеки OLED_I2C но прикрутить к Адафруитовской не получилось. Так же сделал отключение дисплея (режим Power Save), но и тут засада. Удалил библиотеку адафруит из за фирменной заставки и забыл скопипастить эту функцию. А вспомнить не могу голова дырявая :smile390: . Если у вас есть код формулы центровки текста поделитесь. В коде не шарю, так балуюсь глядя на примеры и пытаюсь разбираться по не многу.

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

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

#9

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

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

av
Лейтенант
Сообщения: 615
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 30
Имя: Алексей

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

#10

Сообщение av » 30.11.2018{, 11:06}

Может кому понадобится. Сделал блок для отключения дисплея режим Sleep и яркость дисплея. Яркость на OLED регулируется от 0 до 255 почти не заметно. По этому значений регулировки яркости всего две (ярко или тускло). Блок работает только с блоками из первого поста.
SSD1306_dim_pwr_(CODE).ubi
(11.31 КБ) 41 скачивание
Измененная библиотека Adafruit_SSD1306-master. Заменить библиотеку в папке с установленными библами.
Adafruit_SSD1306-master.rar
Измененная библиотека
(16.28 КБ) 50 скачиваний

av
Лейтенант
Сообщения: 615
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 30
Имя: Алексей

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

#11

Сообщение av » 06.06.2019{, 10:51}

aidar_i, вы пробовали на библиотеке от Adafruit_SSD1306 сделать блок скроллинга текста ? Попытался сваять блок но не могу разобраться как это сделать. Если есть идеи поделитесь пожалуйста!

Вот блок который пытался сделать:
Scroll_(CODE).ubi
(10.05 КБ) 3 скачивания

aidar_i
Капитан
Сообщения: 929
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 85
Откуда: Уфа
Контактная информация:

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

#12

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

Посмотрю.

Ответить

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

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

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