10.3. Вывод текста на дисплей

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

Сначала необходимо подключить библиотеку LiquidCrystal:

#include <LiquidCrystal.h>

Затем нужно инициализировать объект LiquidCrystal:

LiquidCrystal lcd (2,3,4,5,6,7);

Аргументы для инициализации объекта представляют собой контакты Arduino, подключенные к выводам ЖК-дисплея в следующем порядке: RS, EN, D4, DS, D6, D7. Чтобы настроить конфигурацию ЖК-индикатора, в функции setup() необходимо вызвать библиотечную функцию begin(), ее аргументы - число столбцов и строк вашего ЖК-дисплея:

lcd.begin (16, 2);

- 207 -

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

lcd.setCursor (0,1);

lcd.print ("Jeremy Blum");

Позиции на экране нумеруются, начиная с (0,0), что соответствует левому верхнему углу. Первый аргумент функции setcursor() определяет номер столбца, а второй номер строки. По умолчанию курсор находится в позиции (0,0). При вызове функции print() без указания расположения курсора текст выводится, начиная с позиции в верхнем левом углу.

ВНИМАНИЕ!

Функция print() не проверяет длину строк и попытка напечатать последовательность символов, превышающую число знаков в строке, приведет к непредсказуемым последствиям. Всегда проверяйте, чтобы выводимый текст помещался на экране индикатора.

Теперь можно написать простую программу, которая отображает текст в первой строке и во втором столбце, а также выводит значение счетчика, которое увеличивается на единицу каждую секунду. В листинге 10. 1 приведен текст данной программы. Загрузите ее на плату Arduino и убедитесь, что все работает правильно.

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

Листинг 10.1. Вывод текста и значений счетчика на экран ЖК-дисплея - LCD_text.ino

// Текст и значение инкрементируемого счетчика на экране

// Подключение библиотеки:

#include <LiquidCrystal.h>

// Начальное значение time = O

int time = 0;

// Инициализация экземпляра библиотеки LiquidCrystal

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void setup()

{

// Настройка экземпляра дисплея - число столбцов и строк:

lcd.begin(16, 2);

// Вывод текстового сообщения на экран дисплея

lcd.print("Jeremy's Display");

}

void loop()

{

// Установить курсор на вторую строку в первую позицию

lcd.setCursor(0,1);

- 208 -

// Вывод значения счетчика

lcd.print(time);

// Пауза 1 секунда

delay(1000);

// Увеличение значения счетчика

time++;

}

Программа должна быть вам понятна. В начале подключается библиотека LiquidCrystal. Переменной времени time присваивается нулевое начальное значение и затем оно увеличивается в цикле раз в секунду. Объект LiquidCrystal назван lcd и ему присвоены значения контактов, соответствующие схеме соединения.

Команда lcd.begin (16, 2) задает размер дисплея: 16 столбцов и 2 строки. Поскольку первая строка не меняется, ее можно инициализировать в функции setup() командой lcd.print(). Обратите внимание, что команда выполняется без предварительной установки курсора, потому что по умолчанию текст выводится, начиная с позиции (0,0). В цикле курсор всегда возвращается в позицию (0, 1 ), поэтому при выводе значения переменной time каждый раз переписывается вторая строка. Экран обновляется раз в секунду и одновременно увеличивается счетчик времени.

Более 800 000 книг и аудиокниг! 📚

Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением

ПОЛУЧИТЬ ПОДАРОК