Вот мы купили и подключили TFT дисплей к Ардуино, cкачали библиотеку UTFT. Хочется теперь сделать красивый текст, иконки , картинки. Я не буду описывать все функции, есть хороший мануал к ней. Правда на английском языке.
Популярность библиотеке понятна. Есть хорошее описание, поддержка многих дисплее, много статей и расширений . Поддержку дисплеев можно включить и посмотреть в файле memorysaver.h .
Вывод картинки на экран.
Загрузим примерочный скетч :
// библиотека для работы с дисплеем #include <UTFT.h> // создаём объект класса UTFT // и передаём идентификатор модели дисплея и номера пинов // к которым подключаются линии SCK, SDI (MOSI), D/C, RESET, CS UTFT myGLCD(TFT01_22SP, 9, 8, 12, 11, 10); // объявления встроенного шрифта extern uint8_t BigFont[]; // объявления двух массив изображений extern unsigned int amperka[0x400]; extern unsigned int raspberry[0x400]; void setup() { // инициализируем дисплей с горизонтальной ориентацией myGLCD.InitLCD(); } void loop() { // закрашиваем дисплей белым цветом myGLCD.fillScr(255, 255, 255); int x = 0; for (int s = 0; s < 4; s++) { x += (s*32); myGLCD.drawBitmap(x, 0, 32, 32, amperka, s+1); } x = 0; for (int s = 4; s > 0; s--) { myGLCD.drawBitmap(x, 224-(s*32), 32, 32, raspberry, s); x += (s*32); } delay(1000); }
Для работы с картинками есть функция drawBitmap , которая выводит подготовленный массив картинки на дисплей.
libraries\UTFT-master\examples\TFT_240x320\TFT_240x320_bitmap\amperka.с
drawBitmap(x, y, x1, y1, name, 1 );
- x — координаты х левого угла картинки.
- y — координаты y левого угла картинки.
- х1 — размер картинки по x.
- y2 — размер картинки по y.
- name — имя файла массива, который лежит в папке библиотеке.
- 1 — масштаб картинки.
Для создания файла с массивом есть программа ImageConverter565 которая входит в состав библиотеке и находиться в папке Tools. Запустим программу и попытаемся сделать файл сами, для примера можете воспользоваться моим значком.
В итоге мы получим файл с массивом. Который надо будет объявить в начале скеться так же как и шрифты :
extern unsigned int test54111[0xD16] // Очень важно написать размер массива ( 0xD16) который модно посмотреть в файле.
ШРИФТЫ:
По умолчанию нам доступно три шрифта SmallFont[], BigFont[] и SevenSegNumFont[] . По сути это тот же массив данных который содержится в файле DefaultFonts.
Что бы добавить или заменить шрифты нам надо дописать в этот файл массивы новых шрифтов. Можно взять как уже готовые шрифты(http://rinkydinkelectronics.com/r_fonts.php), так и сделать их самому. Не забывайте что каждый шрифт кушает память, которая у нас совсем не резиновая.
А как же сделать свои шрифты ? Я не буду здесь описывать сам процесс . А просто дам две ссылки на хорошие статьи на эту тему: Как создать свои шрифты для TFT дисплея , Русификация библиотеки UTFT — часть 1: SmallFont.
Я был бы очень рад если бы вы присылали мне свои шрифты. Я бы выкладывал их на сайте )))
Прочитал первый абзац… вроде статья должна быть интересная, но в каждом предложении «библиотеке»… Я понимаю, библиотеке UTFT очень холосая… Но может стоит в родительном падеже писать «библиотекИ?»
функции библиотекИ
Популярность библиотекИ
в папке библиотекИ
из библиотекИ…
Спасибо за комментарий. Статья подправлена , надеюсь станет более читабельной.
Похоже автор не собирается подружиться с русским языком
Видно не судьба. Яду мне, яду…
Автор, русской грамматике подучись и к технической грамотности добавится знание русского языка:).
Что тоже, само по себе, немаловажно.
Спасибо за комментарий. Боюсь с грамотностью проблема больше чем со шрифтами ( К стати, я нашел редактора который возможно мне подправит статьи для читабельности грамотными людьми )
А как прикрутить UTFT библиотеку к дисплею ST7796S? Сколько не пытался не получается.