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}
Репутация: 62
Контактная информация:

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
Лейтенант
Сообщения: 349
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

Char

#4

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

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

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

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

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 переменные а за тем добавить пару строк код по сборке этих переменных на экране. Как думаете получится?

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

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

Char

#7

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

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

DWD
Лейтенант
Сообщения: 349
Зарегистрирован: 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}
Репутация: 25
Откуда: Новосибирск

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 калькулятор, правда его надо перевести в режим Программист (в семерки вкладка вид).
8145440.png
В открывшемся калькуляторе переходим в двоичную систему счисления (пнопка Bin)
Вводим код символа
0378004.png
Переводим число в восьмеричную систему счисления, (нажав Oct)
0756251.png
Вот и получили код буквы "л" из слова влажность, а записывается он вместе с символом "\", "\273"
Остальные русские буквы аналогично,  а те что по написанию совпадают с латинскими берутся из латинского алфавита, в слове влажность это буквы (В , а , о , с)

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

DWD
Лейтенант
Сообщения: 349
Зарегистрирован: 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}
Репутация: 25
Откуда: Новосибирск

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}
Репутация: 25
Откуда: Новосибирск

Char

#13

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

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

DWD
Лейтенант
Сообщения: 349
Зарегистрирован: 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}

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

Ответить

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

Кто сейчас на конференции

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