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 раз.

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

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

#41

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

Phazz писал(а):
06.10.2019{, 07:53}
edyapd, разница в том, что первая esp8266 а вторая esp32.
Там речь шла о есп 32 в обоих случаях . Я спрасил про есп 8266 , эдуард спрасил ,почему не есп32 ,я ответил ,что заказал есп32 но другую... :smile110:
Электронщик до мозга костей и не только

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

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

#42

Сообщение aidar_i » 07.10.2019{, 19:00}

Rovki писал(а):
05.10.2019{, 15:54}
Купил вот такой https://ru.aliexpress.com/item/32846177 ... 33edPIppG7
,подойдет ли для него БП
Здесь главные универсальные блоки , выбор размера дисплея в параметрах главных блоков. Испытайте на обоих типах и размерах дисплея.
ESP8266_Oled_SSD1306_display3.flp
(163.92 КБ) 233 скачивания

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

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

#43

Сообщение Rovki » 07.10.2019{, 20:24}

aidar_i писал(а):
07.10.2019{, 19:00}
Rovki писал(а):
05.10.2019{, 15:54}
Купил вот такой https://ru.aliexpress.com/item/32846177 ... 33edPIppG7
,подойдет ли для него БП
Здесь главные универсальные блоки , выбор размера дисплея в параметрах главных блоков. Испытайте на обоих типах и размерах дисплея.
ESP8266_Oled_SSD1306_display3.flp
А на одной плате все можно расположить?

Отправлено спустя 11 минут 42 секунды:
не находит библиотеку SSD1306 , у меня есть бибка Adafruit SSD1306

Отправлено спустя 11 минут 32 секунды:
Вот что выдает
СпойлерПоказать
Arduino: 1.8.9 (Windows 10), Плата:"Arduino/Genuino Uno"

pr40:3:21: error: SSD1306.h: No such file or directory

compilation terminated.

exit status 1
SSD1306.h: No such file or directory

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Электронщик до мозга костей и не только

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

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

#44

Сообщение aidar_i » 07.10.2019{, 21:20}

Поставьте библиотеки из 1 сообщения.
Главные только одну, или 1306 , или 1106

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

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

#45

Сообщение Rovki » 07.10.2019{, 22:46}

aidar_i писал(а):
07.10.2019{, 21:20}
Поставьте библиотеки из 1 сообщения.
Главные только одну, или 1306 , или 1106
Загрузил проект ,но на индикаторе темно ,нет ни чего :smile37:
Электронщик до мозга костей и не только

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

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

#46

Сообщение aidar_i » 08.10.2019{, 08:48}

Испытал -работает.
Немного изменил главные блоки, убрал очистку экрана с них, чтобы в каждом цикле дисплей не обновлять.
Вот пример с измененными главными блоками.
ESP8266_Oled_SSD1306_display4.flp
(181.66 КБ) 445 скачиваний
Проверьте подключение дисплея (SDA --> D2, SCK-->D1). В главных блоках ,в параметрах , чтобы было GEOMETRY_128_32.

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

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

#47

Сообщение Rovki » 08.10.2019{, 09:47}

Там дисплей подключен уже на плате ,вот пины
олед вайфай.jpg
Отправлено спустя 15 минут 34 секунды:
Пример дает ошибку ,там ссылка на 1106

Отправлено спустя 1 час 34 минуты 18 секунд:
вот нашел инфу https://heltec.org/project/wifi-kit-8/
https://github.com/HelTecAutomation/Heltec_ESP8266
Электронщик до мозга костей и не только

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

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

#48

Сообщение aidar_i » 08.10.2019{, 12:05}

На сайте алиэкспресс написано подключено (Хотя на рисунке по другому):
SDA --> D4
SCK --> D5
RST -- D2
Для этого модуля изменил главный ПБ для SH1106.
ESP8266_Oled_SSD1306_displayMiniDK.flp
(166.89 КБ) 202 скачивания
А вообще там какая то путаница с пинами, погуглил, нашел разную распиновку.
Вот , например, с Вашей ссылки Выложите фото модуля.
Скорее придется эти пины самому выяснить. Скомпилируйте скетч и меняйте в скетче пины все три. Или прозвоните , что куда идет.
Последний раз редактировалось aidar_i 08.10.2019{, 13:06}, всего редактировалось 1 раз.

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

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

#49

Сообщение Rovki » 08.10.2019{, 12:49}

вот фото
IMG_20191008_122349.jpg
Отправлено спустя 11 минут 12 секунд:
aidar_i писал(а):
08.10.2019{, 12:05}
На сайте алиэкспресс написано подключено (Хотя на рисунке по другому):
SDA --> D4
SCK --> D5
RST -- D2
Для этого модуля изменил главный ПБ для SH1106.
ESP8266_Oled_SSD1306_displayMiniDK.flp

А вообще там какая то путаница с пинами, погуглил, нашел разную распиновку.
Вот , например, с Вашей ссылки Выложите фото модуля.
Скорее придется эти пины самому выяснить. Скомпилируйте скетч и меняйте в скетче пины все три. Или прозвоните , что куда идет.
вы дали ссылку на кит 32 ,а это кит 8

Отправлено спустя 46 секунд:
Ваш пример загрузил без ошибок ,но на экране пусто :(
Электронщик до мозга костей и не только

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

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

#50

Сообщение aidar_i » 08.10.2019{, 13:15}

Да, перезагрузил рисунок на кит8, там
SDA-->4
SCK-->5
RST-->16

На Вашей картинке
SDA-->2
SCK-->14
RST-->4

Так что вставляйте и испытывайте. RST я в параметры не выводил, пока в скетче выбирайте.
Это в setup. Вместо пина 2 нужно в 2х местах поставить. Или вышеуказанный пин вывода RST ESP (но не подписанный на модуле) замкните на + через 4.7-10к временно.

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

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

#51

Сообщение Rovki » 08.10.2019{, 14:34}

Прозвонил модуль - SDA- gpio 4 (pinD2)
SCL -gpio5 (pinD1)
срос gpio16(pinD0)
Ну китаец ,погоди :smile113:
Так указывать нужно gpio или pin,???

Отправлено спустя 1 час 12 минут 52 секунды:
Убрал D4.D5 поставил 4 ,5 ,16 - компиляциия проходит ,но что то с памятью
СпойлерПоказать
Arduino: 1.8.9 (Windows 10), Плата:"Core Development Module, Espressif (xcc), 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"

Изменены опции сборки, пересобираем все
C:\Users\User\AppData\Local\Temp\flprog\pr51\pr51.ino:6:28: warning: extra tokens at end of #include directive [enabled by default]

#include "user_interface.h";

^

Скетч использует 238281 байт (54%) памяти устройства. Всего доступно 434160 байт.
Глобальные переменные используют 31820 байт (38%) динамической памяти, оставляя 50100 байт для локальных переменных. Максимум: 81920 байт.
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

Электронщик до мозга костей и не только

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

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

#52

Сообщение edyapd » 08.10.2019{, 16:31}

Rovki, я не совсем пойму, вы пытаетесь запустить дисплей, который идёт на плате? Но на рисунке, который вы сами разместили, чётко указаны пины для SDA, SCL и Oled_Rst дисплея. Навряд ли он будет работать по 4 и 5

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

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

#53

Сообщение Rovki » 08.10.2019{, 16:46}

Дисплей уже соединен с есп на плате и выводы снаружи они не используются пока. В том то и дело что есть две модификации и у них разнаяразводка . На плате ,на выводе написано SDA ,а подключен он к GPIO2 и к дисплею не идет https://github.com/Heltec-Aaron-Lee/WiF ... iagram.PDF
Электронщик до мозга костей и не только

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

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

#54

Сообщение edyapd » 08.10.2019{, 17:02}

Rovki писал(а):
08.10.2019{, 15:46}
error: espcomm_open failed
Вот что говорит Гугл по этому поводу https://esp8266.ru/forum/threads/warnin ... ailed.968/

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

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

#55

Сообщение aidar_i » 08.10.2019{, 17:50}

Настройки платы попробуйте поставьте nodemcu.
В flprog не Ардуино указали? Там тоже нодемсу поставьте.
Можно указывать и gpio и пин.
В настройках платы у Вас стоит 512К. У Вас 4М(3М)

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

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

#56

Сообщение Rovki » 08.10.2019{, 18:17}

не хочет заливать в этот модуль ,пробовал в вемос - залился без проблем .А тут любую плату выбираю (из есп) и ни как error: espcomm_open failed
А когда выбираю плату WIFI Kit 8 - то компиляция не идет ...
СпойлерПоказать
Arduino: 1.8.9 (Windows 10), Плата:"WiFi Kit 8, 80 MHz, Flash, Disabled, 4M (3M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 57600"

exec: "c:\\Program Files (x86)\\FLProg53\\ideV3\\hardware\\WiFi_Kit_series-master\\esp8266/tools/python/python": file does not exist
Ошибка компиляции для платы WiFi Kit 8.

Отправлено спустя 29 минут 29 секунд:
Вот еще нарыл инфы ,тяжело быть первопрходцем :smile37:
http://stefanfrings.de/esp8266/#wifikit8
Электронщик до мозга костей и не только

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

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

#57

Сообщение aidar_i » 08.10.2019{, 18:55}

Все таки старые добрые платы esp + oled дисплей!
О
Отправлено спустя 10 минут 28 секунд:
Не пробовали "примитивный пример" с последней ссылки?
Там нужно свой ssid -имя сети и password -пароль сети ввести и библиотеку oled.h установить.
Перед загрузкой замкните gpio0-D3 на землю и перезапустите есп.
Последний раз редактировалось aidar_i 08.10.2019{, 19:12}, всего редактировалось 1 раз.

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

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

#58

Сообщение Rovki » 08.10.2019{, 19:11}

aidar_i писал(а):
08.10.2019{, 19:05}
Все таки старые добрые платы esp + oled дисплей!

Отправлено спустя 10 минут 28 секунд:
Не пробовали "примитивный пример" с последней ссылки?
Там нужно свой ssid -имя сети и password -пароль сети ввести и библиотеку oled.h установить.
Силы на исходе , танцы задолбали .... :smile113:
Электронщик до мозга костей и не только

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

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

#59

Сообщение aidar_i » 08.10.2019{, 19:13}

Тогда пузырь и снова в бой!

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

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

#60

Сообщение Rovki » 08.10.2019{, 19:23}

aidar_i писал(а):
08.10.2019{, 19:13}
Тогда пузырь и снова в бой!
НЕЕЕЕ. Мне еще проект рабочий отлаживать ... :smile390: наигрался по самые помидоры ....хуже нет в слепую тыкаться ,проще схему на листе А0 нарисовать и отладить.
СпойлерПоказать
проект щ.jpg
СпойлерПоказать
Электронщик до мозга костей и не только

Ответить

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