Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

Малый расход RAM. Есть кириллица (только русский).

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
RedSky
Сержант
Сообщения: 186
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 34
Откуда: Днепропетровск

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

#1

Сообщение RedSky » 23.08.2018{, 09:21}

Набор блоков для вывода текста на дисплей Oled с интерфейсом I2C. Есть кириллица. Поддерживается только дисплей с разрешением 128х64 и контроллером SSD 1306.
Адреc дисплея на шине должен быть 0х3C (для изменения нужно редактировать блок).
В отличии от блоков с поддержкой графики для работы требует незначительный объём RAM.
Возможности блоков: вывод текста отдельными блоками (аналогично штатным блокам для HD44780),
инвертирование текста для одного блока и/или всего экрана.
Доступно два шрифта: мелкий 5х7 пикселей - всего 8 строк по 21 знаку,
крупный 10х14 пикселей - всего 4 строки по 10 знаков.
Возможно располагать текст на экране произвольным образом, в том числе комбинировать
блоки с мелким и крупным шрифтом, делать вывод строки из нескольких частей, инвертировать часть строки, росполагать разные блоки в одном и том же месте экрана (при условии что они отображаются НЕ одновременно).
Для расположения строк большого шрифта есть особенность: хотя символы во сравнению с малым шрифтом имеют двойной размер, расположение строк аналогично малому шрифту, таким образом один символ занимает две строки со сдвигом вверх.
Поэтому счёт строк начинается со второй с шагом 1/2.
Таким образом:
1-я строка будет под номером 2
2-я под номером 4
3-я под номером 6
4-я под номером 8
Описание входов и параметров пользователя внутри блоков.
В архиве блоки и библиотека.
Вложения
Oled.zip
Блоки и библиотека.
(90.63 КБ) 217 скачиваний
IMG_20180822_082842.jpg
Пример
IMG_20180822_111017.jpg
Пример
IMG_20180822_083222.jpg
Пример
IMG_20180822_084251.jpg
Пример
Последний раз редактировалось RedSky 14.09.2018{, 18:55}, всего редактировалось 1 раз.



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

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

#41

Сообщение aidar_i » 05.02.2019{, 00:29}

Да , работает, сегодня прикрутил кириллицу. Можно добавить строки, сколько влезет.
Может работать и с SPI.
Выложу позже, пока доделываю.
СпойлерПоказать
IMG-20190205-WA0002.jpeg
СпойлерПоказать
IMG-20190205-WA0004.jpeg
СпойлерПоказать
IMG-20190205-WA0006.jpeg

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

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

#42

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

Выложил сюда.

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

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

#43

Сообщение aidar_i » 08.02.2019{, 01:12}

av писал(а):
03.02.2019{, 11:39}
Если использовать вместе с ардуиной не советую этот дисплей использовать вообще. Уж очень много ОЗУ съедает не оставляя места для остального алгоритма проекта.
Попробуйте легкую библиотеку ASOLED. Я его приспособил и к ESP8266. Он выводит только текст.
ASOLED.rar
(11.48 КБ) 8 скачиваний
sketchASOLED.ino
(1.94 КБ) 7 скачиваний
Отпишитесь на сколько она легче.

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

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

#44

Сообщение av » 09.02.2019{, 20:31}

aidar_i, эту библиотеку я рассматривал. Мне не понравилось, что нет выбора размеров текста.

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

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

#45

Сообщение aidar_i » 10.02.2019{, 08:45}

Автор пишет, это плата за "лёгкость". Почитайте его тему.

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

Вывод текста на дисплеи OLED c интерфейсом I2C и контроллером SSD1306

#46

Сообщение av » 10.02.2019{, 09:50}

aidar_i, изучал не только вами предложенную библиотеку но так же ( iarduino_OLED, OzOLED, SSD1306Ascii-master, и другие). Как оказалось везде нужно платить за легкость ! На данный момент существует только одна полноценная от Adafruit. Вот бы к ардуинке как нибудь бы прикрутить внешнюю ОЗУ по SPI и алгоритм работы с ней, тогда бы можно было бы использовать все фишки полноценной библы.

Ответить

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

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

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