Графический LCD дисплей на чипе UC1609. Альтернатива 1602? Недообзор.

  • Цена: $2.60..2.70 (зависит от цвета) + $0.95 доставка

Всем доброго дня!
Даный дисплей как-то мелькнул в разделе «Специально для Вас». В отзывах — его обзывали заменой текстового LCD на 2 строки по 16 символов. Так ли оно?

Дисплей ехал ко мне 4 недели. Заказывал 2 штуки отдельными заказами, иначе доставка сильно дорожала. Но приехали оба в одном стандартном желтом конверте с «пупырками».

Заказывал версию на 5 вольт. Судя по фото со страницы товара, от 3,3-вольтовой версии она отличается только наличием стабилизатора. Так что лучше брать ее. Разница в стоимости не значительна, и в 3,3 ее можно переделать просто установкой перемычки.
А вот подсветка — сделана одинаково. От 3,3В, с резистором на 10Ом — потребляет 30мА. От 5 вольт — я ставил два по 100Ом в параллель, получилось 40мА и хорошая яркость, считаю эти величины оптимальными. Подсветка равномерная.

Фото в работе с примера этой библиотеки:

Полутона на картинке — обусловлены динамической картинкой. Сегменты «зажигаются» моментально, а вот «гаснут» — примерно четверть секунды.
Конкретно в моих экземплярах — картинка была очень плохой, поэтому пришлось чуть поправить контраст. Для этого нужно открыть файл LCD_UC1609.H, найти соответствующую строку и заменить значение на 0x1B.
Так выглядит измененная строка:
#define UC1608_DEFAULT_GN_PM 0x1B


Еще одна хорошая библиотека. Тут уже контраст можно задать в программе, при вызове метода begin.

Углы обзора — такие же, как и в текстовом LCD. С боков еще терпимо, а вот вверх и вниз — уже при 45 градусов — уходит в негатив.
Картинка под углами 45 градусов:






Размеры, со страницы товара:


в сравнении с 1602


Плата сзади:

Перемычка J1 закорачивает стабилизатор 3,3 Вольт.
J2 — соединяет вывод анода подсветки и выход стабилизатора.
J3 — закорачивает выводы катода подсветки и GND.
R2 и R3 — соединенные параллельно резисторы подсветки, включены в цепь катода.
Цоколевка соответствует модулю дисплея на контролере ST7735.

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

UPD: в комментариях была озвучена идея использовать дисплей, как экономичный индикатор, если отключить подсветку.
Вот как ин работает в инверсии, при среднем дневном освещении:

Напоминает первые мобильники с ТФТ дисплеями.
А вот так — если подсветка включена через резистор 5,6кОм на 5В. Видно намного лучше.


Когда отсоединил Vcc индикатора от питания — он продолжал работать, питания хватало от сигнальных линий.
Ток потребления без подсветки — 3мА.
По току потребления:
Когда Vcc отключен и линии даных подключены напрямую к ардуине — дисплей инициализируется и работает, Потребление на Vcc, при его подключении, составляет 3мА. Но когда лини даных подключены к 3,3В — потребление по Vcc падает до 700мкА.
Видно, входы контролера не сильно толерантны к 5 вольтам.
Планирую купить +44 Добавить в избранное +87 +116
+
avatar
+13
а каких-то 5 лет назад за них просили $10. Вот что TFT и AMOLED с UC1608 делает
+
avatar
  • u3712
  • 12 марта 2021, 15:32
+4
в сравнении с 1602
Можно посмотреть картинку дисплея без подсветки? Белый фон с черными символами.
Т.е. возможно ли использовать такой (малопотребляющий) дисплей для устройств с низким потреблением.
+
avatar
+4
Попробовал, добавил фото в обзор.
Хорошая идея
+
avatar
  • rx3apf
  • 12 марта 2021, 17:24
0
Весьма вероятно, что «позитивная» версия без подсветки будет выглядеть лучше (ну примерно как нокиевские модули).
+
avatar
  • u3712
  • 12 марта 2021, 18:21
0
Ток потребления без подсветки — 3мА.
Спасибо.
Понятно, что 'уже 5.6к' (~0.35 мА) достаточно для нормальной видимости дисплея. Это здорово. Но… всё портит общий ток потребления (3 мА). Цифра не очень большая, применять можно, но 'ожидалось' на порядок ниже.
+
avatar
  • u3712
  • 12 марта 2021, 19:55
+1
Видно, входы контролера не сильно толерантны к 5 вольтам.
Полезное наблюдение, спасибо!
Теперь оно стало гораздо интереснее, надо заказать. «Позитивный» конечно.

off/ хотя, для stm32 как-то совершенно не нужное ))
+
avatar
0
Бегло глянул datasheet — похоже взяли PCF8544 и скрестили с HD44780. Не знаю зачем он мне, но взял.
+
avatar
  • rx3apf
  • 12 марта 2021, 16:45
0
8544 имеет куда меньшее разрешение (84x48 vs 192x64)
+
avatar
  • sfn
  • 12 марта 2021, 16:39
+2
Из обзора так и не понял, может ли он заменить 1:1 дисплей 1602?
+
avatar
+2
Нет конечно.
+
avatar
  • rx3apf
  • 12 марта 2021, 16:44
+9
По цене — да. По разрешению — порвет в клочья (при одинаковом фонте эквивалентом будет 32x8 символов, только очень мелко). По контрастности — неизбежно уступит. По совместимости по шине — нет.
+
avatar
+3
Контрастность сводит на нет его преимущества, имхо.
+
avatar
  • rx3apf
  • 12 марта 2021, 17:20
0
Не радует, да. STN, они, к сожалению, такие. Альтернатива — недорогие цветные, но они дешевые только совсем мелкие. А с большой диагональю все дорого.
+
avatar
0
а можете замерить потребление без подсветки на 3.3в?
+
avatar
0
на одном сайте сказано — жки максимум 400 микроампер и подсветка 70 мА
+
avatar
+1
Получилось 700мкА
+
avatar
0
У PCF8544 потребление меньше. Но последнее время их не достать по адекватной цене ($2..$3), а за нынешнюю цену в $5 я лучше TFT куплю.
+
avatar
  • gecd
  • 12 марта 2021, 18:53
0
у меня вопрос, когда купил на Ali дисплей и подключил питание на нем кроме подсветки и квадратиков что нить появится?
а то я купил, подключил к openevse экран горит и квадратики — сзади контрастность отверткой кручу а ни чего не появляется, подкидываю другой экран — там и цифры показывает и буквы, всё как надо.
+
avatar
  • rx3apf
  • 12 марта 2021, 19:02
+2
Речь, очевидно, о знакосинтезирующем модуле? До инициализации — только «квадратики». Модуль может быть и неисправным. Но вопрос — «квадратики» в одной строке, или в в двух? Если только в первой — дисплей не инициализирован. Если в двух, одинаково — инициализация прошла, но «пересвет» по контрастности.
+
avatar
  • gecd
  • 12 марта 2021, 19:08
0
квадратики только в одной строке а модуль брал на две строки.
можно самому его инициализировать?
+
avatar
0
если ваш дисплей подключен к I2C через PCF8574, то попробуйте эту либу. Вся инициализация согласно datasheet на HD44780
+
avatar
  • gecd
  • 12 марта 2021, 19:34
0
Да, через нее подключено. Попробую завтра, если не сложно конечно. Не спец в этом
+
avatar
0
А не подскажете, по либам к Arduine?
Я как-то пытался переделать библиотеку двустрочного экрана под себя. И пока модифицировал и вычищал все лишее из функций — всё было нормально. Но как только я начал модифицировать сам класс, т.е. удалять из него описание пустых функции (я понимаю, что библиотека наследует многое из базового класса Print, и не всё можно удалять, переименовывать), то столкнулся с неразрешимой проблемой:
оболочка Ардуино сама по себе ничего не компилирует, вместо неё это делает другая программа из командной строки. А оболочка не умеет интерпретировать все возвращаемые ошибки… И поэтому понять, в чём ошибка — невозможно!

Вобщем вопрос: А есть ли другие, нормальные оболочки для компиляции программ Atmega328 с этими же самыми библиотеками? Или единственный вариант только изучать ассемблерный компилятор от Atmega?
+
avatar
+1
если из библиотек (в том числе и по моей ссылке) выкинуть Arduino класс Print должно заработать, но вывод будет работать по одному символу через команду write(). например:


LiquidCrystal_I2C lcd(PCF8574_ADDR_A21_A11_A01, 4, 5, 6, 16, 11, 12, 13, 14, POSITIVE);

....

lcd.write('A'); //обратите внимание 'A' не одно и тоже что "A"


Print класс как раз и оборачивает нудный посимвольный вывод строки (разбивает строку на символы и вызывает write() для каждого символа)
+
avatar
-2
Проблема не в том, чтобы какие-то свои функции выполнить! А в том, что, в наличии есть только чужой набор файлов, который я успешно кастрировал до минимального объёма:
3771 I2CIO.cpp
1943 I2CIO.h
7345 LCD.cpp
4878 LCD.h
3952 LiquidCrystal_I2C.cpp
1114 LiquidCrystal_I2C.h
А дальше, в первую очередь с целью изучения ЭТОГО ардуиновского языка, а во вторую очередь для уменьшения объёма программы (в идеале нужно разобраться, как вообще отключить и уничтожить все стандартные библиотеки, и переписать все нужные функции на ассемблер), вобщем хотел я объеденить это всё в один файл… А с этим тупик!!!
Так как самые главные функции в этих файлах описаны как «class LCD: public Print», а арудиновская оболочка вообще никак не умеет работать с классами, ничего о них не знает, и поэтому и ошибок в них даже не пытается интерпретировать (которые ей даёт внешний компилятор, вызываемый из командной строки).

Поэтому ещё раз повторяю вопрос: есть ли для Ардуины нормальные компиляторы? Или единственная нормальная среда компиляции, это ассемблер от Atmega?
+
avatar
+2
Обьединять драйвер i2c с драйвером экрана и с прокладкой для PCF8574 в один большой файл — это плохая идея. Код будет не читаем. Лучше когда все отдельно и потом уже собирается самим компилятором из вашего проекта.

На ассемблер уже никто не пишет. Вы на нем проект 5 лет писать будете.

Судя по названиям файлов я видел эту библиотеку. Она очень мудреная и тормозная. Пробуйте ту что я давал. Она проще для понимания и её легче покромсать, тк наследуется только Print класс (ну и i2c заменить если ардуино средой не пользуетесь).

А зачем вы пытались уменьшить код? Куда он у вас не влазит? Я пробовал она даже в ATtinni85 спокойно заходит.
+
avatar
  • rx3apf
  • 12 марта 2021, 22:52
0
На ассемблер уже никто не пишет. Вы на нем проект 5 лет писать будете.
Ну уж прямо так и «никто»? ;) Ну и трудозатраты от задачи зависят, все же…
+
avatar
0
Ну я чесно говоря не совсем понимаю, зачем столько мусора впихивает в готовый файл ардуиновский компилятор, так что практически пустой проект занимает больше килобайта в откомпилированном виде.
… Уже давно хочу сделать такое, но без нормального компилятора не знаю, не есть ли смысл вообще начинать… с ГПС приёмника считывать время, а это работа с длинными строками. Потом выделенное время, если разберусь, дополнительно синхронизировать с «входом-мигалкой» ГПС модуля, для более точной синхронизации, но для начала можно не заморачиваться с этим.
Затем выкинуть двухстрочный экран, и других вариантов не вижу — повесить несколько I2C расширителей портов, чтоб управлять платой с шестью ЛЕД-цифрами со статической индикацией. Боюсь, что просто так взять и впихнуть это в ардуину с гигантскими библиотеками, и без возможности по человечески смотреть на ошибки — не получится.
+
avatar
  • rx3apf
  • 13 марта 2021, 00:04
0
На asm такое потянет от силы на пару килобайт кода. Но да, парсер nmea придется написать…

Индикация — никаких i2c, все гораздо проще делается кучкой hc595 (по одной на цифру). Вешается на spi, как родное.
+
avatar
+3
Ну так пишите в Microchip Studio там никакого мусора.
+
avatar
0
Пишут и еще как но это профи и задачи другие. Лично знаю людей, пишкших код в процессор блока управления автомобилями. Чистейший асм под архитекиуру mcs51 или как она там зовется, не помню.
Драйверы для железа в компах тоже асм. Медицинское оборудование тоже асм, знаю лично нескольких людей оттуда.
+
avatar
+3
В настройках адруино настрой вывод в консоль всех ошибок. Можно скетчи компилировать отдельно из командной строки со всем выводом компилятора. Это раз. Не надо удалять неиспользуемые функции. Компилятор и так их отбросит сам. Это два. Пустой проект весит не килобайт, а всего 444 байта, Это три. Почему он вообще что-то весит? Потому что инициализируются таймеры для функций millis и micros и т.д. Ну и не забудь тогда загрузчик стереть, чтобы еще два килобайта освободить.
+
avatar
0
Извините, но я с вами согласится не могу насчёт размеров.

Пустой проект — я имею ввиду, это только с подключенными библиотеками, без настоящей программы. «Hellow word», сказанный каждой железяке, так сказать! И больше ничего.

Насчёт неиспользуемых функций у меня тоже есть своё устоявшееся мнение: да компилятор может удалить совсем неиспользуемую функцию. Но вот всякие лишние if..else, и передачу неиспользуемых констант в функции он вполне себе может оставить!
+
avatar
  • rx3apf
  • 12 марта 2021, 19:38
0
Это должна делать программа в контроллере, к которому подключается модуль.
+
avatar
  • gecd
  • 12 марта 2021, 19:51
0
У меня второй экран показывает показания. А когда подключил новый — он ничего кроме ряда кубиков не показывает
+
avatar
  • rx3apf
  • 12 марта 2021, 21:13
0
Либо неконтакт, либо неисправность. В любом случае, один ряд кубиков это отсутствие инициализации индикатора, а вот почему — не подскажу. Перво-наперво проверьте, нет ли где «соплей» на контактах или непропая.
+
avatar
0
А для чего девятый контакт на шлейфе?
+
avatar
0
А кто-то находил что-то подобного размера и разрешения, но с лучшим контрастом?
Размер прям идеален для меня.
+
avatar
  • rx3apf
  • 12 марта 2021, 20:56
0
Может, поискать среди цветных IPS? Они чуть поменьше, правда, зато с контрастом дело обстоит лучше.
+
avatar
  • nochkin
  • 13 марта 2021, 08:52
0
IPS бывает разных размером. Зависит от требований и бюджета.
Сам как раз ищу варианты 4"-5" на поиграться.
+
avatar
  • rx3apf
  • 13 марта 2021, 10:05
0
Бывают, конечно. Но модуль на 4...5", подозреваю, сможет по цене конкурировать с настольным монитором.
+
avatar
  • nochkin
  • 13 марта 2021, 21:24
0
Я же не монитор покупаю, а сам экран для DIY. Это порядка $10-$20. Вполне терпимо за IPS.
+
avatar
  • rx3apf
  • 13 марта 2021, 21:48
0
4" — это $20 и выше. За десятку максимум 2.4"
+
avatar
  • nochkin
  • 13 марта 2021, 22:20
-1
Я именно такие цены и написал. Вполне нормальная цена. Мы же не про 21"+ говорим.
Можно взять чуть дешевле со специфичным разъёмом если критично, но мне важнее иметь более дружелюбный интерфейс.
Сейчас как раз облизываюсь на 5" за $20 и парочку разных 2.4" по $10.
+
avatar
  • iamjdoe
  • 17 марта 2021, 08:17
0
А ссылками на них не поделитесь? Тоже присматриваю на поиграться. По возможности, в личку, пожалуйста.
+
avatar
  • nochkin
  • 17 марта 2021, 08:32
0
Тут на сайте как раз кто-то рассказывал про продавца. Попробую найти.
Почему только в личку? Просто интересно.
+
avatar
  • pulp
  • 13 марта 2021, 08:03
0
Один из плюсов 1602 — возможность купить его сразу в сборке с i2c контроллером и упростить схемотехнику.
Для этого экранчика случайно нет вариантов с i2c?
+
avatar
  • nochkin
  • 13 марта 2021, 08:53
0
Так он уже SCK/SDA. Зачем ему ещё вариант с I2C?
+
avatar
  • pulp
  • 13 марта 2021, 10:01
0
4 провода вместо 9. И гирлянду из разных устройств собрать проще ))
+
avatar
  • nochkin
  • 13 марта 2021, 21:22
0
Так и тут 4: SCK, SDA, + и земля.
Подсветка отдельно сделана, но можно подсоединить на питание. У 1602 подсветка тоже не по I2C идёт.

Гирлянду особо не собрать, так как у всех одинаковый адрес на I2C. Некоторые предлагают выбор на два адреса, но редко больше.
А на этой плате вроде как есть CS, который потенциально можно использовать для гирлянды. Но это опционально.
+
avatar
  • rx3apf
  • 13 марта 2021, 10:09
+1
У используемого контроллера UC1602 i2c есть, но надо смотреть, можно ли его использовать. Но работать с графическими модулями по i2c так себе затея — скорость гораздо меньше, чем у SPI.
+
avatar
0
Немного не в тему. Но подскажите, плиз, знающие люди. Сдох экран в режущем плоттере. Замена в сборе с основной платой и стоит нормальных денег. На али именно такой экранный модуль не находится. Но есть внешне и по характеристикам похожие экраны. Если заказать что нибудь похожее и подключить вместо родного, то заработает? или там все сложнее (прошивки, библиотеки и т.п.)? Просто я совсем не в теме. Спасибо.
+
avatar
  • rx3apf
  • 13 марта 2021, 14:36
+2
Вот похожий (на первый взгляд) — https://aliexpress.ru/item/item/32700288491.html
Но 100% гарантии нет и, возможно, придется пошаманить с регулировкой контрастности.
+
avatar
0
А на Питоне нет либ? А то было бы интересно на Малинке попробовать.
+
avatar
  • nochkin
  • 13 марта 2021, 21:23
0
Есть либа для I2C, а команды можно по datasheet'у уже самому отправлять.
+
avatar
-1
А где, можете подсказать? Спасибо.
+
avatar
-3
Эм… Я вообще-то о либе к экранчику, а как готовить I2C я знаю, кэп.
+
avatar
  • nochkin
  • 14 марта 2021, 18:32
+1
Я сказал про либу I2C, а получил на это «Где?». Потому про либу и сказал. Я через интернет плохо мысли читаю и это совсем не очевидно, что кто-то умеет готовить I2C либу.
Про либу про экран я тоже сказал выше, кэп.
+
avatar
-1
Эээ… Под либой всегда подразумевают _готовую_ библиотеку для работы с устройством. А не возможность включения или подключения того или иного интерфейса/протокола. Кэп.
+
avatar
  • nochkin
  • 14 марта 2021, 21:20
0
I2C — это тоже устройство и для него тоже есть либа. Готовая.
А по поводу «готового», то есть разные критерии. Для многих datasheet — это уже что-то готовое, так как не надо ничего ревёрсить. Но есть и те, для которых «готовая либа» — это целая система с GUI, где надо несколько кликов сделать и будет сразу чудо.
Вариант с datasheet'ом я как раз и предложил. А либа стандартная для I2C.
+
avatar
  • u3712
  • 31 марта 2021, 21:23
0
Позитивный@3.3V, без подсветки:



Ток потребления порядка 0.3 мА.
На экране фабричная пленка, поэтому — сами понимаете.
+
avatar
  • u3712
  • 01 апреля 2021, 14:38
+1
Мило. Дополнил обзор того-же товара разновидностью с позитивным экраном и схлопотал "-".
Отбило всякую охоту помогать. (плюсовать уже не_надо).

P.S.
Ток потребления зависит от количества включенных точек.
+
avatar
  • kvarkk
  • 26 мая 2021, 10:01
0
А у вас есть 1602? Если да, можете выложить сравнительное фото, чтобы оценить разницу в контрасте?
+
avatar
+1
Нет, негативного 1602