Вопрос про LCD 1602

primnet
Offline
Зарегистрирован: 08.08.2016

#include "LCD_1602_RUS.h"  

LCD_1602_RUS lcd(0x3F, 16, 2);  

void setup()  

{  

lcd.init(); // initialize the lcd  

// Print a message to the LCD.  

lcd.backlight();  

}  

void loop()  

{  

char myChar[6] = "Можно"  

lcd.setCursor(2, 0);  

lcd.print(L"Теперь можно");  

lcd.setCursor(3, 1);  

lcd.print(L"по-русски");  

}  

Имеется китайский LCD 1602 не поддерживающий кириллицу, подключенный к Ардуине через I2C, 

Необходимо чтоб массив myChar с набором русских букв, передавался в функцию lcd.print которая выводит на LCD.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

primnet пишет:

Имеется китайский LCD 1602 не поддерживающий кириллицу, подключенный к Ардуине через I2C, 

Необходимо чтоб массив myChar с набором русских букв, передавался в функцию lcd.print которая выводит на LCD.

А сейчас он что, не передаётся? Передаётся как миленький! Може Вам что-то другое необходимо?

И ещё, кстати, нам тут очень приятно узнать что Вам необхожимо, а что нет, но Ваш пост не содержит никакого вопроса. Если у Вас когда-нибудь появится вопрос, Вы не стесняётесь спросить.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

primnet пишет:

Имеется китайский LCD 1602 не поддерживающий кириллицу, подключенный к Ардуине через I2C, 

Необходимо чтоб массив myChar с набором русских букв, передавался в функцию lcd.print которая выводит на LCD.

А сейчас он что, не передаётся? Передаётся как миленький! Може Вам что-то другое необходимо?

И ещё, кстати, нам тут очень приятно узнать что Вам необхожимо, а что нет, но Ваш пост не содержит никакого вопроса. Если у Вас когда-нибудь появится вопрос, Вы не стесняётесь спросить.

НЕ! Не передаётся, после объявления точка с запятой пропущена

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ua6em пишет:

НЕ! Не передаётся, после объявления точка с запятой пропущена

Ну, разве что :))))

Я не по правилам оформленные коды не смотрю вовсе.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

ua6em пишет:

НЕ! Не передаётся, после объявления точка с запятой пропущена

Ну, разве что :))))

Я не по правилам оформленные коды не смотрю вовсе.

А я всегда поражаюсь вашему умению смотреть такие портянки, тренируюсь и, даже видимо начинает получаться :-)))

primnet
Offline
Зарегистрирован: 08.08.2016
#include "LCD_1602_RUS.h"  
LCD_1602_RUS lcd(0x3F, 16, 2);  
void setup()  
{  
lcd.init(); // initialize the lcd  
// Print a message to the LCD.  
lcd.backlight();  
}  
void loop()  
{  
char myChar[6] = "Можно" ; 
lcd.setCursor(2, 0);  
lcd.print(L"Теперь можно");  
lcd.setCursor(3, 1);  
lcd.print(L"по-русски");  
}  

С телефона тему создавал, не смог правильно код оформить.

Я так и не врубился как работать с кириллице.

Мой вопрос: Подскажите как записать функцию для отображения массива на LCD.

Или может я вообще координально неправильно что то делаю(???

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

primnet пишет:

Или может я вообще координально неправильно что то делаю(???

Конечно, неправильно. Вы зачем-то купили дисплей без кириллицы в шрифте, а теперь спрашиваете как на него выводить кириллицу. 

Кстати, а у Вас точно нет кириллицы? Попробуйте вывести все 256 сиволов на экран и посмотрите. Может она есть, но где-то в нестандартных кодах? Такое бывает.

Если же её нет, то ... по хорошему. Вам надо покупать другой дисплей. Но, если подойти к делу разумно, то можно выкрутится и этим. Вам же не нужно выводить весь алфавит сразу, а нужно выводить конкретные тексты, так ведь.

Тогда делаем так:  эти дисплеи имеют 8 программируемых символов, которые Вы можете задать сами прямо по точкам. Тогда пишете свои сообщения таким образом: те буквы, которые одинаковые и в латинице и в кириллице используете как есть (латинские), а недостающие для составления нужных слов рисуете сами и записываете в память дисплея. Да, одновременно нельзя показать более 8-ми "недостающих" букв, но на практике это практически всегда решается путём грамотного составления текстов (заменяеете слова на такие где поменьше кириллических букв и т.п.).

Подробно с кодами примерами как это делается эта тема обсасывалась на форуме 100500 раз. Наберите "LCD 1602 кириллица" и Вам столько счастья вывалится - читать устанете.

primnet
Offline
Зарегистрирован: 08.08.2016

Еще в начале февраля заказал МЭЛТ LCD с кириллицей, пока жду, думал пока с этим поковыряться, в этой библиотеке уже нарисованна кириллица, сообщение которое должно выводиться на LCD из 16 символов у меня макссимум будет 7 нарисованных кирилических символов, в интернете много информации про кириллицу на LCD, но примеров с теми условиями что у меня я не нашел. Как передать переменную в функцию lcd.print(L"по-русски").

primnet
Offline
Зарегистрирован: 08.08.2016

Кириллицы в этом LCD точно нет, выводил все символы.

bwn
Offline
Зарегистрирован: 25.08.2014

Что вы так за эту библиотеку уцепились. Сделайте как Евгений сказал. Немного геморройно и не наглядно, но выводятся любые символы. Перед каждым выводом можно определять новые. Хоть "войну и мир" напишете, если памяти хватит.))))

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

bwn пишет:

Что вы так за эту библиотеку уцепились. Сделайте как Евгений сказал. Немного геморройно и не наглядно, но выводятся любые символы. Перед каждым выводом можно определять новые. Хоть "войну и мир" напишете, если памяти хватит.))))

а, со старыми что делать? - странная война и мир из восьми символов получается

bwn
Offline
Зарегистрирован: 25.08.2014

Клап, вопрос не понял.

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

bwn пишет:

Клап, вопрос не понял.

ну, там же аппаратное ограничение на 8-мь рисованных символов - если тебе нужно одновременно напечатать 9-ть, то ничего не выйдет. 9-й символ перезапишет 1-й.

bwn
Offline
Зарегистрирован: 25.08.2014

Та ладно, уж постарается из 32 подобрать 24 из латиницы, знаков препинания и пробелов. Хотя насчет "Войны и мира" возможно погорячился.

vvadim
Offline
Зарегистрирован: 23.05.2012

bwn пишет:

Что вы так за эту библиотеку уцепились. Сделайте как Евгений сказал. Немного геморройно и не наглядно, но выводятся любые символы. Перед каждым выводом можно определять новые. Хоть "войну и мир" напишете, если памяти хватит.))))

в своё время попробовал - работает)))