Создание пользовательских символов
Часть раздела Дисплеи и датчики путешествия по Arduino на Coddy. Урок 10 из 24.
Каждый символ на LCD представляет собой сетку из 5 на 8 точек. Вы можете создать до восьми собственных символов с номерами от 0 до 7. Опишите один из них с помощью 8 строк, каждая из которых представляет собой 5-битный шаблон, где 1 означает горящую точку:
byte heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000,
0b00000
};lcd.createChar(0, heart) сохраняет его как символ 0. lcd.write(byte(0)) выводит его в месте расположения курсора. print(0) вместо этого вывел бы цифру 0.
Есть одна ловушка: чтобы сохранить символ, библиотека направляет экран на свою память символов, и он остается направленным туда. Все, что будет выведено дальше, попадет в эту память, а не на экран. Поэтому после createChar() вызовите lcd.setCursor() (или lcd.clear()), прежде чем что-либо выводить.
lcd.createChar(0, heart);
lcd.setCursor(0, 0); // вернуться к экрану
lcd.write(byte(0));Задание
СреднеВ стартовом коде есть рисунок улыбающегося лица. Поздоровайся с его помощью:
- сохрани его как символ 0 с помощью
lcd.createChar() - перемести курсор в верхний левый угол
- выведи
Hi(с пробелом), затем нарисуй улыбающееся лицо
Нажми Run, затем Check.
Попробуйте сами
#include <LiquidCrystal.h>
// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte smiley[8] = {
0b00000,
0b01010,
0b01010,
0b00000,
0b10001,
0b01110,
0b00000,
0b00000
};
void setup() {
lcd.begin(16, 2);
// сохраните смайлик как символ 0, затем выведите "Hi " и смайлик
}
void loop() {
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Дисплеи и датчики
2Символьный LCD-дисплей
Приветствие на LCDРазмещение текста с помощью setCursorТекущие числа на LCDОчистка оставшихся цифрСоздание пользовательских символовБегущая строкаПотренируйтесь самостоятельно: Песочница Arduino