Страница 2 из 3

LCD 1602 I2C вывод кирилицы

Добавлено: 14.11.2020{, 12:23}
German
Хорошо

LCD 1602 I2C вывод кирилицы

Добавлено: 16.11.2020{, 12:54}
Dryundel
Dryundel писал(а):
13.11.2020{, 16:53}
Предыдущий пост
Тестовая версия русифицирующего блока дисплея v0.3.
.
Тестовая версия русифицирующего блока дисплея v0.4.
(Для дисплеев не имеющих на борту кириллицы!)

Добавлен параметр "Мигающее значение"
Добавлен вспомогательный блок управления подсветкой по I2C

.
2020-11-16_110453.jpg
2020-11-16_110453.jpg (7.36 КБ) 3664 просмотра
Video_2020-11-16_114756.gif
Video_2020-11-16_114756.gif (236.56 КБ) 3664 просмотра
Тест работы блока.flp
(935.66 КБ) 398 скачиваний
.
Вообще в этой версии много изменений.
- Обеспечена совместимость со стандартным блоком дисплея.
- Полностью переделан основной алгоритм.
- Исключена операция очистки экрана. (Должно работать немного быстрей, меньше грузить контроллер и не мерцать всем экраном при настройке значения).
- Добавлен набор значков для мигания
- Добавлена возможность выбора мигающего значка для каждой строки отдельно. (можно разные)
- Появилась возможность мигания при выравнивании по центру и справа.
- Добавлен параметр "Мигающее значение"
- Добавлен вспомогательный блок управления подсветкой по I2C
- Обеспечена (на сколько это возможно) "дружелюбность" интерфейса

Из недостатков:
- Нельзя добавить в проект несколько дисплеев
- Занимает приличное место в памяти контроллера
- При использовании большого количества блоков FLProg начинает заметно тормозить. На компиляцию это не сказывается. Поэтому рекомендую добавлять блоки дисплея в проект последними.
.
Качаем, тестим.
LCD_RUS_test4_(Code_-_Professional).ubi
(686.6 КБ) 818 скачиваний
Dryundel писал(а):
19.11.2020{, 17:17}
Следующий пост

Тестовая версия русифицирующего блока дисплея v0.5.
Добавлен параметр «Включение/Отключение руссификации»
Добавлен элемент «Имя параметра»

LCD 1602 I2C вывод кирилицы

Добавлено: 16.11.2020{, 17:19}
Dryundel
av писал(а):
16.11.2020{, 15:01}
Андрей есть кое какие не доработки в версии 4. При выборе I2C 16Х2 в параметрах строк присутствует 4 строки вместо 2 и параметрах столбцов вместо 16 отображается все 40.
Вероятно нужно создавать параметры строк и столбцов для каждого из дисплеев...
Каждый лишний параметр увеличивает вес блока и FLProg начинает все сильней тормозить тем более если блоков в проекте несколько.
А что так сильно смущает?
Я подумаю что можно сделать

LCD 1602 I2C вывод кирилицы

Добавлено: 16.11.2020{, 18:13}
hrach
Dryundel писал(а):
16.11.2020{, 12:54}
Качаем, тестим.
Очень нужный блок,спасибо большое. Стал тестировать и столкнулся проблемой при увеличение строк не правильно отображаются буквы.Что не так?
СпойлерПоказать
Метеостанция 1.jpg
Метеостанция 1.jpg (77.19 КБ) 3588 просмотров

LCD 1602 I2C вывод кирилицы

Добавлено: 16.11.2020{, 18:30}
AlexCrane
hrach, Автор предупреждал, что не более 8 символов кириллицы на экране...

LCD 1602 I2C вывод кирилицы

Добавлено: 16.11.2020{, 18:46}
hrach
AlexCrane писал(а):
16.11.2020{, 18:30}
Автор предупреждал, что не более 8 символов кириллицы на экране...
:Спасибо, жаль

LCD 1602 I2C вывод кирилицы

Добавлено: 16.11.2020{, 20:36}
Dryundel
hrach писал(а):
16.11.2020{, 18:46}
:Спасибо, жаль
Dryundel писал(а):
11.11.2020{, 19:58}
Делать ничего не нужно, просто подаете на вход русский текст.

НО ПОМНИТЕ - РОВНО В 12 КАРЕТА ПРЕВРАТИТЬСЯ В ТЫКВУ! :smile171:

А если серьезно, ограничение в 8 уникальных символов, выводимых одновременно на дисплей, останется по любому.
Еще раз повторюсь. 8 УНИКАЛЬНЫХ символов

Повторения и совпадение по начертанию с латиницей не в счёт! (если к примеру буква "Ж" повторяется 10 раз, то это всего один уникальный символ. Можно ещё 7.

Речь идет о таких буквах как Б, б, Г, г, Д, д, Ж, ж, З, з... И так далее.
Такие буквы как А, В, Е, К..... и т.д. не считаются.

Одновременный вывод повторяющихся символов - не ограничен!
Вывод латиницы - не ограничен!

LCD 1602 I2C вывод кирилицы

Добавлено: 16.11.2020{, 21:45}
German
Dryundel писал(а):
16.11.2020{, 12:54}
Качаем, тестим.
LCD_RUS_test4_(Code_-_Professional).ubi
Мигающее значение, конфетка, да и только!
Блок управления подсветкой у меня не работает (NANO). Остальное работает.
Мне кажется работы должны вестись в двух направлениях:
1. Блок с минимальным функционалом и малым "весом" скейча. Иногда в проекте просто не хватает памяти и приходится обходиться малым. Да и "малышам" будет легче разобраться.
2. Блок с максимальным набором и, соответственно, большим весом скейча. Можно ввести туда счётчик Гейгера и спутниковый навигатор. (Шутка)
P.S. Андрей святой человек.
P.S. 2.Тут пришла на ум такая идея: А что если убрать из библиотеки украинский язык, будет скейч меньше?
Никакого национализма! Украинцы могут убрать русский язык, соответственно.

LCD 1602 I2C вывод кирилицы

Добавлено: 17.11.2020{, 16:19}
Dryundel
German писал(а):
16.11.2020{, 21:45}
Тут пришла на ум такая идея: А что если убрать из библиотеки украинский язык, будет скейч меньше?
Я думал об этом. Смысла в этом нет и причин несколько.
1. Все символы прописаны в авторской библиотеке. Вырезать можно конечно, но если либа обновится то ...
2. Украинских символов там всего штук 5. По сравнению с русскими которых 4 десятка это капля в море.
3. На форуме присутствуют люди которым это надо.

Отправлено спустя 14 минут 39 секунд:
German писал(а):
16.11.2020{, 21:45}
Мне кажется работы должны вестись в двух направлениях:
1. Блок с минимальным функционалом и малым "весом" скейча. Иногда в проекте просто не хватает памяти и приходится обходиться малым. Да и "малышам" будет легче разобраться.
2. Блок с максимальным набором и, соответственно, большим весом скейча. Можно ввести туда счётчик Гейгера и спутниковый навигатор. (Шутка)
Вес скетча зависит от выбранного функционала блока. Блок генерит код только по потребности. Если к примеру мигание отключено то и код этой функции в скетч не пишется.
В планах параметр отключения русификации. Тогда если ее не использовать то и места блоок займет почти столько же как штатный. При условии не использования доп функций. Ну а включение каждой из функций, естественно будет увеличивать и скетч. По моему это логично.
German писал(а):
16.11.2020{, 21:45}
Блок управления подсветкой у меня не работает (NANO). Остальное работает.
Что означает не работает? Ошибку выдает? Вы по I2C подключаете дисплей?
В штатном блоке блок управления подсветкой работает?

LCD 1602 I2C вывод кирилицы

Добавлено: 17.11.2020{, 16:51}
hrach
Dryundel писал(а):
16.11.2020{, 12:54}
Качаем, тестим.
Уважаемый Андрей можно приспособить блок к NodeMcu (ESP8266)?

LCD 1602 I2C вывод кирилицы

Добавлено: 17.11.2020{, 19:32}
German
Dryundel писал(а):
17.11.2020{, 16:34}
Что означает не работает? Ошибку выдает? Вы по I2C подключаете дисплей?
В штатном блоке блок управления подсветкой работает?
В штатном работает, ошибок нет. Просто не реагирует. Пробовал раза два, долго не копался, может что-то и не так сделал. Если честно, выключение подсветки, не особенно и нужно. Лично мне более интересен вариант регулировки подсветки, в зависимости от освещения. Ну тут всё просто: ШИМ и и ключ на транзисторе, а управлять в ручную, или фоторезистором. Но это к данной теме отношения не имеет.

LCD 1602 I2C вывод кирилицы

Добавлено: 18.11.2020{, 01:03}
Dryundel
hrach писал(а):
17.11.2020{, 16:51}
Уважаемый Андрей можно приспособить блок к NodeMcu (ESP8266)?
А в чем проблема? Не работает на NodeMcu?

LCD 1602 I2C вывод кирилицы

Добавлено: 18.11.2020{, 16:40}
hrach
Dryundel писал(а):
18.11.2020{, 01:03}
А в чем проблема? Не работает на NodeMcu?
При компиляции выводит ошибку такое
СпойлерПоказать
Arduino: 1.8.11 (Windows 7), Плата:"NodeMCU 0.9 (ESP-12 Module), 80 MHz, Flash, Disabled (new can abort), All SSL ciphers (most compatible), 4MB (FS:none OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

In file included from E:\Users\Компьютер\AppData\Local\Temp\flprog\pr10\pr10.ino:3:0:

e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\LCD_1602_RUS_ALL/LCD_1602_RUS_ALL.h: In instantiation of 'LCD_1602_RUS<BASE>::LCD_1602_RUS(uint8_t, uint8_t, uint8_t, uint8_t) [with BASE = LiquidCrystal_I2C; uint8_t = unsigned char]':

E:\Users\Компьютер\AppData\Local\Temp\flprog\pr10\pr10.ino:8:55: required from here

e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\LCD_1602_RUS_ALL/LCD_1602_RUS_ALL.h:69:142: error: invalid initializer for array member 'Symbol LCD_1602_RUS<LiquidCrystal_I2C>::font [53]'

LCD_1602_RUS (uint8_t lcd_Addr, uint8_t lcd_cols, uint8_t lcd_rows, uint8_t user_custom_symbols = 0) : BASE (lcd_Addr, lcd_cols, lcd_rows)//Конструктор для подключения I2C

^

exit status 1
Ошибка компиляции для платы NodeMCU 0.9 (ESP-12 Module).
Неверная библиотека найдена в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\data: нет заголовочных файлов (.h), найденных в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\data
Неверная библиотека найдена в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\docs: нет заголовочных файлов (.h), найденных в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\docs
Неверная библиотека найдена в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\examples: нет заголовочных файлов (.h), найденных в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\examples
Неверная библиотека найдена в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\img: нет заголовочных файлов (.h), найденных в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\img
Неверная библиотека найдена в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\lang: нет заголовочных файлов (.h), найденных в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\lang
Неверная библиотека найдена в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\tools: нет заголовочных файлов (.h), найденных в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\tools
Неверная библиотека найдена в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\data: нет заголовочных файлов (.h), найденных в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\data
Неверная библиотека найдена в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\docs: нет заголовочных файлов (.h), найденных в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\docs
Неверная библиотека найдена в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\examples: нет заголовочных файлов (.h), найденных в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\examples
Неверная библиотека найдена в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\img: нет заголовочных файлов (.h), найденных в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\img
Неверная библиотека найдена в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\lang: нет заголовочных файлов (.h), найденных в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\lang
Неверная библиотека найдена в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\tools: нет заголовочных файлов (.h), найденных в e:\FLProg\FLProg 7-1-1\Portable_FLProg_7-0-1_Win64\ideV5\libraries\tools

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

LCD 1602 I2C вывод кирилицы

Добавлено: 18.11.2020{, 19:32}
Dryundel
hrach писал(а):
18.11.2020{, 16:40}
При компиляции выводит ошибку такое
По всей видимости авторская библиотека LCD_1602_RUS_ALL не поддерживает ESP8266. Поговорю с автором.

Готовится версия блока с отключением руссификации. В ней будут использоваться стандартные библиотеки. Пока выход такой.

LCD 1602 I2C вывод кирилицы

Добавлено: 18.11.2020{, 19:56}
bsn
ecoins писал(а):
13.11.2020{, 18:51}
3.Дисплей LCD 16x2 с русскими буквами - стоимость 315 рублей с доставкой.
Очень часто люди желающие иметь русский текст на LSD (по крайней мере так у меня), выводят на дисплей и технические параметры тех или иных устройств. Лично мне (предполагаю и многим) удобнее единицы измерения параметров прописывать на латинице. Соответственно если принять Вашу рекомендацию (покупать LSD только с кирилицей) - результат будет тот же, часть букв нужны на кирилице, часть букв на латинице. Потому, по моему скромному мнению, Ваша рекомендация №3 - бесмыслена.

LCD 1602 I2C вывод кирилицы

Добавлено: 19.11.2020{, 08:05}
bsn
ecoins писал(а):
13.11.2020{, 18:51}
2.Занимает дополнительную память - для контроллеров типа AVR328 (2кБ ОЗУ, 32кБ Флэш) это тоже проблема;
GDAN7777 писал(а):
18.11.2020{, 20:08}
Купите дисплей на ILI9341... Единственный минус-памяти кушает много.
Таким образом, для одновременного вывода кирилицы и латиницы, пункт 2, от уважаемого ecoins, тоже лишний.
Согласен что дисплей на ILI9341 - штука хорошая. Но варианты из предоставляемых рынков деталей тоже огромны. Кому то, для каких то целей, удобно применять и ЖК дисплеи 1602,2004, чему и посвящена вся эта ветка. Судя по количеству просмотров тема эта достаточно интересна для форумчан.

LCD 1602 I2C вывод кирилицы

Добавлено: 19.11.2020{, 17:17}
Dryundel
Dryundel писал(а):
16.11.2020{, 12:54}
Предыдущий пост.
Тестовая версия русифицирующего блока дисплея v0.4.
.
Тестовая версия русифицирующего блока дисплея v0.5.
(Для дисплеев не имеющих на борту кириллицы!)

Добавлен параметр «Включение/Отключение руссификации»
Добавлен элемент «Имя параметра»

.
Video_2020-11-19_164102.gif
Video_2020-11-19_164102.gif (238.68 КБ) 2227 просмотров
.
Тестовый файлПоказать
2020-11-19_164710.jpg
Тест для дисплея2.flp
(977.28 КБ) 90 скачиваний
.
- Добавлен параметр «Включение/Отключение руссификации». Благодаря чему размер скетча можно сократить, отказавшись от кириллици. При отключенной руссификации блок использует стандартные библиотеки, те же что и штатный блок. Все остальные функции доступны в обоих вариантах использования. Места в памяти занимает почти столько же как и штатный.
Однако надеюсь контроллер будет грузить меньше, т.к. самая тормозящая функция очистки экрана в блоке отсутствует.

- Решена проблема несовместимости русского и латинского шрифтов. Теперь можно использовать смешанный ввод и не требуется выбирать раскладку клавиатуры.

- Добавлен элемент выравнивания «по Имени параметра». При активации этого пункта, перед изменяемым параметром появляется поле для ввода имени параметра. Размер этого поля настраивается. В этом поле и выводится имя параметра. Следите что бы это имя не превышало длину поля.
Так же можно на лету менять и само имя параметра. У блока появляется соответствующий вход.
Возможность мигания символом или значением, в этом варианте так же сохраняется.
Так же можно использовать вход Name для прямого подключения к штатному блоку "меню"
СпойлерПоказать
2020-11-19_173308.jpg
2020-11-19_173308.jpg (19.02 КБ) 2222 просмотра
.
- Исправлены обнаруженные ошибки предыдущей версии.

Ощущение что что то забыл упомянуть. Ну сами разберетесь. Все интуитивно понятно.

Но FLProg тормозит конкретно если блоков в схеме много.
Если Сергей что то не сделает в этом направлении, то беда. Будем надеяться на лучшее. )))
На компиляцию не влияет. Компилируется без проблем. Работает тоже

Качаем, тестим.
LCD_RUS_test5_(Code_-_Professional).ubi
(838.57 КБ) 246 скачиваний

LCD 1602 I2C вывод кирилицы

Добавлено: 19.11.2020{, 23:21}
Dryundel
Dryundel писал(а):
19.11.2020{, 17:17}
Если Сергей что то не сделает в этом направлении, то беда. Будем надеяться на лучшее. )))
support писал(а):
19.11.2020{, 20:30}
Dryundel писал(а):
19.11.2020{, 18:36}
support, Сергей, Тормоза страшные от блоков из нового редактора. Можно что то сделать?
Пример: viewtopic.php?f=63&t=6836&p=95804#p95804
Победил вроде.
Значит будем житЬ!!!
Ждем новых наворотов к блоку! Но уже в новой версии FLProg.
А пока тестируем версию test5 на наличие ошибок.

LCD 1602 I2C вывод кирилицы

Добавлено: 25.11.2020{, 15:29}
o615ye161
Dryundel писал(а):
16.11.2020{, 12:54}
Качаем, тестим.
LCD_RUS_test4_(Code_-_Professional).ubi
(686.6 КБ) 217 скачиваний
Почему не добавляетс в версию FLP 6,3,1?

LCD 1602 I2C вывод кирилицы

Добавлено: 25.11.2020{, 15:49}
fsergei70
o615ye161 писал(а):
25.11.2020{, 15:29}
Почему не добавляетс в версию FLP 6,3,1?
Вернуться к началу
Блок сделан в новом редакторе, в 6.3.1 этого редактора еще нет, поэтому и блок не добавляется.