Страница 5 из 6
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 03:33
WildCat
brigadir218 писал(а): 12 фев 2024, 03:28
вот так отображаются картинки.
А как должны?
Выведите проверочную таблицу цветов, чтоб понимать как цвета сдвигаются
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 03:53
brigadir218
не ну сам экран отображает правильные цвета. это только на картинках такое чудо.
Отправлено спустя 1 минуту 20 секунд:
WildCat писал(а): 12 фев 2024, 03:33
brigadir218 писал(а): 12 фев 2024, 03:28
вот так отображаются картинки.
А как должны?
Выведите проверочную таблицу цветов, чтоб понимать как цвета сдвигаются
вы имеете ввиду тестовую загрузку цветов?
Отправлено спустя 12 минут 24 секунды:
проверил, все ок с цветами из примеров.
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 04:39
WildCat
brigadir218 писал(а): 12 фев 2024, 03:53
вы имеете ввиду тестовую загрузку цветов?
Нет. Картинку (именно файл картинки) типа такой:
Отправлено спустя 4 минуты 6 секунд:
Чем картинку в массив переводите?
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 05:22
brigadir218
ConvertBMP
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 05:32
kulibinsvv
[ref]brigadir218[/ref], у вас инверсия включена по умолчанию.
Отправлено спустя 8 минут 47 секунд:
Либо при конвертации, либо при выводе на экран.
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 05:52
brigadir218
stdvn5k1.png
вот,есть инверсия цветов. и черная полоса - белая.
Отправлено спустя 4 минуты 45 секунд:
Снимок8.PNG
это мои настройки. как есть сейчас
Отправлено спустя 2 минуты 32 секунды:
у вас инверсия включена по умолчанию.
Отправлено спустя 8 минут 47 секунд:
Либо при конвертации, либо при выводе на экран.
[/quote]
Стесняюсь спросить, а где оно включается?
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 06:44
WildCat
kulibinsvv писал(а): 12 фев 2024, 05:32
у вас инверсия включена по умолчанию.
помимо инверсии еще и формат BGR вместо RGB
Это судя по цветовой таблице
Отправлено спустя 3 минуты 57 секунд:
brigadir218 писал(а): 12 фев 2024, 05:52
Стесняюсь спросить, а где оно включается?
User setup
Скриншот 12-02-2024 064405.jpg
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 06:53
Larisa
Доброго утра! По руководству с видео получилось собрать блок для вывода картинок
https://www.youtube.com/watch?v=R-qFKemDFyM
1. Картинку загружаем на сайт
http://www.rinkydinkelectronics.com/t_i ... ter565.php, конвертируем в с-файл, скачиваем обратно.
2. У скаченного файла меняем расширение .с на .h, открываем его через блокнот и в
пятой строке запоминаем размер картинки в пикселах (Image Size :
45x26 pixels), закрываем файл.
3. Этот файл называем к примеру "primer" и перетаскиваем в любую папку, например пусть будет папка "papka"
4. Создаем в FLProg новый блок с языком программирования Code - Basic
5. В DeclareSection пишем имя файла с картинкой #include "primer.h"
6. В LoopSection пишем две строки tft.setSwapBytes(true); и tft.pushImage(3,3,45,26,primer); где первые две цифры - начальная координата по XY, вторые две цифры размер картинки в пикселях из
пятой строки скаченного файла, имя файла.
7. Во вкладке Библиотеки указываем папку "papka" с нашим файлом, сохраняем и компилируем
В архиве сам блок (немного изменен под мои задачи) и файлы картинок. Дисплей ST7789 320x170.
Может быть сможет кто-нибудь мне помочь в доделке блока? Сама еще плохо разбираюсь
Хочется что бы в блоке было конкретное место куда вставлять начальные координаты, размер картинки и имя файла
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 07:36
WildCat
Larisa писал(а): 12 фев 2024, 06:53
Хочется что бы в блоке было конкретное место куда вставлять начальные координаты, размер картинки и имя файла
Огонь! ))
Вынести на входы блока координаты и размер картинки?
Нужно добавить в редакторе блока входы, назвать x, y, w, h (не принципиально как, это будут имена переменных).
А в самом коде вместо
tft.pushImage(3,3,45,26,primer);
Написать tft.pushImage(x,y,w,h,primer);
Отправлено спустя 2 минуты 18 секунд:
Только вот батарейка есть во вложенных шрифтах ;)
Шрифт называется battery. И деления от 0 до 9- вводишь цифру, выводит батарейку с пропорциональным количеством делений.
Меньше памяти занимает, чем картинка
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 07:42
brigadir218
WildCat писал(а): 12 фев 2024, 06:44
kulibinsvv писал(а): 12 фев 2024, 05:32
у вас инверсия включена по умолчанию.
помимо инверсии еще и формат BGR вместо RGB
Это судя по цветовой таблице
Отправлено спустя 3 минуты 57 секунд:
brigadir218 писал(а): 12 фев 2024, 05:52
Стесняюсь спросить, а где оно включается?
User setup
Скриншот 12-02-2024 064405.jpg
переключал эти пункты по очереди и по парно. ноль изменений.
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 07:47
Larisa
WildCat писал(а): 12 фев 2024, 07:36
Larisa писал(а): 12 фев 2024, 06:53
Хочется что бы в блоке было конкретное место куда вставлять начальные координаты, размер картинки и имя файла
Огонь! ))
Вынести на входы блока координаты и размер картинки?
Нужно добавить в редакторе блока входы, назвать x, y, w, h (не принципиально как, это будут имена переменных).
А в самом коде вместо
tft.pushImage(3,3,45,26,primer);
Написать tft.pushImage(x,y,w,h,primer);
Отправлено спустя 2 минуты 18 секунд:
Только вот батарейка есть во вложенных шрифтах ;)
Шрифт называется battery. И деления от 0 до 9- вводишь цифру, выводит батарейку с пропорциональным количеством делений.
Меньше памяти занимает, чем картинка
А как это добавить в параметры пользователя, а не на входы блока? И имя файла еще)) Про ту батарейку знаю, она не подходит под задачу. На дисплее будут отображаться много параметров шрифт battery для них точно не подойдет.
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 09:33
brigadir218
Larisa писал(а): 12 фев 2024, 06:53
1. Картинку загружаем на сайт
http://www.rinkydinkelectronics.com/t_i ... ter565.php, конвертируем в с-файл, скачиваем обратно.
2. У скаченного файла меняем расширение .с на .h, открываем его через блокнот и в пятой строке запоминаем размер картинки в пикселах (Image Size : 45x26 pixels), закрываем файл.
3. Этот файл называем к примеру "primer" и перетаскиваем в любую папку, например пусть будет папка "papka"
4. Создаем в FLProg новый блок с языком программирования Code - Basic
5. В DeclareSection пишем имя файла с картинкой #include "primer.h"
6. В LoopSection пишем две строки tft.setSwapBytes(true); и tft.pushImage(3,3,45,26,primer); где первые две цифры - начальная координата по XY, вторые две цифры размер картинки в пикселях из пятой строки скаченного файла, имя файла.
7. Во вкладке Библиотеки указываем папку "papka" с нашим файлом, сохраняем и компилируем
сделал как описали, выдало ошибку.
Снимок9.PNG
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 09:36
Larisa
brigadir218 писал(а): 12 фев 2024, 09:33
сделал как описали, выдало ошибку.
Кажется 5 пункт пропустили, скачайте мой блок
Блоки для дисплеев TFT SPI
Добавлено: 12 фев 2024, 15:24
brigadir218
Larisa писал(а): 12 фев 2024, 09:36
brigadir218 писал(а): 12 фев 2024, 09:33
сделал как описали, выдало ошибку.
Кажется 5 пункт пропустили, скачайте мой блок
Все, разобрался. папку с массивом переименовал и думал почему при компиляции ошибка, все просто

, оказывается и в самой папке с массивом тоже название менять надо

, потеря 2-х часов. Ну проблема со цветом не ушла.
Отправлено спустя 3 часа 38 минут 58 секунд:
А может быть проблема со цветом на картинки из за того что я не подключил пин 19 на ( MISO )?
Снимок10.PNG
Блоки для дисплеев TFT SPI
Добавлено: 13 фев 2024, 00:55
Larisa
brigadir218 писал(а): 12 фев 2024, 15:24
А может быть проблема со цветом на картинки из за того что я не подключил пин 19 на ( MISO )?
Отправлено спустя 6 часов 57 минут 37 секунд:
brigadir218 писал(а): 12 фев 2024, 15:24
папку с массивом переименовал и думал почему при компиляции ошибка, все просто , оказывается и в самой папке с массивом тоже название менять надо
Название файла должно быть идентичным с именем самого файла в массиве
Блоки для дисплеев TFT SPI
Добавлено: 13 фев 2024, 05:24
kulibinsvv
brigadir218 писал(а): 12 фев 2024, 15:24
А может быть проблема со цветом на картинки из за того что я не подключил пин 19 на ( MISO )?
А может не гадать? А попробовать включить?

Блоки для дисплеев TFT SPI
Добавлено: 13 фев 2024, 07:54
brigadir218
Да подсоеденил, результатов ноль. Библиотеку TFT eSPI переустановил и arduino IDE снёс и по новой установил, может там что вселилось не чистое ( такое уже бывало ), изменений никаких. Незнаю уже в чем причина. Главное установил GIF скачущий всадник, так на нем цвета меняются без проблем и цвета правильные, а фото ставлю, цвета искажаются. Да и к тому же качество фото немного размытое получается.
Блоки для дисплеев TFT SPI
Добавлено: 13 фев 2024, 14:44
Larisa
brigadir218 писал(а): 13 фев 2024, 07:54
Да подсоеденил, результатов ноль. Библиотеку TFT eSPI переустановил и arduino IDE снёс и по новой установил, может там что вселилось не чистое ( такое уже бывало ), изменений никаких. Незнаю уже в чем причина. Главное установил GIF скачущий всадник, так на нем цвета меняются без проблем и цвета правильные, а фото ставлю, цвета искажаются. Да и к тому же качество фото немного размытое получается.
Скиньте сюда фото и скомпилированный файл, интересно посмотреть

Блоки для дисплеев TFT SPI
Добавлено: 13 фев 2024, 16:11
brigadir218
[/quote] Скиньте сюда фото и скомпилированный файл, интересно посмотреть

[/quote]
вот это фото нормальное.
orange.png
а вот что получается, при чем на разных конверторах одно и тоже.
maslenka.jpg
ну и скетч.
poloski.ino
Блоки для дисплеев TFT SPI
Добавлено: 14 фев 2024, 09:50
brigadir218
Урра!

Взял кирку и лопату и пошел капать в интернете. И случайно нашел маленькую статейку с именно такой проблемой. Там нашел ту строчку без которой и не работали правильно цвета. tft.setSwapBytes(true); Всем спасибо кто принимал участие в разборе проблемы.
вот ссылка на статью.