Разделение LCD на сектора/зоны.
Разделение LCD на сектора/зоны.
Здравствуйте, форумчане!
Имеется дисплей 2004. С помощью блока дисплея могу вывести информацию в каждую строку и включить выравнивание по левому краю, правому или по центру строки...
Вопрос: а как сделать так, чтобы каждую строку дисплея поделить пополам (20/2=10 столбцов) и в каждой из половин отображать текст, выравнивая его по центру/слева/справа? То есть, должно из строки по 20 столбцов получиться две по 10 столбцов и в каждой из двух я должен иметь возможность выравнивания текста слева, справа или по центру этой области.
Или обозначить как- то произвольно область экрана (скажем 5 столбцов в любой строке) и выполнить выравнивание в этой области...
Может есть такие блоки у кого?
Имеется дисплей 2004. С помощью блока дисплея могу вывести информацию в каждую строку и включить выравнивание по левому краю, правому или по центру строки...
Вопрос: а как сделать так, чтобы каждую строку дисплея поделить пополам (20/2=10 столбцов) и в каждой из половин отображать текст, выравнивая его по центру/слева/справа? То есть, должно из строки по 20 столбцов получиться две по 10 столбцов и в каждой из двух я должен иметь возможность выравнивания текста слева, справа или по центру этой области.
Или обозначить как- то произвольно область экрана (скажем 5 столбцов в любой строке) и выполнить выравнивание в этой области...
Может есть такие блоки у кого?
- AlexCrane
- Капитан
- Сообщения: 903
- Зарегистрирован: 20 окт 2017, 13:22
- Откуда: Ульяновск
- Имя: Александр
- Поблагодарили: 12 раз
Разделение LCD на сектора/зоны.
[ref]DmitriyR[/ref], И для чего это может понадобиться? Выводить по нужным координатам не вариант?
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Разделение LCD на сектора/зоны.
[ref=#ff8000]AlexCrane[/ref], это нужно для того, чтобы выглядело красиво. Выводить по координатам - это указывать с какого столбца? Нет. Этот вариант не нравится. Хочется выводить информацию нормально, а не лепить все подряд в одну строку. Если я вывожу на дисплей некое изменяющееся число, то я хочу видеть его в нужном мне месте и чтоб разряды этого числа расширялись в обе стороны, а не в какую-то одну. Надеюсь, я подобрал правильные слова и моя задумка понятна. Меня интересует как это можно реализовать. Должны же быть инструменты для этого.
- Dryundel
- Полковник
- Сообщения: 2437
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 3 раза
- Поблагодарили: 31 раз
Разделение LCD на сектора/зоны.
Таких блоков нет. Во всяком случае не видел. Задача специфическая, не будет иметь спроса. А сделать не очень просто.
Может Вы расскажете вашу идею для чего это надо? Будет проще что то предложить.
Отправлено спустя 1 минуту 10 секунд:
Они есть. С++ сила!
Разделение LCD на сектора/зоны.
[ref=#ff8000]Dryundel[/ref], допустим, я хочу сделать спидометр. Моя задумка такова. Я делаю рамку из символов и помещаю в нее значение скорости. Значение может иметь вид одно-двух или трехзначного числа. Можно указать столбец с которого значение будет выводиться на дисплей. Тогда получается, что оно будет выводиться слева направо. Если значение равно, скажем, четырем, то я получаю пустое поле после этого значения под другие разряды. Выглядит это отвратительно. Вот и хочется иметь возможность выводить значение по центру некой заранее отведенной области. Тогда будет глаз радовать.
Разделение LCD на сектора/зоны.
[ref]cmept-27[/ref], ну... Это не решение, как по мне. И зачем отрисовывать эти нули? Это тоже не радует глаз. Костыли какие-то.
Разделение LCD на сектора/зоны.
[ref]DmitriyR[/ref], Ну не знаю у меня норм получилось viewtopic.php?t=2613&start=20#p110119 . Можешь считать длину строки и по ней менять координаты
OK
Разделение LCD на сектора/зоны.
[ref=#ff8000]AlexCrane[/ref], [ref=#ff8000]Dryundel[/ref], [ref]cmept-27[/ref], пока вижу лишь вариант дорисовывать пробелы перед числом, чтобы сдвинуть строку. Если число больше, либо равно 10 то убираем один пробел перед числом. И т.д. Но, как-то это тоже громоздко будет выглядеть в программе.
- Dryundel
- Полковник
- Сообщения: 2437
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 3 раза
- Поблагодарили: 31 раз
Разделение LCD на сектора/зоны.
О-о! Такая задача вообще не для LCD2004. Возьмите какой нибудь пиксельный дисплей или ещё что нибудь посерьезней.DmitriyR писал(а): 15 мар 2023, 12:04 Моя задумка такова. Я делаю рамку из символов и помещаю в нее...
Разделение LCD на сектора/зоны.
[ref]DmitriyR[/ref],
Как то так примерно вместо 0 пробелУ вас нет необходимых прав для просмотра вложений в этом сообщении.
OK
- Dryundel
- Полковник
- Сообщения: 2437
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 3 раза
- Поблагодарили: 31 раз
Разделение LCD на сектора/зоны.
В коде это еще громоздче получится, для того, что бы предоставить Вам блок с такой блажью.DmitriyR писал(а): 15 мар 2023, 12:21 Если число больше, либо равно 10 то убираем один пробел перед числом. И т.д. Но, как-то это тоже громоздко будет выглядеть в программе.
Разделение LCD на сектора/зоны.
Вполне нормальная задача для 2004.
Где-то на ютубе попадалось мне такое. Кажется, там человек погодную станцию делал. Вполне нормально отрисовывал рамку символом градуса. Графический дсплей купить хорошо, конечно, но там еще с какими-нибудь проблемами столкнусь. Хотелок больше появится. А если уж на то пошло, то проще готовое устройство купить по своим нуждам, но мы ведь не для того тут, верно? На счет C++, согласен с вами - вещь, только вот на изучение уйдет много времени, да помимо понимания команд нцжно еще и логику иметь нестандартную. Годы, когда можно было за это браться и учиться, прошли. Впереди... Кто знает сколько еще осталось? Браться за изучение языков программирования нет уже смысла. Спасибо Сергею Глушенко за этот подарок - flprog! Спасибо всему сообществу за работу и помощь! Понятно, что всех хотелок не реализовать без кода, но без flprog я бы вообще сейчас скучал. Что же? Нет, так нет.
- Dryundel
- Полковник
- Сообщения: 2437
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 3 раза
- Поблагодарили: 31 раз
Разделение LCD на сектора/зоны.
Разделение LCD на сектора/зоны.
[ref=#ff8000]Dryundel[/ref], да мы-то не спешим себя... Есть те, кто спешит нас. Мира всем и добра!
Отправлено спустя 3 минуты 43 секунды:
[ref=#ff8000]Dryundel[/ref], на счет рамки из символов... Это можно и не делать. Просто с рамкой более понятен смысл этой темы - отрисовывать числа в произвольной области с выравниванием по центру этой области, а не у краев экрана или в его центре.
Отправлено спустя 5 минут 14 секунд:
Вообще интересна стала работа с дисплеем в программе. Вот, например, такой еще вариант было бы неплохо реализовать - отрисовка из центра дисплея (или произвольной области) справа налево. Такого я тоже не встречал, кажется. Интересно, почему это никому не интересно?
Отправлено спустя 3 минуты 43 секунды:
[ref=#ff8000]Dryundel[/ref], на счет рамки из символов... Это можно и не делать. Просто с рамкой более понятен смысл этой темы - отрисовывать числа в произвольной области с выравниванием по центру этой области, а не у краев экрана или в его центре.
Отправлено спустя 5 минут 14 секунд:
Вообще интересна стала работа с дисплеем в программе. Вот, например, такой еще вариант было бы неплохо реализовать - отрисовка из центра дисплея (или произвольной области) справа налево. Такого я тоже не встречал, кажется. Интересно, почему это никому не интересно?

-
- Лейтенант
- Сообщения: 556
- Зарегистрирован: 04 июн 2022, 04:14
- Имя: Михаил
- Благодарил (а): 5 раз
- Поблагодарили: 9 раз
Разделение LCD на сектора/зоны.
1. Задача нетипичная.
2. Нафиг никому не надо
3. Хороший интерфейс на древнем и примитивном дисплее не сделаешь.
4. Хотите красоты - возьмите Nextion (или аналоги)
-
- Полковник
- Сообщения: 4009
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разделение LCD на сектора/зоны.
Если правильно понял, то требуется разбить строки на поля.DmitriyR писал(а): 15 мар 2023, 06:59 Имеется дисплей 2004. С помощью блока дисплея могу вывести информацию в каждую строку и включить выравнивание по левому краю, правому или по центру строки...
Вопрос: а как сделать так, чтобы каждую строку дисплея поделить пополам (20/2=10 столбцов) и в каждой из половин отображать текст, выравнивая его по центру/слева/справа? То есть, должно из строки по 20 столбцов получиться две по 10 столбцов и в каждой из двух я должен иметь возможность выравнивания текста слева, справа или по центру этой области.
Или обозначить как- то произвольно область экрана (скажем 5 столбцов в любой строке) и выполнить выравнивание в этой области...
Может есть такие блоки у кого?
Если так, то это делают блоки ecoins.
Разделение LCD на сектора/зоны.
[ref]ecoins[/ref], можно и так сказать. А в полях имеется возможность выполнить выравнивание по центру поля, по краям?
Отправлено спустя 10 минут 53 секунды:
2. Кому-то это надо, по-любому. Только те, кто это делает свободно, на этом форуме не сидят, похоже.
3. Так и цели нет делать что-то из ряда вон. Просто чуть окультурить, так сказать.
4. Вот именно такая красота мне ни к чему. Это лишнее. Посему, совет не принимается
Отправлено спустя 10 минут 53 секунды:
1.Задача нетипичная - это... Нарисовать кораблик в несколько строк из пикселей. И то, с натяжкой можно так сказать.WildCat писал(а): 15 мар 2023, 13:28
1. Задача нетипичная.
2. Нафиг никому не надо
3. Хороший интерфейс на древнем и примитивном дисплее не сделаешь.
4. Хотите красоты - возьмите Nextion (или аналоги)

2. Кому-то это надо, по-любому. Только те, кто это делает свободно, на этом форуме не сидят, похоже.
3. Так и цели нет делать что-то из ряда вон. Просто чуть окультурить, так сказать.
4. Вот именно такая красота мне ни к чему. Это лишнее. Посему, совет не принимается

Последний раз редактировалось DmitriyR 15 мар 2023, 19:43, всего редактировалось 1 раз.
-
- Полковник
- Сообщения: 4009
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разделение LCD на сектора/зоны.
Каждое поле выравнивается влево, вправо, по центру. К каждому полю может быть привязан заголовок(текстовый, хранится в PROGMEM), суффикс(символ), за предела поля избыточное сообщение не выходит. Если длина поля=0, то длина поля определяется от текущей позиции до конца строки.DmitriyR писал(а): 15 мар 2023, 19:21 ecoins, можно и так сказать. А в полях имеется возможность выполнить выравнивание по центру поля, по краям?
Разделение LCD на сектора/зоны.
[ref]ecoins[/ref], имеется ли возможность где-то скачать все ваши блоки одним архивом? Вообще все, чтоесть для flprog у вас. Возможно что-то когда-то пригодится еще. Рыскать по всему форуму как-то неудобно совсем. Чтобы что-то найти, нужно еще обозвать это так, как обозвал автор, а это не всегда получается. Поиск надо с искусственным интеллектом и наводящими вопросами по ходу дела. 

Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость