Оглавление
От лётчика до пехотинца
Как рассказал Хлопотов, последние годы в сухопутных войсках и спецподразделениях ВС РФ расширяется практика применения нашлемных микродисплеев. Ранее они использовались преимущественно в авиации и имели ряд серьёзных недостатков — большая масса, низкая пропускная способность каналов информации, ограниченность функционала.
«Пионерами в применении нашлемных систем индикации были лётчики истребителей и ударных вертолётов. Развитие нашлемных систем индикации для пехоты сдерживалось общим несовершенством электроники. Сейчас такая проблема позади. А с учётом огромного количества на ТВД камер, датчиков, сенсоров без микродисплеев стало невозможно обходиться, особенно во время спецопераций», — констатировал Хлопотов.
- Перспективная нашлемная система индикации для лётчиков
В России изготовлением армейских микродисплеев занимаются структуры госкорпорации «Ростех». Одним из крупнейших центров разработки данных изделий является АО «Центральный научно-исследовательский институт «Циклон» (Москва).
Ранее в рамках импортозамещения и по поручению президента РФ Владимира Путина предприятие разработало линейку систем индикации на основе органических светоизлучающих диодов.
Как отметили эксперты, до 2014 года Вооружённым силам России нередко приходилось приобретать на Западе микродисплеи и большое количество комплектующих для их последующей сборки.
Привлечение белорусского предприятия вкупе с запуском импортозамещения позволило освободить ВС РФ от технологической зависимости от стран — членов НАТО, говорит Дмитрий Корнев.
Элементы платы
Дисплей
Дисплей MT-16S2H умеет отображать все строчные и прописные буквы латиницы и кириллицы, а также типографские символы. Для любителей экзотики есть возможность создавать собственные иконки.
Экран выполнен на жидкокристаллической матрице, которая отображает 2 строки по 16 символов. Каждый символ состоит из отдельного знакоместа 5×8 пикселей.
Контроллер дисплея
Матрица индикатора подключена к встроенному чипу КБ1013ВГ6 с драйвером расширителя портов, которые выполняют роль посредника между экраном и микроконтроллером.
Контроллер КБ1013ВГ6 аналогичен популярным чипам зарубежных производителей HD44780 и KS0066, что означает совместимость со всеми программными библиотеками.
Контакты подключения
На плате дисплея выведено 16 контактов для подведения питания и взаимодействия с управляющей электроникой.
Вывод | Обозначение | Описание |
---|---|---|
1 | GND | Общий вывод (земля) |
2 | VCC | Напряжение питания (5 В) |
3 | VO | Управление контрастностью |
4 | RS | Выбор регистра |
5 | R/W | Выбор режима записи или чтения |
6 | E | Разрешение обращений к индикатору (а также строб данных) |
7 | DB0 | Шина данных (8-ми битный режим)(младший бит в 8-ми битном режиме) |
8 | DB1 | Шина данных (8-ми битный режим) |
9 | DB2 | Шина данных (8-ми битный режим) |
10 | DB3 | Шина данных (8-ми битный режим) |
11 | DB4 | Шина данных (8-ми и 4-х битные режимы)(младший бит в 4-х битном режиме) |
12 | DB5 | Шина данных (8-ми и 4-х битные режимы) |
13 | DB6 | Шина данных (8-ми и 4-х битные режимы) |
14 | DB7 | Шина данных (8-ми и 4-х битные режимы) |
15 | LED+ | Питания подсветки (+) |
16 | LED– | Питания подсветки (–) |
Обратите внимания, что физические контакты подсветки экрана и расположены не в порядком соотношении с другими пинами экрана.
Питание
Экран совместим со всеми контроллерами с логическим напряжением от 3,3 до 5 вольт. Но для питания самого индикатора (пин VCC) необходимо строго 5 вольт
Если в вашем проекте нет линии 5 вольт, обратите внимание на дисплей текстовый экран 16×2 / I²C / 3,3 В.
Интерфейс передачи данных
Дисплей может работать в двух режимах:
- 8-битный режим — в нём используются и младшие и старшие биты (-)
- 4-битный режим — в нём используются только младшие биты (-)
Использовать восьмибитный режим не целесообразно. Для его работы требуется на четыре дополнительные ноги, а выигрыша по скорости практически нет.
Несколько слов об эффективном импортозамещении
Большая часть ЖК-дисплеев МЭЛТ совместима с аналогами других компаний-производителей. При этом, как было показано выше, ЖК от МЭЛТ превосходят их по характеристикам. Это касается как знакосинтезирующих или символьных, так и графических ЖК (таблицы 4, 5).
Таблица 4. Совместимость знакосинтезирующих или символьных ЖК различных производителей
Формат | Видимая область, мм |
Производитель/Наименование | Производитель/наименование | ||||||||
МЭЛТ | Winstar | Powertip | Tianma | Bolymin | Microtips | Ampire | Sunlike | Data Vision | Wintek | ||
8×2 | 35,0×15,24 | MT-8S2A | WH0802A | PC 0802-A | TM82A | BC0802A | MTC-0802X | AC082A | SC0802A | DV-0802 | WM-C0802M |
10×1 | 56,0×12,0 | MT-10S1 | – | – | – | – | – | – | – | – | – |
10×2 | 60,5×18,5 | – | – | PC 1002-A | – | – | – | – | – | – | – |
12×2 | 46,7×17,5 | – | WH1202A | PC 1202-A | TM122A | BC1202A | – | – | – | – | – |
16×1 | 64,5×13,8 | – | WH1601A | PC 1601-A | TM161A | BC1601A1 | MTC-16100X | AC161A | SC1601A | DV-16100 | WM-C1601M |
66,0×16,0 | – | WH1601B | PC 1601-H | – | BC1601B | – | – | SC1601B | – | – | |
63,5×15,8 | – | – | – | TM161E | – | – | – | – | – | – | |
99,0×13,0 | MT-16S1A | WH1601L | PC 1601-L | TM161F | BC1601D1 | MTC-16101X | AC161B | SC1601D | DV-16100 | WM-C1601Q | |
120,0×23,0 | – | – | – | – | – | – | AC161J | – | DV-16120 | – | |
16х2 | 99,0×24,0 | MT-16S2R (5х8) | WH1602L | PC 1602-L | TM162G | BC1602E | MTC-16201X | AC162E | SC1602E | DV-16210 | WM-C1602Q |
36,0×10,0 | – | – | PC 1602-K-Y4 | TM162X | – | – | – | – | – | – | |
50,0×12,0 | – | – | – | TM162B | – | – | – | SC1602N | – | – | |
62,5×16,1 | MT-16S2J | WH1602D | PC 1602-J | TM162V | BC1602B1 | MTC-16202X | AC162A | SC1602B | DV-16230 | WM-C1602N | |
62,2×17,9 | – | – | – | – | – | MTC-16203X | – | – | DV-16235 | – | |
62,2×17,9 | MT-16S2D | WH1602C | PC 1602-H | TM162J | BC1602D | – | – | SC1602D | DV-16236 | – | |
62,2×17,9 | MT-16S2H | WH1602A | PC 1602-F | TM162D | BC1602H | MTC-16204X | – | SC1602C | DV-16244 | WM-C1602K | |
62,5×16,1 | – | WH1602B | PC 1602-D | TM162A | BC1602A | MTC-16205B | – | SC1602A | DV-16252 | WM-C1602M | |
55,73×10,98 | – | WH1602M | PC 1602-I | – | BC1602F | – | – | SC81602F | DV-16257 | – | |
80,0×20,4 | – | – | – | – | – | – | – | – | DV-16275 | – | |
80,0×20,4 | – | – | – | – | – | – | – | – | DV-16276 | – | |
16×4 | 61,4×25,0 | MT-16S4A | WH1604A | PC 1604-A | TM164A | BC1604A1 | MTC-16400X | AC164A | SC1604A | DV-16400 | WM-C1604M |
60,0×32,6 | – | WH1604B | – | – | – | – | – | – | – | – | |
20×1 | 154×16,5 | – | – | – | TM201A | – | – | – | – | DV-20100 | – |
149,0×23,0 | MT-20S1L | – | PC 2001-L | – | – | – | – | – | – | – | |
20×2 | 83,0×18,8 | MT-20S2A | WH2002A | PC 2002-A | TM202J | BC2002A | MTC-20200X | AC202A | SC2002A | DV-20200 | WM-C2002M |
83,0×18,6 | – | – | – | TM202A | – | – | – | – | – | – | |
123,0×23,0 | – | WH2002M | PC 2002-L | – | – | – | – | – | – | – | |
149,0×23,0 | MT-20S2M (5×8) | WH2002L | PC 2002-M | TM202M | BC2002B | MTC-20201X | AC202B | SC2002C | DV-20210 | WM-C2002P | |
147,0×35,2 | – | – | – | – | – | – | AC202D | – | DV-20211 | – | |
83,0×18,8 | – | – | – | – | – | – | – | – | DV-20220 | – | |
76,0×25,2 | – | – | – | – | – | – | – | – | DV-20206-1 | – | |
20×4 | 76,0×25,2 | MT-20S4A | WH2004A | PC 2004-A | TM204A | BC2004A | MTC-20400X | AC204A | SC2004A | DV-20400 | WM-C2004P |
60,0×22,0 | – | – | PC 2004-C | – | – | – | – | – | – | – | |
77,0×26,3 | – | – | PC 2004-F | – | – | – | – | SC2004G | – | – | |
76,0×25,2 | – | – | PC 2004-B | – | – | – | – | SC2004C | – | – | |
123,0×42,5 | MT-20S4M | WH2004L | PC 2004-M | TM204K | BC2004B | MTC-20401X | AC204B | – | DV- 20410 | WM-C2004R | |
24×1 | 178,0×23,0 | MT-24S1L | – | – | TM241A | – | – | – | – | – | – |
24×2 | 94,5×18,0 | MT-24S2A | WH2402A | PC 2402-A | TM242A | BC2402A | MTC-24200X | AC242A | SC2402A | DV-24200 | WM-C2402P |
178,0×23,0 | MT-24S2L | – | PC 2402-L | – | – | – | – | – | – | – | |
40×1 | 246,0×20,0 | – | – | PC 4001-L | – | – | – | – | – | – | – |
40×2 | 154,0×16,5 | – | WH4002A | PC 4002-C | TM402A | BC4002A | MTC-40200X | AC402A | SC4002A | DV-40200 | WM-C4002P |
153,5×16,5 | – | – | – | TM402C | – | – | – | – | – | – | |
246,0×38,0 | – | – | PC 4002-L | – | – | – | – | – | – | – | |
40×4 | 147,0×29,5 | – | WH4004A | PC 4004-A | TM404A | BC4004A | MTC-40400X | AC404A | SC4004A | DV-40400 | WM-C4004M |
140,0×29,0 | – | – | PC 4004-D | – | – | – | – | SC4004C | – | – | |
244,0×68,0 | – | – | PC 4004-L | – | – | – | – | – | – | – |
Таблица 5. Совместимость графических ЖК различных производителей
Разрешение | Видимая область, мм |
Производитель/Наименование | Производитель/Наименование | ||||||||
МЭЛТ | Winstar | Powertip | Tianma | Bolymin | Microtips | Ampire | Sunlike | Data Vision | Wintek | ||
61×16 | 56,0×12,0 | MT-6116 | – | – | – | – | – | – | – | – | – |
62,0×19,0 | MT-6116B | – | – | – | – | – | – | – | – | – | |
64×64 | 32,0×39,5 | MT-6464B | – | – | – | – | – | – | – | – | – |
122×32 | 62,0×19,0 | MT-12232B | WG12232A | PG 12232-A | TM12232A | BG12232A1 | MTG-12232A | AG12232A | SG12232A | DG-12232 | WM-G1203Q |
62,0×19,0 | MT-12232A | – | – | – | – | – | – | – | – | – | |
85,0×26,0 | MT-12232D | – | – | – | – | – | – | – | – | – | |
128×64 | 71,7×38,5 | MT-12864A | WG12864A | PG 12864-A | TM12864L | BG12864A | MTG-12864A | AG12864A | SG12864A | DG-12864 | WM-G1206A |
60,0×32,6 | MT-12864J | WG12864B | PG 12864-J | TM12864D | BG12864E | MTG-12864D | AG12864E | SG12864H | DG-12864-15 | WM-G1206M |
Все перечисленные факты позволяют заменять импортные дисплеи на продукцию компании МЭЛТ в уже готовых изделиях, тем самым улучшая их характеристики (надежность, качество отображения информации, температурный диапазон) без повышения стоимости.
Таким образом, использование изделий МЭЛТ – как раз тот случай, когда импортозамещение оказывается эффективным и выгодным.
Программирование ЖК-индикаторов МЭЛТ
Для того чтобы работать с любым ЖК-модулем, нужно реализовать базовые программные функции: сброс и инициализацию, передачу данных и команд в дисплей, чтение данных из дисплея. В документации на ЖК-модули МЭЛТ содержится вся необходимая для этого информация: последовательность и длительность сигналов при аппаратном сбросе, перечень используемых команд, описание адресного пространства, последовательность команд при программном сбросе и инициализации, детальное описание интерфейса обмена данными.
Конечно, можно написать программные драйвера самостоятельно, то есть «с нуля». Однако в подавляющем большинстве случаев более правильным и быстрым способом будет использование библиотеки примеров, доступной для бесплатного скачивания на сайте компании.
По сути, данная библиотека содержит шаблоны для создания драйверов на языке С. Это значит, что примеры не привязаны к конкретным контроллерам, а, соответственно, часть функций, таких как функции задержки, настройки портов ввода/вывода, необходимо реализовать самостоятельно. Таким образом, эти программы не будут компилироваться, но могут быть основой для создания драйверов.
На настоящий момент библиотека содержит следующие примеры программ:
AllText4.c – пример для буквенно-цифровых ЖК-индикаторов с 4-битным режимом включения;
AllText8.c – пример для буквенно-цифровых ЖК-индикаторов с 8-битным режимом включения;
MT-6116.c – пример для графического ЖК-индикатора MT-6116 с любым буквенным индексом;
MT-12232B.c – пример для графического ЖК-индикатора MT-12232B;
MT-12232A,C,D.с – пример для графических ЖК-индикаторов MT-12232A, MT-12232C, MT-12232D;
MT-12864.c – пример для графического ЖК-индикатора MT-12864 с любым буквенным индексом;
MT-6464B.c – пример для графического индикатора MT-6464B;
MT-10T7,8,9.c – пример для сегментных индикаторов MT-10T7, MT-10T8, MT-10T9;
MT-10T11,12.c – пример для сегментных индикаторов MT-10T11, MT-10T12.
Все примеры содержат базовые функции: инициализации, записи/чтения байта по параллельному интерфейсу, записи команды. Например, AllText8.c является универсальным шаблоном для дисплеев MT10S1, MT16S1, MT20S1, MT24S1, MT16S2, MT20S2, MT24S2, MT20S4, и содержит четыре С-функции: void LCDinit(void); void WriteCmd(byte b); void WriteData(byte b), void WriteByte(byte b, bit cd).
Рассмотрим более подробно функцию инициализации void LCDinit(void) как пример реализации функции инициализации буквенно-цифровых ЖК индикаторов с 8-битным режимом включения:
void LCDinit(void)
{
LCD.E=0; Delay(>20ms); //при необходимости настроить шину данных на вывод
LCD.RW=0; LCD.A0=0; LCD.D=0x30; //установка типа интерфейса (8 бит)
Delay(>40ns); //это время предустановки адреса (tAS)
LCD.E=1; Delay(>230ns); //время предустановки данных попало сюда (tDSW)
LCD.E=0; Delay(>40us); //пауза между командами
LCD.E=1; Delay(>230ns); //минимально допустимая длительность сигнала E=1
LCD.E=0; Delay(>40us); //пауза между командами
LCD.E=1; Delay(>230ns);
LCD.E=0; Delay(>270ns); //минимально допустимый интервал между сигналами E=1 //здесь индикатор входит в рабочий режим с установленным типом интерфейса и можно подавать команды как обычно
WriteCmd(0x3A); //настройка правильного режима ЖКИ
WriteCmd(0x0C); //включение индикатора, курсор выключен
WriteCmd(0x01); //очистка индикатора
WriteCmd(0x06); //установка режима ввода данных: сдвигать курсор вправо
}
Анализ позволяет сделать несколько замечаний. Во-первых, в функции уже содержится требуемая последовательность сигналов для аппаратной настройки дисплея (LCD.E, LCD.RW, LCD.A0, LCD.D). Во-вторых, LCDinit использует необходимые временные интервалы и задержки (функция Delay). В-третьих, LCDinit также содержит последовательность команд программной инициализации (функция WriteCmd). Таким образом, пользователю не придется скрупулезно вычитывать документацию на ЖК-модуль в поисках всей необходимой информации.
Вместе с тем стоит заметить, что файл AllText8.c не содержит реализацию функции задержек и функций инициализации и работы с портами ввода/вывода. Пользователь должен создать их самостоятельно для конкретного используемого микроконтроллера.
Все полученные выводы остаются справедливыми и для остальных функций из AllText8.c.
Другие примеры из библиотеки МЭЛТ построены по тому же принципу: все базовые функции реализованы, пользователю остается только «привязать» их к своему контроллеру.
Качество разводки – залог качества ЖК-дисплеев
Очевидно, что одной ЖК-панели мало для создания дисплея. Необходим контроллер, система питания, печатная плата
Кроме того, важно обеспечить качественный монтаж элементов на плату
МЭЛТ имеет опытную команду инженеров, которая способна самостоятельно разработать схемотехнику и печатную плату дисплея. При этом для большинства модулей применяются ЖК-контроллеры отечественной компании ОАО «АНГСТРЕМ».
Собственное сверхсовременное монтажное производство – гордость компании. В настоящее время МЭЛТ имеет оборудование для выполнения высокопроизводительного монтажа по технологиям SMT и COB.
Технология COB (Chip On Board) предполагает монтаж бескорпусных кристаллов микросхем напрямую на плату. COB имеет преимущества перед использованием стандартных корпусных микросхем.
Во-первых, снижается стоимость, так как половина цены стандартной микросхемы приходится на корпус
Во-вторых, монтаж прямо на плату уменьшает влияние паразитных емкостей, что особенно важно для быстродействующих схем. Очевидно, у COB есть и недостатки (более сложная технология и невозможность ремонта), но они оказываются незначительными и компенсируются перечисленными выше достоинствами
а) пример ручной установки бескорпусныхмикросхем |
б) разварка выводов бескорпусных микросхем |
в) заливка компаундом установленныхбескорпусных микросхем |
|
Рис. 1. Этапы монтажа кристаллов ЖК-контроллеров по технологии COB |
Как было сказано выше, COB используется для быстродействующих компонентов. Именно по этой технологии происходит монтаж ЖК-контроллеров в ЖК-дисплеях компании МЭЛТ (рисунок 1). Оборудование МЭЛТ позволяет собственными силами выполнять полный цикл монтажа: установку и позиционирование (рисунок 1а), разварку выводов (рисунок 1б), контроль качества монтажа, герметизация кристалла компаундом (рисунок 1в).
Оборудование для COB компании МЭЛТ имеет следующие характеристики:
- количество развариваемых пинов: до 10000;
- ширина проводника: от 90 мкм;
- зазор между проводниками: от 90 мкм.
Кроме перечисленных выше специализированных технологий, МЭЛТ обладает оборудованием ведущих японских и европейских производителей (YAMAHA, Assembleon, Ersa, Dek и других) для традиционного SMT-монтажа и монтажа выводных компонентов. Гибкость сборки мелких и крупных серий печатных плат достигается за счет наличия двух линий поверхностного монтажа и линии сквозного монтажа.
Первая линия поверхностного монтажа предназначена для сборки крупных серий печатных узлов в автоматическом режиме. Ее максимальная производительность составляет до 20000 компонентов в час. Линия включает следующее оборудование:
- автоматический загрузчик печатных плат Nutek NTM 710 EL;
- автоматический принтер паяльной пасты DEK ELA;
- мультифункциональный станок для расстановки компонентов YAMAHA YS12F;
- конвекционную печь ERSA HotFLow 5;
- автоматический разгрузчик печатных плат Nutec NTM 710 EM 2;
Вторая линия поверхностного монтажа предназначена для сборки мелких и средних серий печатных узлов. Именно эта линия позволяет производить монтаж бессвинцовых компонентов. Производительность линии также составляет до 20000 компонентов в час. Она включает в себя следующее оборудование:
- полуавтоматический принтер паяльной пасты DEK 248;
- мультифункциональный станок для расстановки компонентов YAMAHA YS12F;
- конвекционную печь BTU Pyramax 98A;
- автоматический разгрузчик печатных плат Nutec NTM 710 EM 2.
Линия сквозного монтажа включает в себя:
- установку пайки динамической волной припоя KIRSTEN-K5360P;
- установку струйной отмывки печатных плат TRIMAX.
После монтажа блоки проходят контроль качества с помощью оптической 3D-устаовки TRION-2000.
Для испытаний узлов при разной температуре и влажности используется климатическая камера тепла/холода/влажности ESPEC SH-661.
Таким образом, компания МЭЛТ способна не только разрабатывать, но и производить ЖК-дисплеи собственными силами с поддержанием высочайшего качества изготовления.
Обзор продукции МЭЛТ начнем с серийных моделей.
Знакогенерирующие ЖК-дисплеи МЭЛТ
Номенклатура цифробуквенных ЖК-дисплеев МЭЛТ насчитывает 19 серий, включающих более 500 моделей (таблица 2).
Таблица 2. Серии цифробуквенных ЖК-дисплеев МЭЛТ
Наименование | Контроллер | Разреше-ние | Габариты, мм | Видимая область, мм |
Символ, мм | Подсветка | Тип стекла | Uпит, В | Траб, °C |
MT-08S2A | КБ1013ВГ6 | 08х2 | 58x32x12,9 | 3×16 | 3,55х5,56 | Янтарная, синяя, желто-зеленая, белая | FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive | 3; 5 | -20…70; -30…70 |
MT-10S1 | КБ1013ВГ6 | 10х1 | 66x31x9,2 | 56×12 | 4,34×8,35 | Желто-зеленая | STN Positive | 5 | 0…50, -20…70, -30…70 |
MT-16S1A | КБ1013ВГ6 | 16х1 | 122x33x9,3 | 99×13 | 4,86×9,56 | Янтарная, синяя, желто-зеленая, белая | FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive | 3; 5 | -20…70; -30…70 |
MT-16S1B | КБ1013ВГ6 | 16х1 | 122x33x13,1 | 99×13 | 4,86×9,56 | Янтарная, желто-зеленая, нет | FSTN Positive, FSTN Negative, STN Positive | ||
MT-16S2D | КБ1013ВГ6 | 16х2 | 85x36x13 | 62×19 | 2,95×5,55 | Янтарная, синяя, желто-зеленая, белая, нет | FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive | ||
MT-16S2H | КБ1013ВГ6 | 16х2 | 84x44x13,0 | 62×19 | 2,95×5,55 | Янтарная, синяя, желто-зеленая, белая, красная, нет | |||
MT-16S2J | КБ1013ВГ6 | 16х2 | 85x30x13,5 | 62×19 | 2,95×5,55 | Янтарная, синяя, желто-зеленая, белая, нет | |||
MT-16S2R | КБ1013ВГ6 | 16х2 | 122x44x13 | 105,2×24 | 4,86×9,56 | Янтарная, синяя, желто-зеленая | FSTN Positive, FSTN Negative, STN Positive | ||
MT-16S2S | ST7070 | 16х2 | 84x44x13,0 | 62×19 | 2,95×5,55 | Янтарная, синяя, желто-зеленая, белая | FSTN Positive, STN Positive | ||
MT-16S4A | КБ1013ВГ6 | 16х4 | 87x60x13,1 | 62×26 | 2,95×4,75 | FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive | |||
MT-20S1L-2FLA | КБ1013ВГ6 | 20х1 | 180x40x9,3 | 149×23 | 6,00×14,54 | Янтарная, синяя, желто-зеленая, белая, нет | |||
MT-20S2A-2FLA | КБ1013ВГ6 | 20х2 | 116x37x13 | 82×19 | 3,20×5,55 | Янтарная, синяя, желто-зеленая, красная, нет | FSTN Positive, STN Positive | ||
MT-20S2M | КБ1013ВГ6 | 20х2 | 180x40x9,3 | 149×23 | 6,00×9,63 | Янтарная, синяя, желто-зеленая, белая, красная, нет | FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive | 3; 5 | -20…70; -30…70 |
MT-20S4A | КБ1013ВГ6 | 20х4 | 98x60x13 | 76×26 | 2,95×4,75 | Янтарная, синяя, желто-зеленая, белая, нет | |||
MT-20S4M | КБ1013ВГ6 | 20х4 | 146×62,5×13 | 122,5×43 | 4,84×9,22 | Янтарная, синяя, желто-зеленая, белая, красная | |||
MT-20S4S | ST7070 | 20х4 | 98x60x13 | 76×26 | 2,95×4,75 | Янтарная, синяя, желто-зеленая, белая | FSTN Positive, STN Positive | 5 | -20…70 |
MT-24S1L | КБ1013ВГ6 | 24х1 | 208x40x14,3 | 178×23 | 6,00×14,75 | FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive | 3; 5 | -20…70; -30…70 | |
MT-24S2A | КБ1013ВГ6 | 24х2 | 118x36x13,5 | 92,5×14,8 | 3,15×5,72 | Янтарная, синяя, желто-зеленая, белая, нет | FSTN Positive, FSTN Negative, STN Positive | ||
MT-24S2L-2FLA | КБ1013ВГ6 | 24х2 | 208x40x14,3 | 178×23 | 6,00×9,63 | Янтарная, синяя, желто-зеленая, белая | FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive |
При таком многообразии легко выбрать дисплей с требуемыми характеристиками:
- с применением различных технологий, например, STN Positive/Negative, FSTN Positive/Negative (рисунок 2);
- с различными форматами символов и строк – 08х2, 10х1, 16х1, 16х2, 16х4, 20х1, 20х2, 20х4, 24х1, 24х2;
- с различным цветом подсветки – янтарным, желто-зеленым, красным, голубым, белым;
- с различным напряжением питания: 3 или 5 В;
- с разными рабочими температурными диапазонами, в том числе и -30…70°C;
- с последовательным (контроллер ST7070) или параллельным (контроллер КБ1013ВГ6) коммуникационным интерфейсом.
а) MT-24S2A FTSN Positive |
б) MT-24S2A FTSN Negative |
в) MT-24S2A STN Positive |
г) MT-24S2L STN Negative Blue |
Рис. 2. Примеры знакосинтезирующих ЖК-индикаторов МЭЛТ 24 х 2 |
Стоит особо отметить, что большая часть дисплеев построена на базе отечественного контроллера КБ1013ВГ6 производства ОАО «АНГСТРЕМ». По функционалу он аналогичен контроллерам HD44780 компании Hitachi и KS0066 производства Samsung.
Отличительными чертами КБ1013ВГ6 являются:
- широкий диапазон питающих напряжений: 2,7…5,5 В;
- диапазон питания ЖКИ: 3,0…13 В;
- высокоскоростной интерфейс связи: до 2 МГц (при Uпит = 5 В);
- 80 байт ОЗУ отображаемых данных (80 символов);
- 19840 бит ПЗУ знакогенератора с возможностью программирования двух пользовательских страниц символов;
- 64 байта ОЗУ знакогенератора.
Примеры работы для Espruino
В качестве примера подключим дисплей к управляющей плате Iskra JS.
Для коммуникации понадобится Breadboard Half и соединительные провода «папа-папа».
Вывод текста
Для вывода программы приветствия, воспользуйтесь скриптом:
- hello-amperka.js
-
// Задаём имя пинов дисплея var PIN_RS = P6; var PIN_EN = P7; var PIN_DB4 = P8; var PIN_DB5 = P9; var PIN_DB6 = P10; var PIN_DB7 = P11; // Создаём объект для работы с текстовым дисплеем // HD44780 — контроллер монохромных жидкокристаллических знакосинтезирующих дисплеев var lcd = require("HD44780").connect(PIN_RS, PIN_EN, PIN_DB4, PIN_DB5, PIN_DB6, PIN_DB7); // Устанавливаем курсор в колонку 0 и строку 0 lcd.setCursor(, ); // Печатаем первую строку lcd.print("Hello, world!"); // Устанавливаем курсор в колонку 0 и строку 1 lcd.setCursor(, 1); // Печатаем вторую строку lcd.print("Do It Yourself");
Кирилица
Вывод кирилицы на дисплей с помощью платформы Iskra JS доступен через встроенную в дисплей таблицу знакогенератора.
Таблица знакогенератора
Дисплейный модуль хранит в памяти две страницы знакогенератора, которые состоят из различных символов и букв.
Для вывода символа на дисплей необходимо передать его номер в шестнадцатеричной системе из таблицы знакогенератора.
Так букве соответствует код в шестнадцатеричной системе. Чтобы передать на экран строку «Яndex», необходимо в явном виде с помощью последовательности встроить в строку код символа:
lcd.print("\xB1ndex");
Вы можете смешивать в одной строке обычные символы и явные коды как угодно. Единственный нюанс в том, что после того, как компилятор в строке видит последовательность , он считывает за ним все символы, которые могут являться разрядами шестнадцатеричной системы даже если их больше двух. Из-за этого нельзя использовать символы из диапазона и следом за двузначным кодом символа, иначе на дисплее отобразится неправильная информация. Чтобы обойти этот момент, можно использовать тот факт, что две строки записанные рядом склеиваются.
Сравните две строки кода для вывода надписи «Яeee»:
lcd.print("\xB1eee"); // ошибка lcd.print("\xB1"+"eee"); // правильно
Используя полученную информацию выведем на дисплей сообщение «Привет, Амперка!»:
- hello-amperka-rus.js
-
// Задаём имя пинов дисплея var PIN_RS = P6; var PIN_EN = P7; var PIN_DB4 = P8; var PIN_DB5 = P9; var PIN_DB6 = P10; var PIN_DB7 = P11; // Создаём объект для работы с текстовым дисплеем // HD44780 — контроллер монохромных жидкокристаллических знакосинтезирующих дисплеев var lcd = require("HD44780").connect(PIN_RS, PIN_EN, PIN_DB4, PIN_DB5, PIN_DB6, PIN_DB7); // Устанавливаем курсор в колонку 5 и строку 0 lcd.setCursor(5, ); // Печатаем первую строку lcd.print("\xA8"+"p"+"\xB8\xB3"+"e\xBF"); // Устанавливаем курсор в колонку 3 и строку 1 lcd.setCursor(3, 1); // Печатаем вторую строку lcd.print("o\xBF"+" A\xBC\xBE"+"ep\xBA\xB8");
Переключение страниц знакогенератора
Дисплейный модуль хранит в памяти две страницы знакогенератора. По умолчанию установлена нулевая страница. Для переключения между страницами используйте методы:
// переключение с нулевой страницы на первую command(0x101010); // переключение с первой страницы на нулевую command(0x101000);
Дисплей не может одновременно отображать символы разных страниц.
Рассмотрим пример, в котором одна и та же строка будет отображаться по-разному — в зависимости от выбранной страницы.
- change-page.js
-
// Задаём имя пинов дисплея var PIN_RS = P6; var PIN_EN = P7; var PIN_DB4 = P8; var PIN_DB5 = P9; var PIN_DB6 = P10; var PIN_DB7 = P11; // Создаём объект для работы с текстовым дисплеем // HD44780 — контроллер монохромных жидкокристаллических знакосинтезирующих дисплеев var lcd = require("HD44780").connect(PIN_RS, PIN_EN, PIN_DB4, PIN_DB5, PIN_DB6, PIN_DB7); // Создаём переменную состояния var state = false; // Устанавливаем курсор в колонку 5 и строку 0 lcd.setCursor(5, ); // Печатаем первую строку lcd.print("\x9b\x9c\x9d\x9e\x9f"); setInterval(function() { // Каждую секунду меняем переменную состояния state = !state; // Вызываем функцию смены адреса страницы lcdChangePage(); }, 1000); function lcdChangePage () { if (state) { // Устанавливаем нулевую станицу знакогенератора (стоит по умолчанию) lcd.write(0b101000, 1); } else { // устанавливаем первую станицу знакогенератора lcd.write(0b101010, 1); } }
Полную таблицу символов с кодами можно найти в документации к экрану.

Эта тема закрыта для публикации ответов.