2004 дисплей распиновка

#34. ЖК-дисплей LCD 1602 и LCD 2004. Подключение к Arduino. Основы.

Символьные ЖК-дисплеи LCD 1602 и LCD 2004 достаточно часто используются в Arduino проектах, благодаря большому размеру и относительно небольшой стоимости. Кроме этого с данными дисплеями достаточно просто работать. Сегодня в Arduino уроке рассмотрим основы работы с ЖК-дисплеями LCD 1602 и LCD 2004. Подключим lcd 1602 к Ардуино. И рассмотрим пару примеров скетчей, которые позволят вывести текстовую информацию на LCD 1602 и 2004.

Описание и классификация LCD 1602 и LCD 2004.

LCD 1602 дисплей еще называют символьным. Это связано с тем, что ЖК-дисплей разбит на области точек. На каждую такую область можно вывести 1 символ. В связи с чем дисплей данного типа подразделяется по количеству строчек и символов в строке. Например, 2 строки и 16 символов в каждой строке, данное значение указывается в названии дисплея 1602. По аналогии 20 символов и 4 строки это LCD 2004. Также есть и другое разрешение дисплея 0802, но у меня, к сожалению, нет таких маленьких дисплеев и продемонстрировать их я вам не смогу. Но работа с ними ничем не отличается от старших братьев.

Также можно выделить разный тип подсветки. Существуют дисплеи: синий фон белые буквы, зелёный фон чёрные буквы, чёрный фон белые буквы и проч. Я буду использовать, с синим фоном и белыми буквами.

Для урока понадобится:

  • Дисплей LCD 1602или LCD 2004
  • Arduino UNO или Arduino NANO
  • Соединительные провода

LCD 1602 и LCD 2004 подключение к Ардуино.

Существует несколько вариантов подключения LCD 1602 или LCD 2004 к Ардуино по 4-бит или 8-бит параллельному интерфейсу. При таком подключении у нас будет задействовано 6 или 10 контактов Arduino, что неприемлемо при использовании Arduino UNO, Arduino NANO и подобных отладочных плат, в которых не так и много пинов, которые можно использовать.

Схема подключения LCD 1602 к Arduino UNO.

Чтобы уменьшить количество проводов для подключения LCD 1602, используется плата PCF8574, которая позволяет подключить дисплей по I2C. Что уменьшает количество проводов до 2. Сегодня в уроке будем использовать подключение LCD 1602 и LCD 2004 к Arduino по I2C.

Схема подключения LCD 1602 к Arduino UNO по I2C с использованием PCF8574.

LCD 2004, LCD 1602 библиотека.

Для работы с дисплеем используется библиотека LiquidCrystal. Но в связи с тем, что мы будем использовать подключение LCD 1602 и LCD 2004 к Arduino по I2C. Библиотеку использовать будем другую LiquidCrystal_I2C. Которую можно скачать с GitHub. Или внизу статьи, в разделе «Файлы для скачивания».

После того как вы скачали архив с библиотекой. Заходим в Arduino IDE, открываем вкладку «Скетч -> Подключить библиотеку -> Добавить .ZIP библиотеку…»

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

Сейчас можно посмотреть примеры, которые установились с библиотекой LiquidCrystal_I2C. Я же данные примеры немного изменю и подпишу, что означает каждая строка кода.

Описание библиотеки LiquidCrystal_I2C.

Перед тем как начать работать с дисплеем LCD 2004, LCD 1602 давайте рассмотрим библиотеку LiquidCrystal_I2C. Ниже приведены основные функции, которые необходимы для работы с дисплеем.

Пример кода вывода текста на LCD 1602 с использованием библиотеки LiquidCrystal.

Не смотря на то, что урок ориентирован на использование подключения дисплея по I2C. Рассмотрим пример подключения дисплея LCD 1602 подключённого по 4-битной параллельной шине. Для работы с дисплеем LCD2004 нужно изменить пятую строчку кода на lcd.begin(20, 4);

Пример вывода текста на LCD 2004, LCD 1602 с использованием библиотеки LiquidCrystal_I2C.

Не смотря на то, что в примере будем использовать подключение LCD 1602 по I2C и библиотеку LiquidCrystal_I2C. Код не сильно изменится. Для работы с дисплеем LCD2004 нужно изменить 3 строку на LiquidCrystal_I2C LCD (0x27,20,4);


Выводим время прошедшее после старта на дисплей LCD1602 подключённый по шине I2C.


Если дисплей LCD 2004, LCD 1602 не отображает текст.

После того как вы всё сделали, подключили дисплей. Загрузили код. На дисплее могут не отображаться символы. Что может быть не так:

  • Если дисплей показывает чёрные прямоугольники или пустой экран – нужно отрегулировать яркость дисплея, это синий квадратный регулятор на задней стороне платы.
  • Если кроме чёрных прямоугольников и пустого экрана ничего не видно – меняем адрес в программе. Их всего два: 0x27 и 0x3F.
  • Если все равно не работает – проверяем подключение и повторяем сначала.

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

Появились вопросы или предложения, не стесняйся, пиши в комментарии!

Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.

Всем Пока-Пока.

И до встречи в следующем уроке.

Понравилась статья? Поделитесь ею с друзьями:

Источник

Arduino и символьный LCD-дисплей

Как подружить плату Ардуино с символьным дисплеем? Довольно просто! Все ниже по порядку и с подробностями.

Если есть желание получать информацию от Ардуино без подключения к компьютеру и вывода на серийный порт, можно использовать символьный дисплей. Сделать это не так сложно. Полученное удобство от общения неоценимо.
Для работы я использовал символьный LCD-дисплей J204A на базе чипа HD44780, на eBay часто встречается как LCD2004. 4 строки по 20 символов, инвертированный. Куплен с кучей других на eBay, за сущие копейки, от 60 до 100 рублей за штуку. Русский язык не поддерживается по-умолчанию, но это решаемая проблема, об этом как нибудь в следующий раз. И еще коннекторы на схеме не распаяны, придется поработать паяльником.
Для работы с дисплеями используется библиотека LiquidCrystal.h входящая в дефолтную постаку Arduino IDE.

Сам экран.

А результат мы получим вот такой!

На снимке ниже вся работа с паяльником уже выполнена. Гребенка припаяна так специально, с ориентацией подключения с верхней стороны, там же где и экран. Тут видно насколько удобно в таком случае подключать дисплей. Хотя, возможно, кому-то будет удобнее сразу втыкать дисплей в макетную плату, тогда лучше припаять контакты наоборот.

И с другой стороны.

Подключение контактов и использование устройства подробно описано в даташите.

Информация по микроконтроллеру дисплея HD44780-datasheet .

А вот даташита по дисплею LCD2004 я не нашел, но зато в интернетах полным полно таблиц по дисплею LCD1602. Но они практически не отличаются друг от друга. По управлению и подключению полностью идентичны. Отличие только в количестве строк/символов на дисплее. Но это абсолютно не повлияет если у вас 1602.

Читать PDF с техническими данными не обязательно. Ниже я все объясню в деталях, но если нужны подробности, то все можно найти в даташите.

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

# Контакты Для чего используется Примечание
1 VSS (VSS) GND. Земля. Питание микроконтроллера дисплея. 0V
2 VDD (VCC) Питающее напряжение для микроконтроллера дисплея. +5V
3 V0 (VEE) Контраст символов на дисплее. Подключать лучше через потенциометр. от 0v до +5V
4 RS (RS) Выбор регистра.
5 RW (R/W) Переключение режима чтения/записи. Утянем на землю, нам нужно только передавать информацию на дисплей. 0-запись +5V-чтение
6 E Тактирование
7 D0 (DB0) Передача данных. (Не будем использовать) Данные
8 D1 (DB1) Передача данных. (Не будем использовать) Данные
9 D2 (DB2) Передача данных. (Не будем использовать) Данные
10 D3 (DB3) Передача данных. (Не будем использовать) Данные
11 D4 (DB4) Передача данных. (Задействуется) Данные
12 D5 (DB5) Передача данных. (Задействуется) Данные
13 D6 (DB6) Передача данных. (Задействуется) Данные
14 D7 (DB7) Передача данных. (Задействуется) Данные
15 A (LED+) +5V Напряжение, подсветка дисплея, через потенциометр можно регулировать яркость дисплея. +5V
16 K (LED-) GND Земля, подсветка дисплея 0V

Передача данных к дисплею возможна в двух вариантах: по 8 и по 4 бит за такт. Т.к. Ардуино имеет мало контактов, мы будем использовать 4 — этого с лихвой хватает, чтоб обновлять информацию на дисплее с запредельной для восприятия скоростью.

Вот так все это дело у меня подключено. Возможно кажется что это хаос, но тут есть система. Можно выделить красные, зеленые, желтые и оранжевые провода. Красные всегда идут на +5V, зеленые — GND, а желтые и оранжевые — это провода для подключения к Ардуино, по которым идут данные.

Самая важная часть — физическое подключение дисплея. По клику открывается в большом разрешении, где все хорошо видно.
R1 — Резистор 200OM. Сопротивление ограничивающее ток, проходящий через подсветку дисплея.
R2 — Потенциометр с сопротивлением до 10kOM. Кутим ручку, подбираем контраст символов.

И крайне простой скетч, для вывода на экран пары строк.
Скачать.

Результат. Если знать, как все это подключается и как написать код, то время на все работы 5 минут.

Также дисплей может выполнять некоторые функции самостоятельно, а еще есть возможность задать некоторые параметры.

  • Скролить текст;
  • Мигать позицией курсора;
  • Включаться/выключаться.

Обо всех функциях дисплея можно подробнее узнать тут: http://arduino.cc/en/Reference/LiquidCrystal

А теперь бонус!
Подсветка дисплея тратит энергию, которую, при питании от батареи, например, хотелось бы экономить. Я сделал для себя такой вариант — при нажатии на кнопку, включается подсветка дисплея на 5 секунд.

Дисплей подключен почти тем же способом. Осталось только добавить кнопку с вызовом прерывания.
Как сделать такую кнопку подробно описано вот тут: http://compblog.vlukyanov.com/?p=435
Кнопка подключена по этой схеме также ко второму контакту.

Нужно внести небольшие изменения в подключение.
1) Все провода дисплея остаются на местах кроме «А», он был подключен к +5V, теперь подключаем к четвертому пину Ардуино.
2) Добавить кнопку как показано на схеме к контакту 2. Если не понятно, как это сделать, еще раз говорю идем сюда и читаем статью: http://compblog.vlukyanov.com/?p=435

И результат:

Источник

Подключение LCD 2004A к Arduino по шине I2C

03.03.2017 14:00, автор EW1ADF

Подключение дисплея с использованием шины I2C весьма удобно, так как требует для этого всего 2 линии передачи данных: SCL (serial clock) и SDA (serial data). На плате Arduino для этих целей используются аналоговые пины A5 и A4 соответственно.

Дисплей 2004A имеет 4 строки по 20 символов и внешне выглядит следующим образом:

Для подключения дисплея к шине I2C используется расширитель портов на микросхеме PCF8574.

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

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

Чтобы проверить работу дисплея можно использовать программу, которая выводит основные символы ASCII.

Для этого необходимо определить адрес, по которому подключен дисплей с помощью скетча i2c_scanner, определяющим все устройства на шине I2C http://playground.arduino.cc/Main/I2cScanner

Загрузив данный скетч в Arduino наблюдаем результат его выполнения в мониторе порта:

Подключение и использование дисплея программно, осуществляется с помощью библиотеки LiquidCrystal_I2C https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library, которую необходимо скачать и распаковать в папку библиотек Arduino (C:\Program Files\Arduino\libraries).

Исходный код тестового скетча:

Результатом работы программы является последовательный вывод символов ASCII каждые 250 мс с последующей очисткой дисплея:

Чтобы быть всегда в курсе последних обновлений на сайте, подписывайтесь на наши паблики в социальных сетях:

Дизайн сайта — Yuri Serov, разработка — SergSXM © 2014-2022

Источник

Adblock
detector