Блоки для дисплеев TFT SPI

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
WildCat
Лейтенант
Сообщения: 507
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил

Блоки для дисплеев TFT SPI

Сообщение WildCat »

brigadir218 писал(а): 12 фев 2024, 03:28 вот так отображаются картинки.
А как должны?

Выведите проверочную таблицу цветов, чтоб понимать как цвета сдвигаются
brigadir218
Рядовой
Сообщения: 30
Зарегистрирован: 16 окт 2021, 09:19
Имя: Игорь

Блоки для дисплеев TFT SPI

Сообщение brigadir218 »

не ну сам экран отображает правильные цвета. это только на картинках такое чудо.

Отправлено спустя 1 минуту 20 секунд:
WildCat писал(а): 12 фев 2024, 03:33
brigadir218 писал(а): 12 фев 2024, 03:28 вот так отображаются картинки.
А как должны?

Выведите проверочную таблицу цветов, чтоб понимать как цвета сдвигаются
вы имеете ввиду тестовую загрузку цветов?

Отправлено спустя 12 минут 24 секунды:
проверил, все ок с цветами из примеров.
WildCat
Лейтенант
Сообщения: 507
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил

Блоки для дисплеев TFT SPI

Сообщение WildCat »

brigadir218 писал(а): 12 фев 2024, 03:53 вы имеете ввиду тестовую загрузку цветов?
Нет. Картинку (именно файл картинки) типа такой:

Изображение

Отправлено спустя 4 минуты 6 секунд:
Чем картинку в массив переводите?
brigadir218
Рядовой
Сообщения: 30
Зарегистрирован: 16 окт 2021, 09:19
Имя: Игорь

Блоки для дисплеев TFT SPI

Сообщение brigadir218 »

ConvertBMP
Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 480
Зарегистрирован: 18 сен 2015, 10:04
Откуда: Омск

Блоки для дисплеев TFT SPI

Сообщение kulibinsvv »

brigadir218, у вас инверсия включена по умолчанию.

Отправлено спустя 8 минут 47 секунд:
Либо при конвертации, либо при выводе на экран.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
brigadir218
Рядовой
Сообщения: 30
Зарегистрирован: 16 окт 2021, 09:19
Имя: Игорь

Блоки для дисплеев TFT SPI

Сообщение brigadir218 »

stdvn5k1.png
вот,есть инверсия цветов. и черная полоса - белая.

Отправлено спустя 4 минуты 45 секунд:
Снимок8.PNG

это мои настройки. как есть сейчас

Отправлено спустя 2 минуты 32 секунды:
у вас инверсия включена по умолчанию.

Отправлено спустя 8 минут 47 секунд:
Либо при конвертации, либо при выводе на экран.
[/quote]


Стесняюсь спросить, а где оно включается?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
WildCat
Лейтенант
Сообщения: 507
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил

Блоки для дисплеев TFT SPI

Сообщение WildCat »

kulibinsvv писал(а): 12 фев 2024, 05:32 у вас инверсия включена по умолчанию.
помимо инверсии еще и формат BGR вместо RGB

Это судя по цветовой таблице

Отправлено спустя 3 минуты 57 секунд:
brigadir218 писал(а): 12 фев 2024, 05:52 Стесняюсь спросить, а где оно включается?
User setup

Скриншот 12-02-2024 064405.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Larisa
Рядовой
Сообщения: 18
Зарегистрирован: 20 июл 2023, 20:59
Имя: Лариса

Блоки для дисплеев TFT SPI

Сообщение Larisa »

Доброго утра! По руководству с видео получилось собрать блок для вывода картинок :yes:
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" с нашим файлом, сохраняем и компилируем :smile225:
В архиве сам блок (немного изменен под мои задачи) и файлы картинок. Дисплей ST7789 320x170.
Может быть сможет кто-нибудь мне помочь в доделке блока? Сама еще плохо разбираюсь :smile37:
Хочется что бы в блоке было конкретное место куда вставлять начальные координаты, размер картинки и имя файла
У вас нет необходимых прав для просмотра вложений в этом сообщении.
WildCat
Лейтенант
Сообщения: 507
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил

Блоки для дисплеев TFT SPI

Сообщение 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- вводишь цифру, выводит батарейку с пропорциональным количеством делений.
Меньше памяти занимает, чем картинка
brigadir218
Рядовой
Сообщения: 30
Зарегистрирован: 16 окт 2021, 09:19
Имя: Игорь

Блоки для дисплеев TFT SPI

Сообщение 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
переключал эти пункты по очереди и по парно. ноль изменений.
Аватара пользователя
Larisa
Рядовой
Сообщения: 18
Зарегистрирован: 20 июл 2023, 20:59
Имя: Лариса

Блоки для дисплеев TFT SPI

Сообщение 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 для них точно не подойдет.
brigadir218
Рядовой
Сообщения: 30
Зарегистрирован: 16 окт 2021, 09:19
Имя: Игорь

Блоки для дисплеев TFT SPI

Сообщение 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
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Larisa
Рядовой
Сообщения: 18
Зарегистрирован: 20 июл 2023, 20:59
Имя: Лариса

Блоки для дисплеев TFT SPI

Сообщение Larisa »

brigadir218 писал(а): 12 фев 2024, 09:33 сделал как описали, выдало ошибку.
Кажется 5 пункт пропустили, скачайте мой блок
brigadir218
Рядовой
Сообщения: 30
Зарегистрирован: 16 окт 2021, 09:19
Имя: Игорь

Блоки для дисплеев TFT SPI

Сообщение brigadir218 »

Larisa писал(а): 12 фев 2024, 09:36
brigadir218 писал(а): 12 фев 2024, 09:33 сделал как описали, выдало ошибку.
Кажется 5 пункт пропустили, скачайте мой блок
Все, разобрался. папку с массивом переименовал и думал почему при компиляции ошибка, все просто :shok: , оказывается и в самой папке с массивом тоже название менять надо :yes: , потеря 2-х часов. Ну проблема со цветом не ушла. :helpme:

Отправлено спустя 3 часа 38 минут 58 секунд:
А может быть проблема со цветом на картинки из за того что я не подключил пин 19 на ( MISO )?
Снимок10.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Larisa
Рядовой
Сообщения: 18
Зарегистрирован: 20 июл 2023, 20:59
Имя: Лариса

Блоки для дисплеев TFT SPI

Сообщение Larisa »

brigadir218 писал(а): 12 фев 2024, 15:24 А может быть проблема со цветом на картинки из за того что я не подключил пин 19 на ( MISO )?
Отправлено спустя 6 часов 57 минут 37 секунд:
brigadir218 писал(а): 12 фев 2024, 15:24 папку с массивом переименовал и думал почему при компиляции ошибка, все просто , оказывается и в самой папке с массивом тоже название менять надо
Название файла должно быть идентичным с именем самого файла в массиве
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 480
Зарегистрирован: 18 сен 2015, 10:04
Откуда: Омск

Блоки для дисплеев TFT SPI

Сообщение kulibinsvv »

brigadir218 писал(а): 12 фев 2024, 15:24 А может быть проблема со цветом на картинки из за того что я не подключил пин 19 на ( MISO )?
А может не гадать? А попробовать включить? :yes:
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
brigadir218
Рядовой
Сообщения: 30
Зарегистрирован: 16 окт 2021, 09:19
Имя: Игорь

Блоки для дисплеев TFT SPI

Сообщение brigadir218 »

Да подсоеденил, результатов ноль. Библиотеку TFT eSPI переустановил и arduino IDE снёс и по новой установил, может там что вселилось не чистое ( такое уже бывало ), изменений никаких. Незнаю уже в чем причина. Главное установил GIF скачущий всадник, так на нем цвета меняются без проблем и цвета правильные, а фото ставлю, цвета искажаются. Да и к тому же качество фото немного размытое получается.
Аватара пользователя
Larisa
Рядовой
Сообщения: 18
Зарегистрирован: 20 июл 2023, 20:59
Имя: Лариса

Блоки для дисплеев TFT SPI

Сообщение Larisa »

brigadir218 писал(а): 13 фев 2024, 07:54 Да подсоеденил, результатов ноль. Библиотеку TFT eSPI переустановил и arduino IDE снёс и по новой установил, может там что вселилось не чистое ( такое уже бывало ), изменений никаких. Незнаю уже в чем причина. Главное установил GIF скачущий всадник, так на нем цвета меняются без проблем и цвета правильные, а фото ставлю, цвета искажаются. Да и к тому же качество фото немного размытое получается.
Скиньте сюда фото и скомпилированный файл, интересно посмотреть :smile427: :yes:
brigadir218
Рядовой
Сообщения: 30
Зарегистрирован: 16 окт 2021, 09:19
Имя: Игорь

Блоки для дисплеев TFT SPI

Сообщение brigadir218 »

[/quote] Скиньте сюда фото и скомпилированный файл, интересно посмотреть :smile427: :yes:
[/quote]

вот это фото нормальное.
orange.png
а вот что получается, при чем на разных конверторах одно и тоже.
maslenka.jpg
ну и скетч.
poloski.ino
У вас нет необходимых прав для просмотра вложений в этом сообщении.
brigadir218
Рядовой
Сообщения: 30
Зарегистрирован: 16 окт 2021, 09:19
Имя: Игорь

Блоки для дисплеев TFT SPI

Сообщение brigadir218 »

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

Вернуться в «Дисплеи, индикаторы и клавиатуры»

Кто сейчас на конференции

Сейчас этот форум просматривают: cat1042 и 1 гость