AVR и Arduino

Библиотека LiquidCrystal для Arduino

  • Печать

liquidcrystallБиблиотека LiquidCrystalсодержит необходимые функции управления жидкокристаллическим дисплеем, созданным на базе контроллеров, совместимых с Hitachi 44780. В число этих дисплеев входит большое количество популярных алфавитно-цифровых устройств, для которых в библиотеке содержатся высокоуровневые функции инициализации, управления и вывода информации на экран. LiquidCrystal поддерживает работу как в 8-ми, так и в 4-х проводном режиме обмена данными.

Подключение библиотеки и дисплея

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

Для 4-х проводного режима объявление библиотеки выглядит следующим образом:

LiquidCrystal lcd(RS, E, D4,D5,D6,D7);

Здесь lcd – имя, по которому производится вызов функций управления дисплеем. Параметрами являются номера выводов Arduino, к которым подключены соответствующие линии ЖК-индикатора:

  • RS– выбор регистра адрес/данные
  • E– разрешение чтения с шины
  • D4-D7 – 4 линии шины данных индикатора
Схема подключения ЖК-дисплея к Arduino
Схема подключения ЖК-дисплея к Arduino

После объявления имени используемого дисплея проводится инициализация дисплея. 

lcd.begin(Ch,S, СhSz);

Данная функция выполняет инициализацию дисплея, а также задает количество строк S и символов в строке Ch. Также можно задать размер шрифта ChSz. По умолчанию последний равен 5x8.

 

Функции библиотеки LiquidCrystal

  • Вывод на дисплей

lcd.print();

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

 

  • Установка положения курсора

lcd.setCursor(Pos,Str);

Устанавливает курсор ЖК-дисплея в позицию Pos, строки Strдисплея.

 

  • Установка нулевого положения курсора

lcd.home();

Устанавливает курсор дисплея в нулевую позицию, строки 0 дисплея.

 

  • Очистка дисплея

lcd.clear();

Стирает всю информацию с экрана

 

  • Включение/выключение дисплея

lcd. Display();

lcd. noDisplay();

 

  • Включение/выключение курсора

lcd. Cursor();

lcd. noCursor();

 

  • Включение/выключение мигания курсора

lcd. blink();

lcd. noblink(); 

 

  • Сдвиг информации на дисплее

Влево lcd. scrollDisplayLeft();

Вправо lcd. scrollDisplayRight();

 

  • Установка направления вывода текстовой строки

Слева направо lcd.leftToRight();

Справа налево lcd. rightToLeft();

 

  • Создание произвольного символа

Lcd. createChar(Adr, CH[]);

Команда записывает в память дисплея произвольный символ. Запись выполняется по одному из первых 8 адресов (от 0 до 7) в памяти знакогенератора. Символ CH[] должен представлять собой массив из 8 байт. Для задания пикселей, в каждом байте используется только 8 младших бит.


Пример использования библиотеки

// Подключение библиотеки
#include <LiquidCrystal.h>

LiquidCrystal lcd( 6, 8, 12, 11, 10, 9); // Объявление дисплея

void setup() {
lcd.begin(16, 2); // Инициализация ЖК-дисплея
lcd.print("hello, world!"); // Вывод на дисплей
lcd.rightToLeft();  // Установка обратного порядка вывода
lcd.setCursor(12, 1);   // Установка начала вывода (строка 2 поз.12)
lcd.print("hello, world!"); // Вывод на дисплей
}

// Бесконечный цикл

void loop() {
}

 Результат работы программы

Результат работы LiquidCrystall

Еще по теме:

Дисплейный шилд для Arduino

Amicus18 и символьный ЖК-дисплей