Дешевый TFT 2.4" дисплей на spfd5408

James
Offline
Зарегистрирован: 26.02.2016

<Adafruit_GFX.h> там в .cpp и .hex посмотрите

krepton85
Offline
Зарегистрирован: 02.02.2016

Да, уж. Китайцы делали, делали tft шилд но не доделали. Неужели так сложно было припаять еще один конвертор логических уровней на микроСД карту памяти? Но тем не менее смотрю , что все здесь забили на это и подключают напрямую к Меге или uno :) И ведь странно почему она не сгорает (microSD)? :)

sergeclause
sergeclause аватар
Offline
Зарегистрирован: 08.09.2016

StrangerM пишет:

Пойдет на барограф. ВМР085 уже запустил. ЧРВ не удалось подключить - ног у УНО не хватило. Ну и фиг сним обойдемся внутр. часами. Может даже удобней будет из файла на ПК потом разворачивать.

Телевизор не пробовали собрать?
Обычный аналоговый телевизор?

krepton85
Offline
Зарегистрирован: 02.02.2016

Телевизор не получиться сделать на этом дисплее и uno, mega. Слишком медленно обновляется картинка. Это какие то извращенцы придумали использовать эти дисплеии с uno, mega2560. :) Этому дисплею по харошему нужен процессор с частатой не ниже 90 МГц и желательно 16bit ное подключение. :)

sergeclause
sergeclause аватар
Offline
Зарегистрирован: 08.09.2016

krepton85 пишет:
Телевизор не получиться сделать на этом дисплее и uno, mega. Слишком медленно обновляется картинка. Это какие то извращенцы придумали использовать эти дисплеии с uno, mega2560. :) Этому дисплею по харошему нужен процессор с частатой не ниже 90 МГц и желательно 16bit ное подключение. :)

Вы пробовали сделать?
Я не шучу и не ёрничаю.
Можно взять два УНО, три УНО.
Что мешает разложить "по полочкам"?
Дисплей, кстати, планирую 3,2" - 3,5"
Китайцы вовсю гонят мобилки с аналоговым ТВ
Интересно, какой чипсет они используют

krepton85
Offline
Зарегистрирован: 02.02.2016

Уж точно не avr китайцы используют. Это arm 32 битные микроконтроллеры. Если и делать ТВ, то только с Ардуино DUE. Вот только интересно заработает ли данный дисплейчик на DUE, вроде библиатека изначально должна работать и на due, но для spfd5408 она портированна с ili9341. Хотя я совсем в этих библиатеках запутался, мой дисплейчик работает с библиатекой для spfd5408, хотя идентификатор у его как у ili9341 0х9341.

sergeclause
sergeclause аватар
Offline
Зарегистрирован: 08.09.2016

krepton85 пишет:
Уж точно не avr китайцы используют. Это arm 32 битные микроконтроллеры. Если и делать ТВ, то только с Ардуино DUE. Вот только интересно заработает ли данный дисплейчик на DUE, вроде библиатека изначально должна работать и на due, но для spfd5408 она портированна с ili9341. Хотя я совсем в этих библиатеках запутался, мой дисплейчик работает с библиатекой для spfd5408, хотя идентификатор у его как у ili9341 0х9341.

Вот-вот! Это меня как раз и интересует! 
Можно, конечно, купить китайский ТЛФ и посмотреть, что у него внутри, но они могут залить эпоксидкой - не подберёшься.
Ардуино Дуэ купить не проблема. 
ИЛИ9341 есть, СПФД5408 - не помню, завтра на работе посмотрю.
Если интересно - можем объединить усилия.
Комплектующими поделюсь.
Но самого TV-on-Chip у меня нет. Дико интересует, какой чипсет используют китайцы.
Ничего не могу найти.

Telegent своё существование прекратил. Роем Broadcom?

krepton85
Offline
Зарегистрирован: 02.02.2016

Интересно, то интересно, но в век высоких технологий нет времени на изучение всего. :) Сейчас работаю над др. проектом тоже в связке Мега и tft spfd5408 - PortableProg PRO, автономный программатор eeprom серий 24cXX, 25QXX, 93CXX, 1-wire. Работает исключительно без ПК, вместо ПК micro SD. :)

https://drive.google.com/file/d/1p4wjnvuKginLZzw6M00M986hA24ZFFwz/view?u...

А если делать цветной ТВ (аналоговый) то я бы взял микросхемму (можно назвать ее аналоговый аудио-видео процессор) от ТВ горизонт в ее состав входят декодер pal,secam на выходе имеем сигналы 3 -х цветов RGB и синхроимпульсы кадровой и строчной развертки, цветовые скигналы нужно обробатывать с помощью АЦП 3-х входов. Ну в вкратце все понятно. С DUE вообще ни когда не работал, по этому ни чего сказать не могу, но на меге ничего не выйдет это точно.

sergeclause
sergeclause аватар
Offline
Зарегистрирован: 08.09.2016

krepton85 пишет:
Интересно, то интересно, но в век высоких технологий нет времени на изучение всего. :) Сейчас работаю над др. проектом тоже в связке Мега и tft spfd5408 - PortableProg PRO, автономный программатор eeprom серий 24cXX, 25QXX, 93CXX, 1-wire. Работает исключительно без ПК, вместо ПК micro SD. :) https://drive.google.com/file/d/1p4wjnvuKginLZzw6M00M986hA24ZFFwz/view?u... А если делать цветной ТВ (аналоговый) то я бы взял микросхемму (можно назвать ее аналоговый аудио-видео процессор) от ТВ горизонт в ее состав входят декодер pal,secam на выходе имеем сигналы 3 -х цветов RGB и синхроимпульсы кадровой и строчной развертки, цветовые скигналы нужно обробатывать с помощью АЦП 3-х входов. Ну в вкратце все понятно. С DUE вообще ни когда не работал, по этому ни чего сказать не могу, но на меге ничего не выйдет это точно.

За подсказку спасибо, буду  думать. Но, похоже, один китайский ТЛФ всё таки придется хакнуть.

sergeclause
sergeclause аватар
Offline
Зарегистрирован: 08.09.2016

krepton85 пишет:
то я бы взял микросхемму (можно назвать ее аналоговый аудио-видео процессор) от ТВ горизонт в ее состав входят декодер pal,secam на выходе имеем сигналы 3 -х цветов RGB и синхроимпульсы кадровой и строчной развертки, цветовые скигналы нужно обробатывать с помощью АЦП 3-х входов. Ну в вкратце все понятно.

ТВ горизонт - белорусский?

krepton85
Offline
Зарегистрирован: 02.02.2016

Да без разницы, главное с кинескопом, 5 ого покаления, ищите схеммы в интернете полно.

krepton85
Offline
Зарегистрирован: 02.02.2016

Библиатека для SPFD 5408 для тачьскрина не совместима с Ардуино DUE, вот https://drive.google.com/file/d/1AdCEq9FxaU38oXKar8m27DVbMmjjepD9/view?usp=sharing я подправил , теперь компелируется отлично и для DUE. Пока не проверял этот дисплей на DUE.

 Кстати и для такого же дисплея на ILI9341 (Именно от туда она была портированна на SPFD5408) библиатека тачьскрина не компелируется для DUE.

shamsung
Offline
Зарегистрирован: 05.02.2018

добрый день пользователи данного ресурса. купил и я этот дисплей.... чип 5408, подходят либы 9325 и 9328, всё показывает отлично, но один косяк! инверсия по горизонту! как можно исправить?  т.е. что конкретно менять в либах? ардуинки УНО с spfd5408 tft Libary. Хотя и другие тоже пробовал, где работает, там идёт инверсия...

krepton85
Offline
Зарегистрирован: 02.02.2016

Там же в скетче (для spfd5408) есть функция поворота изображения. Странно как этот контроллер spfd5408 мог заработать с др. библиотекой, кстати у меня на due так и не заработал дисплей. Как я понял нужно прпвить файл pin_magic.h но как?

shamsung
Offline
Зарегистрирован: 05.02.2018

разобрался с дисплеем, костылями конечно но работает! библ подошла и корректно работает только 9320 и 9335. с другими тупо инверсия шла. повороты изображений работали, НО вместе с ними менялись координаты дисплея по часовой стрелке, а инверсия всё равно ОСТАВАЛАСЬ! теперь задача, прикрепить к этому экранчику русский язык.

krepton85
Offline
Зарегистрирован: 02.02.2016

Ура, ура, мне наконец то удалось портировать библиатеку для SPFD5408 на Ардуино DUE: https://drive.google.com/file/d/1G5FlZKsD1NjGZ4bS95WJOSJEdwsrfAWd/view?usp=sharing

        https://yadi.sk/d/Vjy0qsbj3TFJic

Эта библиатека должна работать и с др. контроллерами, ili9325, ili9341 и др. единственное, что в ней вырезана функция авто-распознования контроллера, по этому нужно всегда вручную прописывать правильный id (функция авто-распознования всегда будет выдовать, что подключен ili9341, даже если вообще ничего не подключено :)  ).

IDem
Offline
Зарегистрирован: 09.05.2018

Может кому будет нужно!

У меня экран на чипе ILI9341 2,4". Мне было необходимо большое колличество пинов, полностью функциональный дисплей с рабочим кард-ридером и не хотелось подключать расширители портов и "раздувать" код, поэтому мой выбор очевидно пал на Mega2560. Но этот экран не хотел полноценно работать с мегой, была инверсия по оси X при рисовании и на УНО, и на МЕГЕ (подправил), скетч калибровки работает не адекватно, но я на это забил (калибровал в программе стилусом по факту), на МЕГЕ SD карта не читалась, также была нужна кирилица. После нескольких дней танцев с бубном и лазания по буржуйским сайтам (так как в ру зоне инфы мало, поэтому и выкладываю), все настроил как надо. А теперь по порядку...

Библиотека, которая работает и на УНО, и на МЕГА (ДУИ у меня нет, так что не проверял). Подправлена инверсия, добавлена кирилица:

https://drive.google.com/open?id=1PJiMtUa9a4mxiKTd_fef7Bc1BdS954Ck

Для использования SD-карты на МЕГЕ необходимо переустановить библиотеку SD на:

https://drive.google.com/open?id=1RVIC8D6I9MSpW2Ou3FrOrfDndcgihLtP

Чтобы пользоваться кирилицей необходимо:

1. Добавить данный код в скетч:

/* Recode russian fonts from UTF-8 to Windows-1251 */
String utf8rus(String source)
{
  int i,k;
  String target;
  unsigned char n;
  char m[2] = { '0', '\0' };

  k = source.length(); i = 0;

  while (i < k) {
    n = source[i]; i++;

    if (n >= 0xC0) {
      switch (n) {
        case 0xD0: {
          n = source[i]; i++;
          if (n == 0x81) { n = 0xA8; break; }
          if (n >= 0x90 && n <= 0xBF) n = n + 0x30;
          break;
        }
        case 0xD1: {
          n = source[i]; i++;
          if (n == 0x91) { n = 0xB8; break; }
          if (n >= 0x80 && n <= 0x8F) n = n + 0x70;
          break;
        }
      }
    }
    m[0] = n; target = target + String(m);
  }
return target;
}

3. В setup добавить строку tft.cp437(true);

4. В скетче для вывода кирилицы на дисплей писать tft.println(utf8rus(...));

И небольшой пример работы с кирилицей:

https://drive.google.com/open?id=1fQF3t9B64df4mPST9VkJ7Ift68CNgcsh

 

Будут вопросы, пишите! :)

IDem
Offline
Зарегистрирован: 09.05.2018

Как-то так.

arduinec
Offline
Зарегистрирован: 01.09.2015

IDem пишет:

Чтобы пользоваться кирилицей необходимо:

Прочитать тему http://arduino.ru/forum/programmirovanie/rusifikatsiya-biblioteki-adafru... и там же в посте #46 посмотреть пример для такого же дисплея.

Vlad_rx
Offline
Зарегистрирован: 26.09.2016

shamsung пишет:

добрый день пользователи данного ресурса. купил и я этот дисплей.... чип 5408, подходят либы 9325 и 9328, всё показывает отлично, но один косяк! инверсия по горизонту! как можно исправить?  т.е. что конкретно менять в либах? ардуинки УНО с spfd5408 tft Libary. Хотя и другие тоже пробовал, где работает, там идёт инверсия...

 

Такая же история. Сканер говорит что чип 5408, а в библиотеке SPDF5408 начинает работать под именем 9325/9328. Присутствует инверсия изображения.

Метод подбора библиотек ничего не дал - белый экран.

Полез в даташит на ILI9325.

За инверсию отвечает 

7.2.4. LCD Driving Wave Control (R02h)
 
R/W RS D15 D14 D13 D12 D11 D10   D9    D8    D7  D6 D5 D4 D3 D2 D1 D0
W     1     0     0     0     0     0     1    B/C   EOR   0    0   0   0   0    0    0   0
.B/C 0 : Frame/Field inversion
1 : Line inversion
EOR: EOR = 1 and B/C=1 to set the line inversion.
 
нашёл в SPDF5408_Adafruit_TFTLCD.cpp строку
 
ILI932X_DRIV_WAV_CTRL    , 0x0700,
 
попробовал изменить 8-9 биты, но результата не дало.
 
Полез дальше и нашёл в SPDF5408_Adafruit_GFX.cpp 
 
void Adafruit_GFX::invertDisplay(boolean i) {
  // Do nothing, must be subclassed if supported                        
//void Adafruit_GFX::invertDisplay(boolean i)
}
 
Как её использовать? Попытка вставить в скеч привела к ошибке компиляции.
 
Вразумите, что не так делаю.
 
krepton85
Offline
Зарегистрирован: 02.02.2016

Vlad_rx, Adafruit_GFX.invertDisplay(1); вроди так в void setup().

Vlad_rx
Offline
Зарегистрирован: 26.09.2016

krepton85 пишет:
Vlad_rx, Adafruit_GFX.invertDisplay(1); вроди так в void setup().

Спасибо, но компилятор выдал

===========================================

spfd5408_graphicstest.ino: In function 'void loop()':
spfd5408_graphicstest:164: error: 'SPFD5408_Adafruit_GFX' was not declared in this scope
'SPFD5408_Adafruit_GFX' was not declared in this scope
 
============================================
ругается, что не обьявил. Как обьявить?
 

 

krepton85
Offline
Зарегистрирован: 02.02.2016

Посмотрите как в примерах графиктест сделано, я не хочу пока комп включать, стараюсь только по выходным этими делами заниматся. :)

Vlad_rx
Offline
Зарегистрирован: 26.09.2016
 в SPDF5408_Adafruit_TFTLCD.cpp строку
 
ILI932X_GATE_SCAN_CTRL1  , 0xA700, // Driver Output Control (R60h)
 
надо заменить на 
 
ILI932X_GATE_SCAN_CTRL1  , 0x2700,
 
всё стало правильно.
 
В закромах нашёл экран в котором стоит 9341 - тоже заработал в правильном виде.
 
Тач работает криво, но там надо калибровать. Это завтра.
DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

krepton85 пишет:
Посмотрите как в примерах графиктест сделано, я не хочу пока комп включать, стараюсь только по выходным этими делами заниматся. :)

Меня тоже жена бьёт. :(