Arduino и символьный LCD-дисплей. Альтернативная библиотека для работы с i2c дисплеем
Читайте также
Здравствуй, дорогой читатель! Сегодняшняя тема – отображение своих символов и простых картинок на символьном дисплее. Данная статья будет полезна, если вы не можете найти нужный символ в стандартном каталоге, доступном на дисплее, либо хотите отобразить простую графику.
В первой части будет рассмотрено простое отображение собственных символов.
Сборка схемы
Про то, как подключить дисплей LCD1602/LCD2004 к Arduino было сказано уже много раз, в напоминание мы разместим небольшую схему. Если у вас нет потенциометра, то вы можете его исключить из схемы. В остальном – просто соедините требуемые контакты проводами.
Создание символов
Следующая задача, которая перед нами стоит – это создание собственного набора символов. Как вы могли заметить – символы на дисплее всё равно состоят из пикселей. И есть способ сделать так, чтобы можно было выводить свои наборы пикселей, вместо предустановленных.
Изображение, выводимое в каждой ячейке дисплея, кодируется как 7 (а в некоторых случаях 8) байтов. В каждом из байтов значение имеют только младшие 5 бит. Как вы уже смогли понять, каждый элемент массива – это строка, а каждый бит в нём – это отдельный пиксель.
А теперь порисуем! К счастью, есть сайт, где вы можете получить битовое представление требуемого изображения. (http://www.quinapalus.com/hd44780udg.html)
Просто щёлкая на изображение вы можете сформировать требуемый пиксель, к примеру:
Что позволит нам вывести вот такую жирненькую мордочку кошки:
Запомним эти данные и приступим к программированию.
Программирование
Дисплей 1602 позволят одновременно отображать не более 8 собственных символов (встроенных сколько-угодно).
Для того, чтобы создать символ, необходимо использовать команду createChar(num, data), где
- num – номер собственного символа (от 0 до 7 включительно)
- data – тот самый массив из 7(8) байтов.
Для того чтобы определить каждый символ достаточно записать.
Byte l = {0, 2, 5, 24, 24, 0, 0};Byte m = {0, 0, 0, 14, 14, 0, 0};
Byte r = {0, 8, 20, 3, 3, 0, 0};
А после инициализации дисплея следует написать:
lcd.createChar(0, l);
lcd.createChar(1, m);
lcd.createChar(2, r);
И, собственно, вывести символы командой:
lcd.write(byte(0));
lcd.write(byte(1));
lcd.write(byte(2));
Выражение byte(x) – преобразует число x к типу byte.
И в конце рассмотрим код для отображения символа Arduino на LCD1602 с размером символов (5x8).
// Подключаем библиотеку для работы с дисплеем
#include // Задаём пины, к которым подключен дисплей (по рисунку в начале статьи) LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Задаём наши символы. Здесь префикс «B» говорит о том, что далее записано // число в двоичном коде, т.е. B00011 = 5 byte a3= { B00011, byte a2= {B00000, byte a1={B11000, byte a4={ B00000, byte a5={ B00000, byte a6={ B00000, byte a7={ B00000, byte a8={B00100, // Процедура инициализации lcd.begin(16, 2); // Запуск дисплея. lcd.print("Arduino"); // Вывод обычной строки lcd.setCursor(1,1); // Перевод на вторую строку lcd.print("Logo"); // Вывод ещё одной самой обычной строки Символьный дисплей LCD2004 с голубой подсветкой
- жидкокристаллический дисплей (Liquid Crystal Display) экран которого способен отображать одновременно до 80 символов (20 столбцов, 04 строки). Подключение к осуществляется по синхронному 8-битному параллельному интерфейсу. Примеры работы с символьными дисплеями описаны в разделе . Подключение дисплея LCD2004 по параллельному интерфейсу немного сложнее чем через по шине I2C, а также требуется дополнительный элемент - для регулировки контрастности. Шина данных дисплея состоит из 8 линий (D0-D7), но если подключить только старшие 4 линии (D4-D7), как это показано на рисунке, это не снижает скорость работы дисплея. Для удобства мы подключили выводы D4-D7 дисплея к одноимённым выводам D4-D7 . Вы можете подключать выводы D0-D7, E и RS дисплея, к любым выводам , указав их в скетче при объявлении объекта библиотеки.
Напряжение питания логики дисплея 5 В постоянного тока подаётся на выводы VDD (VCC) и VSS (GND) дисплея. Напряжение питания подсветки 5 В постоянного тока подаётся на выводы A (Анод - Anode) и K (Катод - Cathode) дисплея. Потенциал для установки контрастности 0 ... +5 В постоянного тока подаётся на вывод V0 дисплея. Символьный дисплей построен на базе ЖК дисплея типа STN (Super Twisted Nematic) под управлением контроллера HD44780 и имеет синхронный параллельный 8-битный интерфейс. Дисплей оснащён светодиодной подсветкой синего цвета и способен одновременно отображать до 80 символов (20 столбцов, 04 строки) от чего и произошло название дисплея: LCD2004. Контроллер HD44780 имеет ПЗУ в которой хранятся цифры, символы латиницы и некоторые иероглифы японского языка, для их отображения на дисплее. Отсутствующие символы, в т.ч. и символы кириллицы, можно загружать в память ОЗУ контроллера, для вывода на дисплей надписей на Русском языке или нестандартных символов (например «смайликов»). В уроке поговорим о знакосинтезирующих жидкокристаллических индикаторах, о подключении их к плате Ардуино и управлении индикаторами с помощью библиотек LiquidCrystal и LiquidCrystalRus. Светодиодные семисегментные индикаторы хотя и являются самым дешевым вариантом индикации для электронных устройств, но их применение ограничено двумя существенными недостатками. Для вывода текстовой информации или чисел размером более 4 разряда гораздо практичнее использовать жидкокристаллические знакосинтезирующие индикаторы (дисплеи). К их достоинствам следует отнести: На рынке существует большое число разнообразных жидкокристаллических (LCD) индикаторов разных производителей. Практически все они аналогичны по параметрам, сигналам интерфейсов, командам управления. В данный момент наиболее распространенными ЖК индикаторами на российском рынке являются устройства производства компании Winstar, Тайвань. Я буду ссылаться на индикаторы этой фирмы. Но информация вполне применима и для символьных LCD дисплеев других производителей. Общие сведения.
Знакосинтезирующие или символьные индикаторы отображают информацию в виде знакомест определенной разрядности. Одно знакоместо отображает один символ. Количество знакомест определяет разрядность индикатора. Информация на индикаторах может выводиться на нескольких строках, поэтому для индикаторов такого типа всегда указывается число символов в строке и число строк. Отображение информации происходит на жидкокристаллической матрице со светодиодной подсветкой. Подсветка бывает самых разных цветов, что значительно оживляет монохромную текстовую информацию. Для управления жидкокристаллической матрицей и организации интерфейса индикатора используется встроенный контроллер HD44780 или его полные аналоги. Этот контроллер определяет сигналы интерфейса индикатора и команды управления. HD44780 стал де-факто стандартом для символьных жидкокристаллических (LCD) дисплеев. Техническую документацию по контроллеру HD44780 в формате PDF можно посмотреть по этой ссылке - . Может кому-то больше понравится документация одного из аналогов этого контроллера – SPLC780D. Ссылка в формате PDF – . Символьные LCD индикаторы фирмы Winstar.
Мне известны следующие варианты ЖК индикаторов этой фирмы. Подключение LCD индикатора к микроконтроллеру.
Схемы подключения, временные диаграммы, параметры сигналов, команды управления, коды символов подробно расписаны в документации на контроллер HD44780. Я приведу только самые необходимые данные о подключении индикаторов к микроконтроллерам. Как правило, LCD индикаторы имеют 16 выводов. 0 – запись; 1 – чтение. Во многих приложениях функция чтения не используется, поэтому сигнал часто подключается к земле. Номер вывода (первый столбец) приведен для наиболее распространенного варианта. Лучше проверьте, загрузив документацию на Ваш тип индикатора из таблицы предыдущего раздела. Символьные ЖК дисплеи поддерживают два варианта подключения к микроконтроллеру: Первый вариант обеспечивает передачу данных на дисплей с большей скоростью. Второй – требует для подключения индикатора на 4 вывода меньше. Несомненно, важнее сократить число выводов для подключения, чем увеличить скорость обмена. Тем более, что LCD индикаторы довольно медленные устройства со временем цикла регенерации 10-20 мс. Подключение символьного ЖК (LCD) дисплея к плате Ардуино.
Я буду подключать индикатор WH2004A (4 строки по 20 символов) в четырех битном режиме обмена к плате Arduino UNO R3. Документацию на LCD дисплей WH2004 можете посмотреть по этой ссылке . Схема выглядит так. Резисторы R2 и R3 определяют контрастность индикатора. Можете подключить подстроечный резистор и установить необходимую четкость изображения. Я часто использую индикаторы WH2004, и в своих схемах выбираю такие номиналы резисторов. Светодиоды подсветки индикатора я подключил к источнику питания 5 В через резистор R1 (30 Ом). Этим я задал ток порядка 25 мА. Тускло, но светится. В темноте видно хорошо. Хотя индикаторы WH2004 допускают ток подсветки до 580 мА. Библиотека для управления LCD индикаторами в системе Ардуино LiquidCrystal.
Существует стандартная библиотека для управления ЖК индикаторами на базе контроллера HD44780. Подробно опишу ее методы. LiquidCristal(…)
Конструктор класса. Может иметь разное число аргументов. Аргументы: LiquidCrystal disp(6, 7, 2, 3, 4, 5);
void begin(cols, rows)
Инициализирует интерфейс индикатора. Задает размерность индикатора. Метод должен быть вызван первым, до использования других функций класса. Аргументы: disp.begin(20, 4); // используем дисплей – 4 строки по 20 символов
void clear()
Очистка экрана, установка курсора в верхний левый угол. disp.clear(); // сброс дисплея
void home()
Установка курсора в верхний левый угол. disp.home(); // в начало экрана
void setCursor(col, row)
Устанавливает курсор в заданную позицию. setCursor(0,1); // курсор в начало второй строки
byte write(data)
Выводит символ на экран. Возвращает количество переданных байтов. Следующий скетч выводит на экран данные с последовательного порта. Данные можно передать монитором порта Arduino IDE. // вывод данных последовательного порта на LCD индикатор
У меня индикатор большой – 4 строки по 20 символов. В нем установлены два контроллера HD44780. Поэтому последовательно передаваемые символы заполняют сначала первую строку, затем третью, дальше вторую и четвертую. Т.е. через строку. Надо учитывать это свойство для определенных типов индикаторов. В документации на каждый LCD индикатор указывается последовательность адресации символов. byte print(data)
Выводит на экран текст. Возвращает количество переданных байтов. Функция имеет различные формы вызова для разных форматов и типов данных. char d= 83;
int d= 83;
float d= 7.65432;
char letters= {65, 66, 67};
int d= 83;
int d= 83;
int d= 83;
int d= 83;
disp.print(7.65432, 0); // выводит строку “7”
Пример программы, печатающей на дисплее текстовую строку. // вывод текстовой строки на LCD индикатор
void cursor()
Включает режим отображения курсора. Позиция, куда будет выведен следующий символ, подчеркивается. disp.cursor(); // разрешаем отображение курсора
void noCursor()
Запрещает отображение курсора. disp.noCursor(); // запрещаем отображение курсора
void blink()
Включает режим мигающего курсора. Используется совместно с функцией cursor(). Результат зависит от конкретной модели индикатора. disp.blink(); // разрешаем мигающий курсор
void noBlink()
Отключает режим мигающего курсора. disp.noBlink(); // запрещаем мигающий курсор
void display()
Включает экран после того, как он был выключен функцией noDisplay(). На экране отобразится информация, которая была до выключения. disp.display(); // включаем дисплей
void noDisplay()
Выключает экран. Информация сохраняется в памяти и появляется при включении дисплея. disp.noDisplay(); // выключаем дисплей
void scrollDisplayLeft()
Прокручивает содержимое дисплея на один символ влево. disp. scrollDisplayLeft(); // сдвигаем все влево
void scrollDisplayRight()
Прокручивает содержимое дисплея на один символ вправо. disp. scrollDisplayRight(); // сдвигаем все вправо
void autoscroll()
Включение режима автоматической прокрутки текста. При выводе каждого символа, весь текст на экране будет сдвигаться на один символ. В какую сторону сдвигается информация определяют функции leftToRight() и rightToLeft(). disp. autoscroll()(); // включаем автопрокрутку
void noAutoscroll()
Выключение автоматической прокрутки текста. disp. noAutoscroll()(); // запрещаем автопрокрутку
void leftToRight()
Задает режим вывода теста слева-направо. Новые символы будут появляться справа от предыдущих. leftToRight(); // режим слева-направо
void rightToLeft()
Задает режим вывода теста справа-налево. Новые символы будут появляться слева от предыдущих. rightToLeft(); // режим справа-налево
void createChar(num, data)
Метод для создания пользовательского символа. Контроллер допускает создание до 8 символов (0…7) размером 5x8 пикселей. Изображение символа задается массивом размерностью 8 байт. 5 младших битов каждого байта определяют состояние пикселей строки. Для вывода пользовательского символа можно использовать функцию write() с номером символа. // создание пользовательского символа
byte smile = {
Вот пример программы, выводящей на экран русский алфавит. // вывод русского алфавита
Взаимодействие символьного Ардуино дисплея добавляет приятный элемент читаемости в проект. Многие из лучших проектов по всему миру демонстрируют спортивные дисплеи. Эти ЖК-дисплеи используются для отображения информации от микроконтроллера или любого подключенного к нему датчика. Например, можно создать систему , которая отображает данный показатель на Arduino. Можно сконструировать собственный спидометр, который отображает скорость на экране. В этом учебном пособии по Ардуино LCD вы найдете интерфейс с символами Arduino LCD i2c. Вы можете использовать информацию из этого текста для создания собственных проектов на основе ЖК-монитора. Display для Аrduino – это одно из самых простых устройств, которое можно использовать для отображения результатов проектов. Однако есть два различных типа данного устройства: графические и символьные. В этой статье используется персональный экран, так как он легче всего работает. Кроме того, в зависимости от размера экрана, существуют разные типы: Они также доступны в разных цветах: Тем не менее, зеленые и синие экраны являются наиболее распространенными. Другие цвета встречаются редко. В этом уроке используется Аrduino display с синим символом 20x4. Микропроцессор взаимодействует с экраном через четыре линии передачи данных. Мы задействуем цифровые контакты на микроконтроллере, чтобы взаимодействовать с дисплеем и отображать на нем то, что мы хотим. Подсветка на ЖК-дисплее активируется, когда дается питание 5 В от микроконтроллера до 15 на мониторе и заземляющим штырем 16. Кроме того, для регулировки контрастности сенсорного дисплея для Ардуино нужен потенциометр 10K. Для создания дисплея для Ардуино понадобится следующее оборудование: ЖК-мониторы, совместимые с Hitachi; ими можно управлять в двух режимах: 4-битном или 8-битном. Для 4-битного режима требуется семь выводов ввода/вывода от Arduino LCD, а для 8-разрядного режима требуется 11 контактов. Для отображения текста на экране вы можете делать все в 4-битном режиме, поэтому пример показывает, как управлять 2x16 ЖК-дисплеем в 4-битном режиме. Теперь мы можем попробовать отобразить что-то на дисплее через Arduino ssd1306. Прежде чем вы это сделаете, вам необходимо загрузить библиотеку Arduino по ссылке - . Затем нужно извлечь папку «LiquidCrystal» из файла загрузки. А после скопируйте и вставьте папку «LiquidCrystal» в каталог микропроцессора, пример конечной директории результатов должен выглядеть так: arduino-1.0.5librariesLiquidCrystal. Затем откройте свою среду разработки и перейдите к: Файл → Примеры → LiquidCrystal → HelloWorld
Загрузите код в микроконтроллер. Пользователь увидит следующую информацию: Обратите внимание, если вы используете экран 16x2, отредактируйте lcd.begin (20,4) на lcd.begin (16,2). Первый шаг – припаять 16-контактные штыревые разъемы на Аrduino display. Затем вы можете использовать либо 16-контактный разъем для подключения к Ардуино, либо просто использовать разъем «женщина-женщина». Если вы впервые подключаетесь к микроконтроллеру, проще всего использовать макет. Первое, что вам нужно сделать, прежде чем работать с жидкокристаллическим дисплеем, – проверить его. Для этого выполните соединения, как показано на диаграмме выше. Эти контакты используются для питания подсветки ЖК-дисплея. Затем вам нужно настроить логические операции для устройства. Возьмите потенциометр 10K и подключите первую клемму к выходу 5V Arduino, а второй – к контакту 3 и третьему терминалу к выходу GND. Затем включите микропроцессор. Вы заметите, что подсветка на ЖК-дисплее включена. Кроме того, когда вы поворачиваете ручку на потенциометре, блоки символов на ЖК-дисплее становятся яркими/тусклыми. Посмотрите картинку ниже, чтобы узнать, о чем я говорю. Если монитор отображает то, что показано на фотографии ниже, это означает, что ваш экран настроен правильно! Если вы не смогли этого достичь, проверьте свои соединения и потенциометр. Теперь нам нужно подключить линии передачи данных и другие контакты, которые работают с экраном. Ознакомьтесь с приведенной ниже схемой подключения. Начнем с подключения контрольных проводов для ЖК-дисплея. Подключите контакт 5 (RW) монитора к контакту GND от Arduino. Этот контакт не используется и служит для чтения/записи. Затем подключите контакт 4 (RS) экрана к цифровому выходу 7 Arduino. Штырек RS используется для указания на ЖК-дисплее, отправляем ли мы данные или команды (чтобы изменить положение курсора). Затем подключите контакт 6 (EN) ЖК-дисплея к цифровому выходу Arduino 8. EN – это контактное гнездо на устройстве, оно используется, чтобы сообщить монитору, что данные готовы для чтения. Затем мы должны подключить четыре вывода данных на устройстве. Подсоедините контакт 14 (DB7) экрана к цифровому выступу 12 Arduino. Затем подключите контакт 13 (DB6) монитора к цифровому выходу 11 Arduino. Затем вывод 12 на мониторе (DB5) на цифровой вывод 10, затем Вывод LCD № 11 (DB4) на цифровой вывод 9. Вот и все, вы закончили подключать ЖК-дисплей к Arduino. Вы заметите, что между управляющими выводами и выводами данных на ЖК-дисплее есть четыре несвязанных контакта, как показано ниже. Попробуйте переделать код для сенсорного устройства. В принципе, для управления текстом на ЖК-дисплее есть три основные функции: Вот и все, теперь можно добавить полученное устройство к проектам.Характеристики
Подключение
№:
Дисплей:
Arduino:
Назначение:
16
K
(LED-)
GND
Катод (минус) LED (светодиодной) подсветки.
15
A
(LED+)
5V
Анод (плюс) LED (светодиодной) подсветки.
14...7
D7
...D0
(DB7...DB0)
Любые
Шина данных (Data Bus) состоящая из 8 линий. В приведённой схеме используются только старшие 4 линии, т.к. это не влияет на скорость работы дисплея.
6
E
Любой
Сигнал разрешения (Enable).
5
RW
GND
Выбор направления (Read / Write) передачи данных: «1» - чтение из дисплея / «0» - запись в дисплей. Вывод подключен к GND, т.к. данные только записываются в дисплей.
4
RS
Любой
Выбор регистра (Register Selection) получателя информации: «1» - регистр данных / «0» - регистр инструкций.
3
V0
(VEE)
Установка контрастности дисплея: 0 ... +5 В постоянного тока.
2
VDD
(VCC)
5V
Питание логики дисплея: +5 В постоянного тока.
1
VSS
(GND)
GND
Общий вывод питания (земля).
Питание
Подробнее о дисплее
Тип индикатора
Формат отображения, символов x строк
Габариты, мм
Размеры видимой области, мм
Ссылка на документацию, формат PDF
WH0802A1
8 x 2
58 x 32
38 x 16
WH1202A
12 x 2
55,7 x 32
46 x 14,5
WH1601A
16 x 1
80 x 36
66 x 16
WH1601B
16 x 1
85 x 28
66 x 16
WH1601L
16 x 1
122 x 33
99 x 13
WH1602A
16 x 2
84 x 44
66 x 16
WH1602B
16 x 2
80 x 36
66 x 16
WH1602C
16 x 2
80 x 36
66 x 16
WH1602D
16 x 2
85 x 30
66 x 16
WH1602J
16 x 2
80 x 36
66 x 16
WH1602L1
16 x 2
122 x 44
99 x 24
WH1602M
16 x 2
85 x 32,6
66 x 16
WH1602O
16 x 2
85 x 25,2
66 x 16
WH1602P
16 x 2
85 x 25,2
66 x 16
WH1602S
16 x 2
59 x 29,3
52 x 15
WH1602T
16 x 2
65,4 x 28,2
54,8 x 19
WH1602W
16 x 2
80 x 36
66 x 16
WH1602V2
16 x 2
66,7 x 23,3
61 x 15,9
WH1604A
16 x 4
87 x 60
62 x 26
WH1604B
16 x 4
70,6 x 60
60 x 32,6
WH2002A
20 x 2
116 x 37
85 x 18,6
WH2002D
20 x 2
89 x 21,5
75 x 15
WH2002L
20 x 2
180 x 40
149 x 23
WH2002M
20 x 2
146 x 43
123 x 23
WH2004A
20 x 4
98 x 60
77 x 25,2
WH2004B
20 x 4
98 x 60
77 x 25,2
WH2004D
20 x 4
77 x 47
60 x 22
WH2004G
20 x 4
87 x 58
74,4 x 24,8
WH2004H
20 x 4
87 x 58
74,4 x 24,8
WH2004L
20 x 4
146 x 62,5
123,5 x 43
WH2402A
24 x 2
118 x 36
94,5 x 16
WH4002A
40 x 2
182 x 33,5
154,4 x 16,5
WH4004A
40 x 4
190 x 54
147 x 29,5
Номер вывода
Сигнал
I - вход O - выход
Назначение сигнала
1
Vss
-
Земля (общий провод)
2
Vdd
-
Питание + 5 В
3
Vo
-
Управление контрастностью дисплея. Вход для подключения среднего вывода делителя напряжения + 5 В. Можно использовать подстроечный резистор сопротивлением 10-20 кОм.
4
RS
I
Выбор регистра: 0 – регистр команд; 1 – регистр данных. Низкий уровень сигнала означает, что на шине данных сформирована команда, высокий уровень – на шине данные.
5
R/W
I
Направление передачи данных:
6
E
I
Строб операции шины (по отрицательному фронту).
7
DB0
I/O
Младшие биты восьми битного режима. При четырех битном интерфейсе не используются.
8
DB1
I/O
9
DB2
I/O
10
DB3
I/O
11
DB4
I/O
Старшие биты восьми битного режима или биты данных четырех битного интерфейса.
12
DB5
I/O
13
DB6
I/O
14
DB7
I/O
15
A
-
Анод питания подсветки (+).
16
K
-
Катод питания подсветки (-). Ток должен быть ограничен.
#include
char data;
void setup()
{
Serial.begin(9600); // инициализируем последовательны порт
disp.begin(20, 4); //
}
void loop()
{
if (Serial.available()) { // если есть данные
data= Serial.read(); // читаем символ
if((data != 0xd) && (data != 0xa)) { // перевод строки
disp.write(data); // выводим символ на экран
}
}
}
print(char d)
Если аргумент типа char выводит код символа
disp.print(d); // выводит символ S
disp.print(‘S’); // выводит символ S
print(int d)
Если аргумент – целый тип, то выводит строку с десятичным представлением числа
disp.print(d); // выводит строку “83”
disp.print(83); // выводит строку “83”
print(float)
Вещественные типы выводятся символами ASCII, два знака после запятой
disp.print(d); // выводит строку “7.65”
disp.print(7.65432); // выводит строку
“7.65”
print(* str)
Если аргумент указатель на строку, то выводится текстовая строка.
disp.print(“Letters”); // выводит строку “Letters”
disp.print(letters); // выводит строку из 3 символов с кодами 65, 66, 67
print(int d, DEC)
Выводит строку ASCII - десятичное представление числа
disp.print(d, DEC); // вывод строку “83”
print(int d, HEX)
Выводит строку ASCII – шестнадцатиричное представление числа
disp.print(d, HEX); // вывод строку “53”
print(int d, OCT)
Выводит строку ASCII – восьмеричное представление числа
disp.print(d, OCT); // вывод строку “123”
print(int d, BIN)
Выводит строку ASCII – двоичное представление числа
disp.print(d, BIN); // вывод строку “01010011”
print(float d, N)
Для вещественных чисел параметр N задает количество цифр после запятой.
disp.print(7.65432, 2); // выводит строку “7.65”
disp.print(7.65432, 4); // выводит строку “7.6543”
#include
LiquidCrystal disp(6, 7, 2, 3, 4, 5); // создаем объект
void setup()
{
disp.begin(20, 4); // инициализируем дисплей 4 строки по 20 символов
disp.print("Test string");
}
void loop()
{ }
#include
LiquidCrystal disp(6, 7, 2, 3, 4, 5); // создаем объект
B00000000,
B00010001,
B00000000,
B00000000,
B00010001,
B00001110,
B00000000,
B00000000
};
void setup()
{
disp.createChar(0, smile); // создаем символ
disp.begin(20, 4); // инициализируем дисплей 4 строки по 20 символов
disp.print("Smile ");
disp.write(byte(0)); // выводим символ
}
void loop()
{ }
#include
LiquidCrystalRus disp(6, 7, 2, 3, 4, 5); // создаем объект
void setup()
{
disp.begin(20, 4); // инициализируем дисплей 4 строки по 20 символов
disp.print("абвгдеёжзийклмнопрст");
disp.print("АБВГДЕЁЖЗИЙКЛМНОПРСТ");
disp.print("уфхцчшщьыьэюя ");
disp.print("УФХЦЧШЩЫЬЭЮЯ ");
}
void loop()
{ }
Необходимые компоненты
Программирование
Процесс сборки
Запуск и тестирование