Char

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
dim21841
Рядовой
Сообщения: 37
Зарегистрирован: 13.10.2015{, 08:08}
Репутация: 0
Откуда: Бельцы

Char

#1

Сообщение dim21841 » 03.12.2015{, 21:56}

Всем привет!
Сталкивался-ли кто-то с необходимостью вывода на экран маленькой пиктограммы?
В принципе по средством Arduino IDE у меня получилось и создать и вывести на экран, только вот в чём проблема саму программу я создал в FLPorg и сидеть потом в ручную добавлять куски кода перед заливкой не очень хочется. Поэтому вопрос как прямо в программе создать и хранить элемент CHAR?
0874387.jpg
Добавлено (03.12.2015, 21:56)
---------------------------------------------
не ужели не реально??

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 63
Контактная информация:

Char

#2

Сообщение Олег » 03.12.2015{, 22:27}

Я думаю мало кто озадачивался этой проблемой, ждите, может кто и откликнется.

dim21841
Рядовой
Сообщения: 37
Зарегистрирован: 13.10.2015{, 08:08}
Репутация: 0
Откуда: Бельцы

Char

#3

Сообщение dim21841 » 03.12.2015{, 22:53}

ээх... буду ждать, в ручную вставить в IDE после FLProg что-то не получается (

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

Char

#4

Сообщение DWD » 04.12.2015{, 16:56}

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

По этому поодерживаю просьбу к автору програмы придумать что-то.
Изображение

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Char

#5

Сообщение Слимпер » 05.12.2015{, 08:40}

Некоторые дополнительные символы можно и сейчас выводить. 
Правда только те которые зашиты в знакогенераторе дисплея.
Почитайте здесь: LCD HD44780 Вывод символов

dim21841
Рядовой
Сообщения: 37
Зарегистрирован: 13.10.2015{, 08:08}
Репутация: 0
Откуда: Бельцы

Char

#6

Сообщение dim21841 » 05.12.2015{, 10:09}

Слимпер, спасибо. Учту в будущих проектах. Жаль что нельзя самому нарисовать что-то... но будем ждать.

Кстати а как насчёт вывода информации на OLED SSD1306? Думаю создать STRING переменные а за тем добавить пару строк код по сборке этих переменных на экране. Как думаете получится?

Вложения
7581682.jpg
Последний раз редактировалось dim21841 05.12.2015{, 10:11}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Char

#7

Сообщение Слимпер » 05.12.2015{, 11:26}

dim21841 писал(а):Кстати а как насчёт вывода информации на OLED SSD1306? Думаю создать STRING переменные а за тем добавить пару строк код по сборке этих переменных на экране. Как думаете получится?
К сожалению вряд ли получится, это как я понял это графический дисплей, а Flprog пока поддерживает только символьные, притом только на чипе HD44780 (и его клонах).

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

Char

#8

Сообщение DWD » 05.12.2015{, 13:09}

Слимпер писал(а):Почитайте здесь: LCD HD44780 Вывод символов
Спасибо, но я мало что понял. :)
Суть понятна, а вот реализация нет.
Объясните, пожалуйста, как в примере по Вашей ссылке сформирована надпись "Влажность", имеющая код "В\273а\266\275ос\277\304" ?
Изображение

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Char

#9

Сообщение Слимпер » 05.12.2015{, 14:14}

DWD писал(а):Объясните, пожалуйста, как в примере по Вашей ссылке сформирована надпись "Влажность", имеющая код "В\273а\266\275ос\277\304" ?
Принцип такой, надо найти в документации на ваш экран, таблицу символов.
Вот таблица экрана который я использовал.
Изображение
Все символы которые там есть можно вывести, используя их уникальный (для этого дисплея) код.
Код формируется так:
В верхней строке таблице в двоичной форме указаны коды столбцов. Здесь вместо 0 и 1 использованы буквы L и H, то есть запись LLLL = 0000, а HHHH=1111.
Аналогичным образом в левом столбце задаются коды строки.
Для получения кода символа из таблице необходимо записать вместе код столбца и строки.
Для примера бреем букву "л:
Код столбца "HLHH"=1011
Код строки  " HLHH"=1011
Записываем в одну строку получаем:
Код буквы "л" в двоичной форме = 10111011
Конвертируем в восьмеричное представление:
Либо в уме (для тех кто хорошо знает эту тему), либо с помощью программ (их множество), самое простое Windows калькулятор, правда его надо перевести в режим Программист (в семерки вкладка вид).
5376087.docx
(17.98 КБ) 90 скачиваний
В открывшемся калькуляторе переходим в двоичную систему счисления (пнопка Bin)
Вводим код символа
0756251.png
Переводим число в восьмеричную систему счисления, (нажав Oct)
0378004.png
Вот и получили код буквы "л" из слова влажность, а записывается он вместе с символом "\", "\273"
Остальные русские буквы аналогично,  а те что по написанию совпадают с латинскими берутся из латинского алфавита, в слове влажность это буквы (В , а , о , с)

Когда я делал свой проект для простоты использования составил себе табличку русского алфавита:
Коды символов (5376087.docx)
Вложения
8145440.png
Последний раз редактировалось Слимпер 05.12.2015{, 14:17}, всего редактировалось 1 раз.

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

Char

#10

Сообщение DWD » 05.12.2015{, 17:20}

Понял, на чём прокололся - я решил, что пример в шестнадцатиричном коде.
Хорошо знаком с двоичным и  шестнадцатиричным, а восмеричным никогда не пользовался.
В примере по ссылке это бы нужно указать...

Для полного анализа, приведите, пожалуйста, пример кода того же слова, но в  шестнадцатиричной системе счисления. 

И ещё. Возможны ли такие функции дисплея, как курсор, мигание и т.д.?
Изображение

dim21841
Рядовой
Сообщения: 37
Зарегистрирован: 13.10.2015{, 08:08}
Репутация: 0
Откуда: Бельцы

Char

#11

Сообщение dim21841 » 05.12.2015{, 18:34}

Слимпер писал(а):К сожалению вряд ли получится, это как я понял это графический дисплей, а Flprog пока поддерживает только символьные, притом только на чипе HD44780 (и его клонах).
так я собираюсь конечные данные отправлять не на lcd 1602 а помещать их в переменные типа string, далее перед заливкой скетча в arduino ручками добавлю пару строк которые будут эти переменные размещать на экране.
дело в том что собрал и обкатал устройство на Mega 2560 + LCD 1602 а в конечном виде хочу запустить на PRO Mini + OLED SSD1306. как с этим экраном работать ручками знаю, уже получалось а вот попробовать совместить FLProg c "ручками" еще не пробовал )

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Char

#12

Сообщение Слимпер » 05.12.2015{, 18:54}

dim21841 писал(а):так я собираюсь конечные данные отправлять не на lcd 1602 а помещать их в переменные типа string, далее перед заливкой скетча в arduino ручками добавлю пару строк которые будут эти переменные размещать на экране.дело в том что собрал и обкатал устройство на Mega 2560 + LCD 1602 а в конечном виде хочу запустить на PRO Mini + OLED SSD1306. как с этим экраном работать ручками знаю, уже получалось а вот попробовать совместить FLProg c "ручками" еще не пробовал )
Пробуйте, может и правда выйдет, с латинскими буквами и цифрами думаю все может получится, а вот с русскими и символами это мало вероятно. Так как в Arduino IDE Sting представлен символами ASCII (таблице кодировки символов ASCII). 
Хотя может я чего не знаю и в Flprog, другая таблица символов.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Char

#13

Сообщение Слимпер » 05.12.2015{, 19:35}

DWD писал(а):Для полного анализа, приведите, пожалуйста, пример кода того же слова, но в  шестнадцатиричной системе счисления.
 
Проверь не смогу свободного дисплея с русским сейчас нет, но должно быть что то вроде:
"Влажность", 
"\x42BB61B6BD6F63BFC4"
Приходится все буквы задавать кодами как уже писалось в статье
Единственный нюанс в том, что после того, как компилятор в строке видит последовательность \x, он считывает за ним все символы, которые могут являться разрядами шестнадцатиричной системы даже если их больше двух.
DWD писал(а):И ещё. Возможны ли такие функции дисплея, как курсор, мигание и т.д.?
Ну напрямую функции задействовать нельзя, но сделать костыли можно 
8536343.png
Вот так делаю мигание курсора в нужной позиции (сверху пробел - закрашенный символ, снизу двоеточие -  закрашенный символ ) 
8444214.png
А так мигание двухзначного числа.
Вот бегущею строку делать не пробовал, но вроде на форуме где писали, что можно сделать использую массивы.

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

Char

#14

Сообщение DWD » 05.12.2015{, 21:48}

Спасибо, всё понятно. 

А вот танцы с бубном для спецфункций не радуют...
Изображение

dim21841
Рядовой
Сообщения: 37
Зарегистрирован: 13.10.2015{, 08:08}
Репутация: 0
Откуда: Бельцы

Char

#15

Сообщение dim21841 » 05.12.2015{, 22:13}

Слимпер писал(а):с латинскими буквами и цифрами думаю все может получится
так а мне и хватит. мне что латиница что кириллица, проблем нет. тем более что выводиться будут в основном цифры, спецсимволы и пиктограммы.

Ответить

Вернуться в «Спросить у знатоков»