Arduino TFT дисплей 1,8 отображение цветов

nikolasha225
Offline
Зарегистрирован: 14.01.2022

Здраствуйте. Недавно я купил у китайцев вот такой дисплей(https://iarduino.ru/shop/Displei/cvetnoy-graficheskiy-tft-ekran-128-10--... ссылка не от продавца) с разъёмом под сд. Поначалу я его запустил и всё вроде работало и цвета норм, но когда я решил выводить файлы с сд начались проблемы. 1) я сначала пробовал библиотеку UTFT и она raw(из примеров) не выводила(только шум) и bmp(16 или 32 бит)выводила криво по цветам(а 24 только шум), но это не главное в правой части дисплея(в конце) она выводила кусок картинки затемнённый и вырваный из начала. После я нашёл как выводить через библиотеку TFT и всё хорошо но цвета выводятся криво и принимает только bmp(24bit), а когда я выводил инверсию она выводила примерно похожие цвета, но чёрный и белый были инверсные. как сделать нормальное отображение цветов?(загружал из примера библиотеки TFT и контролила всё уно и сд взял отдельно т.к. встроеный кривой и ножки не косаются контактов)

(вот ссылка на бмп т.к. здесь нельзя загружать такой формат: https://drive.google.com/file/d/1Em1iDaHHKHgjxMO8GgAn-QDn_b0XxFrY/view?u...)дисплей

Alexey_Rem
Offline
Зарегистрирован: 09.09.2019
nikolasha225
Offline
Зарегистрирован: 14.01.2022

И как это поможет решить проблему с цветами? И в tft, и в utft  чвета некорректные. Мне нужно выводить изображение конкретно с sd.(и я уже использовал image converter565)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

nikolasha225, если у Вас не те цвета, то весьма вероятно, что Вы неправильно инициализируете дисплей. По приведенной Вами ссылке у дисплея должен быть контроллер ST7735S, Вы проверяли, что это так? Мне, например, китайцы очень часто высылали дисплеи с совсем не тем контроллером, что указано на сайте.

Ну и второе: когда Вы достоверно выясните тип дисплейного контроллера, не лишним будет убедиться, что библиотека знает о таком контроллере, поддерживает работу с ним, а также в том, что она правильно его определяет и подключает нужные модули.

nikolasha225
Offline
Зарегистрирован: 14.01.2022

Дело в том что и TFT и UTFT в фигурах выводят правильные цвета, а в изображениях с sd кривые

nikolasha225
Offline
Зарегистрирован: 14.01.2022

andriano пишет:

nikolasha225, если у Вас не те цвета, то весьма вероятно, что Вы неправильно инициализируете дисплей. По приведенной Вами ссылке у дисплея должен быть контроллер ST7735S, Вы проверяли, что это так? Мне, например, китайцы очень часто высылали дисплеи с совсем не тем контроллером, что указано на сайте.

Ну и второе: когда Вы достоверно выясните тип дисплейного контроллера, не лишним будет убедиться, что библиотека знает о таком контроллере, поддерживает работу с ним, а также в том, что она правильно его определяет и подключает нужные модули.


А как проверит его не сломав дисплей?

nikolasha225
Offline
Зарегистрирован: 14.01.2022

nikolasha225 пишет:
andriano пишет:

nikolasha225, если у Вас не те цвета, то весьма вероятно, что Вы неправильно инициализируете дисплей. По приведенной Вами ссылке у дисплея должен быть контроллер ST7735S, Вы проверяли, что это так? Мне, например, китайцы очень часто высылали дисплеи с совсем не тем контроллером, что указано на сайте.

Ну и второе: когда Вы достоверно выясните тип дисплейного контроллера, не лишним будет убедиться, что библиотека знает о таком контроллере, поддерживает работу с ним, а также в том, что она правильно его определяет и подключает нужные модули.


А как проверит его не сломав дисплей?

Просто в моей китайской вариации на задней стороне только 1 транзистор и несколько резисторов с кондеёрами.

b707
Онлайн
Зарегистрирован: 26.05.2017

nikolasha225 пишет:
Дело в том что и TFT и UTFT в фигурах выводят правильные цвета, а в изображениях с sd кривые

тогда скорее всего дело в коде чтения картинок с sd-карты

nikolasha225
Offline
Зарегистрирован: 14.01.2022

Если кто разбирается как картинку из rgb в grb или другие переделать скажите может получится? И вроде в imageconverter565 в настройках можно это поменять но я не шарю. Если кто знает пишите.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

nikolasha225 пишет:
Дело в том что и TFT и UTFT в фигурах выводят правильные цвета, а в изображениях с sd кривые

Если все обстоит в точности так, как Вы пишете (в чем тоже есть некоторые сомнения), значит, Вы неправильно перекодируете картинки для отображения на экране.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

nikolasha225 пишет:
А как проверит его не сломав дисплей?

Небольшое замечание: я всегда сам пишу код для дисплея. Соответственно, общеупотребительными библиотеками не пользуюсь. Ну и поэтому знаю об их свойствах только в общих чертах.

Первое - существуют диагностические утилиты, которые прямо в монитор порта выводят тип дисплея. Большинство дисплеев поддерживают такую возможность (т.е. сообщают библиотекам свое "имя"). Поиск таких утилит целесообразно начать среди стандартных примеров к библиотеке.

Но, судя по тому, что Вы написали выше, дело, скорее, в неправильной перекодировке цвета. В этом случае лучше начать с того, чтобы установить как кодируется цвет именно в том режиме, который Вы используете и, исходя уже из этого, перекодировать нужную картинку. Естественно, нужно будет почитать, как кодируется цвет в используемом Вами формате файла.

nikolasha225
Offline
Зарегистрирован: 14.01.2022

andriano пишет:

nikolasha225 пишет:
Дело в том что и TFT и UTFT в фигурах выводят правильные цвета, а в изображениях с sd кривые

Если все обстоит в точности так, как Вы пишете (в чем тоже есть некоторые сомнения), значит, Вы неправильно перекодируете картинки для отображения на экране.

что выводитчто вывожу

Сомнения наверное были не зря. Он r и b  меняет местами и возможно я это не заметил при выводе фигур т.к. на порядок не особо внимания не обращал. 

Проблема понятна теперь можно попробовать либо взять утилиту для переделывания из rgb в bgr, либо в библиотеке переделать заливку с rgb в bgr. 

nikolasha225
Offline
Зарегистрирован: 14.01.2022

Я нашёл как в фотошопе поменять местами каналы!

Надо в панельке окно выбрать отображать панель каналов(если выключена), далее в панельке выбираем r канал и дублируем его. После выбираем синий канал выбираем всё и копируем(изображение), далее выбираем красный канал выделяем всё и вставляем. Ну а затем копируем дубликат красного и вставляем в синий, а дубликат красного удаляем и вот у нас нужное изображение.

b707
Онлайн
Зарегистрирован: 26.05.2017

ну можно и так....

хотя наверно проще было бы в библиотеке пару строк местами поменять. чем все картинки через фотошоп править

nikolasha225
Offline
Зарегистрирован: 14.01.2022

b707 пишет:

ну можно и так....

хотя наверно проще было бы в библиотеке пару строк местами поменять. чем все картинки через фотошоп править


Я тоже так подумал но не смог т.к. не поня вообше где цвет заливается(но сам файл с функцией я нашёл). Если кто рабирается подскажите.

b707
Онлайн
Зарегистрирован: 26.05.2017

nikolasha225 пишет:
[не поня вообше где цвет заливается(но сам файл с функцией я нашёл). Если кто рабирается подскажите.

посмотрел описание к imageconverter - в нем такой опции нет.

вы говорите. что нашли "файл с функцией"? - говорите какой, посмотрю

nikolasha225
Offline
Зарегистрирован: 14.01.2022

b707 пишет:

nikolasha225 пишет:
[не поня вообше где цвет заливается(но сам файл с функцией я нашёл). Если кто рабирается подскажите.

посмотрел описание к imageconverter - в нем такой опции нет.

вы говорите. что нашли "файл с функцией"? - говорите какой, посмотрю


Файл с функцией библиотеки TFT(т. к. Сам дисплей чвета криво выводит и название скоро напишу). Но раз уж сказали про конвертер то там в настройках есть порядок заливки цвета лил как то так(тоже скоро напишу).

nikolasha225
Offline
Зарегистрирован: 14.01.2022

в конвертере заходим Новое изображение>нажимаем ок(неважно какое)>вкладка настройки>Преобразование...>Тип: Ставим цветное> вкладка матрица и там цветовые настройки. Сейчас скажу что за файл с TFT.

nikolasha225
Offline
Зарегистрирован: 14.01.2022

logo = TFTscreen.loadImage("1.bmp"); - этой функцией скачиваем файл с картинкой с сд.

TFTscreen.image(logo, x, y); - этой выводим.

В файле Adafruit_GFX.cpp в конце что-то с цветами связанное.(void Adafruit_GFX::image(PImage & img, uint16_t x, uint16_t y) {)

nikolasha225
Offline
Зарегистрирован: 14.01.2022

ещё в файле Adafruit_ST7735.h на 87 строке (в конце дефайнов) есть цвета ко тоже не понятно с ними. и на 105-118 строчке тоже с цветами что-то. цветами 

b707
Онлайн
Зарегистрирован: 26.05.2017

это все не то