Чем заменить дисплей 1602
В качестве примера подключим дисплей к управляющей плате Arduino Uno.
Элементы платы
Питание
Экран совместим со всеми контроллерами с логическим напряжением от 3,3 до 5 вольт. Но для питания самого индикатора (пин VCC) необходимо строго 5 вольт. Если в вашем проекте нет линии 5 вольт, обратите внимание на дисплей текстовый экран 16×2 / I²C / 3,3 В.
Функции, общие для библиотек LiquidCrystal и LiquidCrystal_I2C:
- begin(cols,rows,[char_size]); – Инициализация дисплея с указанием количества столбцов, строк и размера символа.
- clear(); – Очистка дисплея с установкой курсора в положение 0,0 (Занимает много времени!).
- home(); – Установка курсора в положение 0,0 (Занимает много времени!).
- display(); – Быстрое включение дисплея (без изменения данных в ОЗУ).
- noDisplay(); – Быстрое выключение дисплея (без изменения данных в ОЗУ).
- blink(); – Включение мигающего курсора (с частотой около 1 Гц).
- noBlink(); – Выключение мигающего курсора.
- cursor(); – Включение подчеркивания курсора.
- noCursor(); – Выключение подчеркивания курсора.
- scrollDisplayLeft(); – Прокрутка дисплея влево. Сдвиг координат дисплея на один столбец влево (без изменения ОЗУ).
- scrollDisplayRight(); – Прокрутка дисплея вправо. Сдвиг координат дисплея на один столбец вправо (без изменения ОЗУ).
- leftToRight(); – Указывает в дальнейшем сдвигать положение курсора, после вывода очередного символа, на один столбец вправо.
- rightToLeft(); – Указывает в дальнейшем сдвигать положение курсора, после вывода очередного символа, на один столбец влево.
- noAutoscroll(); – Указывает в дальнейшем выравнивать текст по левому краю от позиции курсора (как обычно).
- autoscroll(); – Указывает в дальнейшем выравнивать текст по правому краю от позиции курсора.
- createChar(num,array); – Запись пользовательского символа в CGRAM дисплея под указанным номером.
- setCursor(col,row); – Установка курсора в позицию указанную номером колонки и строки.
- print(data); – Вывод текста, символов или цифр на экран дисплея. Синтаксис схож с одноимённой функцией класса Serial.
Комментарии 36
А полный сброс БК поможет может в этой проблеме? Если кто знает распишите как это делается!
Точнее я нашел по инструкции но нужно чтобы расписали по нажатиям (так как у меня дисплей не кажет) то есть нажать подержать, нажать допустим влево три раза итд… Попробую сбросить его может пройдет инициализацию и будет норм. Заранее спасибо тому кто замарочаеться на это!
Сброс Вам не поможет, так же как и замена памяти. Контроллеры практически идентичные, но схемы разные у них могут быть . Память и проц ЛСД это 2 черных чипа и как Вы их собираетесь перепаивать IGR44? Commediant не ищите себе проблем, я Вам скинул в личку сайты по дисплеям, заказывайте устанавливайте, и радуйтесь.
А в Вашем WP1602D нет этих битов в Function Set . ЭБУ просто считывает из CGRAM дисплея русские символы. Так что оно то, но не то.
Да все то!
Вы верно написали что в знакогенераторе 16х2 просто нету нужных символов, но если сдуть епромку с старого дисплея и перенести ее на новый, с компонентами конечно, то велика вероятность что все поднимется как нужно и не будет крякозяблов.
Вот из даташита на дисплей : WEH001602DLPP5N0000
FT1, FT0:
FONT TABLE SELECTION
These two bits are used to select one font table out of the three for further process.
When (FT1, FT0) = (0, 0), the
ENGLISH_JAPANESE CHARACTER FONT TABLE
will be selected.
(FT1, FT0) = (0, 1), the
WESTERN EUROPEAN CHARACTER FONT TABLE
will be selected.
(FT1, FT0) = (1, 0), the
ENGLISH_RUSSIAN CHARACTER FONT TABLE
will be selected.
(FT1, FT0) = (1, 1), N/A
Note: The default setting for FT1 and FT0 is 0 and 0 respectively which means the default Font Table
is
ENGLISH_JAPANESE CHARACTER FONT TABLE
Вывод текста
Для вывода первой программы приветствия, воспользуйтесь кодом вроде этого:
Переключение страниц знакогенератора
Дисплейный модуль хранит в памяти две страницы знакогенератора. По умолчанию установлена нулевая страница. Для переключения между страницами используйте методы:
Дисплей не может одновременно отображать символы разных страниц.
Рассмотрим пример, в котором одна и та же строка будет отображаться по-разному — в зависимости от выбранной страницы.
Полную таблицу символов с кодами можно найти в документации к экрану.
Поддерживаемые дисплеи:
// Пояснение:
LiquidCrystal ОБЪЕКТ ( RS , E , D4 , D5 , D6 , D7 );
void setup()
// Пояснение:
LiquidCrystal ОБЪЕКТ ( RS , E , D4 , D5 , D6 , D7 );
void setup()
Выводим надпись на дисплей LCD1602 подключённый по шине I2C. Для работы с дисплеем LCD2004 нужно изменить 3 строку на LiquidCrystal_I2C lcd(0x27,20,4);
Выводим надпись на дисплей LCD1602 подключённый по 4-битной параллельной шине. Для работы с дисплеем LCD2004 нужно изменить 5 строку на lcd.begin(20, 4);
Выводим надпись «Русский язык» на дисплей LCD1602 подключённый по шине I2C:
Выводим время прошедшее после старта на дисплей LCD1602 подключённый по шине I2C:
Переключение страниц знакогенератора
Дисплейный модуль хранит в памяти две страницы знакогенератора. По умолчанию установлена нулевая страница. Для переключения между страницами используйте методы:
Дисплей не может одновременно отображать символы разных страниц.
Рассмотрим пример, в котором одна и та же строка будет отображаться по-разному — в зависимости от выбранной страницы.
Полную таблицу символов с кодами можно найти в документации к экрану.
Вывод текста: кириллица
Существует два способа вывода кириллицы на текстовые дисплеи:
Рассмотрим оба способа более подробно.
Подключение к Arduino
Для упрощения работы с LCD-дисплеем используйте встроенную библиотеку Liquid Crystal. В ней вы найдёте примеры кода с подробными комментариями.
Подключение к Iskra JS
Для работы с LCD-дисплеем из среды Espruino существует библиотека HD44780.
Таблица знакогенератора
Дисплейный модуль хранит в памяти две страницы знакогенератора, которые состоят из различных символов и букв.
Для вывода символа на дисплей необходимо передать его номер в шестнадцатеричной системе из таблицы знакогенератора.
Вы можете смешивать в одной строке обычные символы и явные коды как угодно. Единственный нюанс в том, что после того, как компилятор в строке видит последовательность \x , он считывает за ним все символы, которые могут являться разрядами шестнадцатеричной системы даже если их больше двух. Из-за этого нельзя использовать символы из диапазона 0-9 и A-F следом за двузначным кодом символа, иначе на дисплее отобразится неправильная информация. Чтобы обойти этот момент, можно использовать тот факт, что две записанные рядом строки склеиваются.
Сравните две строки кода для вывода надписи «Яeee»:
Таблица знакогенератора
Дисплейный модуль хранит в памяти две страницы знакогенератора, которые состоят из различных символов и букв.
Для вывода символа на дисплей необходимо передать его номер в шестнадцатеричной системе из таблицы знакогенератора.
Вы можете смешивать в одной строке обычные символы и явные коды как угодно. Единственный нюанс в том, что после того, как компилятор в строке видит последовательность \x , он считывает за ним все символы, которые могут являться разрядами шестнадцатеричной системы даже если их больше двух. Из-за этого нельзя использовать символы из диапазона 0–9 и A–F следом за двузначным кодом символа, иначе на дисплее отобразится неправильная информация. Чтобы обойти этот момент, можно использовать тот факт, что две строки записанные рядом склеиваются.
Сравните две строки кода для вывода надписи «Яeee»:
Вывод текста
Для вывода программы приветствия, воспользуйтесь скриптом:
Дисплей
Дисплей MT-16S2H умеет отображать все строчные и прописные буквы латиницы и кириллицы, а также типографские символы. Для любителей экзотики есть возможность создавать собственные иконки.
Экран выполнен на жидкокристаллической матрице, которая отображает 2 строки по 16 символов. Каждый символ состоит из отдельного знакоместа 5×8 пикселей.
Подключение к Arduino
Для упрощения работы с LCD-дисплеем используйте встроенную библиотеку Liquid Crystal. В ней вы найдёте примеры кода с подробными комментариями.
Комментарии 16
не пойму, зачем регистр здесь, ведь данные и так по 4м проводам шлёпают, а в дисплее и так собственный знакогенератор и память. А так да, всё по даташиту, в принципе почти все они с одинаковым принципом, просто есть без русских букв, и там тогда надо прописывать знакогенератор.
Наверное, для того чтобы использовать 3 порта мк, вместо 6и.
ну если только, хотя есть свободные порты!
не пойму, зачем регистр здесь, ведь данные и так по 4м проводам шлёпают, а в дисплее и так собственный знакогенератор и память. А так да, всё по даташиту, в принципе почти все они с одинаковым принципом, просто есть без русских букв, и там тогда надо прописывать знакогенератор.
Не могу сказать, не понял сам
В управлении различий нет. Различия могут быть в подсветке и оттенке дисплея(серый или зеленоватый).
различие в прошитых доп.кодировках (есть кириллица, нет), в подсветке — буквы светятся или фон, в цвете букв/подсветки.
контроллер дисплея один и тот же везде, управление им тоже.
у них один контроллер очень популярный — скачай даташеты на них и сразу поймешь — можно только обжечься с подсветкой, кириллицей и напряжением питания, остальное практически одинаковое. Говорят инициализация немного отличается но я не "сталкивался" что бы оживали по разному.
QC1602A кажись получше будет… хотя хз, китайцы ведь )))
То есть можно просто заменить?
Отличие только в размерах платы и крепежных отверситях. Главное это с подсветной нужен или нет. И 3V или 5V ( есть с кирилицей и англ)
Как я понял, у них почти нет различий. Просто некоторые не поддерживают русские буквы.
Совместимые аналоги.
Различие бывает в наличии прошитой кириллицы.
На какой лучше заменить?
Если твой будильник/таймер не пишет по русски — на любой, что есть в продаже.
Неделю назад был заказан дисплей, жк для бк штат шеви матрис. Как только он прибыл сразу был перепаян, после этого на новом дисплее идут вместо букв одни иероглифы.
Предыдущий не показывал не знаю почему!
Заменить просто жк модуль с платы на плату не получится т. к. плата предыдущего повреждена.
Модель старого WP1602D остальное не видно, модель нового WEH001602DLPP5N0000, можно что либо с этим сделать?
Качество не самое лучшее так как телефон! :-)
Контроллер дисплея
Матрица индикатора подключена к встроенному чипу КБ1013ВГ6 с драйвером расширителя портов, которые выполняют роль посредника между экраном и микроконтроллером.
Контроллер КБ1013ВГ6 аналогичен популярным чипам зарубежных производителей HD44780 и KS0066, что означает совместимость со всеми программными библиотеками.
Примеры работы для Espruino
В качестве примера подключим дисплей к управляющей плате Iskra JS.
Функции, реализованные только в библиотеке LiquidCrystal_I2C:
- init(); – Инициализация дисплея. Должна быть первой командой библиотеки LiquidCrystal_I2C после создания объекта. На самом деле данная функция есть и в библиотеке LiquidCrystal, но в той библиотеке она вызывается автоматически (по умолчанию) при создании объекта.
- backlight(); – Включение подсветки дисплея.
- noBacklight(); – Выключение подсветки дисплея.
- setBacklight(flag); – Управление подсветкой (true - включить / false - выключить), используется вместо функций noBacklight и backlight.
Интерфейс передачи данных
Дисплей может работать в двух режимах:
Использовать восьмибитный режим не целесообразно. Для его работы требуется на четыре дополнительные ноги, а выигрыша по скорости практически нет.
Долгое время пытался привыкнуть к белым буквам на раздражающем синем(фиолетовом) фоне подсветки экрана iMax B6 mini.
Думал, что только я страдаю «нелюбовью» к такого рода комбинациям цвета подсветки и символов, но на деле оказалось, что различные форумы кишат людьми, которые предлагают избавится от раздражения путём приклеивания сверху некоей плёнки различных цветов и пропускной способности.
Идея вроде хороша, но найти такую пленку не так легко!
Своими силами подумывал даже заменить подложку-светодиод подсветки на другой цвет, но это оказалось сложно из-за нестандартных размеров самого экранчика iMax.
И тогда я решил полностью поменять ЖК модуль на тот, который мне бы понравился.
О самом экранчике говорить смысла нет — стандартный дисплей 1602(16 символов на каждые из двух строк), со стандартными 16-тю пинами(горизонтальная однорядная гребёнка), который прекрасно знают «ардуинщики» к коим я себя только-только причисляю)
Первым делом я отпаял родной дисплей, который выглядел вот так:
И убрал лишнего припоя с ножек:
Установил в свои посадочные пины новый дисплей, смазал флюсом:
При включении, оказалось, что контраст, настроенный для родного экрана iMax не подходит новому;
Не сфотографировал, но скажу на словах, для решения этой проблемки, подстроечным резистором определил нужное сопротивления, и заменил резисторы на плате iMax, которые отвечают за контраст(их видно на фото, где убирал излишки припоя — два резистора около винта)
Вот так, теперь, выглядит в выключенном состоянии:
А вот так во включенном:
В целом — я очень рад, что это случилось) Теперь мне стало более комфортно.
Добрый день! Столкнулся с проблемой, решил собрать замок. В нем используется жк дисплей. В схеме это WH1602A. В магазинах города есть только WH1602D либо QC1602A. В чем у них различие и можно ли заменить? Фото схемы прикладываю.
СПАСИБО ВСЕМ КТО ОТКЛИКНУЛСЯ! Будем пробовать!
Использование библиотеки LiquidCrystalRus
Совсем не обязательно мучатся со знакогенератором, чтобы вывести русский символ. Для решения проблемы скачайте и установите библиотеку LiquidCrystalRus.
Это копия оригинальной библиотеки LiquidCrystal с добавлением русского языка. Добавленный в библиотеку код трансформирует русские символы UTF8 в правильные коды для текстового экрана.
В качестве примера выведем фразу «Привет от Амперки» на дисплей.
Контакты подключения
На плате дисплея выведено 16 контактов для подведения питания и взаимодействия с управляющей электроникой.
Обратите внимания, что физические контакты подсветки экрана 15 и 16 расположены не в порядком соотношении с другими пинами экрана.
Подключение:
Кирилица
Вывод кирилицы на дисплей с помощью платформы Iskra JS доступен через встроенную в дисплей таблицу знакогенератора.
Читайте также: