#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.
Всем Пока-Пока.
И до встречи в следующем уроке.
Понравилась статья? Поделитесь ею с друзьями:
Подключение 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
Подключение LCD 2004A к Arduino
Сегодня рассмотрим подключение экрана LCD 2004A к Ардуино. Данный модуль интересен для использования (и обзора) по многим причинам. Он достаточно прост в сборке, доступен по бюджетной цене, вполне функционален. Обычно такие устройства применяются в случаях, когда на дисплей необходимо вывести текстовые ∕ цифровые ∕ графические значения и изображения без лишних подключений и телодвижений (по шине I2C, например).
Нуждаетесь в отображении подсказок датчиков? Работаете над проектами, где необходимо отображение меню? Попробуйте поработать с обсуждаемым сегодня символьным ЖК дисплеем!
Его технические параметры таковы:
- напряжение питания: 5V;
- экран: 16 символов 2 строки или 20×04;
- подсветка: синяя (текст выводится белым);
- тип интерфейса: I2C
- габариты: 82 x 35 x 18мм.
Подключение LCD 2004A к Arduino по шине I2C схематически выглядит следующим образом:
Для сборки схемы мы использовали такие аппаратные компоненты: управляющую плату расширения Arduino Uno, LCD I2C модуль, соединительные провода.
Для дальнейшей работы и проверки работоспособности микросхемы нам следует скачать и инсталлировать специализированные библиотеки — Wire (для управления интерфейсом) и LiquidCrystal_I2C1602V1. Не забываем распаковывать архивы с файлами подобного плана в папку libraries в среде Ардуино IDE.
Попробуем вывести на экран надпись «Hello, world!». Для этого загружаем скетч в плату:
Напомним, при желании на дисплей можно выводить не только текстовые сообщения, но и другие символы, например, смайлики или геометрические фигуры. Для этого, естественно, понадобится написать другой программный код.
Ниже приведем еще один вариант прошивки:
Не бойтесь экспериментов – это очень увлекательно! На этом прощаемся! До новых встреч!
#35. Выводим символы на дисплей LCD 1602 и LCD 2004.
Для создания проектов на Arduino достаточно часто применяют дисплей LCD 1602 и LCD 2004. Как подключить LCD 1602 к Arduino рассмотрели в предыдущем уроке. Кроме текста очень часто нужно вывести специальные символы. Например, обозначение температуры — градус цельсия или процент влажности, а также направление продвижения или вращения. Как же вывести спец символы на дисплей LCD 1602 и LCD 2004? В данном уроке рассмотрим вывод из набора предустановленных символов и создадим свои символы, которые также выведем на LCD 1602 и LCD 2004.
Схема подключения LCD 1602 к Arduino UNO по I2C.
Не смотря на то, что схему подключения уже рассматривали в предыдущем уроке. В данном уроке продублирую схему подключения LCD 1602 к Arduino UNO по I2C.
Для урока понадобится:
- Дисплей LCD 1602или LCD 2004
- Arduino UNO или Arduino NANO
- Соединительные провода
Выводим символы на дисплей LCD 1602 и LCD 2004.
В дисплее есть предустановленные символы, которые можно использовать. На рисунке ниже представлены символы и их порядковый номера.
Вывести символ из данной таблицы на дисплей LCD 1602 и LCD 2004 достаточно просто. Вызываем команду:
Где 127 номер символа из таблицы.
Таким образом, можно использовать предустановленный набор символов.
Пример кода (Скетча) вывода символов на дисплей LCD 1602 и LCD 2004.
Как видим из кода, вывод символов ничем не отличается от вывода обычного текста, только вывести можно всего один символ и при этом нужно преобразовать значение в char(). Это необходимо сделать, чтобы микроконтроллер понял, что мы выводим на дисплей символ, а не число.
В результате выведем вот такой набор символов.
Создаём и выводим на LCD 1602 собственные символы.
Для того чтобы создать собственный символ достаточно заполнить массив в котором 1 – это закрашенная ячейка на дисплее, а 0 – не закрашенная. В результате получим вот такое изображение.
Массив будет выглядит вот так. И массив и картинка очень похожи.
По аналогии можно создавать другие спец символы.
Пример кода создания своих символов для вывода на дисплей LCD 1602 и LCD 2004.
Создал 8 спец символов для вывода на дисплей LCD 1602 и LCD 2004.
Давайте сейчас сохраним данные символы в память дисплея. Для этого используется команда lcd.createChar().
После чего символ можно выводить на дисплей и повторно загружать не нужно. Но тут есть свое ограничение, записать можно только 8 символов. Также любой символ можно перезаписать.
Для вывода символов устанавливаем курсор. Например, в домашнюю позицию и выводим по порядку все символы.
Вот так символы отображаются на дисплее LCD 1602 и LCD 2004.
Но это не позволяет нам выводить русские буквы на дисплей LCD 1602 и LCD 2004. Для этого есть специально адаптированная библиотека с ней мы познакомимся в следующем уроке.
Появились вопросы или предложения, не стесняйся, пиши в комментарии!
Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.
Всем Пока-Пока.
И до встречи в следующем уроке.
Понравилась статья? Поделитесь ею с друзьями: