● Проект 15: Индикатор LCD1602. Принцип подключения, вывод информации на него

Опубликовано: 23.04.2018
В этом эксперименте мы познакомимся с жидкокристаллическими индикаторами Winstar для вывода символьной информации. Научимся в Arduino-проектах применять библиотеки и создадим проект вывода показаний датчика температуры LM335 на экран дисплея.

Необходимые компоненты:

контроллер Arduino UNO R3;
плата для прототипирования;
LCD-экран WH1602;
резистор 2,2 кОм;
резистор 50 Ом;
• потенциометр 1 кОм;
• датчик температуры LM335;
провода папа-папа.
внешний блок питания +5 В.

Жидкокристаллические индикаторы (ЖКИ, англ. LCD) являются удобным и недорогим средством для отображения данных ваших проектов. Символьный индикатор WH1602 позволяет выводить на экран 2 строки по 16 символов (размером 5×7 или 5×10 и дополнительная строка под курсор). Управляет работой дисплея контроллер.
На рис. 15.1 показан ЖКИ Winstar с контроллером HD44780.

Рис. 15.1. ЖКИ WH1602 на контроллере HD44780

Назначение выводов контроллера:

• DB0–DB7 – отвечают за входящие/исходящие данные;
• RS – высокий уровень означает, что сигнал на выходах DB0–DB7 является данными, низкий – командой;
• R/W – определяет направление данных (чтение/запись). Так как операция чтения данных из индикатора обычно бывает невостребованной, то можно установить постоянно на этом входе низкий уровень;
• E – импульс длительностью не менее 500 мс на этом выводе определяет сигнал для чтения/записи данных с выводов DB0–DB7, RS и W/R;
• V0 – используется для задания контраста изображения;
• A, K – питание подсветки (анод и катод), если она имеется;
• VSS – земля;
• VDD – питание ЖК-индикатора.

Для управления ЖК-индикатором необходимо 6 или 10 выводов Arduino, в зависимости от того, выбран 4- или 8-битный режим обмена данными. Для сокращения требуемого числа выводов микроконтроллера можно работать в 4-битном режиме. В этом случае на выводах DB4–DB7 индикатора сначала будут передаваться старшие четыре бита данных/команды, затем – младшие четыре бита. Выводы DB0–DB3 останутся незадействованными.

В нашем эксперименте мы будем считывать данные с датчика температуры LM335, который мы рассмотрели в эксперименте 13, и выводить на экран ЖКИ значение температуры в Кельвинах и градусах Цельсия. Схема подключения датчика температуры и ЖКИ в 4-битном режиме к плате Arduino показана на рис. 15.2. Заметьте, что для питания ЖКИ нужен отдельный блок питания +5 В.

Приступим к написанию скетча. Функционал Arduino может быть расширен за счет использования библиотек. Библиотеки Arduino предоставляют дополнительную функциональность для использования в скетчах и сильно упрощают процесс написания программ. Ряд основных библиотек устанавливается вместе со средой Arduino IDE, а дополнительные, которых очень много, вы можете установить сами. При работе Arduino с ЖКИ-дисплеями на контроллере HD44780 будем использовать библиотеку LiquidCrystal. Для подключения библиотеки в начале скетча вставляем строку

#include

Arduino проект www.arduino-kit.ru
Рис. 15.2. Схема подключения датчика температуры и ЖКИ к Arduino
 
Затем создаем переменную типа LiquidCrystal
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
где 12, 11, 7, 6, 5, 4 – номера контактов RS, E, D4, D5, D6, D7.
В setup() запускаем функцию lcd.begin(), определяющую размерность индикатора, для установки курсора в определенную позицию – lcd.setCursor(), для вывода информации на экран дисплея – cd.print().
Содержимое данного скетча показано в листинге 15.1.

// Подключение библиотеки
#include <LiquidCrystal.h>
// инициализация с указанием контактов подключения
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
const int LM335=A0; // для подключения LM335
void setup() {
// установить размерность дисплея
lcd.begin(16, 2);
}
void loop()
{
double val = analogRead(LM335); // чтение
double voltage = val*5.0/1024; // перевод в вольты
// вывод значения в Кельвинах
lcd.setCursor(2,0);
lcd.print("Tk="); lcd.print(voltage*100); lcd.print("K");
double temp = voltage*100 - 273.15; // в градусы Цельсия
// вывод значения в градусах Цельсия
lcd.setCursor(2,1);
lcd.print("Tc="); lcd.print(temp); lcd.print("");
delay(1000); // пауза перед следующим измерением
}


Порядок подключения:

1. Подключаем датчик LM335 и ЖКИ по схеме на рис. 15.2.
2. Загружаем в плату Arduino скетч из листинга 15.1.
3. Смотрим на экране дисплея показания датчика температуры в Кельвинах и градусах Цельсия (рис. 15.2).

Листинги программ скачать

Главное меню

Каталог

Полезные ссылки

Цена
от
до