Жидко-кристаллическая матрица (индикатор) WG12232E

Очередной опус по работе с устройством вывода информации. В интернете, казалось бы, должно быть море информации по этому вопросу. На практике, действительность весьма печальна 🙁  На её унылом фоне ярким маяком светит  статья  товарища Pashgan-а — всё расписано и разжёвано, в том числе для разных компиляторов. Всё бы хорошо, но у там описана работа с МЭЛТ-овским ЖКИ МТ12232А. И, хоть управляющие контроллеры для WG и МТ одинаковы — SED1520, однако сами индикаторы имеют некоторые отличия: — несовпадение распиновки ; — разная полярность стробирующего сигнала E; — необходимость внешнего такта 2 кГц для WG12232E. Остальное вроде бы одинаково. К тому же столкнулся с проблемой даташита на WG12232E — почти везде предоставляется одна страница с габаритными размерами, распиновкой и электрическими характеристиками. Поэтому пришлось его поискать и не безрезультатно 🙂 При изучении структуры WG12232E обратил внимание на почти полную аналогию с WG12864 (по организации ОЗУ, командам и пр.) А так как 12864 у меня уже давно отработан — особых проблем с 12232 не обнаружилось. В библиотеке, чтобы сэкономить время, я использовал знакогенератор (файл font_6x8.h), разработанный товарищем Pashgan-ом, за что ему отдельное спасибо!
Кроме того, Pashgan отработал знакогенератор так, что номера шестёрок байт в массиве соответствуют стандартной ANSI-кодировке символов, что очень удобно при выводе текста. Макет собран на ATmega128 kit, т.к. здесь уже имеется подстроечный резистор для контрастности и 3,3 В для подсветки. Схема (повторяюсь почти в каждой статье) приведена в разделе define, и вы можете её менять как вам вздумается, в зависимости от наличия свободных выводов. Специфический момент, касающийся внешнего такта  WG12232E. Эти самые 2 кГц нужно подать на 7-й вывод (CL) индикатора. Удобнее всего для формирования использовать любой свободный таймер контроллера в режиме СТС (так проще настроить нужную частоту) с подключенным выводом OCRxx, состояние которого меняется на противоположное при каждом совпадении. Кроме того не нужно программно отвлекаться на формирование этих импульсов — всё будет работать аппаратно. Я использовал таймер 3. Его настройки идут в самом начале основной функции. Смотрим исходник и внимательно читаем комментарии. Я думаю сложностей возникнуть не должно. Выглядит индикатор в работе так:
Это некоторые символы знакогенератора Pashgan-а.
Также в программе предусмотрена поддержка простейшей графики — точек, линий и окружностей. Вывод последних реализован по алгоритму Брезенхема. Нужно отметить, что для малых радиусов окружностей имеют место быть заметные искажения, поэтому, если нужно будет вывести маленькие окружности, то формируйте их по аналогии с символами.
Практическое применение зависит от вашего воображения. Кроме простого вывода текста можно рисовать какие-то диаграммы, например, анализатор спектра. Можно в связке с энкодером разработать красивое меню для управления звуковоспроизводящим или другим комплексом. Конечно, необходимость 15-ти свободных выводов микроконтроллера накладывает некоторые ограничения на использование описанного ЖКИ, однако есть у меня хорошая идея как обойти эту проблему. Можно запихать весь драйвер в подходящий по размеру флеша и количеству ног контроллер и организовать управление отображением по последовательному интерфейсу используя хоть UART, хоть I2C, хоть SPI, хоть любой другой, даже вами придуманный интерфейс. Оформить всё это дело в виде жёстко прикреплённой к индикатору мезонинной платы, где будут располагаться сам контроллер, потенциометр контрастности и разъём. В этом случае индикатором можно будет управлять даже тинькой семейства 1х, используя всего один провод (в случае UART) или два ( I2C, SPI), не считая питания и корпуса.
Теперь пару слов о своём видении политики Winstar. Мне кажется, если они в ближайшее время не пересмотрят  ценоформирование, то их монохромные ЖКИ обречены. Ведь уже можно свободно купить цветные TFT матрицы таких же размеров с управлением по SPI за цену соразмерную с вышеуказанными. К тому же непонятно, зачем делать параллельный 20-ти ногий!!! интерфейс в устройствах отображения, где априори не требуется слишком быстрое обновление информации?

Запись опубликована в рубрике Микроконтроллерный конструктор с метками . Добавьте в закладки постоянную ссылку.

13 комментариев: Жидко-кристаллическая матрица (индикатор) WG12232E

  1. shurikss123 говорит:

    А я без проблем завел его, не знаю как вам, а мне оч даже нравиться, а вот с wg16864f я долго мучился там контроллер T6963, еще тот гемор, но после оказалось конфеткой, 32k памяти, туча страниц, я на нем графику делал аффигеную.

  2. Pashgan говорит:

    Спасибо, за упоминание моей скромной персоны. С WG12864 я немного баловался, но полноценный «драйвер» под него пока не доделал.

  3. s_black говорит:

    To shurikss123 — да я тоже особых проблем не испытывал.
    To Pashgan — ещё раз спасибо. А в 12864 всё практически то же самое, так что можно сказать, что полноценный драйвер у Вас уже готов.

  4. Ryu говорит:

    Доброго времени, подскажите должен ли дисплей типа( stn negative) вашего реагировать на вращение ручки контрастности зажиганием всего экрана, дело в том что, у меня завалялось 2 таких дисплея но с разной поляризацией и интерфейсами(wg12232a сер на желтом, wg12232e белый на синем) , так вот 1(wg12232a) я инициализировал нормально и он позитивный, на второй есть подозрение что он дохлый, позитив реагирует на подстройку контраста зажиганием всего экрана, должно ли быть так же с негативным если просто подать на него питание без инициализации? С моим ничего не происходит, нормально ли это?

  5. s_black говорит:

    А вы не забыли про «… Специфический момент, касающийся внешнего такта WG12232E. Эти самые 2 кГц нужно подать на 7-й вывод (CL) индикатора …»?

  6. Ryu говорит:

    Ну я думал что clock не должен влиять на подсветку, но подавать подавал, правда не 2КГц а 700+ Гц, просто ШИМ уже был настроен и лень было переделывать, знаю точно что при 1КГц он пашет нормально, по идее и при таком значени дб нормально, если оно влияет на что то…

  7. Ryu говорит:

    Извиняюсь не подсветку а контрастность…

  8. s_black говорит:

    Без этого клока драйвер ЖК не будет работать. А инициализация что А, что Е варианта должна по идее быть одинаковой. Соответственно, можно предположить, что Е вариант не работает.

  9. bootsector говорит:

    Собрал схему, подключил, все работает. Только потом понял что индикатор ввер ногами находится. Инверсию инкремента колонны я конечно сделал. Только вот сделать бы массив шрифтов которые вверх ногами.

  10. s_black говорит:

    А сам индикатор перевернуть слабо? )))

  11. грамарнаци говорит:

    А я безь проблемь завель его, не знаю как вамь, а мне оч даже нравиться, а воть с wg16864f я долго мучилься там контроллер T6963, еще тот геморь, но после оказалось конфетькой, 32k памяти, туча страниць, я на немь графику делаль аффиге ную.

  12. ls232 говорит:

    У меня WG12232 выдает слова наоборот, например вместо слова Ток получается слово коТ и как не верти индикатор все равно слово наоборот, что можно сделать?

  13. s_black говорит:

    Нужно посмотреть исходник. Если оного не имеется — написать самому.

Добавить комментарий

Ваш e-mail не будет опубликован.