ESP8266/ESP32 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

Пользовательские блоки для вывода текста.

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

ESP8266/ESP32 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#1

Сообщение aidar_i » 05.02.2019{, 13:04}

Пользовательские блоки (ПБ) для вывода текста для дисплеев на SSD1306 и SH1106 I2C. Можно допилить главный блок и под SPI, по аналогии. Блоки работают с ESP8266 и с ESP32.
Пример с блоками :
ESP8266_Oled_SSD1306_display2.flp
(170.36 КБ) 1248 скачиваний
Пример с ПБ для переноса длинных текстов в следующую строку.Если заданная строка шире указанной ширины текст будет перенесен на следующую строку через пробел или тире.
ESP8266_Oled_перенос текста.flp
(66.77 КБ) 500 скачиваний
ЗДЕСЬ изменил главные блоки, появился выбор размера дисплея 128х32.

Пример Бегущая строка
Библиотека измененная под кириллицу, по рекомендациям Vsevolod61 из форума https://esp8266.ru/forum/
esp8266-oled-ssd1306.rar
(313 КБ) 1292 скачивания
Архив в zip в 22 сообщении.

Добавил еще 3 шрифта,
DialogRus_Italic_10,
ArialRus_Italic_14,
ArialRus_Italic_26
замените в библиотеке файл:
OLEDDisplayFonts_rus.h
(415.11 КБ) 820 скачиваний
Добавил блок очистки выбранного участка дисплея сюда.

Скетч добавил в примеры библиотеки (SSD1306Cyrillic_text_output).
Прочитайте и это viewtopic.php?p=64141#p64141

Подключение OLED к ESP-01 viewtopic.php?p=80849#p80849.
Блок с выводом графика ТУТ.
FontEditor.rar
(376.83 КБ) 271 скачивание
Видео про FontEditor
СпойлерПоказать
Последний раз редактировалось aidar_i 08.01.2022{, 18:29}, всего редактировалось 29 раз.

UMC
Рядовой
Сообщения: 59
Зарегистрирован: 13.02.2016{, 16:51}
Репутация: 10

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#21

Сообщение UMC » 11.03.2019{, 18:05}

aidar_i писал(а):
05.02.2019{, 13:04}
esp8266-oled-ssd1306.rar
Битый архив....поправьте если не сложно

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

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#22

Сообщение aidar_i » 11.03.2019{, 19:42}

Архив не битый, просто у Вас RAR не открывает. Вот в ZIP:
esp8266-oled-ssd1306.zip
(324.33 КБ) 299 скачиваний

Saiz
Рядовой
Сообщения: 1
Зарегистрирован: 02.04.2019{, 01:28}
Репутация: 0
Имя: Денис

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#23

Сообщение Saiz » 28.04.2019{, 21:08}

Огромное спасибо за проделанную работу!
Только один вопрос. Какой то есть символ градуса?

Отправлено спустя 5 часов 25 минут 21 секунду:
отбой, справился

manukc
Рядовой
Сообщения: 11
Зарегистрирован: 09.12.2018{, 18:05}
Репутация: 0
Имя: man

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#24

Сообщение manukc » 07.08.2019{, 21:51}

aidar_i, добрый день, хочу подключить олед дисплей ssd1306 i2c к nodemcu,но не получается с компилировать в ардуино иде, я так понимаю не хватает библиотек, а ваш файл esp8266-oled-ssd1306.rar не могу открыть архиватором, можете помочь?
а другие примеры с программы ардуино иде компилируются, и загрузаются и экран включается.

на ардуино уно тоже норм работает

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#25

Сообщение Phazz » 07.08.2019{, 21:53}

manukc, открывать нужно через winrar

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

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#26

Сообщение aidar_i » 07.08.2019{, 22:11}

В 22 сообщении в zip.

Moposka
Рядовой
Сообщения: 29
Зарегистрирован: 11.02.2019{, 18:43}
Репутация: 0
Откуда: Дрезден
Имя: Олег

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#27

Сообщение Moposka » 15.09.2019{, 14:15}

Нет ли у автора этой библиотеки со SPI?

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

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#28

Сообщение aidar_i » 16.09.2019{, 11:45}

Сами создайте, какой Вам нужен. Я снимал видео как это сделать

Sanek
Рядовой
Сообщения: 10
Зарегистрирован: 18.04.2019{, 21:16}
Репутация: 0
Имя: Александр

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#29

Сообщение Sanek » 16.09.2019{, 17:09}

Видео смотрел , шрифт делал , а вот вставить в блок не получается , выдаёт ошибку при компиляции в IDE.
Пробовал в саму библиотеку вставлять готовый шрифт esp8266-oled-ssd1306.rar тоже самое, может с этим блоком по другому что надо делать.
Шрифт делал английский, мне только циферки нужны.
версия 5,3,0
Вложения
oled.jpg
oled.jpg (3.8 КБ) 2480 просмотров

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

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#30

Сообщение aidar_i » 17.09.2019{, 06:08}

Какой размер шрифта делали?
Выложите сам шрифт и блок, и скриншот ошибки.

Sanek
Рядовой
Сообщения: 10
Зарегистрирован: 18.04.2019{, 21:16}
Репутация: 0
Имя: Александр

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#31

Сообщение Sanek » 17.09.2019{, 08:56}

Arimo_Italic_28.h
(21.57 КБ) 90 скачиваний
OLED_ESP8266rus_вывод_текста_(CODE).ubi
(29.1 КБ) 126 скачиваний
СпойлерПоказать
ошибка.jpg
ошибка
Я так понимаю шрифт надо вставить в
OLEDDisplayFonts_rus.h
(415.11 КБ) 91 скачивание
но тут моих знаний не хватает не программист я, вот если раз увидеть или прочитать то тогда другое дело.

0x1A, // Width: 26
0x1E, // Height: 30
0x20, // First Char: 32
0xE0, // Numbers of Chars: 224
откуда брать эти значения ?
Width: 26 - это высота шрифта я так понял.

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

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#32

Сообщение aidar_i » 17.09.2019{, 15:21}

Все выдает конвертер шрифтов. Посмотрите скриншот, там будет все понятно.
СпойлерПоказать
шрифт 28.png
Там всего три типа , тк у нас не Adafruit, используем другие версии библиотек. Больше или меньше 3й версии.

Отправлено спустя 6 минут 12 секунд:
Sanek писал(а):
17.09.2019{, 08:56}
Я так понимаю шрифт надо вставить в
OLEDDisplayFonts_rus.h
Да туда вставить. Нужно, чтобы строки "const char Arimo_Italic_28[] PROGMEM = { "
были так "const uint8_t ArialRus_Italic_28[] PROGMEM = {"

Отправлено спустя 22 минуты 56 секунд:
Испытайте
OLEDDisplayFonts_rus.h
(505.47 КБ) 137 скачиваний

Sanek
Рядовой
Сообщения: 10
Зарегистрирован: 18.04.2019{, 21:16}
Репутация: 0
Имя: Александр

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#33

Сообщение Sanek » 17.09.2019{, 17:07}

Спасибо! Всё заработало. :smile9:
Подозревал что надо применить другой тип кодировки, но меня смутило как раз то что строки разные
"const char Arimo_Italic_28[] PROGMEM = { "
и
"const uint8_t ArialRus_Italic_28[] PROGMEM = {"
и тут разница в строках напрягла
0x00, 0x19, 0x22, 0x09, // 34=":25 в твоих шрифтах
и
0x00, 0x9C, 0x4D, 0x10, // 36:156 в моём шрифте

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#34

Сообщение Rovki » 05.10.2019{, 15:54}

Купил вот такой https://ru.aliexpress.com/item/32846177 ... 33edPIppG7
,подойдет ли для него БП
Электронщик до мозга костей и не только

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#35

Сообщение edyapd » 05.10.2019{, 20:24}

Rovki, а чего не сразу ТАКУЮ?

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#36

Сообщение Rovki » 05.10.2019{, 21:27}

edyapd писал(а):
05.10.2019{, 20:24}
Rovki, а чего не сразу ТАКУЮ?
Поттому что уже такую заказал https://ru.aliexpress.com/item/33043019 ... 33edm6wXFO
Электронщик до мозга костей и не только

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#37

Сообщение edyapd » 06.10.2019{, 05:23}

Rovki, а можно узнать разницу между этими двумя ESP32. Просто по вашей ссылке там нет никакого описания. А я уже приготовился заказывать ту, на которую дал ссылку. Вот теперь в раздумьях.

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

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#38

Сообщение aidar_i » 06.10.2019{, 05:49}

Эти ПБ подойдут.
У Вас 128х32 дисплей, внесите изменение в ПБ.

// for 128x64 displays:
SSD1306Wire display(0x3c, SDA, SCL); // ADDRESS, SDA, SCL
// for 128x32 displays:
// SSD1306Wire display(0x3c, SDA, SCL, GEOMETRY_128_32); // ADDRESS, SDA, SCL, GEOMETRY_128_32 (or 128_64)

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#39

Сообщение Rovki » 06.10.2019{, 07:08}

edyapd писал(а):
06.10.2019{, 05:23}
Rovki, а можно узнать разницу между этими двумя ESP32. Просто по вашей ссылке там нет никакого описания. А я уже приготовился заказывать ту, на которую дал ссылку. Вот теперь в раздумьях.
Сам не знаю ...купил первую попавшеюся для видео ... :smile37:

Отправлено спустя 56 секунд:
aidar_i писал(а):
06.10.2019{, 05:49}
Эти ПБ подойдут.
У Вас 128х32 дисплей, внесите изменение в ПБ.

// for 128x64 displays:
SSD1306Wire display(0x3c, SDA, SCL); // ADDRESS, SDA, SCL
// for 128x32 displays:
// SSD1306Wire display(0x3c, SDA, SCL, GEOMETRY_128_32); // ADDRESS, SDA, SCL, GEOMETRY_128_32 (or 128_64)
попробую
Электронщик до мозга костей и не только

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

ESP8266 и дисплеи OLED (библиотека esp8266-oled-ssd1306).

#40

Сообщение Phazz » 06.10.2019{, 07:53}

edyapd, разница в том, что первая esp8266 а вторая esp32.

Ответить

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