Русские символы на LCD1602

Дим M
Автор темы, Администратор
Администратор
Аватара
Дим M
Автор темы, Администратор
Администратор
Сообщения: 1608
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#1 Дим » 29 сентября 2017, 19:41

Если по какой то причине (не поддерживает кириллицу) подключив дисплей LCD1602 и попробовав отобразить русский текст увидите "кракозябры", знайте что можно попробовать написать символами. Их можно нарисовать самостоятельно, но не более 8 шт., то есть мы можем одновременно отобразить не более восьми собственных символов. Теперь немного подробнее, для отображения символов, модуль LCD1602 содержит 32 ячейки, каждая из этих ячеек, содержит восемь строк и пять столбцов (5х8). Наглядно можно приставить, как таблицу из 8 на 5 точек, если в любой точке таблицы мы укажем единицу, точка будет светится, если ноль нет.

Русские символы на LCD1602.jpg
Русские символы на LCD1602.jpg (46.27 КБ) 2776 просмотров


На этом ресурсе _https://www.quinapalus.com/hd44780udg.html можно изготовить символы

Символы - буквы у меня уже нарисованы, давайте загрузим скетч в ардуино и посмотрим что получилось.

Код: Выделить всё

#include <LiquidCrystal.h> //Load Liquid Crystal Library
LiquidCrystal lcd(11,10,9,2,3,4,5);  //Create Liquid Crystal Object called LCD

byte bukva_B[8]   = {B11110,B10000,B10000,B11110,B10001,B10001,B11110,B00000,}; // Буква "Б"
byte bukva_G[8]   = {B11111,B10001,B10000,B10000,B10000,B10000,B10000,B00000,}; // Буква "Г"
byte bukva_D[8]   = {B01111,B00101,B00101,B01001,B10001,B11111,B10001,B00000,}; // Буква "Д"
byte bukva_ZH[8]  = {B10101,B10101,B10101,B11111,B10101,B10101,B10101,B00000,}; // Буква "Ж"
byte bukva_Z[8]   = {B01110,B10001,B00001,B00010,B00001,B10001,B01110,B00000,}; // Буква "З"
byte bukva_I[8]   = {B10001,B10011,B10011,B10101,B11001,B11001,B10001,B00000,}; // Буква "И"
byte bukva_IY[8]  = {B01110,B00000,B10001,B10011,B10101,B11001,B10001,B00000,}; // Буква "Й"
byte bukva_L[8]   = {B00011,B00111,B00101,B00101,B01101,B01001,B11001,B00000,}; // Буква "Л"
byte bukva_P[8]   = {B11111,B10001,B10001,B10001,B10001,B10001,B10001,B00000,}; // Буква "П"
byte bukva_Y[8]   = {B10001,B10001,B10001,B01010,B00100,B01000,B10000,B00000,}; // Буква "У"
byte bukva_F[8]   = {B00100,B11111,B10101,B10101,B11111,B00100,B00100,B00000,}; // Буква "Ф"
byte bukva_TS[8]  = {B10010,B10010,B10010,B10010,B10010,B10010,B11111,B00001,}; // Буква "Ц"
byte bukva_CH[8]  = {B10001,B10001,B10001,B01111,B00001,B00001,B00001,B00000,}; // Буква "Ч"
byte bukva_Sh[8]  = {B10101,B10101,B10101,B10101,B10101,B10101,B11111,B00000,}; // Буква "Ш"
byte bukva_Shch[8]= {B10101,B10101,B10101,B10101,B10101,B10101,B11111,B00001,}; // Буква "Щ"
byte bukva_Mz[8]  = {B10000,B10000,B10000,B11110,B10001,B10001,B11110,B00000,}; // Буква "Ь"
byte bukva_IYI[8] = {B10001,B10001,B10001,B11001,B10101,B10101,B11001,B00000,}; // Буква "Ы"
byte bukva_Yu[8]  = {B10010,B10101,B10101,B11101,B10101,B10101,B10010,B00000,}; // Буква "Ю"
byte bukva_Ya[8]  = {B01111,B10001,B10001,B01111,B00101,B01001,B10001,B00000,}; // Буква "Я

void setup() 
{  
  lcd
.begin(16,2); //Tell Arduino to start your 16 column 2 row LCD
  lcd.setCursor(0,0);  //Set LCD cursor to upper left corner, column 0, row 0
}

void loop()
{
  lcd.createChar(1, bukva_P);      // Создаем символ под номером 1
  lcd.createChar(2, bukva_I);      // Создаем символ под номером 2

/*
Для наглядности, вывод символом указал отдельно, 
можно минимизировать: lcd.print("\1P\2BET M\2P!");
*/
 lcd.setCursor(2, 0);             // Устанавливаем курсор на 1 строку ячейку 2
 lcd.print("\1");                 // Выводим букву "П"
 lcd.setCursor(3, 0);             // Устанавливаем курсор на 1 строку ячейку 3
 lcd.print("P");                  // Выводим букву "P"
 lcd.setCursor(4, 0);             // Устанавливаем курсор на 1 строку ячейку 4
 lcd.print("\2");                 // Выводим букву "И"
 lcd.setCursor(5, 0);             // Устанавливаем курсор на 1 строку ячейку 5
 lcd.print("B");                  // Выводим букву "B"
 lcd.setCursor(6, 0);             // Устанавливаем курсор на 1 строку ячейку 6
 lcd.print("E");                  // Выводим букву "E"
 lcd.setCursor(7, 0);             // Устанавливаем курсор на 1 строку ячейку 7
 lcd.print("T");                  // Выводим букву "T"
 lcd.setCursor(9, 0);            // Устанавливаем курсор на 1 строку ячейку 9
 lcd.print("M");                  // Выводим букву "М"
 lcd.setCursor(10, 0);            // Устанавливаем курсор на 1 строку ячейку 10
 lcd.print("\2");                 // Выводим букву "И"
 lcd.setCursor(11, 0);            // Устанавливаем курсор на 1 строку ячейку 11
 lcd.print("P!");                 // Выводим букву "P"
 
 lcd
.setCursor(0, 1);             // Устанавливаем курсор на 2 строку ячейку 0
 lcd.print ("www.SamPawno.ru") ;     // Выводим текст
}
[center]i love you [s]mxIni[/s] Mysql[/center]


Тема поднималась пользователем Дим 29 сентября 2017, 19:41.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Программирование»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 5 гостей