Доброго времени суток. На Алиэкспресс приобрел красный TFT-дисплей 2,4 дюйма, разрешение 320X240 без сенсорного экрана. Хочу подключить к ардуинке, но не могу определить какой драйвер у этого дисплея и какую библиотеку использовать.
Название лота "TFT-дисплей 0,96/1,3/1,44/1,77/1,8/2,0/2,4/2,8 дюймов IPS 7P SPI HD 65K полноцветный ЖК-модуль ST7735 Привод IC 80*160 для Arduino". В название указано ST7735. В описании экрана написано "Нет сенсорного экрана: MSP2401 Драйвер IC ST7789V". На алибабе подобный дисплей вообще имеет другой драйвер. Вот название лота. "2,4 дюймов SPI TFT ЖК-модуль ILI9341 без сенсорного экрана MSP2401" Это уже третий драйвер. Подскажите, пожалуйста, как узнать какой драйвер в моем экране? Какую библиотеку использовать? Ссылки на алиэкспресс и на алибабу не выкладываю. Думаю это не разрешено. Очень надеюсь на вашу помощь!
в поиске менеджера библиотек введите st7789, вам выпадет библиотека adafruit. ее и используйте.
Спасибо за помощь! С этой библиотекой st7789 (идет в библиотеке Adafruit_ST7735) все отобразилось на весь экран. Я сначала попробовал с ST7735 - изображение рисуется не на весь экран 2,4, а на 1,7 - маленьким прямоугольником, хотя экран светится. Когда загружал библиотеку 7735, в ней есть две функции вывода текста. Если выводить текст и цифры функцией tft.drawRightString("0,123, 150, 92, 4), то цифры и буквы красивые, не сегментные, а если функцией tft.print("0.123"), то сегментные.
В библиотеке 7789 для вывода текста только одна функция tft.print(ln), и шрифты по умолчанию выводят сегментные цифры и буквы.
Подскажите, пожалуйста, где можно взять шрифты для библиотеки Adafruit_ST7789, чтобы цифры и буквы были не сегментными? Куда их положить? Как их прочитать? Простите за многочисленные вопросы. Я только осваиваю программирование в ардуино.
Подскажите, пожалуйста, где можно взять шрифты для библиотеки Adafruit_ST7789, чтобы цифры и буквы были не сегментными? Куда их положить? Как их прочитать?.
я не пользовался но в библиотеке Adafruit_GFX_Library есть fontconvertor. у меня она в виде исходников, возможно где-то можно найти готовую программу для windows. Программа, как я понимаю, конвертирует TTF шрифт в формат библиотеки Adafruit.
Подскажите, пожалуйста, где можно взять шрифты для библиотеки Adafruit_ST7789, чтобы цифры и буквы были не сегментными? Куда их положить? Как их прочитать?.
я не пользовался но в библиотеке Adafruit_GFX_Library есть fontconvertor. у меня она в виде исходников, возможно где-то можно найти готовую программу для windows. Программа, как я понимаю, конвертирует TTF шрифт в формат библиотеки Adafruit.
чтоб вы зря не теряли время, я сконвертировал первый найденый в интернете шрифт Crystal с два файла с размерами: 18pt и 24pt. Попробуйте использовать их. ps шрифт вроде без кириллицы.
чтоб вы зря не теряли время, я сконвертировал первый найденый в интернете шрифт Crystal с два файла с размерами: 18pt и 24pt. Попробуйте использовать их. ps шрифт вроде без кириллицы.
Огромное человеческое спасибо! Дома сегодня попробую. Переименовать в .h? А если не секрет, то чем конвертировали? И из какого формата?
Добавлено after 19 minutes 38 seconds: Переименовал в crystal__allfont_ru_18pt7b.h и в crystal__allfont_ru_24pt7b.h (названия взял из самих фалов). Скетч скомпилировался. Только проверить смогу дома - ардуинка и экран не на работе. Проверю и завтра отпишусь!
А если не секрет, то чем конвертировали? И из какого формата?
Я же говорил, что библиотека "Adafruit_GFX_Library" содержит текст программы fontconvertor, который я скомпилировал у себя в Linux, и ее помощью сконвертировал TTF шрифт. в интернете должны быть готовые программы для Windows, поишите.
А если не секрет, то чем конвертировали? И из какого формата?
Я же говорил, что библиотека "Adafruit_GFX_Library" содержит текст программы fontconvertor, который я скомпилировал у себя в Linux, и ее помощью сконвертировал TTF шрифт. в интернете должны быть готовые программы для Windows, поишите.
чтоб вы зря не теряли время, я сконвертировал первый найденый в интернете шрифт Crystal с два файла с размерами: 18pt и 24pt. Попробуйте использовать их. ps шрифт вроде без кириллицы.
Доброго времени суток. Попробовал Ваши шрифты - все получилось! Так же нашел 2 онлайн сервиса для конвертации шрифтов. Теперь можно жить! Заметил, если просто выводить текст с внедренным шрифтом, то все красиво смотрится. Если использовать коэффициент увеличения текста tft.setTextSize(2), то шрифт ломается из плавных линий на отрезки. Такого не происходит в библиотеке ST7735. Этого не происходит, если сразу внедрить шрифты нужного размера, но тогда памяти ардуинки не хватает. Может быть есть какой способ отображения увеличенных шрифтов в библиотеке ST7789 без их ломания на линии? Хорошего дня!
Может быть есть какой способ отображения увеличенных шрифтов в библиотеке ST7789 без их ломания на линии?
Допустим, написать функцию маштабирования в два раза можно самому, там простой алгоритм. Каждый пиксель заменяется квадратом 2х2. Но работа такой функции будет съедать время. Кроме того, шрифы у вас с компрессией, в алгоритме которой мне не довелось разбираться, хотя предполагаю, что там простая индексная таблица. Потом, масштабированный шриф Crystal будет все-равно с пиксализацией, и выглядеть это будет кринжово. Надо делать шрифт сразу нужной величины. Для экономии флеша - выбрасывать литеры которые не используются. Если все равно не хватает флеша, то подключать флешку. Хотя лучше конечно использовать более подходящий микроконтроллер.
Доброго времени суток! Долго экспериментировал с кастомными шрифтами, даже скрипт написал, позволяющий сразу получить заданное количество размеров шрифтов и в каждом шрифте будут нужные символы и наборы символов. Но, вот что заметил. Если я использую родной шрифт библиотеки, то через tft.setTextColor(TFT_YELLOW, TFT_BLUE) могу вывести, в данном случае желтый текст на синем фоне. Если я использую пользовательский шрифт, то вывожу желтый текст на фоне цвета экрана. То есть заливка бекграунда текста пользовательского шрифта не происходит и при перерисовке по этому же тексту он не печатается новым, а как бы зачеркивает старый текст новым. Всю голову сломал. Подскажите, пожалуйста, почему так может происходить?
он не печатается новым, а как бы зачеркивает старый текст новым.
в смысле идет эфект наложения по исключающему ИЛИ (XOR)? такой эфект требует экранного буфера в оперативке, которой в Arduino Nano нет.
Просто один символ накладывается на другой - как на двух прозрачных пленках с символами. Со стандартным шрифтом такого не происходит. При использовании стандартного шрифта работает покраска фона символа, а при пользовательских шрифтах - нет.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения