I2c + SH1106 с использованием только wire.h

хех) мне очень oled хотелось если честно, а цветные это tft, мне кажется тускловаты были бы. Но самое занятное - я думаю у арду вся память на хранение данных о цвете уйдет) даже если 8-битный цвет, уже об 1 букве хранить 40 бит вместо 5ти

Именно этот момент пока отложил, но по сути написать еще 1 набор, чисто букв. Затем определить какой-нибудь символ, что если с него начинается строка, то он сам удаляется, а все остальные по автозамене с транслита на кириллицу заменяются. Я только чет затупил как “Ъ” сделать транслитерацией

Вообще ничего не уйдёт, всё тот же бит на пиксель, просто красите его нужным цветом. В итоге можно записи меню раскрашивать.

можно, конечно… но тогда ведь захочется сглаживание, например)

Эхо можно добавить.

1 лайк

Ошибаетесь.
Есть такая наука - арифметика называется.
Если ее иногда использовать, легко можно убедиться, что в подавляющем большинстве случаев не то что у “Арды”, но даже у stm32 недостаточно оперативной памяти, чтобы поместился буфер экрана.
Но у цветных экранов - существенное преимущество: напрочь отсутствует групповое кодирование, т.е. исключена ситуация, когда один байт влияет более чем на один пиксель.

понимаю, но в контексте задачи сглаживания шрифта, нужно шрифт в векторе рисовать - тогда памяти хватит, проц на месте вычислит пиксели.

Вариант проще - сделать картинки с альфа-каналом, ну или просто картинки, если фон фиксированный. Но это как раз выжрет память.

О каком контексте речь?
Я отвечал в 61 сообщение.
А “сглаживание шрифта” было впервые в теме упомянуто только в 63-м. Причем безо всякой конкретики и, на мой взгляд, не к месту.
Так что могу лишь напомнить прописные истины:

  1. Нельзя объять необъятное. Когда список хотелок постоянно пополняется, окончание проекта невозможно.
  2. МК выбирают под задачу. Если объективная оценка (та самая арифметика) показывает, что у некоторого контроллера не хватает ресурсов, берется контроллер помощнее. Естественно, с учетом 1.

ну так вы в принципе никакого практического контекста использования цветного дисплея не упоминали, когда намекали на существование арифметики

Ну это всё субъективно (пальцем надо проверять). Мне, например, нравится связка ч\б экран - энкодер… на 3D принтере в качестве органов управления. С другой стороны цветной экран + сенсорный экран тоже здорово сочетаются, в том числе и при управлении.
VID_20240612_113351 (1)

1 лайк

Бесспорно. Применений можно найти массу.

Вот именно.
Из плюсов цветного дисплея:

  • возможность использования цвета (неожиданно, правда?). У меня, например, в одном проекте используется три цвета. И это намного удобнее, чем два цвета монохромного.
  • возможность использования градаций яркости.
  • независимая адресация пикселей.
  • большой выбор размеров и разрешений.

Из минусов:

  • потребляют больше электроэнергии.

Факторы, которые трудно отнести к плюсам или минусам:

  • цена (примерно одинаковая),
  • скорость работы (у цветных, как правило, интерфейс существенно быстрее, что приводит к примерно одинаковому fps).
1 лайк

Да. Но в тоже время надо понимать, что гекс подвижная игрушка и оператор не смотрит на экран пульта, да и на сам пульт тоже :slight_smile:
Как бы тактильность выходит на первый план или голосовой вывод информации в случае использования смартфона-пульта. То есть напрашивается вот это:


С другой стороны тов. китайцы приспособили сенсорные экраны к мех. джойстикам-насадкам.

Это типа так?


Не ясно, как это экономит ресурс.

не, это когда у вас шрифт сглаженный (не видно лесенки пикселей). Мне знакомо два способа реализации. Либо рисуется в векторе и МК “налету” вычисляет цвет пикселей согласно вещественного расстояния от центра пикселя до линии контура фигуры (перпендикуляр к касательной, например) или упрощенные варианты этого алгоритма. Либо шрифт рисуется сразу в растре, но не на сплошном фоне, а на прозрачной подложке как будто, т.е. пиксели на границе контура имеют частичную прозрачность - т.н. альфа-канал.

никак - получается “отрицательная экономия”. Просто визуально красивее

Аааа…
Типа так:

Делал, но с другой целью.

скорее типа вот так

Я слегка психанул из-за необходимости использовать внешний стаб для дисплея и взял mega 2560 вместо pro micro в пульт. Она избыточна там, но не суть, у меня их с запасом.

Так вот всё работает как часы ровно до тех пор пока хоть пальцем не прикоснешься к выводам i2c шины. Отключил всё кроме экрана, на экран вывожу millis(). То есть ничего более не поднято из портов, но стоит прикоснуться к выводам i2c и мега наглухо зависает.

Понятно что в корпусе такое маловероятно, но вдруг помехи или влажность воздуха? И на время отладки это жутко бесит… Почему это происходит? Питание 3В дисплея имеет к этому какое-то отношение? Можно ли инициировать перезапуск при зависании шины?

А зачем их касаться пальцем?

ну вот случается время от времени, пока корпуса нет… Сейчас проверил - на про мини тоже можно повесить, но надо прям настойчиво потрогать.

Про статику слышали? Если сильно повезет, на теле могут накапливаться десятки/сотни вольт. А вы это все - да на пины. Хорошо, что просто зависают ))

1 лайк