Символ состоит из 40 пикселей (5*8) 5 столбцов по вертикали (сверху вниз) из 8 -ми пикселей и 8 рядов по горизонтали (слева на право) из 5 -ти пикселей получается такая табличка:
Чтобы нарисовать символ на этой табличке нужно закрасить пиксели. Для того чтобы закрасить пиксел черным цветом на его место подставляется единица, а чтобы оставить символ пустым на его место подставляется нуль. Ну и соответственно чтобы нарисовать белый символ нужно пикселы символа оставить пустыми то есть заполнить нулями, а все пиксели вокруг нужно заполнить единицами.
0 - оставляет символ пустым
1 - закрашивает пиксел черным цветом
Давайте нарисуем символ и стрелочку и посмотрим как она будет выглядеть:
Черная стрелочка:
Белая стрелочка:
Итак теперь начнем писать код:
#include // библиотека для управления устройствами по I2C
#include // подключаем библиотеку для LCD 1602
LiquidCrystal_I2C lcd(0x3F,16,2); // присваиваем имя lcd для дисплея 16х2
// рисуем символ черная стрелочка
byte Strelka1[8] = { 0b01000,
0b01100,
0b01110,
0b01111,
0b01111,
0b01110,
0b01100,
0b01000 }
// рисуем символ белая стрелочка на черном соне
byte Strelka2[8] = { 0b10111,
0b10011,
0b10001,
0b10000,
0b10000,
0b10001,
0b10011,
0b10111 }
void setup() // процедура setup
{
lcd.init(); // инициализация LCD дисплея
lcd.backlight(); // включение подсветки дисплея
// создаем и присваиваем символам порядковый номер
lcd.createChar(1, Strelka1); // Strelka1 и Strelka2 это имена выше нарисованных символов
lcd.createChar(2, Strelka2);
}
void loop() // процедура loop
{
lcd.setCursor(0,0); // устанавливаем курсор на начало первой строки
lcd.print(char(1)); // вывод черной стрелочки
lcd.setCursor(5,0); // устанавливаем курсор на 5-тый символ первой строки
lcd.print(char(2)); // вывод белой стрелочки
lcd.setCursor(0,1); // устанавливаем курсор на начало второй строки
lcd.print("DELPHI-LUBITEL"); // выводим название этого сайта =)
delay(1000); // пауза 1000мс
}
Чтобы скачать нажмите "Перейти" "Пропустить рекламу" |