TFT-дисплей 2,4 и Arduino Nano
TFT-дисплей 2,4 и Arduino Nano
Доброго времени суток.
На Алиэкспресс приобрел красный 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" Это уже третий драйвер.
Подскажите, пожалуйста, как узнать какой драйвер в моем экране? Какую библиотеку использовать?
Ссылки на алиэкспресс и на алибабу не выкладываю. Думаю это не разрешено.
Очень надеюсь на вашу помощь!
На Алиэкспресс приобрел красный 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
в поиске менеджера библиотек введите st7789, вам выпадет библиотека adafruit. ее и используйте.IC ST7789V
Re: TFT-дисплей 2,4 и Arduino Nano
[uquote="JackSmith",url="/forum/viewtopic.php?p=4383171#p4383171"]
Спасибо за помощь!
С этой библиотекой 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, чтобы цифры и буквы были не сегментными? Куда их положить? Как их прочитать?
Простите за многочисленные вопросы. Я только осваиваю программирование в ардуино.
в поиске менеджера библиотек введите st7789, вам выпадет библиотека adafruit. ее и используйте.[/uquote]IC ST7789V
Спасибо за помощь!
С этой библиотекой 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
[uquote="kaesda",url="/forum/viewtopic.php?p=4383180#p4383180"]Подскажите, пожалуйста, где можно взять шрифты для библиотеки Adafruit_ST7789, чтобы цифры и буквы были не сегментными? Куда их положить? Как их прочитать?.[/uquote]
я не пользовался но в библиотеке Adafruit_GFX_Library есть fontconvertor. у меня она в виде исходников, возможно где-то можно найти готовую программу для windows. Программа, как я понимаю, конвертирует TTF шрифт в формат библиотеки Adafruit.
я не пользовался но в библиотеке Adafruit_GFX_Library есть fontconvertor. у меня она в виде исходников, возможно где-то можно найти готовую программу для windows. Программа, как я понимаю, конвертирует TTF шрифт в формат библиотеки Adafruit.
./fontconvert
Usage: ./fontconvert fontfile size [first] [last]
Re: TFT-дисплей 2,4 и Arduino Nano
[uquote="JackSmith",url="/forum/viewtopic.php?p=4383196#p4383196"][uquote="kaesda",url="/forum/viewtopic.php?p=4383180#p4383180"]Подскажите, пожалуйста, где можно взять шрифты для библиотеки Adafruit_ST7789, чтобы цифры и буквы были не сегментными? Куда их положить? Как их прочитать?.[/uquote]
я не пользовался но в библиотеке Adafruit_GFX_Library есть fontconvertor. у меня она в виде исходников, возможно где-то можно найти готовую программу для windows. Программа, как я понимаю, конвертирует TTF шрифт в формат библиотеки Adafruit.
Спасибо! Попробую поискать.
я не пользовался но в библиотеке Adafruit_GFX_Library есть fontconvertor. у меня она в виде исходников, возможно где-то можно найти готовую программу для windows. Программа, как я понимаю, конвертирует TTF шрифт в формат библиотеки Adafruit.
[/uquote]./fontconvert
Usage: ./fontconvert fontfile size [first] [last]
Спасибо! Попробую поискать.
- Реклама
Re: TFT-дисплей 2,4 и Arduino Nano
чтоб вы зря не теряли время, я сконвертировал первый найденый в интернете шрифт Crystal с два файла с размерами: 18pt и 24pt. Попробуйте использовать их.
ps шрифт вроде без кириллицы.
ps шрифт вроде без кириллицы.
- Вложения
-
- 24font.txt
- (53 КБ) 222 скачивания
-
- 18font.txt
- (31.53 КБ) 163 скачивания
Re: TFT-дисплей 2,4 и Arduino Nano
[uquote="JackSmith",url="/forum/viewtopic.php?p=4383250#p4383250"]чтоб вы зря не теряли время, я сконвертировал первый найденый в интернете шрифт Crystal с два файла с размерами: 18pt и 24pt. Попробуйте использовать их.
ps шрифт вроде без кириллицы.[/uquote]
Огромное человеческое спасибо! Дома сегодня попробую. Переименовать в .h?
А если не секрет, то чем конвертировали? И из какого формата?
Добавлено after 19 minutes 38 seconds:
Переименовал в crystal__allfont_ru_18pt7b.h и в crystal__allfont_ru_24pt7b.h (названия взял из самих фалов). Скетч скомпилировался. Только проверить смогу дома - ардуинка и экран не на работе. Проверю и завтра отпишусь!
ps шрифт вроде без кириллицы.[/uquote]
Огромное человеческое спасибо! Дома сегодня попробую. Переименовать в .h?
А если не секрет, то чем конвертировали? И из какого формата?
Добавлено after 19 minutes 38 seconds:
Переименовал в crystal__allfont_ru_18pt7b.h и в crystal__allfont_ru_24pt7b.h (названия взял из самих фалов). Скетч скомпилировался. Только проверить смогу дома - ардуинка и экран не на работе. Проверю и завтра отпишусь!
Re: TFT-дисплей 2,4 и Arduino Nano
[uquote="kaesda",url="/forum/viewtopic.php?p=4383300#p4383300"]А если не секрет, то чем конвертировали? И из какого формата?[/uquote]
Я же говорил, что библиотека "Adafruit_GFX_Library" содержит текст программы fontconvertor, который я скомпилировал у себя в Linux, и ее помощью сконвертировал TTF шрифт. в интернете должны быть готовые программы для Windows, поишите.
Я же говорил, что библиотека "Adafruit_GFX_Library" содержит текст программы fontconvertor, который я скомпилировал у себя в Linux, и ее помощью сконвертировал TTF шрифт. в интернете должны быть готовые программы для Windows, поишите.
Re: TFT-дисплей 2,4 и Arduino Nano
[uquote="JackSmith",url="/forum/viewtopic.php?p=4383312#p4383312"][uquote="kaesda",url="/forum/viewtopic.php?p=4383300#p4383300"]А если не секрет, то чем конвертировали? И из какого формата?[/uquote]
Я же говорил, что библиотека "Adafruit_GFX_Library" содержит текст программы fontconvertor, который я скомпилировал у себя в Linux, и ее помощью сконвертировал TTF шрифт. в интернете должны быть готовые программы для Windows, поишите.[/uquote]
Понял. Буду искать под Виндовс.
Я же говорил, что библиотека "Adafruit_GFX_Library" содержит текст программы fontconvertor, который я скомпилировал у себя в Linux, и ее помощью сконвертировал TTF шрифт. в интернете должны быть готовые программы для Windows, поишите.[/uquote]
Понял. Буду искать под Виндовс.
Re: TFT-дисплей 2,4 и Arduino Nano
[uquote="JackSmith",url="/forum/viewtopic.php?p=4383250#p4383250"]чтоб вы зря не теряли время, я сконвертировал первый найденый в интернете шрифт Crystal с два файла с размерами: 18pt и 24pt. Попробуйте использовать их.
ps шрифт вроде без кириллицы.[/uquote]
Доброго времени суток. Попробовал Ваши шрифты - все получилось! Так же нашел 2 онлайн сервиса для конвертации шрифтов. Теперь можно жить!
Заметил, если просто выводить текст с внедренным шрифтом, то все красиво смотрится. Если использовать коэффициент увеличения текста tft.setTextSize(2), то шрифт ломается из плавных линий на отрезки. Такого не происходит в библиотеке ST7735.
Этого не происходит, если сразу внедрить шрифты нужного размера, но тогда памяти ардуинки не хватает.
Может быть есть какой способ отображения увеличенных шрифтов в библиотеке ST7789 без их ломания на линии?
Хорошего дня!
ps шрифт вроде без кириллицы.[/uquote]
Доброго времени суток. Попробовал Ваши шрифты - все получилось! Так же нашел 2 онлайн сервиса для конвертации шрифтов. Теперь можно жить!
Заметил, если просто выводить текст с внедренным шрифтом, то все красиво смотрится. Если использовать коэффициент увеличения текста tft.setTextSize(2), то шрифт ломается из плавных линий на отрезки. Такого не происходит в библиотеке ST7735.
Этого не происходит, если сразу внедрить шрифты нужного размера, но тогда памяти ардуинки не хватает.
Может быть есть какой способ отображения увеличенных шрифтов в библиотеке ST7789 без их ломания на линии?
Хорошего дня!
Re: TFT-дисплей 2,4 и Arduino Nano
[uquote="kaesda",url="/forum/viewtopic.php?p=4383644#p4383644"]Может быть есть какой способ отображения увеличенных шрифтов в библиотеке ST7789 без их ломания на линии?[/uquote]
Допустим, написать функцию маштабирования в два раза можно самому, там простой алгоритм. Каждый пиксель заменяется квадратом 2х2. Но работа такой функции будет съедать время. Кроме того, шрифы у вас с компрессией, в алгоритме которой мне не довелось разбираться, хотя предполагаю, что там простая индексная таблица. Потом, масштабированный шриф Crystal будет все-равно с пиксализацией, и выглядеть это будет кринжово. Надо делать шрифт сразу нужной величины. Для экономии флеша - выбрасывать литеры которые не используются. Если все равно не хватает флеша, то подключать флешку. Хотя лучше конечно использовать более подходящий микроконтроллер.
Допустим, написать функцию маштабирования в два раза можно самому, там простой алгоритм. Каждый пиксель заменяется квадратом 2х2. Но работа такой функции будет съедать время. Кроме того, шрифы у вас с компрессией, в алгоритме которой мне не довелось разбираться, хотя предполагаю, что там простая индексная таблица. Потом, масштабированный шриф Crystal будет все-равно с пиксализацией, и выглядеть это будет кринжово. Надо делать шрифт сразу нужной величины. Для экономии флеша - выбрасывать литеры которые не используются. Если все равно не хватает флеша, то подключать флешку. Хотя лучше конечно использовать более подходящий микроконтроллер.
Re: TFT-дисплей 2,4 и Arduino Nano
Спасибо! Попробую разобраться с выбрасыванием ненужных символов.
Re: TFT-дисплей 2,4 и Arduino Nano
Доброго времени суток! Долго экспериментировал с кастомными шрифтами, даже скрипт написал, позволяющий сразу получить заданное количество размеров шрифтов и в каждом шрифте будут нужные символы и наборы символов. Но, вот что заметил.
Если я использую родной шрифт библиотеки, то через tft.setTextColor(TFT_YELLOW, TFT_BLUE) могу вывести, в данном случае желтый текст на синем фоне. Если я использую пользовательский шрифт, то вывожу желтый текст на фоне цвета экрана. То есть заливка бекграунда текста пользовательского шрифта не происходит и при перерисовке по этому же тексту он не печатается новым, а как бы зачеркивает старый текст новым.
Всю голову сломал. Подскажите, пожалуйста, почему так может происходить?
Если я использую родной шрифт библиотеки, то через tft.setTextColor(TFT_YELLOW, TFT_BLUE) могу вывести, в данном случае желтый текст на синем фоне. Если я использую пользовательский шрифт, то вывожу желтый текст на фоне цвета экрана. То есть заливка бекграунда текста пользовательского шрифта не происходит и при перерисовке по этому же тексту он не печатается новым, а как бы зачеркивает старый текст новым.
Всю голову сломал. Подскажите, пожалуйста, почему так может происходить?
Re: TFT-дисплей 2,4 и Arduino Nano
[uquote="kaesda",url="/forum/viewtopic.php?p=4386806#p4386806"]он не печатается новым, а как бы зачеркивает старый текст новым.[/uquote]
в смысле идет эфект наложения по исключающему ИЛИ (XOR)? такой эфект требует экранного буфера в оперативке, которой в Arduino Nano нет.
в смысле идет эфект наложения по исключающему ИЛИ (XOR)? такой эфект требует экранного буфера в оперативке, которой в Arduino Nano нет.
Re: TFT-дисплей 2,4 и Arduino Nano
[uquote="JackSmith",url="/forum/viewtopic.php?p=4387114#p4387114"][uquote="kaesda",url="/forum/viewtopic.php?p=4386806#p4386806"]он не печатается новым, а как бы зачеркивает старый текст новым.[/uquote]
в смысле идет эфект наложения по исключающему ИЛИ (XOR)? такой эфект требует экранного буфера в оперативке, которой в Arduino Nano нет.[/uquote]
Просто один символ накладывается на другой - как на двух прозрачных пленках с символами. Со стандартным шрифтом такого не происходит. При использовании стандартного шрифта работает покраска фона символа, а при пользовательских шрифтах - нет.
в смысле идет эфект наложения по исключающему ИЛИ (XOR)? такой эфект требует экранного буфера в оперативке, которой в Arduino Nano нет.[/uquote]
Просто один символ накладывается на другой - как на двух прозрачных пленках с символами. Со стандартным шрифтом такого не происходит. При использовании стандартного шрифта работает покраска фона символа, а при пользовательских шрифтах - нет.


