Дисплей 3.5 TFT и Arduino ATmega 2560

Всем привет. Помогите пожалуйста с подключением дисплея 3.5 TFT к mega 2560 при помощи библиотеки UTFT.

С библиотекой Adafruit-GFX-Library проблем нет даже пины не указывал.

А с UTFT белый экран ни текст,

ни графика не выводится.

UTFT myGLCD(TFT32MEGA, 56,55,57,58); Пины указывал и по умолчанию и через А2,А1 и т.д

#include <UTFT.h>

// Для ILI9481 на 480x320
UTFT myGLCD(ILI9486, 56, 55, 57, 58);

void setup() {
// Инициализация
myGLCD.InitLCD();
myGLCD.setFont(BigFont);
// Тестовая надпись
myGLCD.clrScr();
myGLCD.setColor(255, 255, 255);
myGLCD.print("Hello World!", CENTER, 120);
}

void loop() {}

Спасибо…. Суть понял, но не помогло. На wiki 3.2 3.5 TFT на чипах HX8357C или ILI9341.

Указание этих драйверов тоже ни как.Правда драйвер ILI9341 в моей библиотеке не зарегистрирован.

Но с драйвером HX8357C у них разница в зеркальном отображении.

#include <UTFT.h>

// Пробуем разные драйверы по очереди
//UTFT myGLCD(HX8357A, 56, 55, 57, 58);  // Вариант 1
//UTFT myGLCD(ILI9486, 56, 55, 57, 58);  // Вариант 2
//UTFT myGLCD(R61509V, 56, 55, 57, 58);  // Вариант 3

void setup() {
  Serial.begin(115200);
  delay(1000);
  
  // Инициализация
  myGLCD.InitLCD();
  Serial.println("Display initialized");
  
  // Тест
  myGLCD.clrScr();
  myGLCD.setColor(255, 0, 0);
  myGLCD.fillRect(0, 0, 319, 50);
  myGLCD.setColor(255, 255, 255);
  myGLCD.setBackColor(255, 0, 0);
  myGLCD.print("HX8357C/ILI9486 Test", CENTER, 20);
}

Это 320х240, обычно 3.2", а разрешение 3,5" обычно 480х320.
Вам нужен другой драйвер, например, ili9488.

1 лайк

Поробуйте ILI9486 с 8-битным интерфейсом управления.

Спасибо за советы.У меня 3 Библиотеки UTFT. И не одна не подошла.Не все драйверы в них есть.

Буду искать….

Библиотеку скачал по ссылке с wiki .Там 3.2 и 3.5 в одной позиции, и ссылка на одну UTFT.

Скачал по поиску на GitHub Библиотеку с потдержкой 3.5 TFT.

Пока ноль.

Покупал дисплей что он к— mega2560 и библ.UTFT. Но подключить сумел лишь с Adafruit и MCUFRIEND.

Немного не устаивает скорость обновления экрана.Где то прочитал что Adafruit старая и тяжеловата.

Поэтому хочу подключить через UTFT.

tft espi в большинстве случаев сейчас использую))) потому что там разобрался с кодировкой, с русским языком, и в веб сервере не ловлю крякозябры))) как правило не ловлю…))) хотя еще и скорость вывода у нее хорошая так же…

Это Вы серьезно?
307200 байт видеопамяти - очень много для AVR. Так что скорость там никак не может устраивать.
Я вот сейчас бьюсь с подобным экраном на BluePill, уже увеличил скорость заливки более чем в 14 раз по сравнению с найденным примером, но скорость все равно не устраивает.
И это даже при том, что 72 МГц при 32 разрядах - это совсем не то же самое, что 16 МГц при 8 разрядах.
Так что о какой либо приемлемой скорости для Меги на таком дисплее нельзя даже мечтать.
Либо берите “камушек” побыстрее, либо экранчик поскромнее.

По поводу “старая” - она не старше AVR. В AVR ничего нового за последнее время не произошло, поэтому никаких ресурсов для увеличения производительности не появилось. А “тяжеловата” - это по поводу расхода памяти, в первую очередь flash. Для Меги это не актуально.

PS. Еще раз посмотрел схему подключения. Она единственно возможная для Uno, но не оптимальна для Меги. 8-разрядную шину данных целесообразнее организовывать через единственный порт, а не через кусочки двух разных. Это можно исправить, но тогда подключать Мегу к дисплею нужно будет не напрямую, а через промежуточную плату. Но скорость так немного увеличить можно. Это порядка десятков процентов, но никак не в разы.

Спасибо за советы.Учту в будущем.Я нахожусь в вазе изучения Си.Более 20 лет к нему не подходил.

А в железе я вообще 0.Просто по случаю приобрел комплект мега2560+RAMS 1.4+дисплей LCD 12864.

Для ЧПУ.Но хотелка осталось хотелкой.Пока не до механики.Захотелось цветной дисплей…..Купил……

Указали что совместим с UTFT .Но с UTFT пока не поженил.Пока пытаюсь вспомнить Си и освоить железо что под рукой.

Этот дисплей вроде не SPI. Его поддержит TFT eSPI?

Про TFT eSPI это к BABOSу

А все и не нужны.

Пробовали?
здесь есть

вот ещё

Нашел вроде свой дисплей на LCDWIKI там пишут что чип ILI9486 .В UTFT нашел ILI9486, но не прошло.

С UTFT это еще те танцы с бубном.Там закоментируй, тут раскоментируй…..Пока библиотеку не подключил.

Пробовал разные драйверы.Осталось поправить общую настройку с 16 на 8 бит.

Нашел библиотеку LCDWIKI но там нет возможности добавить шрифт.

У меня уже чисто спортивный интерес.кто что скажет…

С этого начинать надо. 8-ми битный интерфейс - это когда данные передаются по 8-ми проводам одновременно. Плюс управляющие сигналы.
Разберитесь сначала со схемой подключения

Да спасибо нашел.Но пока подключить не получилось.

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

Правда?

Да я понимаю.Но если кто то вставил драйвер он должен выставить настройки….для данного чипа…..?

Схема подключения, один шильд вставляется в другой, т.е настройки по умолчанию,максимум установки драйвера и пинов.

В MCUFRIEND и LCDWIKI вообще пинов не указывал.

Работает же.

Читаем(UTFT.h - из библиотеки по моей ссылке)) :
“При использовании 8 битных и 16 битных модулей, существуют некоторые требования, которые вы должны соблюдать.
Эти требования можно найти в UTFT_Requirements.pdf.”

Это читали?

Прошу прощения вопрос про eSPI не к вам был.

В том то и дело на шилде нет информации.На рисунке его полная копия и подключение.

Походу тут чип ILI9486…. А так кто их китайцев знает, че пихают.Все на одно лицо….

Ошибка в первом предложении - не хватает частицы “не”.
В некоторых случаях, действительно, настройки выставляет драйвер.
Но в большинстве случаев - плата, а именно перемычки на ней, которые могут быть как конфигурируемыми пользователем (пользователь может соединять припоем те или иные контактные площадки, добиваясь определенного режима работы), так и представляющие собой набор проводников, не допускающих изменения режима работы.
Какой вариант у Вас - не знаю. Но предполагаю, что второй. Дело в том, что плата оформлена как стандартный шилд для Ардуино, следовательно, допускает единственный вариант коммутации. Поэтому Вам и не пришлось объяснять библиотеке, к каким пинам нужно подключаться.
Впрочем, если я правильно понял, Вы пишете про промежуточную плату между Ардуино и платой дисплеем, но никаких данных об этой плате не приводите, поэтому сказать что-то более определенное я не могу.
Если хотите получить на форуме какую-либо информацию, опирающуюся на опыт завсегдатаев, следует подробнее описывать свое железо.