Проверка lcd 1602 дисплея своими руками

Добавил пользователь Алексей Ф.
Обновлено: 18.09.2024

Есть китайский символьный дисплей 4х20, судя по отзывам полностью ардуино-совместимый.

При включении горит подсветка и все.

Как проверить исплавность?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

2004 не юзал. На 1602, подключаю подсветку через 200-500 Ом и контрастность через переменник. Подаю напряжение и регулирую контрастность пока не отоброзится первая лини в прямоугольниках. Это режим само тестирование. Как увидел их четко. Подключаю остальные контакты вывожу символы, опять подрегулирую по вкусу. У 2004 думаю тоже есть режим самотестирования.

P.S. Все подключения при отключеном питании.:)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Дак наверняка те же грабли, что и с 1602: нужен подбор версий библиотеки LiquidCrystal. Хотя в самодиагностику (строчка прямоугольников) - должно включаться при подключении только питания и регулятора контрастности.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Да всё так же, как и для 16х2, только в setup пишем lcd.begin(20, 4);

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Подключил к UNO Winstar WH2004L по стандартной схеме как в примере HelloWorld.ino

Питание 5В от Arduino, контраст от неё же через переменник 20К, питание подсветки от отдельного бп 4,5В напрямую без резистора (с резистором 75Ом почему то вообще не светился, хотя пишут надо 100-150).

Проинициализировались при включении 1 и 3 строчки, на запуск скетча вообще никакой реакции.

Дисплей был рабочий, с неисправного девайса, но буквы показывал. Контроллер в дисплее, судя по описанию HD44780 or equivalent. Куда еще можно посмотреть?

Дак наверняка те же грабли, что и с 1602: нужен подбор версий библиотеки LiquidCrystal. Хотя в самодиагностику (строчка прямоугольников) - должно включаться при подключении только питания и регулятора контрастности.

что значит подбор версий библиотеки?

upd: в общем всё заработало, похоже забыл землю на 5 контакт R/W подать

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Народ, а можно ли подключать экран 3.3 В в напрямую к Li-Ion банке, т. о. до 4.2 В максимум? Просто при разряде ниже 40% AMS1117-3.3 не хочет работать, а питать только экран - на управляющих проводах напряжение будет больше чем напряжение питания.

Можно ли для решения этой проблемы поменять AMS1117 на стабилитрон?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

NeiroN аватар

Мучаю 2004 с i2c модулем - без модуля тоже тестировал - мой запустился на стандартной библиотеке по 4 битам. Основные грабли как я понял это инициализация 4 бит режима у дисплея, там функции несколько раз вызываются, но это не помогает - как решение вызывать инициализацию lcd.begin() дважды. Мои эксперименты показали что при одинаронм вызове - при ресете дисплей стартует через раз, а при двойном вызове сразу - после любого ресета контроллера хоть по питанию хоть кнопкой.

Проблема скорее всего вызвана внутренним временем на обработку процедур(зависит похоже от конкретного экземпляра). Вобщем невижу ничего страшного чтобы инитить дисплей 2 раза - да хоть 3 - главное чтобы потом он работал.

экран LCD 1602

Основные характеристики lcd 1602

Ниже приведены основные характеристики дисплея LCD 1602:

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

Контакты и схема подключения

Каждый выход экрана имеет свое функциональное назначение. Все имеющиеся у модуля LCD 1602 контакты по порядку приведены в списке ниже, в скобках указано название соответствующего порта Arduino, к которому может осуществляться подключение:

  1. VSS, земля (GND);
  2. VDD, питание 5В (5V);
  3. V0, управление контрастностью и напряжением дисплея (GND, через резистор);
  4. RS, регистр (пин 0);
  5. RW, запись и чтение данных (GND);
  6. E, Enable, строб по спаду (пин 1);
  7. DB0 (не подключается);
  8. DB1 (не подключается);
  9. DB2 (не подключается);
  10. DB3 (не подключается);
  11. DB4 (пин 2);
  12. DB5 (пин 3);
  13. DB6 (пин 4);
  14. DB7 (пин 5);
  15. А, плюс подстветки (5V, через резистор);
  16. К, минус подсветки (GND).

Контакты с 7-го до 14-го являются линиями данных (4 младших и 4 старших бита). Для различных модификаций LCD 1602 расположение выходов может быть немного другим.

LCD 1602

Режим самотестирования

Самотестирование дисплея необходимо для того, чтобы проверить его работоспособность еще до подключения к системе. Чтобы запустить этот режим, нужно подать питание на подсветку, а напряжение — на контроллер. Сделать это можно с использованием потенциометра или мультиметра на 10 или 50 кОм, подсоединив следующие контакты:

  • VSS и заземление;
  • VDD и источник питания 5В;
  • V0 и потенциометр;
  • A и источник питания 5В;
  • K и заземление.

После того как схема соединена, вся верхняя строка дисплея должна засветиться сплошными темными прямоугольниками. Если это произошло — LCD 1602 в порядке, если нет — либо не настроена контрастность, либо устройство не работает. Откорректировать контрастность экрана можно с помощью потенциометра, покрутив его ручку.

Подключение дисплея к плате ардуино

Существует несколько способов подключения, но перед тем как попробовать какой-либо из них, нужно подготовить коннекторы. Если они распаяны, нужно запаять все 16 контактов со стороны коротких ног. Длинные ноги будут использоваться для соединения с периферийными аппаратами и картами.

Стандартный способ

При подключении LCD 1602 по стандартной схеме в 4-битном режиме его необходимо установить на макетной плате, а затем в следующей последовательности соединить все контакты:

подключение arduino

Нестандартный способ

Подключение по протоколу i2c

При подключении используются выходы SDA (линия данных) и SCL (линия синхронизации) и 4 провода, 2 из которых служат для питания. К этим линиям может быть подсоединено более 2 ведомых устройств, что позволяет включить в систему не только экран, но и часы, термометр или прочие периферийные объекты. Строки скетча при этом остаются неизменными.

Возможные проблемы с подключением

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

Если настройка контрастности не помогает, а соответствие схемы и наличие питания (в т.ч. питания подсветки) уже проверены, проблема может быть связана с качеством спайки контактов. В этом случае необходимо проверить работу дисплея в режиме самотестирования и при подключении по стандартной 4-битной схеме без переходника.

Иногда при использовании шины i2c ошибка может возникать из-за ее неверного адреса. Адрес можно изменить в скетче. Для чипа PCF8574 подбор проводится от 0x20 до 0x27, а для PCF8574 — от 0x38 до 0x3F. Правильный вариант зависит от производителя.

Версии Arduino выше 1,8 имеют сложности при работе с библиотекой LiquidCrystal_I2C. В случае возникновения ошибок ее можно заменить на LCD_1602_RUS или LiquidCrystal_PCF8574.

Библиотека liquidcrystal.h

В случае использования переходника I2C рекомендуется применять библиотеки LiquidCrystal_I2C.h и Wire.h совместно. Они могут входить в пакет софта Arduino IDE по умолчанию, а также скачаны дополнительно.

  • скетч;
  • подключить библиотеку;
  • управлять библиотеками.

LiquidCrystal

Как создать собственные символы

Если в наборе LCD 1602 отсутствует нужный для работы проекта символ, его можно создать самостоятельно. Для добавления нового символа нужно сформировать битовую маску размером 5х8 ячеек (в соответствии с количеством точек, которое приходится на 1 символ). Затем в маске необходимо разместить единицы там, где предполагается наличие подсветки, и нули — там, где должно остаться серое закрашивание.

Для экономии времени можно использовать генератор символов, созданный любителями и размещенный в свободный доступ в интернете.

Таким путем в память может быть добавлено до 7 дополнительных самодельных знаков.

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

Проверка готовности

Итак, программа составлена, но она не доделана.

Схема подключена.

Компоненты в наличии:

  • Плата Arduino Uno
  • Дисплей LCD 1602
  • Потенциометр 10 кОм
  • Фоторезистор
  • Резистор 10 кОм
  • Макетная плата
  • Соединительные провода

Если все собрано правильно, то на схеме должны отображаться переменные Foto и Rezistor которыми можно управлять.

Как вы, наверное, уже заметили, на блоках управления LCD дисплеем есть выпадающее меню с I2C адресами. В большинстве случаев I2C адрес дисплея LCD 1602 является 27, но возможно именно в вашем случае произошло досадное исключение. Надо проверить .

Как проверить I2C?

К сожалению, расширение для сканирования адреса I2C в программе mBlock я не нашел, а может плохо искал? Если вы знаете такое расширение, то напишите в комментариях. Придется определять сторонними программами. Существует несколько способов проверить I2C адрес:

Первый способ . Из выпадающего списка блока методом подбора: выбирать по очереди каждый адрес, пока не окажется тот, при котором заработает дисплей. Адресов всего пять, так что процесс не затянется надолго.

Второй способ . Воспользоваться программой XOD IDE и моей статьёй, Сканируем i2c адрес в программе XOD IDE

Обзор LCD-дисплея 1602A (LCD1602A)

Жидкокристаллический дисплей (Liquid Crystal Display) сокращенно LCD построен на технологии жидких кристаллов. При проектировании электронные устройства, нам нужно недорогое устройство для отображения информации и второй не менее важный фактор наличии готовых библиотек для Arduino. Из всех доступных LCD дисплеев на рынке, наиболее часто используемой является LCD 1602A, который может отображать ASCII символа в 2 строки (16 знаков в 1 строке) каждый символ в виде матрицы 5х7 пикселей. В этой статье рассмотрим основы подключения дисплея к Arduino.

Технические параметры

► Напряжение питания: 5 В
► Размер дисплея: 2.6 дюйма
► Тип дисплея: 2 строки по 16 символов
► Цвет подсветки: синий
► Цвет символов: белый
►Габаритные: 80мм x 35мм x 11мм

Описание дисплея

На лицевой части модуля располагается LCD дисплей и группа контактов.

Обзор LCD-дисплея 1602A (LCD1602A)

Подключение LCD 1602A к Arduino (4-битном режиме)

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► LCD-дисплей 1602A (2×16, 5V, Синий) x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-F (Female — Female) x 1 шт.
► Потенциометр 10 кОм x 1 шт.
► Разъем PLS-16 x 1 шт.
► Макетная плата MB-102 x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.

Подключение:
Для подключения будем использовать макетную плату, схема и таблица подключение LCD1602a к Arduino в 4-битном режиме можно посмотреть на рисунке ниже.

Схема подключения LCD-дисплея 1602A (LCD1602A)

Таблица подключения LCD-дисплея 1602A (LCD1602A)

Подключение дисплея к макетной плате будет осуществляться через штыревые контакты PLS-16 (их необходимо припаять к дисплею). Установим модуль дисплея в плату breadboard и подключим питание VDD (2-й контакт) к 5В (Arduino) и VSS (1-й контакт) к GND (Arduino), далее RS (4-й контакт) подключаем к цифровому контакту 8 (Arduino). RW (5-й контакт) заземляем, подключив его к GND (Arduino), затем подключить вывод E к контакту 8 (Arduino). Для 4-разрядного подключения необходимо четыре контакта (DB4 до DB7). Подключаем контакты DB4 (11-й контакт), DB5 (12-й контакт), DB6 (13-й контакт) и DB7 (14-й контакт) с цифровыми выводами Arduino 4, 5, 6 и 7. Потенциометр 10K используется для регулировки контрастности дисплея, схема подключения LCD дисплея 1602а, показана ниже

Схема подключения LCD-дисплея 1602A (LCD1602A)

Библиотека уже входит в среду разработки IDE Arduino и нет необходимости ее устанавливать. Скопируйте и вставьте этот пример кода в окно программы IDE Arduino и загрузите в контроллер.

Читайте также: