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 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОК