В этой главе мы рассмотрим только самые необходимые инструменты, чтобы понять, как взаимодействовать с дисплеем. Полное описание библиотечных функций и примеры, иллюстрирующие их использование, можно найти на сайте Arduino:
http://arduino.cc/en/Reference/LiquidCrystal.
10.3. Вывод текста на дисплей
В нашем первом примере выведем на экран индикатора текст и число, меняющееся со временем. Это упражнение проиллюстрирует, как инициализировать дисплей, отображать текст и перемещать курсор.
Сначала необходимо подключить библиотеку LiquidCrystal:
#include
Затем нужно инициализировать объект 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
// Начальное значение 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 каждый раз переписывается вторая строка. Экран обновляется раз в секунду и одновременно увеличивается счетчик времени.
10.4. Создание специальных символов и анимации
Что делать, если вы хотите отобразить информацию, которую нельзя выразить с помощью обычных символов? Например, требуется вывести греческую букву, знак градуса или индикатор загрузки. К счастью, библиотека LiquidCrystal поддерживает создание пользовательских символов, которые могут быть отображены на дисплее. В следующем примере мы воспользуемся этой возможностью, чтобы реализовать движущийся значок, перемещающийся по экрану. А после этого создадим знак градуса для отображения измеряемой температуры.
Создавать пользовательские символы просто. Если внимательно посмотреть на ЖК-дисплей, то видно, что каждое знакоместо состоит из матрицы 5х8 пикселов.
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии