Я проделал несколько эксперементов, замерил скорости
Не рекомендую использовать библиотеку ili9163c, с этим дисплеем
рекомендаую Adafruit_ST7735, работает в середнем в двое быстрее, меньше глюков, ест меньше памяти
В строке инициализации писать TFT.initR(INITR_GREENTAB);
таким образом доступно все пространство дисплея, и нет справа шумов и мусора.
Да у меня так-то особых претензий к библиотеке ILI9163C нет. Те примеры, что удалось запустить летают довольно шустро. Но некоторые примеры просто не запускаются...я не понимаю почему.
Попробую библиотеку Adafruit_ST7735. Но у меня подозрение, что это библиотека для другого дисплея. У меня дисплей ILI9163.
Как ваш дисплей выводит фото на экран ? как проэкт движется ?
накопал случайно интерресное видио про эти дисплеи . Может вам что пригодится . там и ссылки на проэкты. Только всё а на Вражьем языке. Английском https://youtu.be/9RIKzXANbOY
Как ваш дисплей выводит фото на экран ? ...................видио про эти дисплеи ......................
Сейчас изучаю дисплей ILI9163C 1.44 128x128. А ваши ссылки про дисплей ILI9341. У меня есть ILI9340 (аналогичный ILI9341) 320x240. С ним у меня все нормально. Примеры идут, фотки с карточки выводятся. Подключал его к проминьке 3.3вольта дисплей прекрасно работает, карточка работать перестает. Надо просто разобраться немного. А от 5 вольт и дисплей и карта работает. В настоящее время (благодаря arduinec и DarkGenius, спасибо им огромное) руссифицировал дисплейчик ILI9163C. Надеюсь, что теперь смогу руссифицировать и дисплей ILI9340. Не смогу, так теперь знаю к кому обращаться :)
А картинку вывести с SD карточки на дисплей ILI9163C 128х128 пока не смог :(
Русификация библиотеки Adafruit-GFX и вывод русских букв на дисплей в кодировке UTF-8 из Arduino IDE
Сто раз готов сказать спасибо arduinec_у и DarkGenius_у. Благодаря им смог выводить на дисплейчик ILI9163C 128x128 русский текст. Очень обрадовался
Но дальше, больше.....На картинке самый мелкий шрифт, который является основой для более крупных шрифтов. Более крупные получаются простым увеличением массштаба этого самого мелкого, поэтому, чем крупней шрифт, тем он корявее. Недавно увидел, что буржуи применяют на этом экране шрифты немного крупнее, но более гладкие. Смотрятся и читаются они гораздо приятнее. Все эти вкусности осуществляются в разных версиях и комплектах библиотек Adafruit_GFX и ILI9163C. Есть большая мечта соединить классную руссификацию arduinec_а и красивый шрифт как у SpearMint_а.
Вот картинка как смотрится немного более крупный и красивый шрифт
Если кому интересно могу поподробнее описать как подключаются шрифты и как можно заменить стандартный.
SpearMint, как Ваши успехи с дисплейчиком? Как руссификация? Как подключение новых шрифтов? Хотелось бы увидеть картинку с русским текстом......пожалуйста..
(да мне удалось подключить 3 штуки к одному ардуино, все три работают с одной библиотекой Adafruit_ST7735, адресация отдельная, изображения тоже показывают разное (не дублируется) )
Мне кажется что разные. Я сужу по рамочке из белой пласмассы. Они разные по внешнему виду. И у моего на обратной стороне платы написано 1.44' SPI 128*128 V1.1. А что написано на Вашем?
Очень жаль, что на мой призыв "Давайте сделаем красивый русский шрифт на дисплейчик 1.44 SPI 128х128 !!!!" ни кто не откликнулся. Но чем больше я занимаюсь этим дисплейчиком, он мне нравится все больше и больше. Конечно, моих знаний в программировани очень мало, и приходится работать методом тыка. Но, все-таки удалось запустить библиотеку "TFT_ILI9163C-Pre-Releas-1.0p7". Там куча всяких примеров, правда, у меня не все заработали, но библиотека интересная. На глаз заметна гораздо более высокая скорость, и в скетчах подключается только сама эта библиотека без библиотеки Adafruit_GFX, есть возможность подключения внешних шрифтов.
Сниму видео по примерам из библиотеки, выложу для сравнения.
Спасибо. Я решил всетаки убить свое время и попробовать самому разобраться в библиотеках на ходовые дисплеи. Сохранил все ссылки про руссификацию и подключение шрифтов. Буду грызть.
P.S. Сегодня натолкнулся на ролик про часики DS3231 и дисплей ILI9163C. Залил в свои часики, кое-что поправил. Получился хороший пример по недостаткам библиотеки. Дисплей маленький по размеру и приходится играть с размерами шрифтов. Так вот нормально смотрится только самый маленький шрифт, а шрифты полученные масштбированием смотрятся довольно коряво. Картинка прилагается
По моему все не плохо. Зато такие шрифты занимают мало места. Памяти на AVR платформы по минимому (даже если вы используете PROGMEM)
Можно орагнизовать "псевдо сглаживание" штрифта, нарисовав его дважды (или трижды)
Сначала серым цветом сдвинув на один пиксел вниз или вправо, а потом белым по верх. Зрительно будет смотреться лучше.
А мне-то хотелось бы применить шрифт не массштабированный из шрифта 5х7, а гладкий, немного большего размера, какой-нибудь 7х12, ну, то есть начать с такого и применять его, а если понадобится то массштабировать его. Выложу видео о том, что я хочу.
arduinec, подскажите пожалуйста как можно отредактировать шрифт и добавить в него русские буквы. В настоящее время пробовал библиотеку ILI9163C версия 1.0.7p для одноименного дисплея. Эта версия работает сама по себе без библиотеки Adafruit. В ней имеется несколько красивых шрифтов разной величины, и даже вроде бы есть шрифт с разной шириной букв......но там нет русских букв :( Хотелось бы их дорисовать
Похоже, что меня не совсем понимают...Посмотрите пожалуйста пост # 157. Там две фотки с моего экранчика. На первой фотке шрифт 5х7, на второй шрифт покрупнее...но он не масштабирован, он гладкий и не состоит из увеличенных квадратиков. Во втором случае используется модифицированная библиотека Adafruit, но в этом шрифте нет русских букв, и если применять функцию arduinec_а, если писать по-русски, то ни чего не выводится. А мне хотелось бы такой гладкий шрифт и с русскими буквами.
Забыл написать. Если запускать примеры из библиотеки ILI9163c, то в скетче надо заменить #include <Adafruit_GFX.h> на #include <Adafruit_mfGFX.h> . Вот еще скетч с менюхой, что на картинке https://yadi.sk/d/-Xe6hLYWwGGUo
Еще есть библиотека для ILI9163c, которая работает без Adafruit_GFX, имеет возможность подключать разные шрифты. Сниму видео или фотки, выложу.
пробовали вывод картинки с CD карты на дисплее LCD 1,8 160x128
стандартная библиотека из примеров, занимает много места, как бы её сократить.
сделал осцилограф на промини, хотел при включении была заставка, с CD карты, но не влазет, места осталось 7 к. Подскажете что нибудь ?
С дисплеем пока не разобрался. По профессии я столяр, поэтому программирование идет туговато. Так что ни чем помочь не могу... Вот если табуреточку помочь, то это запросто :)
Сейчас балуюсь с часиками на дисплейчике ILI9163C 144х144. А 160х128 у меня такого нет и с таким я не сталкивался.
Сейчас изучаю библиотеку для этого дисплейчика, которая работает без библиотеки Adafruit, имеет возможность подключать внешние шрифты.
Моя цель - хочу писать этой библиотекой по-русски не корявыми шрифтами, пока не получается. Кстати, библиотека довольно шустрая, скоро покажу.
хоть ктото в серьёз занялся шрифтами и их , адаптацией к разным дисплееям. И особенно добавлением РУССКИХ шрифтов. это нужное дело.
я пока рою интернет и пробую изменить программы под свой дисплей для вывода изображений. те что встречаются работают не очень норм, на TFT 160x128 со встроенного SD адаптера, и занимают много места, пробую сократить код. и те что в комплекте с библиотекой много места занимают.
Да это разве всерьез?..Если поискать по этому форуму, можно найти темы где люди на самом деле всерьез занимались этим. Есть очень красивые решения. Все расписано как сделать...Но я пока не могу полностью все понять, не хватает времени и знаний. Готовый русский шрифт на своем дисплейчике использовать удалось (на ILI9361), а на дисплейчике Nokia 5110 даже сам подредактировал русский шрифт, сделал его красивее.
Сейчас удалось "расшифровать" как строится буква в библиотеке. Оказывается все байты массива, определяющего букву, как бэ выстраиваются в длинную линейку битов, а потом эта линейка режется на кусочки, по количеству битов, равному ширине шрифта. Потом из этих кусочков складывается стопка, равная высоте шрифта, и получается буква. Пока вот так :)
у меня тоже появился дисплейчик ILI9361 / а как вы добавляете доп. шрифты русские в этот экран.
скоро буду делать проект, для умной дачи, всё что возможно было на экране, температура, дом, улица, авто полив в теплице, и всё инфо из теплици. элктро снабжение домом, солн.бат, и эл.снабжение, освещение. Контроль доступа. пока все эти данные идут на телефон, через блюпуп. теперь хотел сделать на экран.
у меня тоже появился дисплейчик ILI9361 / а как вы добавляете доп. шрифты русские в этот экран.
скоро буду делать проект, для умной дачи, всё что возможно было на экране, температура, дом, улица, авто полив в теплице, и всё инфо из теплици. элктро снабжение домом, солн.бат, и эл.снабжение, освещение. Контроль доступа. пока все эти данные идут на телефон, через блюпуп. теперь хотел сделать на экран.
Могу скинуть руссифицированную библиотеку для ILI9163. Немного выше в этой теме картинка часиков, сделаных с этой библиотекой. Там "Воскресение" написано чисто по-русски :)
Только эта библиотека работает в комплекте с библиотекой Adafruit.
А сейчас я ломаю голову с библиотекой для ILI9163, которая работает без Adafruit, и имеет возможность подключать внешние шрифты. Хочу понять, как для нее сделать русский шрифт.
А по Вашей ссылке не про шрифт, а про беспроводной выключатель.
А часики..скетч практически тот же, только в первых часиках циферблат был круглый, а здесь поквадратней...еще добавил мелодию и цифровые часы (да и то не полностью) и подошел к границе памяти. Надо будет скетчик как-то поужать, а то и таймер хотелось бы, и будильник..
Сейчас удалось "расшифровать" как строится буква в библиотеке. Оказывается все байты массива, определяющего букву, как бэ выстраиваются в длинную линейку битов, а потом эта линейка режется на кусочки, по количеству битов, равному ширине шрифта. Потом из этих кусочков складывается стопка, равная высоте шрифта, и получается буква. Пока вот так :)
Ну, это лишь один из вариантов. Кстати, оптимальный по занимаемому месту, но неоптимальный по скорости отрисовки.
В других вариантах может использоваться целое число байт на фрагмент (строку или столбец пикселей). Например, для шрифта шириной 20 пикселей может использоваться 3 байта на строку.
Еще вариант - растр хранится не построчно, а "постолбцово", т.е. в виде не горизонтальных, а вертикальных полосок.
Но это все, естественно, только про растровые шрифты, тогда как в теме поднимался вопрос и векторных.
andriano, помогите.... Я готов нарисовать новый шрифт, но не понимаю как. Есть смутное понятие, как это устроить, но практически ни чего не получается.Подскажите, пожалуйста..
Вот как в этой библиотеке описывается шрифт arial20, хотелось бы в него добавить или лучше заменить на русские буквы. И еще хотелось бы сделать отдельный шрифт с большими цифрами от 0 до 9
Joiner, по-хорошему нужно смотреть определения типов _smCharType и tImage.
Иначе - только пытаться догадываться.
Что можно предположить: что имеется пропорциональный (т.е. с различной шириной символов) шрифт высотой 20 пикселей. Кодирование, судя по всему, осуществляется именно так, как Вы и описали, т.е. разворачиваем массив в цепочку битов и нарезаем ее кусочками равными ширине символа. Кусочки (каждый размещаем горизонтально) складываем в стопку по вертикали.
Соответственно, чтобы заменить начертание символа, нужно решить, какая у него будет ширтна, вписать это число в соответствующее поле, посчитать длину массива, для чего умножить ширину символа на его высоту (20) и поделить на 8 (битов в байте), результат округлить в большую сторону. Заполнить соответствующее поле. Нарисовать символ по клеточкам, перегруппировать строчки в биты и записать полученный байтовый массив.
Можно ли добавить русские буквы, не знаю - нужно смотреть функцию вывода символа. Вполне вероятно, что она не может работать с кодами символов выше 127. В любом случае, Вам нужно хорошо понимать, что такое кодировка символов, какие бывают кодировки, какая кодировка используется в Aeduino IDE, чем однобайтовые кодировки отличаются от кодировок с переменной длиной символа и т.д.
Что нужно сделать, чтобы сделать отдельно цифры большего размера.
Во-первых, как-то надо сообщить функцйии вывода вертикальный размер. Могу предположить, что для этого служит элемент массива tFont с индексом 3 (4-й по счету). Но лучше справиться в тексте библиотеки.
Во-вторых, нужно сообщить, сколько у нас вообще символов (обычно от 10 до 13, учитывая "." и "-"). Вероятнее всего для этого служит 0-й элемент массива tFont.
В-третьих, нужно сообщить, с какого символа начинается отсчет. Как это сделать, я не знаю: среди элементов tFont подходящего кандидата не обнаружил. Нужно смотреть код библиотеки. По идее в приведенном фонте это должно быть число 32. Но не исключаю, что число 32 прибавляется по умолчанию. Тогда возможный кандидат на эту роль - последний элемент в массиве tFont. Но нельзя исключать и варианта, что разработчик библиотеки не предусмотрел такой возможности.
Ну и в-четвертых - готовить данные по указанному выше алгоритму.
Превосходные и функциональные часы получились! Плюсую тему! Вот один из моих эксперементов с дисплеем LCD TFT 2.8 https://youtu.be/Yx5-GhII6Hk . Сплогиатил игру, но сразу не заработала, черные полосы по всему дисплею были, пришлось применить другую библиотеку и изменить код.
Переделанный скетч практически такой же как и первоначальный. Не вижу смысла выкладывать недоделанную заготовку, тем более что при доработке столкнулся с, неразрешимой для меня проблемой, нехваткой памяти. В новом скетче добавил функцию аналоговой клавиатуры, мелодию, и первоначальный экран цифровых часиков....и все...памяти больше нет. :))))) Разочаровался, пока отложил в долгий ящик.
Превосходные и функциональные часы получились! ............
Сплогиатил игру,................ пришлось применить другую библиотеку и изменить код.
Первое утверждение несколько преувеличено :) Это пока просто стрелочные часики без всяких функций. Улучшить пока не удалось, память кончилась. Видимо, просится экранчик как у Вас и Mega 2560, чтобы добавить туда все, что мне хочется, или как-то извратиться и впихнуть все в Pro mini.
Я проделал несколько эксперементов, замерил скорости
Не рекомендую использовать библиотеку ili9163c, с этим дисплеем
рекомендаую Adafruit_ST7735, работает в середнем в двое быстрее, меньше глюков, ест меньше памяти
В строке инициализации писать TFT.initR(INITR_GREENTAB);
таким образом доступно все пространство дисплея, и нет справа шумов и мусора.
Я проделал несколько эксперементов, замерил скорости
Не рекомендую использовать библиотеку ili9163c, с этим дисплеем
рекомендаую Adafruit_ST7735, работает в середнем в двое быстрее, меньше глюков, ест меньше памяти
В строке инициализации писать TFT.initR(INITR_GREENTAB);
таким образом доступно все пространство дисплея, и нет справа шумов и мусора.
Попробую библиотеку Adafruit_ST7735. Но у меня подозрение, что это библиотека для другого дисплея. У меня дисплей ILI9163.
Поверьте идут обе библиотеки на этом дисплее. Проверял. У меня приложение критичное по скорости, поэтому специально тестировал
Поверьте идут обе библиотеки на этом дисплее. Проверял. У меня приложение критичное по скорости, поэтому специально тестировал
Joiner
Как ваш дисплей выводит фото на экран ? как проэкт движется ?
накопал случайно интерресное видио про эти дисплеи . Может вам что пригодится . там и ссылки на проэкты. Только всё а на Вражьем языке. Английском https://youtu.be/9RIKzXANbOY
https://youtu.be/ZosNH0HEF4Q.
Joiner
Как ваш дисплей выводит фото на экран ? ...................видио про эти дисплеи ......................
А картинку вывести с SD карточки на дисплей ILI9163C 128х128 пока не смог :(
Почитал соседнюю тему
Русификация библиотеки Adafruit-GFX и вывод русских букв на дисплей в кодировке UTF-8 из Arduino IDE
Сто раз готов сказать спасибо arduinec_у и DarkGenius_у. Благодаря им смог выводить на дисплейчик ILI9163C 128x128 русский текст. Очень обрадовался
Но дальше, больше.....На картинке самый мелкий шрифт, который является основой для более крупных шрифтов. Более крупные получаются простым увеличением массштаба этого самого мелкого, поэтому, чем крупней шрифт, тем он корявее. Недавно увидел, что буржуи применяют на этом экране шрифты немного крупнее, но более гладкие. Смотрятся и читаются они гораздо приятнее. Все эти вкусности осуществляются в разных версиях и комплектах библиотек Adafruit_GFX и ILI9163C. Есть большая мечта соединить классную руссификацию arduinec_а и красивый шрифт как у SpearMint_а.
Вот картинка как смотрится немного более крупный и красивый шрифт
Ребят, на днях могу вам подогнать шрифт с Кирилицей, но для этого вам нужно будет перебраться на новую версию библиотеки
https://github.com/sumotoy/TFT_ILI9163C/tree/Pre-Release-1.0r5
На 1.0r4 не советую сидеть, есть некоторые проблемы.
................................................................
Если кому интересно могу поподробнее описать как подключаются шрифты и как можно заменить стандартный.
Я проделал несколько эксперементов, замерил скорости
Не рекомендую использовать библиотеку ili9163c, с этим дисплеем
рекомендаую Adafruit_ST7735, работает в середнем в двое быстрее, меньше глюков, ест меньше памяти
В строке инициализации писать TFT.initR(INITR_GREENTAB);
таким образом доступно все пространство дисплея, и нет справа шумов и мусора.
Странно. У нас точно одинаковые дисплеи?
По ссылке фото моего:
https://www.dropbox.com/s/9tgkljqipqzeset/2016-09-15%2020.13.34.jpg?dl=0
(да мне удалось подключить 3 штуки к одному ардуино, все три работают с одной библиотекой Adafruit_ST7735, адресация отдельная, изображения тоже показывают разное (не дублируется) )
Странно. У нас точно одинаковые дисплеи?
Вот фотка моего
У меня. Точно такиеже;
https://www.dropbox.com/s/8hsguuyl1xyqsci/2016-09-25%2019.57.43.jpg?dl=0
У меня. Точно такиеже;
.............
Странно, почему же у меня не запускается?
P.S. Мне показалось ч то Ваши с внешней стороны выглядят иначе. Я нашел два различия.
https://github.com/adafruit/Adafruit-ST7735-Library
https://github.com/adafruit/Adafruit-ST7735-Library
Очень жаль, что на мой призыв "Давайте сделаем красивый русский шрифт на дисплейчик 1.44 SPI 128х128 !!!!" ни кто не откликнулся. Но чем больше я занимаюсь этим дисплейчиком, он мне нравится все больше и больше. Конечно, моих знаний в программировани очень мало, и приходится работать методом тыка. Но, все-таки удалось запустить библиотеку "TFT_ILI9163C-Pre-Releas-1.0p7". Там куча всяких примеров, правда, у меня не все заработали, но библиотека интересная. На глаз заметна гораздо более высокая скорость, и в скетчах подключается только сама эта библиотека без библиотеки Adafruit_GFX, есть возможность подключения внешних шрифтов.
Сниму видео по примерам из библиотеки, выложу для сравнения.
Очень жаль, что на мой призыв "Давайте сделаем красивый русский шрифт на дисплейчик 1.44 SPI 128х128 !!!!" ни кто не откликнулся.
Дык возьмите и сконвертируйте для gfx любой шрифт - http://arduino.ru/forum/programmirovanie/rusifikatsiya-biblioteki-adafruit-gfx-i-vyvod-russkikh-bukv-na-displei-v-kodi?page=2#comment-221218
Дык возьмите и сконвертируйте для gfx любой шрифт - http://arduino.ru/forum/programmirovanie/rusifikatsiya-biblioteki-adafruit-gfx-i-vyvod-russkikh-bukv-na-displei-v-kodi?page=2#comment-221218
P.S. Сегодня натолкнулся на ролик про часики DS3231 и дисплей ILI9163C. Залил в свои часики, кое-что поправил. Получился хороший пример по недостаткам библиотеки. Дисплей маленький по размеру и приходится играть с размерами шрифтов. Так вот нормально смотрится только самый маленький шрифт, а шрифты полученные масштбированием смотрятся довольно коряво. Картинка прилагается
По моему все не плохо. Зато такие шрифты занимают мало места. Памяти на AVR платформы по минимому (даже если вы используете PROGMEM)
Можно орагнизовать "псевдо сглаживание" штрифта, нарисовав его дважды (или трижды)
Сначала серым цветом сдвинув на один пиксел вниз или вправо, а потом белым по верх. Зрительно будет смотреться лучше.
По моему все не плохо. Зато такие шрифты занимают мало места. Памяти на AVR платформы по минимому (даже если вы используете PROGMEM)
Можно орагнизовать "псевдо сглаживание" штрифта, нарисовав его дважды (или трижды)
Сначала серым цветом сдвинув на один пиксел вниз или вправо, а потом белым по верх. Зрительно будет смотреться лучше.
.......................................
К остальным дисплеям нужно подключить соответствующие библиотеки Adafruit - все они используют Adafruit-GFX, которая там русифицирована.
================================================================
arduinec, подскажите пожалуйста как можно отредактировать шрифт и добавить в него русские буквы. В настоящее время пробовал библиотеку ILI9163C версия 1.0.7p для одноименного дисплея. Эта версия работает сама по себе без библиотеки Adafruit. В ней имеется несколько красивых шрифтов разной величины, и даже вроде бы есть шрифт с разной шириной букв......но там нет русских букв :( Хотелось бы их дорисовать
применить шрифт не массштабированный из шрифта 5х7, а гладкий, немного большего размера
Квадратичные кривые Безье?
применить шрифт не массштабированный из шрифта 5х7, а гладкий, немного большего размера
Квадратичные кривые Безье?
Я имел в виду масштабирование шрифтов начинать не с шрифта 5х7, асделать самым маленьким шрифт покрупнее, какой-нибудь 7х12.
Я не знаю даже что такое индекс доуджонса, а Вы меня про какое-то безье спрашиваете!
Знаете. Точно знаете. Они у вас сейчас на экране )
На компе и TrueType, и PostScript шрифты, которые вы можете видеть на экране рисуются кривыми Безье )
А если без шуток, то иной размер шрифта библиотека TFT (точнее Adafruit_GFX в ней) просто не поддерживает. Так как размер шрифта захаркожен.
и что мешает поменять в Adafruit_GFX.cpp в строке:" textsize = 1;" ?
Похоже, что меня не совсем понимают...Посмотрите пожалуйста пост # 157. Там две фотки с моего экранчика. На первой фотке шрифт 5х7, на второй шрифт покрупнее...но он не масштабирован, он гладкий и не состоит из увеличенных квадратиков. Во втором случае используется модифицированная библиотека Adafruit, но в этом шрифте нет русских букв, и если применять функцию arduinec_а, если писать по-русски, то ни чего не выводится. А мне хотелось бы такой гладкий шрифт и с русскими буквами.
можно ссылку на модифицированую ? поковырять попробую
можно ссылку на модифицированую ? поковырять попробую
Забыл написать. Если запускать примеры из библиотеки ILI9163c, то в скетче надо заменить #include <Adafruit_GFX.h> на #include <Adafruit_mfGFX.h> . Вот еще скетч с менюхой, что на картинке https://yadi.sk/d/-Xe6hLYWwGGUo
Еще есть библиотека для ILI9163c, которая работает без Adafruit_GFX, имеет возможность подключать разные шрифты. Сниму видео или фотки, выложу.
http://arduino-project.net/kak-sozdat-svoi-shrifty-tft/ способ как тут пробовал?
http://arduino-project.net/kak-sozdat-svoi-shrifty-tft/ способ как тут пробовал?
просто в библиотеке размер шрифта происходит тупым умножением h*textsize. По-этому лучше сделать свой и не париться
товарищь Joiner
как вы разобрались с диплеем, ?
пробовали вывод картинки с CD карты на дисплее LCD 1,8 160x128
стандартная библиотека из примеров, занимает много места, как бы её сократить.
сделал осцилограф на промини, хотел при включении была заставка, с CD карты, но не влазет, места осталось 7 к. Подскажете что нибудь ?
товарищь Joiner
как вы разобрались с диплеем, ?
пробовали вывод картинки с CD карты на дисплее LCD 1,8 160x128
стандартная библиотека из примеров, занимает много места, как бы её сократить.
сделал осцилограф на промини, хотел при включении была заставка, с CD карты, но не влазет, места осталось 7 к. Подскажете что нибудь ?
Сейчас балуюсь с часиками на дисплейчике ILI9163C 144х144. А 160х128 у меня такого нет и с таким я не сталкивался.
Сейчас изучаю библиотеку для этого дисплейчика, которая работает без библиотеки Adafruit, имеет возможность подключать внешние шрифты.
Моя цель - хочу писать этой библиотекой по-русски не корявыми шрифтами, пока не получается. Кстати, библиотека довольно шустрая, скоро покажу.
Как и обещал показываю работу дисплейчика https://www.youtube.com/watch?v=n7jPeFdNzbk&feature=youtu.be
Спасибо Joiner
хоть ктото в серьёз занялся шрифтами и их , адаптацией к разным дисплееям. И особенно добавлением РУССКИХ шрифтов. это нужное дело.
я пока рою интернет и пробую изменить программы под свой дисплей для вывода изображений. те что встречаются работают не очень норм, на TFT 160x128 со встроенного SD адаптера, и занимают много места, пробую сократить код. и те что в комплекте с библиотекой много места занимают.
буду пытать инет дальше.
...хоть ктото в серьёз занялся шрифтами.........
Сейчас удалось "расшифровать" как строится буква в библиотеке. Оказывается все байты массива, определяющего букву, как бэ выстраиваются в длинную линейку битов, а потом эта линейка режется на кусочки, по количеству битов, равному ширине шрифта. Потом из этих кусочков складывается стопка, равная высоте шрифта, и получается буква. Пока вот так :)
товарищь Joiner
могу подилится как я русифицировал свой дисплейчик TFT 1.8 128*160 ТУТ обсуждение и примеры
может в дальнейшем пригодится вдруг.
у меня тоже появился дисплейчик ILI9361 / а как вы добавляете доп. шрифты русские в этот экран.
скоро буду делать проект, для умной дачи, всё что возможно было на экране, температура, дом, улица, авто полив в теплице, и всё инфо из теплици. элктро снабжение домом, солн.бат, и эл.снабжение, освещение. Контроль доступа. пока все эти данные идут на телефон, через блюпуп. теперь хотел сделать на экран.
товарищь Joiner
могу подилится как я русифицировал свой дисплейчик TFT 1.8 128*160 ТУТ обсуждение и примеры
может в дальнейшем пригодится вдруг.
у меня тоже появился дисплейчик ILI9361 / а как вы добавляете доп. шрифты русские в этот экран.
скоро буду делать проект, для умной дачи, всё что возможно было на экране, температура, дом, улица, авто полив в теплице, и всё инфо из теплици. элктро снабжение домом, солн.бат, и эл.снабжение, освещение. Контроль доступа. пока все эти данные идут на телефон, через блюпуп. теперь хотел сделать на экран.
Только эта библиотека работает в комплекте с библиотекой Adafruit.
А сейчас я ломаю голову с библиотекой для ILI9163, которая работает без Adafruit, и имеет возможность подключать внешние шрифты. Хочу понять, как для нее сделать русский шрифт.
А по Вашей ссылке не про шрифт, а про беспроводной выключатель.
тов Joiner извеняюсь за битую ссылку, чтото пошло не так. ------------------
Тут исправил. про шрифты и ТУТ
и тут вид шрифтов кривой
и ещё нашёл с несколько примеров готовых. под U8Glib под разные дисплееи
эти шрифты как я понял вы уже попробовали.
а часики стрелочные оочень даже симпатичные. скетч тот же ? или изменили сильно. ?
и ещё нашёл ...............
А часики..скетч практически тот же, только в первых часиках циферблат был круглый, а здесь поквадратней...еще добавил мелодию и цифровые часы (да и то не полностью) и подошел к границе памяти. Надо будет скетчик как-то поужать, а то и таймер хотелось бы, и будильник..
Сейчас удалось "расшифровать" как строится буква в библиотеке. Оказывается все байты массива, определяющего букву, как бэ выстраиваются в длинную линейку битов, а потом эта линейка режется на кусочки, по количеству битов, равному ширине шрифта. Потом из этих кусочков складывается стопка, равная высоте шрифта, и получается буква. Пока вот так :)
Ну, это лишь один из вариантов. Кстати, оптимальный по занимаемому месту, но неоптимальный по скорости отрисовки.
В других вариантах может использоваться целое число байт на фрагмент (строку или столбец пикселей). Например, для шрифта шириной 20 пикселей может использоваться 3 байта на строку.
Еще вариант - растр хранится не построчно, а "постолбцово", т.е. в виде не горизонтальных, а вертикальных полосок.
Но это все, естественно, только про растровые шрифты, тогда как в теме поднимался вопрос и векторных.
Ну, это лишь один из вариантов. .......
Вот как в этой библиотеке описывается шрифт arial20, хотелось бы в него добавить или лучше заменить на русские буквы. И еще хотелось бы сделать отдельный шрифт с большими цифрами от 0 до 9
Как и обещал показываю работу дисплейчика https://www.youtube.com/watch?v=n7jPeFdNzbk&feature=youtu.be
А если можно, выложите переделанный скетч пжлста.
Joiner, по-хорошему нужно смотреть определения типов _smCharType и tImage.
Иначе - только пытаться догадываться.
Что можно предположить: что имеется пропорциональный (т.е. с различной шириной символов) шрифт высотой 20 пикселей. Кодирование, судя по всему, осуществляется именно так, как Вы и описали, т.е. разворачиваем массив в цепочку битов и нарезаем ее кусочками равными ширине символа. Кусочки (каждый размещаем горизонтально) складываем в стопку по вертикали.
Соответственно, чтобы заменить начертание символа, нужно решить, какая у него будет ширтна, вписать это число в соответствующее поле, посчитать длину массива, для чего умножить ширину символа на его высоту (20) и поделить на 8 (битов в байте), результат округлить в большую сторону. Заполнить соответствующее поле. Нарисовать символ по клеточкам, перегруппировать строчки в биты и записать полученный байтовый массив.
Можно ли добавить русские буквы, не знаю - нужно смотреть функцию вывода символа. Вполне вероятно, что она не может работать с кодами символов выше 127. В любом случае, Вам нужно хорошо понимать, что такое кодировка символов, какие бывают кодировки, какая кодировка используется в Aeduino IDE, чем однобайтовые кодировки отличаются от кодировок с переменной длиной символа и т.д.
Что нужно сделать, чтобы сделать отдельно цифры большего размера.
Во-первых, как-то надо сообщить функцйии вывода вертикальный размер. Могу предположить, что для этого служит элемент массива tFont с индексом 3 (4-й по счету). Но лучше справиться в тексте библиотеки.
Во-вторых, нужно сообщить, сколько у нас вообще символов (обычно от 10 до 13, учитывая "." и "-"). Вероятнее всего для этого служит 0-й элемент массива tFont.
В-третьих, нужно сообщить, с какого символа начинается отсчет. Как это сделать, я не знаю: среди элементов tFont подходящего кандидата не обнаружил. Нужно смотреть код библиотеки. По идее в приведенном фонте это должно быть число 32. Но не исключаю, что число 32 прибавляется по умолчанию. Тогда возможный кандидат на эту роль - последний элемент в массиве tFont. Но нельзя исключать и варианта, что разработчик библиотеки не предусмотрел такой возможности.
Ну и в-четвертых - готовить данные по указанному выше алгоритму.
Превосходные и функциональные часы получились! Плюсую тему! Вот один из моих эксперементов с дисплеем LCD TFT 2.8 https://youtu.be/Yx5-GhII6Hk . Сплогиатил игру, но сразу не заработала, черные полосы по всему дисплею были, пришлось применить другую библиотеку и изменить код.
А если можно, выложите переделанный скетч пжлста.
Первоначальный скетч - это скетч, который я нашел в интернете и даже рассказывал где нашел. Немного переделал на свой дисплейчик ILI9163. Его уже выкладывал http://arduino.ru/forum/apparatnye-voprosy/tft-lcd-ili9163c-128x128?page=1#comment-161694
Ну уж если очень нужен еще недоделанный-переделанный скетч, могу выложить и его.
Превосходные и функциональные часы получились! ............
Сплогиатил игру,................ пришлось применить другую библиотеку и изменить код.
А если можно, выложите переделанный скетч пжлста.
Ну уж если очень нужен еще недоделанный-переделанный скетч, могу выложить и его.
Меня заинтересовал принцип переключения на цифровые часы. в первоначальном скетсе этого не прописано,
поэтому хотелось бы увидеть скетч.