Русские буквы на LCD дисплее

PetyaZubov
PetyaZubov аватар
Offline
Зарегистрирован: 04.01.2014

 

Здравия желаю всем присутствующим!
 
Меня очень заинтеросовал следующий Instructable. У меня как раз лежат несколько подобных LCD дисплеев которые умирают от безделия. Да и у меня руки чешуться подобное попробовать. Вопрос - каким образом или возможно-ли запрограмировать Arduino чтобы дисплей отображал Русские буквы?
 
Может кому нибудь приходилось подобный проект осуществлять в прошлом?
Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

мне вот интересно, ну сугубо так сказать любопытсво... есть же нормальные дисплее TFT 240х320 по цене 300 рублей.. с тачем и  кард ридером... че вас все прет на какие то ламповые матрицы?

PetyaZubov
PetyaZubov аватар
Offline
Зарегистрирован: 04.01.2014

Ну во первых 90% всех моих сверх секретных модов работают на платформе Arduino. Паническим страхом боюсь расслояться на другие платформы.

А во вторых - прежде чем я смогу хвалиться и впечатлять своих знакомых рассказыми о своих ламповых матриц -

- их нужно сначала собрать (не то ещё спросят доказать). Хех.

PetyaZubov
PetyaZubov аватар
Offline
Зарегистрирован: 04.01.2014

Хотя если честно - вариант с TFT тач-дисплеем меня интересует. eBay?

PetyaZubov
PetyaZubov аватар
Offline
Зарегистрирован: 04.01.2014

Короче нашёл следующее - этот дисплей управляется контроллером HD44780 европейская версия которого содержит кириллицу.

Уже известно что этим кодом можно управлять дисплеем без контроллера HD44780.
 
Случаем у кого нибудь нету примеров кода с вызыванием кириллических символов?

 

Если же конечно, вместо этого:
void setup() {
  lcd.begin(16, 2);
  lcd.print("hello, world!");
}
 
сработает следующий вариант:
void setup() {
  lcd.begin(16, 2);
  lcd.print("вход строго воспрещён");
}
Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

PetyaZubov пишет:

Хотя если честно - вариант с TFT тач-дисплеем меня интересует. eBay?

алиэкспресс...

да и я не уловил сурового перехода от ламповых дисплеев к невозможности подключить к ардуино обычный TFT

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Вообще транслит рулит если нет русских буковок.

PetyaZubov
PetyaZubov аватар
Offline
Зарегистрирован: 04.01.2014

Ну обычный TFT дисплей вроде подключить можно - правда для моих целей, внешность лампового дисплея более подходящая.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

NeiroN пишет:

Вообще транслит рулит если нет русских буковок.

вообще береш TFT и рисуеш все чего тебе намечталось.. могеш каждую букву нарисовать и с SD ее читать и печатать где тебе там зачесалось...

paf
Offline
Зарегистрирован: 25.01.2013

Puhlyaviy пишет:

вообще береш TFT и рисуеш все чего тебе намечталось.. могеш каждую букву нарисовать и с SD ее читать и печатать где тебе там зачесалось...

Мы про Мегу?

std
Offline
Зарегистрирован: 05.01.2012

1602 читабельнее, и меньше памяти жрёт.

PetyaZubov
PetyaZubov аватар
Offline
Зарегистрирован: 04.01.2014

std - именно. Да и к тому же - их полно и они копейки стоят.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

std пишет:

1602 читабельнее, и меньше памяти жрёт.

угу и русский шрифт только после танцев с бубнами воспроизводит.. можно подумать вы дисплеии эти на улице под ярким солнцем развешиваете :)

PetyaZubov
PetyaZubov аватар
Offline
Зарегистрирован: 04.01.2014

Товарищи поиски приближаются к концу! Я нашёл дисплей который содержит кириллицу! Посмотрите страницу 13 этого документа. Теперь остаётся догадаться каким образам вызывать Русские буквы.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

PetyaZubov пишет:

Товарищи поиски приближаются к концу! Я нашёл дисплей который содержит кириллицу! Посмотрите страницу 13 этого документа. Теперь остаётся догадаться каким образам вызывать Русские буквы.

ну так как обычно.. с бубном. я ж написал уже выше. увас что нет бубна?

PetyaZubov
PetyaZubov аватар
Offline
Зарегистрирован: 04.01.2014

Eсли честно, как-то не охота лезть в гараж, доставать чемодан, потом выбирать один из четырёх разного цвета (и национальной разновидности), потом возвращаться домой. Этот процесс займёт как минимум часов 6. Вообще-то вру, ближе к 8 - ведь дорога от мастерской в гараж проходить мимо кухни. Остановиться обязательно необходимо!

 

PetyaZubov
PetyaZubov аватар
Offline
Зарегистрирован: 04.01.2014

 

Возвращаясь к теме - так как я нашёл дисплей нужной конфигурации и внешности ПЗУ которого содержит все буквы России Матушки, меня теперь интересует детали кода для Arduino.
 
На точно таком-же дисплее, конечно за исключением кириллицы, следующее:
1LiquidCrystal lcd(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
2 
3void setup() {
4lcd.begin(16, 2);
5lcd.print("hello, world!");
6}

даёт следующий результат

 

так если кириллица уже существует на дисплее, подобный код:
1LiquidCrystal lcd(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
2 
3void setup() {
4lcd.begin(16, 2);
5lcd.print("вход воспрещён");
6}

в принципе вроде должен-же сработать?

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

PetyaZubov пишет:

так если кириллица уже существует на дисплее, подобный код:
1LiquidCrystal lcd(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
2 
3void setup() {
4lcd.begin(16, 2);
5lcd.print("вход воспрещён");
6}

в принципе вроде должен-же сработать?

не должен - библиотека LiquidCrystal не знает осуществовании русских символов, для желаемого нужно использовать дополненную библиотеку.

https://github.com/mk90/LiquidCrystalRus

PetyaZubov
PetyaZubov аватар
Offline
Зарегистрирован: 04.01.2014

Огромное спасибо Клапауций!

Следовательно код должен быть подобным:
01#include <LiquidCrystalRus.h>
02 
03LiquidCrystalus lcd(12, 10, 11, 5, 4, 3, 2);
04 
05void setup() {
06lcd.begin(16, 2);
07lcd.setDRAMModel(LCD_DRAM_WH1601);
08lcd.print("Привет, мужики!");
09}
10 
11void loop() {
12}

Оказывается всё просто! Обошлись без жертвоприношения и ритуальных танцев со священным бубном!

 

lalapta100
Offline
Зарегистрирован: 01.01.2014

Клапауций пишет:

PetyaZubov пишет:

так если кириллица уже существует на дисплее, подобный код:
1LiquidCrystal lcd(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
2 
3void setup() {
4lcd.begin(16, 2);
5lcd.print("вход воспрещён");
6}

в принципе вроде должен-же сработать?

не должен - библиотека LiquidCrystal не знает осуществовании русских символов, для желаемого нужно использовать дополненную библиотеку.

https://github.com/mk90/LiquidCrystalRus

Наверно вопрос дурной но всеже спрошу,  Можно ли выводить больше 8 Своих собственных символов????

В документации написано максимум 8 но Это маловато =(

Может можно както постирать имеющиеся символы и записать свои?????

А еще вопрос не по теме.  Экран тупит при смене буков.  Нето буквы медлено загораются не то тухнут слишков медлено, вобщем при бегущей строке читать невозможно.  Можно ли на это както повлиять??

vovik181083
Offline
Зарегистрирован: 25.11.2016

LiquidCrystalus lcd ошибка!

LiquidCristalRus lcd вот так должно быть