Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить

TFT-дисплей 2,4 и Arduino Nano

Чт мар 09, 2023 10:12:58

Доброго времени суток.
На Алиэкспресс приобрел красный 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" Это уже третий драйвер.
Подскажите, пожалуйста, как узнать какой драйвер в моем экране? Какую библиотеку использовать?
Ссылки на алиэкспресс и на алибабу не выкладываю. Думаю это не разрешено.
Очень надеюсь на вашу помощь!

Re: TFT-дисплей 2,4 и Arduino Nano

Чт мар 09, 2023 11:20:49

IC ST7789V

в поиске менеджера библиотек введите st7789, вам выпадет библиотека adafruit. ее и используйте.

Re: TFT-дисплей 2,4 и Arduino Nano

Чт мар 09, 2023 11:32:37

IC ST7789V

в поиске менеджера библиотек введите st7789, вам выпадет библиотека adafruit. ее и используйте.

Спасибо за помощь! :beer:
С этой библиотекой 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, чтобы цифры и буквы были не сегментными? Куда их положить? Как их прочитать?
Простите за многочисленные вопросы. Я только осваиваю программирование в ардуино.

Re: TFT-дисплей 2,4 и Arduino Nano

Чт мар 09, 2023 11:47:40

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


я не пользовался но в библиотеке Adafruit_GFX_Library есть fontconvertor. у меня она в виде исходников, возможно где-то можно найти готовую программу для windows. Программа, как я понимаю, конвертирует TTF шрифт в формат библиотеки Adafruit.
./fontconvert
Usage: ./fontconvert fontfile size [first] [last]

Re: TFT-дисплей 2,4 и Arduino Nano

Чт мар 09, 2023 12:32:05

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


я не пользовался но в библиотеке Adafruit_GFX_Library есть fontconvertor. у меня она в виде исходников, возможно где-то можно найти готовую программу для windows. Программа, как я понимаю, конвертирует TTF шрифт в формат библиотеки Adafruit.
./fontconvert
Usage: ./fontconvert fontfile size [first] [last]

Спасибо! Попробую поискать.

Re: TFT-дисплей 2,4 и Arduino Nano

Чт мар 09, 2023 13:04:55

чтоб вы зря не теряли время, я сконвертировал первый найденый в интернете шрифт Crystal с два файла с размерами: 18pt и 24pt. Попробуйте использовать их.
ps шрифт вроде без кириллицы.
Вложения
24font.txt
(53 KiB) Скачиваний: 92
18font.txt
(31.53 KiB) Скачиваний: 64

Re: TFT-дисплей 2,4 и Arduino Nano

Чт мар 09, 2023 15:23:16

чтоб вы зря не теряли время, я сконвертировал первый найденый в интернете шрифт Crystal с два файла с размерами: 18pt и 24pt. Попробуйте использовать их.
ps шрифт вроде без кириллицы.

Огромное человеческое спасибо! Дома сегодня попробую. Переименовать в .h?
А если не секрет, то чем конвертировали? И из какого формата?

Добавлено after 19 minutes 38 seconds:
Переименовал в crystal__allfont_ru_18pt7b.h и в crystal__allfont_ru_24pt7b.h (названия взял из самих фалов). Скетч скомпилировался. Только проверить смогу дома - ардуинка и экран не на работе. Проверю и завтра отпишусь!

Re: TFT-дисплей 2,4 и Arduino Nano

Чт мар 09, 2023 15:29:04

А если не секрет, то чем конвертировали? И из какого формата?

Я же говорил, что библиотека "Adafruit_GFX_Library" содержит текст программы fontconvertor, который я скомпилировал у себя в Linux, и ее помощью сконвертировал TTF шрифт. в интернете должны быть готовые программы для Windows, поишите.

Re: TFT-дисплей 2,4 и Arduino Nano

Чт мар 09, 2023 15:38:36

А если не секрет, то чем конвертировали? И из какого формата?

Я же говорил, что библиотека "Adafruit_GFX_Library" содержит текст программы fontconvertor, который я скомпилировал у себя в Linux, и ее помощью сконвертировал TTF шрифт. в интернете должны быть готовые программы для Windows, поишите.

Понял. Буду искать под Виндовс. :beer:

Re: TFT-дисплей 2,4 и Arduino Nano

Пт мар 10, 2023 07:18:09

чтоб вы зря не теряли время, я сконвертировал первый найденый в интернете шрифт Crystal с два файла с размерами: 18pt и 24pt. Попробуйте использовать их.
ps шрифт вроде без кириллицы.

Доброго времени суток. Попробовал Ваши шрифты - все получилось! Так же нашел 2 онлайн сервиса для конвертации шрифтов. Теперь можно жить!
Заметил, если просто выводить текст с внедренным шрифтом, то все красиво смотрится. Если использовать коэффициент увеличения текста tft.setTextSize(2), то шрифт ломается из плавных линий на отрезки. Такого не происходит в библиотеке ST7735.
Этого не происходит, если сразу внедрить шрифты нужного размера, но тогда памяти ардуинки не хватает.
Может быть есть какой способ отображения увеличенных шрифтов в библиотеке ST7789 без их ломания на линии?
Хорошего дня!

Re: TFT-дисплей 2,4 и Arduino Nano

Пт мар 10, 2023 10:43:10

Может быть есть какой способ отображения увеличенных шрифтов в библиотеке ST7789 без их ломания на линии?

Допустим, написать функцию маштабирования в два раза можно самому, там простой алгоритм. Каждый пиксель заменяется квадратом 2х2. Но работа такой функции будет съедать время. Кроме того, шрифы у вас с компрессией, в алгоритме которой мне не довелось разбираться, хотя предполагаю, что там простая индексная таблица. Потом, масштабированный шриф Crystal будет все-равно с пиксализацией, и выглядеть это будет кринжово. Надо делать шрифт сразу нужной величины. Для экономии флеша - выбрасывать литеры которые не используются. Если все равно не хватает флеша, то подключать флешку. Хотя лучше конечно использовать более подходящий микроконтроллер.

Re: TFT-дисплей 2,4 и Arduino Nano

Пт мар 10, 2023 11:40:58

Спасибо! Попробую разобраться с выбрасыванием ненужных символов.

Re: TFT-дисплей 2,4 и Arduino Nano

Чт мар 16, 2023 14:07:48

Доброго времени суток! Долго экспериментировал с кастомными шрифтами, даже скрипт написал, позволяющий сразу получить заданное количество размеров шрифтов и в каждом шрифте будут нужные символы и наборы символов. Но, вот что заметил.
Если я использую родной шрифт библиотеки, то через tft.setTextColor(TFT_YELLOW, TFT_BLUE) могу вывести, в данном случае желтый текст на синем фоне. Если я использую пользовательский шрифт, то вывожу желтый текст на фоне цвета экрана. То есть заливка бекграунда текста пользовательского шрифта не происходит и при перерисовке по этому же тексту он не печатается новым, а как бы зачеркивает старый текст новым.
Всю голову сломал. Подскажите, пожалуйста, почему так может происходить?

Re: TFT-дисплей 2,4 и Arduino Nano

Пт мар 17, 2023 09:11:51

он не печатается новым, а как бы зачеркивает старый текст новым.

в смысле идет эфект наложения по исключающему ИЛИ (XOR)? такой эфект требует экранного буфера в оперативке, которой в Arduino Nano нет.

Re: TFT-дисплей 2,4 и Arduino Nano

Пт мар 17, 2023 11:17:24

он не печатается новым, а как бы зачеркивает старый текст новым.

в смысле идет эфект наложения по исключающему ИЛИ (XOR)? такой эфект требует экранного буфера в оперативке, которой в Arduino Nano нет.

Просто один символ накладывается на другой - как на двух прозрачных пленках с символами. Со стандартным шрифтом такого не происходит. При использовании стандартного шрифта работает покраска фона символа, а при пользовательских шрифтах - нет.
Ответить