LCD 1602 русский шрифт на Ардуино

lcd 1602 русский шрифт на Ардуино

LCD 1602 русский шрифт с Arduino ► можно вывести с помощью собственных символов. Рассмотрим, как сделать буквы на кириллице и русифицировать дисплей 1602.

QAPASS LCD 1602 русский шрифт не поддерживает, но можно вывести кириллицу на Arduino с помощью создания собственных символов. Рассмотрим, как сделать любые символы и буквы на кириллице на LCD дисплее Ардуино. Для этого нам потребуется использовать в скетче переменную byte и функцию lcd.createChar (). Сразу отметим, что объем памяти на Ардуино для знаков ограничен всего восемью символами.

Видео. Русские буквы на LCD Display I2C 1602

Как вывести свой символ на LCD 1602

Вывести свой символ или кириллическую букву на дисплей поможет таблица знакогенератора (CGROM). Такой вид памяти в Ардуино, как CGRAM, может хранить собственные символы, но размер памяти ограничен и может вместить лишь 8 собственных символов. Один из нестандартных символов, который пригодится для создания домашней метеостанции — знак градуса. Давайте нарисуем символ.

Создаем свой символ для LCD дисплея 1602
Создаем свой символ для LCD дисплея 1602

Для начала возьмите листок бумаги и нарисуйте на нем таблицу, где будет 5 столбцов и 8 строчек. Далее заштрихуйте в таблице клеточки (смотри фото выше), которые должны высвечиваться на дисплее. Дело в том, что каждый символ на дисплее состоит из пикселей (5 пикселей в ширину и 8 пикселей в высоту). Далее представим наш символ в виде массива данных, состоящего из восьми элементов — восьми строк.

Выводим на LCD 1602 собственный символ




Для этого занятия нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • LCD монитор 1602;
  • провода «папа-мама».
Подключение LCD 1602 к Arduino UNO через I2C
Подключение LCD 1602 к Arduino UNO через I2C

Подключение LCD дисплея по I2C производится четырьмя проводами «папка-мамка» — 2 провода данных и 2 провода питания. Если вы подключаете дисплей Ардиуно УНО, используйте следующую схему — вывод SDA подключается к порту A4, вывод SCL – к порту A5 и два провода питания — GND и 5V. Если QAPASS 1602 подключается по шине I2C к Arduino Mega, то на плате имеются соответствующие порты — SDA и SCL.

Скетч для создания символа на LCD I2C

#include <Wire.h> // библиотека для управления устройствами по I2C 
#include <LiquidCrystal_I2C.h> // подключаем библиотеку для LCD 1602

LiquidCrystal_I2C LCD(0x27,16,2); // присваиваем имя LCD для дисплея

// создаем свой символ и присваиваем ему имя "simvol"
byte simvol[8] = {
0b01100,
0b10010,
0b10010,
0b01100,
0b00000,
0b00000,
0b00000,
0b00000
};

void setup() {
   LCD.init(); // инициализация LCD дисплея
   LCD.backlight(); // включение подсветки дисплея

   LCD.createChar(1, simvol);
   
   LCD.setCursor(0,0); // ставим курсор на 1 символ первой строки
   LCD.print(char(1)); // печатаем символ на первой строке
}

void loop() {
 
}

Пояснения к коду:

  1. с помощью массива byte simvol[8] = { }; мы зашифровали знак градуса, который нарисовали ранее на листочке бумаги;
  2. функция lcd.createChar(num, data); создает пользовательский символ для LCD, где в скобках указан num — номер символа и data — данные о массиве.

Выводим на LCD 1602 русский шрифт

QAPASS дисплей поддерживает 8 новых символов (пронумерованных от 0 до 7) размером 5 на 8 пикселей. Букву на кириллице, как и символ, можно задать массивом из восьми байт, характеризующих соответствующую строку. Можно добавить до 8 символов, поэтому используйте при выводе сочетание латинских и кириллических букв, как на примере. Загрузите скетч с надписью «Я ❤ РОБОТЕХНИКА18.РФ»

Скетч с русскими буквами на LCD I2C

#include <Wire.h> // библиотека для управления устройствами по I2C 
#include <LiquidCrystal_I2C.h> // подключаем библиотеку для LCD 1602

LiquidCrystal_I2C LCD(0x27,16,2); // присваиваем имя LCD для дисплея

// создаем символ сердца и четырех букв на кириллице

byte heart[8] = { 0b00000, 0b01010, 0b11111, 0b11111, 0b11111, 0b01110, 0b00100, 0b00000 };

byte I[8] = { 0b01111, 0b10001, 0b10001, 0b01111, 0b00101, 0b01001, 0b10001, 0b00000 };
byte B[8] = { 0b11111, 0b10000, 0b10000, 0b11110, 0b10001, 0b10001, 0b11110, 0b00000 };
byte N[8] = { 0b10001, 0b10001, 0b10011, 0b10101, 0b11001, 0b10001, 0b10001, 0b00000 };
byte F[8] = { 0b01110, 0b10101, 0b10101, 0b10101, 0b01110, 0b00100, 0b00100, 0b00000 };

void setup() {
   LCD.init(); // инициализация LCD дисплея
   LCD.backlight(); // включение подсветки дисплея

   // присваиваем символам порядковый номер
   LCD.createChar(1, heart);
   LCD.createChar(2, I);
   LCD.createChar(3, B);
   LCD.createChar(4, N);
   LCD.createChar(5, F);
  
   LCD.setCursor(6,0); // устанавливаем курсор на 6 символ первой строки
  
   LCD.print(char(2));
   LCD.print(" ");
   LCD.print(char(1));
  
   LCD.setCursor(0,1); // устанавливаем курсор на начало второй строки
  
   LCD.print("PO");
   LCD.print(char(3));
   LCD.print("OTEXH");
   LCD.print(char(4));
   LCD.print("KA18.P");
   LCD.print(char(5));
}

void loop() {
 
}

Пояснения к коду:

  1. массивы строк в функции byte simvol[8] = { }; можно прописывать в строку;
  2. слово РОБОТЕХНИКА18.РФ использует набор русских и латинских букв.

Русификация LCD 1602 I2C дисплея

Перед загрузкой следующего скетча, необходимо установить библиотеку LCD_1602_RUS.h для русификации дисплея 1602 Ардуино. Архив с библиотекой можно скачать на нашем сайте на странице — Библиотеки для Ардуино. После установки библиотеки из архива загрузите в микроконтроллер небольшой пример с кодом для LCD, который значительно упростит для вас вывод кириллицы на дисплей.

Скетч с библиотекой LCD_1602_RUS.h

#include <Wire.h> // библиотека для управления устройствами по I2C 
#include <LCD_1602_RUS.h> // подключаем библиотеку LCD_1602_RUS

LCD_1602_RUS LCD(0x27,16,2); // присваиваем имя LCD для дисплея

void setup() {
   LCD.init(); // инициализация LCD дисплея
   LCD.backlight(); // включение подсветки дисплея
   
   LCD.setCursor(2,0); // ставим курсор на 3 символ первой строки
   LCD.print("РУСИФИКАЦИЯ!"); // печатаем символ на первой строке
}

void loop() {
 
}

Пояснения к коду:

  1. для стирания надписей на дисплее используйте команду LCD.clear();.

Заключение. Мы рассмотрели различные варианты русификации дисплея 1602 Ардуино — с помощью библиотеки LCD_1602_RUS.h и создания собственных символов. При возникновении проблем с работой программы или загрузкой скетча — пишите свои вопросы в комментариях на этой странице. На все поступающие вопросы (но только те, которые относятся к данной теме) мы стараемся ответить.

1 Star2 Stars3 Stars4 Stars5 Stars (39 votes, average: 4,82 out of 5)
Загрузка...

Примеры похожие на LCD 1602 русский шрифт на Ардуино:

8 комментариев для “LCD 1602 русский шрифт на Ардуино

  1. Заметил в последнем скетче ошибку в 16 й строке
    вместо «void { »
    нужно указать
    void setup()
    {

  2. Для сокращения записи, чтоб не писать столбиком можно cделать так:
    lcd.print («BH\2MAH\2E!!!») ; // Выводим текст «ВНИМАНИЕ!!!»

    1. Зависит от конкретной ситуации. Старайтесь использовать для вывода стандартные символы LCD 1602

Добавить комментарий для Михаил Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *