8 (800) 350-30-16

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

Дата: / Категория: Дисплеи / Автор: Besaga

Приветствую, уважаемые читатели. Сегодня мы рассмотрим использование и подключение LCD-дисплеев к Arduino (размеры дисплеев составляют 20х4 и 16х2). Чем отличаются данные дисплеи? Прежде всего, они работают от +5 В и оснащены встроенной подсветкой, функционирующей при помощи светодиода малой мощности. В общей сложности нам понадобится шесть контактов.

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

 

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

Процесс подключения дисплея к Arduino

Что нам понадобится? Разумеется, сам символьный LCD-дисплей, дополнительная обвязка, рельса контактов 0.1 и переменный резистор (он же, потенциометр), который будет использоваться для настройки контрастности дисплея. В первую очередь это обусловлено тем, что у каждого дисплея индивидуальные настройки контрастности.

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

 

Кстати, если вы хотите значительно облегчить пайку, то оптимальным методом будет установка рельсов (длинные контактные группы, расположенные по краям макетной платы) на макетку и постановка дисплея сверху. Таким образом, дисплей обретет достаточную степень фиксации, что сильно облегчит процесс пайки.

Дальше мы приступаем к следующему этапу, а именно к подключению подсветки и питания:

Первый шаг – берем Breadboard и устанавливаем на него дисплей;
Дальше мы «запитываем» макетную плату и подключаем Gnd к синей рельсе, а +5V к красной;
Далее подключайте подсветку дисплея. Пин 15 подключаем к +5V, а контакт 16 к Gnd.
Можете подключать питание. Как следствие, загорится подсветка.
Отдельно следует отметить, что некоторые LCD-дисплеи изначально не предусматривают подсветку.

Далее мы приступаем к настройке контрастности. Для этого необходимо установить потенциометр, подключить его первую сторону к +5V, а вторую к Gnd. При этом средний контакт следует подключить к пину 3 на дисплее. Дальше у нас идет отдельная цепь – логика экрана. Делаем так – пин 1 к Gnd, пин 2 к +5V.

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

Завершающий этап подключения

Прежде чем приступить, следует пояснить предназначение используемых контактов. Так, например, контакт RW используется для отображения или считывания данных с нашего экрана. Контакт EN предназначается для оповещения дисплея – мол, данные готовы, можешь начинать считывать. Предназначение контакта RS заключается в сообщении контроллеру о типе операции – например, смена курсора или отображение данных. И, наконец, D0-D7 являются контактами, где будут храниться значения, которые впоследствии будут переданы на экран.

При этом не все вышеперечисленные контакты необходимо подключать. В качестве примера можно отметить контакт RW – его, в случае, если мы хотим только отобразить данные на дисплее, можно не использовать, а «притянуть» его к Gnd. Более того, для обмена данными с дисплеем можно использовать не восемь, а четыре контакта.

В общей сложности нам понадобятся шесть контактов – D7, D6, D5, D4, EN, RS. Чтобы начать работу с дисплеем, мы используем библиотеку LiquidCrystall, ведь именно она поможет облегчить настройку пинов.

Подключение и использование символьного дисплея

Необходимо «подтянуть» пин RW к земле, поскольку, как было указано выше, мы его не используем;
Подключаем пин 4, то есть, RS. При помощи провода подключаем его к контакту 7 на Arduino;
Далее подключаем пин 6 (контакт EN) к пину 8 на Arduino;
Так мы постепенно подошли к data. DB7 у нас является 14 пином на дисплее. Его мы подключаем к пину 12 на Arduino;
Оставшиеся контакты, а именно DB6, DB5 и DB4, подключаем к пинам на Arduino (к 11, 10 и 9);
Готово!

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

Открываем скетч:

File → Example → LiquidCrystall → HelloWorld 

Следующим нашим шагом будет обновление пинов и поиск нижеуказанной строчки:

LiquidCrystall(12, 11, 5, 4, 3, 2); 

Теперь мы меняем значения этой строчки на следующие:

LiquidCrystall(7, 8, 9, 10, 11, 12);

Все, компилируем и загружаем готовый скетч! 

И что мы видим? А наблюдаем мы примерно такую картину:

 

Заключение

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

Теги: #LCD1602, #LCD2004

Ваша оценка:

Рейтинг: 10.0 (Оценок: 1)

Комментарий:

Copyright © RobOM.ru 2016 г. Все права защищены