TFT 3,5" и Ардуино

slider
Offline
Зарегистрирован: 17.06.2014

sepulka пишет:

Скетч с примером 400х240 выполняется красиво, без проблем. Даже исправлять ничего не надо. (У меня видео -контроллер ILI9327_8, так что 31 - в самый раз. (Плата UNO)).

Но в тесте не используется тач-скрин, а как их совместить я не знаю. А с нуля, все полностью сочинять не хочется. В посте №580 я уже это описывал эту проблему.

Я уже заказал на "Али" другой экран с процессором ILI9488. Может с ним будет проще.

Да нормально на крайняк графика по UTFT и тачскрин по Adafruit дружаться. пробовал с  #include "TouchScreen.h"

только после вызова   TSPoint p = ts.getPoint(); надо вернуть порты наместо:

pinMode(6, OUTPUT);  digitalWrite(6,LOW ); 
  pinMode(7, OUTPUT);  digitalWrite(7, LOW); 
  pinMode(A1, OUTPUT);  digitalWrite(A1,LOW ); 
  pinMode(A2, OUTPUT);  digitalWrite(A2, LOW);
видимо родная ворачивалка в функции не полноценна для используемых портов UTFT.
ну и рисовал грубо   myGLCD.drawPixel( p.x / 3 , p.y / 2 );
 
Но лучше конечно неиспользовать библиотеку, а дописать самому в свой код конфиг на вход опрос тача и возврат пинов на выход, так с 2мя координатами.
 Затем применить ардуиновскую map(); чтоб к примеру по Х , с полученных 200-800 (0-1023) сделать как на экране пикселей 0-400 (0-320).
 Вот ещё одну либу нашёл на гитхабе, проверьте если кому надо и есть время
 
Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

 

Товарищи!Пожалуйста, выложите либу ув.  diger67 на файлообменник! Дисплей завести хОчу! Заранее спасибо!

 

sepulka
Offline
Зарегистрирован: 19.08.2015

sepulka пишет:

Я уже заказал на "Али" другой экран с процессором ILI9488. Может с ним будет проще.

( Ага, как раз тот случай. Думал: поскачет и помчится - фигушки ! )

Купил вот такой комплект:

Mega 2560 + TFT 3,95", на плате TFT явно краской напечатано ili9488.

Загружаю тест "UTFT_Demo_400x240.ino" , в нем меняю строку инициализации на: UTFT myGLCD(ILI9327,38,39,40,41);

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

Посоветуйте пожалуйста: как с этим нужно бороться ? Именно такой видео-процессор нигде в "Среде разработки" не нашел. (Может не там искал, версия "Arduino 1.6.5")

Может нужен какой то код/драйвер инициализации ? Куда его вписывать ?

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

 

Для этих экранов подойдёт либа дигер67, у меня такой же...но либы нету...

sepulka
Offline
Зарегистрирован: 19.08.2015

sepulka пишет:

Загружаю тест "UTFT_Demo_400x240.ino" , в нем меняю строку инициализации на: UTFT myGLCD(ILI9327,38,39,40,41);

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

Сделал вывод, что у меня (у дисплея) разрешение 480 х 320. Поскольку ILI9488 в UTFT нет, то выбрал похожий на него R61581 пробую:

загружаю UTFT_Demo_480x320.ino, меняю строку инициализации

myGLCD(R61581,38,39,40,41); 

Получаю четкое цветное изображение, но повернутое зеркально. Пробовал другие типы видео-контроллеров: ILI9486, CTE35IPS, CTE40 - получаю белый экран и очень, очень бледные мерцания.

То есть R61581 все таки единственно подходит, но как изображение зеркально повернуть ?

Есть описание этих видео-процессоров и R61581 и ILI9488 (на английском) пробовал искать что то похожее на "mirror" , но не нашел.

PhOSTU
Offline
Зарегистрирован: 20.06.2014

Поиском нашел решение подобной проблемы. http://arduino.ru/forum/apparatnye-voprosy/tft-35-i-arduino?page=5#comment-87748

Но там был ili9327 в 8 битном режиме. Можно попробовать по аналогии.

sepulka
Offline
Зарегистрирован: 19.08.2015

Спасибо.

В посте №298 нашел очень интересную информацию:

pin13 пишет:

Если вам не по душе кривые "зеркала", комментим следующие строки в файле initlcd.h:

//	LCD_Write_COM(0x36);
//	LCD_Write_DATA(0x00,0x48);

Заменил в файле initlcd.h R61581 и получил красивую, правильную картинку теста. Почему так сделал не могу сказать. По логике вещей должно быть наооборот. Ведь эта команда "включает зеркало" и ее рекомендовано было закоментить.

Может это еще где то боком вылезет. Так как и цвета тоже поменялись на правильные. В "зеркале" вместо красного был синий, а вместо синего - красный.

diger67
Offline
Зарегистрирован: 25.07.2015

Курите PDF по данному кристалу. Вообще все зависит от многих регистров. К примеру можно записывать RGB, а можно BGR. Заметили разницу, R и B поменялись местами. Не помню пост, но суть его была такова. Мерцает экран. Смотрим настройку частоты кадров, по умолчанию во всех инициализациях берут заводскую установку 60 или 70 Гц. Пробуем установить 100 Гц и о чудо мерцание проподает. Так что читайте документацию на контроллер и пробуйте настройки. Сам кристал не сожгете, в худшем случае что то будет работать не совсем правильно, ну или совсем не будет работать. Возвращаем исходные параметры и все опять работает. Как то так.....

diger67
Offline
Зарегистрирован: 25.07.2015

Не правильный выбор, ili9488 это по всем регистрам и режимам полный аналог ili9341. только надо повысить частоту фрейма до 100 Гц. Это избавит от мерцания изображения. Одна беда в убогой UTFT поддерживается только 3-write и 4-write. Эта проблемма тоже решаема. Я к примеру перенес библиотеку Adafruit шына 8bit с платформы AVR на ARM32 шина 16bit. При этом используется FSMC шина что значитеьно ускоряет работу программы. Сейчас жду STM32f429 там есть такая вкусняшка как ускоритель для управления TFT LCD и это при том что его тактовая частота 178 МГц.  

diger67
Offline
Зарегистрирован: 25.07.2015

Либа подойет, только у меня файл pinmagic от старой версии Adafruit. Там ноги как на Uno сдесь же шина данных на порту "a" процессора. так что надо заменить этот файл с учетом расположения ног на шилде.

diger67
Offline
Зарегистрирован: 25.07.2015

Приношу свои извенения. Долго небыло дома. Видимо отключали свет и UPS сдох, потому и сервер отвалился. Исправил, теперь все доступно.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

diger67, пробую вашу либу, дисплей 3.95" ILI9488. Белый экран. Что не так?

diger67
Offline
Зарегистрирован: 25.07.2015

Если на шилде стоит 38 пин двух рядный разъем, то используется новая версия pin_magic. Попробую найти в своих скачках и выложить в отдельную папку. Все что надо будет сделать  = это заменить файл в папке Adafruit_TFTLCD библиотеки. Вот попробуй, удаляем два файла Mag UNO и mag MEGA, заменяем на pin_magic.h. 

http://178.130.34.198/adafruit/pinmagic/

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Заменил, в .cpp проинклюдил его, всё равно не работает.

diger67
Offline
Зарегистрирован: 25.07.2015

Старые файлы отцепил и убрал из папки либы? Что пишет Serial.print?

Посмотрел pdf на r61581. Есть ньюанс. Регистр D3 в ili9488 возврвщвет при чтени сигнатуру чипа, у r61581 совсем другое назначение. Похоже это несовместимые чипы. 

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Отцепил. Сериал пишет рН и напругу;)

LynXua
Offline
Зарегистрирован: 08.10.2015

Для тех у кого 3.5" китайский дисплей на ili9481 (инициализируется с помощью UTFT myGLCD(CTE32HR,38,39,40,41);) и зеркальное изображение, в файле initlcd.h замените

	LCD_Write_COM(0x36); // Set address mode
	LCD_Write_DATA(0x0A);

на

	LCD_Write_COM(0x36); // Set address mode
	LCD_Write_DATA(0x1A);

Ну или вообще, поэксперементируйте с битами в этой конманде (можно повернуть на 90° например).

P.S. не думал что due c дисплеем будут заметно греться (платы еле тепленькие), возможно это греется ams1117 voltage regulator, чтобы это не значило. 

______________________________________________________

Другой дисплей на ili9488 у меня завелся только на uno, мигает страшно, а заказчику хочется именно его (размер 3.95" подходящий), если заставлю работать на due/mega/nucleo - напишу позже.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Успеху с ili9488) эта тема и меня задевает)

diger67
Offline
Зарегистрирован: 25.07.2015

 

#include <Adafruit_GFX.h>
#include <Adafruit_TFTLCD.h>

#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
// optional
#define LCD_RESET A4


Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);

void setup()
{

  uint16_t identifear = tft.readReg(0xBF);
  Serial.print(identifear, HEX);
 
}

void loop() {
  // put your main code here, to run repeatedly:

}


 Запусти скетч. Посмотри что выдаст терминал. Если 0x1581 то останется добавить инициализацию и этот индикатор будет работать с Adafruit.​

diger67
Offline
Зарегистрирован: 25.07.2015

ili9488 - это продолжение линейки ili9341. Файл инициализации надо брать от него. Что бы исключить мерцание надо повысить частоту обновления фрейма, регистор 0хB1 = 0x0013 (100 Hz). Все это справедливо если в шилде действительно установлен ili9488. Могу выложить для STM32 проект, писал уже что работает и не только в режиме ногодрыга, а с использованием шины FSMC. На подходе stm32f4-discaveri c 429 чипом. Тут еще интереснее передача идет через DMA в FSMC на уровне железа. Все и так летало, а в данном случае думаю и видео потянет в режиме покадровой отрисовки. Остается одна задача прикрутить DDR RAM.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

 

Хех, спасибо за помощь, код проверю.Для СТМ не надо, СТМки пока ещё только едут...а с ними и ст-линк где-то в пути...чиорт...с дма и фсмс интересно...кидайте) в кокосе писали?

 

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

 

Вся проблема с распиновкой. У меня дисплей аналоговых входов не касается вообще...

diger67
Offline
Зарегистрирован: 25.07.2015

Распиновку разъема LCD покажите. А лучше фото с двух сторон. И еще, шина 8 или 16 bit. Я писал под 16 bit. но переделать под 8 не составит труда. Писал в CooCox, пока на C. Надаво разобался как эту соФтину заставить работать на C++, переделываю. Про DMA и FSMC есть ньюанс, надо что бы у LCD  были выведены наружу V-SINC и H-SINC т.е. можно было бы работать в режиме RGB, тогда можно использовать драйвер 429 камня. А так можно SDRAM+DMA+FSMC. записываем страници в RAM а оттуда в через DMA в LCD. Думаю должно сработать, ведь в таком случае будет грузиться готовый фрэйм без учета функций обработки примитивов.

sepulka
Offline
Зарегистрирован: 19.08.2015

Yarik.Yar пишет:

 

Для этих экранов подойдёт либа дигер67, у меня такой же...но либы нету...

А нужна именно библиотека "Адафрут" ?

Ведь, если такой же TFT-экран и на "Меге", то "UTFT- не правленная" работает без проблем, меняеш строку инициализации и "зеркалирование". Глянь в моих постах №№605, 607.

myGLCD(R61581,38,39,40,41); 

И "UTouch" тоже работает, но надо будет запускать калибровку и потом перезаписать коэфициенты.

UTouch  myTouch( 6, 5, 4, 3, 2); 

и указать максимальную точность, иначе не четко попадает:

myTouch.setPrecision(PREC_EXTREME);

 

sepulka
Offline
Зарегистрирован: 19.08.2015

diger67 пишет:

Распиновку разъема LCD покажите...

В постах №№158, 159 - картинки, там разговор о 3,5" экране, но контакты те же для "Меги".

alexvp
Offline
Зарегистрирован: 09.10.2015

Добрый день,

Пришла посылка из Китая, а там два китайца :) UNO и шилд с TFT 3.95 

Да, тот самый с ILI9488. Второй день не могу запустить, лишь белй экран. Скачивал разные варианты библиотек и примеров, результат никакой. Дисплей определяется с id 0xC0C0. Спасибо этой теме, скачал скетч определения id (LCD_ID_Reader). Запустил и получил тот же результат. Взял другую UNO, результат чуть изменился, но не в лучшую сторону. Выдает 0x0000.

Подскажите, куда копать? Или шилд пришел убитым?

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Это с R61581...

LynXua
Offline
Зарегистрирован: 08.10.2015

alexvp пишет:
Взял другую UNO, результат чуть изменился, но не в лучшую сторону. Выдает 0x0000.

Подскажите, куда копать? Или шилд пришел убитым?

Для начала на разных uno результат должен совпадать, иначе дело в контактах / лишней переферии / кварце (не перепаивал на 20МГц?) / загрузчике / фьюзах / плате или самом чипе (бывают битыми, да).

LynXua
Offline
Зарегистрирован: 08.10.2015

Наконец заработал 3.95" 320х480 на ili9488 с arduino mega и due.

Для этого в файле pin_magic.h заменил захаркореные макросы

#define write8inline(d) { \
#define read8inline(result) {                       \
#define setWriteDirInline() { \
#define setReadDirInline() { \

на arduino-style:

#define tst(byte,bit) ((byte)&(1<<(bit)))
#define tst_bool(byte,bit) (((byte)&(1<<(bit)))?1:0)
unsigned char TFT_PIN_data0=8;
unsigned char TFT_PIN_data1=9;
unsigned char TFT_PIN_data2=2;
unsigned char TFT_PIN_data3=3;
unsigned char TFT_PIN_data4=4;
unsigned char TFT_PIN_data5=5;
unsigned char TFT_PIN_data6=6;
unsigned char TFT_PIN_data7=7;

#define write8inline(d) { \
  digitalWrite(TFT_PIN_data0, tst_bool(d,0)); \
  digitalWrite(TFT_PIN_data1, tst_bool(d,1)); \
  digitalWrite(TFT_PIN_data2, tst_bool(d,2)); \
  digitalWrite(TFT_PIN_data3, tst_bool(d,3)); \
  digitalWrite(TFT_PIN_data4, tst_bool(d,4)); \
  digitalWrite(TFT_PIN_data5, tst_bool(d,5)); \
  digitalWrite(TFT_PIN_data6, tst_bool(d,6)); \
  digitalWrite(TFT_PIN_data7, tst_bool(d,7)); \
  WR_STROBE; }

  #define read8inline(result) {                       \
    RD_ACTIVE;                                        \
    DELAY7; \
  result = digitalRead(TFT_PIN_data7)<<7 \
       + digitalRead(TFT_PIN_data6)<<6 \
       + digitalRead(TFT_PIN_data5)<<5 \
       + digitalRead(TFT_PIN_data4)<<4 \
       + digitalRead(TFT_PIN_data3)<<3 \
       + digitalRead(TFT_PIN_data2)<<2 \
       + digitalRead(TFT_PIN_data1)<<1 \
       + digitalRead(TFT_PIN_data0)<<0; \
    RD_IDLE; }

  #define setWriteDirInline() { \
    pinMode(TFT_PIN_data0,OUTPUT);  \
    pinMode(TFT_PIN_data1,OUTPUT);  \
    pinMode(TFT_PIN_data2,OUTPUT);  \
    pinMode(TFT_PIN_data3,OUTPUT);  \
    pinMode(TFT_PIN_data4,OUTPUT);  \
    pinMode(TFT_PIN_data5,OUTPUT);  \
    pinMode(TFT_PIN_data6,OUTPUT);  \
    pinMode(TFT_PIN_data7,OUTPUT);  \
  }
  #define setReadDirInline() { \
    pinMode(TFT_PIN_data0,INPUT); \
    pinMode(TFT_PIN_data1,INPUT); \
    pinMode(TFT_PIN_data2,INPUT); \
    pinMode(TFT_PIN_data3,INPUT); \
    pinMode(TFT_PIN_data4,INPUT); \
    pinMode(TFT_PIN_data5,INPUT); \
    pinMode(TFT_PIN_data6,INPUT); \
    pinMode(TFT_PIN_data7,INPUT); \
  }

Для due вместо DELAY7; нужно delayMicroseconds(1);

Это позволяет одному коду работать на всех платах, менять пины, и код очень простой. Хотя и чуть медленее, но на глаз не заметно, при этом такой код работает на много быстрее на due чем хардкорный на uno. (И можно сделать файл короче на порядок, но мне лень, разовая работа, дальше в плане отпаять экран от платы-шилдта и подключить напрямую к due)

В бибилиотеках это не единственные изменение, и у меня там путаница, если кто-то хочет попробовать на моих измененных бибилиотеках запустить свой ili9488 c uno/mega/due (на остальных не пробовал, не все изменил) https://dropmefiles.com/tWfXh (мои документы -> arduino -> library - сначала все свое переместите в другое место, потом распакуйте мое. Перезапустите "arduino ide", файл -> образцы -> Adafruit1 -> Adafruit_TFTLCD-> rotationtest )

P.S. экран похоже не оч - черный фон сильно полосит, белый менее заметно, возможно смена частоты поможет, как говорили выше. (пока не нуждаюсь в этом, заказчик хочет сменить дисплей)

alexvp
Offline
Зарегистрирован: 09.10.2015

Удалось побороть проблему 0xC0C0 для экрана с ili9488. Помогла рекомендация отсюда

https://github.com/adafruit/TFTLCD-Library/issues/18

 

LynXua
Offline
Зарегистрирован: 08.10.2015

Китайцы такие китайцы, у меня нету там delay, но при этом на due, который, на порядок быстрее, работает. Как такое можно делать...

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Если бы распиновочку для большого меговского экранчика...

LynXua
Offline
Зарегистрирован: 08.10.2015

Yarik.Yar пишет:

Если бы распиновочку для большого меговского экранчика...

В исходниках? У меня 3.5 который не касается аналоговых портов, отлично на UTFT библиотеке работает, ну почти, после правки стал отлично.

diger67
Offline
Зарегистрирован: 25.07.2015

Похоже здесь все писатели. Ну читайте вы pdf к чипам lcd. Сравнивайте назначение одинаковых по адресу регистров в разных lcd. Все савподение R61581 и ili9488 заканчивается на регистрах slip, on/off и регистра записи в память ram lcd. То что вы подобрали частично подходящую инициализацию методом научного тыка еще не очем не говорит. На Duo любой индикатор работае немного быстрее, но не значительно. Глаз всеравно замечает мерцание при смене фрейма. Единственное решение это 32 разрядный микроконтроллер, желательно с хардовой поддержкой вывода во внешнюю память и ДМА.

diger67
Offline
Зарегистрирован: 25.07.2015

Ну теперь для меня все стало очевидным. Упустил распиновку. На данном шилде нет вывода RD, что делает совершенно бесполезным данный шилд. Становится невозможным алгоритм, чтение - модификация - запись, да и проверить что стоит на борту становится обсолютно невозможно. Шилд  кастрированный на 2/3. Если хочешь избавиться от гемороя вот ссылка, там реально ili9488 около 600 руб. А с этим по ходу разберешься.

http://ru.aliexpress.com/item/Free-shipping-LCD-Display-Module-TFT-3-5-inch-TFT-LCD-screen-for-Arduino-UNO-R3/1883183749.html

 

LynXua
Offline
Зарегистрирован: 08.10.2015

Так китайцы и написали на каком LCD чипе, конечно пробуешь все либы подряд пока не заработает наиболее подходящим образом, а потом уже можно читать даташит, а не pdf. Где этот чип вообще сидит? Не вижу совсем.

Не значительно быстрее? Так, ок, на видео: https://youtu.be/j7RcK7i9cno и https://youtu.be/5P5phDBn_g8

На uno видео вообще показательное, правда телефон взял его и повернул..

28 поворотов за 16 секунд (1.75) и 19 поворотов за 25 секунд (0.76) что в 2.3 раза быстрее. (Если сравнить частоты то еще обидно что так мало окажется) Код один и тот же, только на due задержка при чтении больше, разгребать, до просмотра что там происходит, лапшу библиотек не хочется ради поста на форуме, и так разницу видно.

Тут форум ардуинщиков, ест-но оперируют такими понятиями как библиотеки, а не даташиты.

Я не плакал по поводу скорости, мне нужно картинку вывести раз и числа менять, подобрать правильную ориентацию и на uno будет замечательно.

alexvp
Offline
Зарегистрирован: 09.10.2015

diger67 пишет:

Если хочешь избавиться от гемороя вот ссылка, там реально ili9488 около 600 руб. А с этим по ходу разберешься.

http://ru.aliexpress.com/item/Free-shipping-LCD-Display-Module-TFT-3-5-inch-TFT-LCD-screen-for-Arduino-UNO-R3/1883183749.html

Я такой же брал. В ссылке указано 3,5 дюйма. А на странице описание 3,95 дюйма.

Заметил одну особенность. У меня IDE 1.6.5 и при запуске некоторых скетчей с этим шилдом происходит следующее. Запускаю вначале пример с графикой, все работает нормально. Затем запускаю пример с touch screen, но без установленной библиотеки. Естественно идет ошибка компиляции. После этого снова загружаю в IDE пример с графикой, он компилируется, загружается в UNO, но экран остается белым. Хотя никаких изменений никуда не вносил. Лечится лишь переустановкой IDE.

В чем глюк может быть?

diger67
Offline
Зарегистрирован: 25.07.2015

Ответ в Вашем сообщении проблема в софте. Железо работает стабильно. Софт, если в нем не ковыряться бездумно так же работает стабильно. Пробовал и на Win7, и  на Win8, и на Win10.

diger67
Offline
Зарегистрирован: 25.07.2015

Мне как правило продавец не только реальный чип озвучивает, но и файлы примеров предоставляет, правда зачастую это примеры для 51 процов. Но главное это сам алгоритм. Ну а что куда в конкретном случае это уже на уровне знания кишок камня. PDF - это и есть даташит. По поводу частот. У DOE как я помню что то от 20МГц у STM32 от 78МГц до 180МГц. Идеология та же. Инициализация перефирии, т.е. тактирование, описание пинов, частота переключения, в случае SPI, USART и.т.д. еще добавляются полярность сигналов и включение альтернативной функции. При этом цена значительно интересней. Скажем Due на али стоит от 2500 р, STM32F3 от 1300р, STM32F4 от 1500р. Вот и думайте. Что касается использования софта Arduino, то парни из Америки прикрутили уже поддержку STM в среде разработки и активно адаптируют часто используемые библиотеки.

diger67
Offline
Зарегистрирован: 25.07.2015

Вот ссылочка на форум. 

http://www.stm32duino.com/index.php?sid=9963b1af22ce60c27c171dab3e19a7bd

 

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

не путайте народ) DUE пашет на ARMовском ядре на тех же 78МГц, и стоит она от 800 руб(клик).

alexvp
Offline
Зарегистрирован: 09.10.2015

diger67 пишет:

Ответ в Вашем сообщении проблема в софте. Железо работает стабильно. Софт, если в нем не ковыряться бездумно так же работает стабильно. Пробовал и на Win7, и  на Win8, и на Win10.

Похоже, Вы невнимательно читали мое сообщение. Я там по-русски написал, что НИКАКИХ изменений в код скетчей не вносил. Скетчи из примеров к библиотеке. Дисплей работает при запуске корректного скетча. Потом запускаем другой скетч с ошибкой компиляции. Дисплей естественно не работает. Потом снова запускаем первый скетч, который работал. Но он уже не запускает дисплей. Перезапуск IDE, перезагрузка компа и сброс UNO не помогают. Лечится лишь преустановкой IDE. Поэтому и спрашиваю, кто-то с подобным сталкивался? Если не сталкивались, то лучше промолчите.

diger67
Offline
Зарегистрирован: 25.07.2015

Упс. Попутал малость с XMEGA. Что до цены оч может быть.

tukov63
Offline
Зарегистрирован: 08.10.2015

история похожая с вашей один к одному только в файле initlcd.h R61581 не нашел этих строк, пробовал менять другие похожие но бессистемно, менялись цвета

slider
Offline
Зарегистрирован: 17.06.2014

alexvp пишет:

diger67 пишет:

Ответ в Вашем сообщении проблема в софте. Железо работает стабильно. Софт, если в нем не ковыряться бездумно так же работает стабильно. Пробовал и на Win7, и  на Win8, и на Win10.

Похоже, Вы невнимательно читали мое сообщение. Я там по-русски написал, что НИКАКИХ изменений в код скетчей не вносил. Скетчи из примеров к библиотеке. Дисплей работает при запуске корректного скетча. Потом запускаем другой скетч с ошибкой компиляции. Дисплей естественно не работает. Потом снова запускаем первый скетч, который работал. Но он уже не запускает дисплей. Перезапуск IDE, перезагрузка компа и сброс UNO не помогают. Лечится лишь преустановкой IDE. Поэтому и спрашиваю, кто-то с подобным сталкивался? Если не сталкивались, то лучше промолчите.

Ну глюк, что тут такого. надо быть всегда к этому готовым. Для этого держу у себя на компе несколько установленных IDE , (не установщиком, а zip файлами (есть на официальном сайте), иначе могут отказаться устанавливаться, даже переименовав папки в C/ProgramFiles/ , ну и мож права админа где обойти.

 например IDE 165 163 158 не запускает некоторые графические скетчи с tft экранами (некоторые на скетчи ругаются), а IDE 155 работает. бывает и на оборот. Бывает еще и в общей папке в моих документах\Arduino\libraries мусор и неразбериха, так можно несколько папочек иметь и подсовывать их. Каким-то IDE нормально, а какие-то ругаются, иногда критично. Просто помню для себя какие скетчи в каких IDE хорошо работают. Так-что ничего страшного.

diger67
Offline
Зарегистрирован: 25.07.2015

slider​, искал распиновку tft панели 3.95 ili9488. Нашел, только там указаны все пины для цифрового режима, есть белые пятна 4 необозначенные пина. Может встречались похожие распиновки. Очень хочу запустить tft в режиме RGB на stm32f429. Известные контакты нашел здесь 

http://world.taobao.com/item/38705369324.htm?fromSite=main&spm=a312a.7700824.w4023-12223268633.12.UHXjZl

 

LynXua
Offline
Зарегистрирован: 08.10.2015

tukov63 пишет:

история похожая с вашей один к одному только в файле initlcd.h R61581 не нашел этих строк, пробовал менять другие похожие но бессистемно, менялись цвета

В гугле вбиваешь название чипа и datasheet

Открываешь, обычно, первый попавшийся pdf файл, и если с английским дружишь, листаешь ближе к середине, ищешь таблицы, там будут описание команды (байт) и параметров (может быть несколько), если повезет то легко поймешь что где (я нашел команду bla-bla and rotate, но ничего связанного с поворотом небыло, в таком случае надо искать дальше или просто перебрать все биты параметра). Обычно все нормально находится, но бывает.

MadG
Offline
Зарегистрирован: 07.01.2015

.

slider
Offline
Зарегистрирован: 17.06.2014

diger67 ,   ili9488 и на   http://www.wayengineer.com/ неподошло ? если у них в поиске забить его.

http://www.wayengineer.com/index.php?main_page=advanced_search_result&search_in_description=1&keyword=ILI9488

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

надож было тогда для народа фотки своего шлейфа выложить.

Да уж, отчаянно эти дисплеи на RGB запускать :))) (могут im0-... нужные не выведены, но в некоторых контроллерах можно через регистр задавать режим работы) , ну раз железо STM позволяет... Мож тогда на эранах от планшетников и плееров попрактиковаться, они 4" и больше, там уж точно RGB, и дешевле, т.к. контроллера с видеопамятью нет . (только им всякие питания надо организовать).   Или тоже как вариант LVDS, если железо позволяет, у меня с десяток дисплеев от айфонов 3х валяется, могу поделиться. Так мож и канут совсем в небытье не задействаваные. Они вроде еще дешевле чем RGB, и используемых пинов хрен да маленько.

а..., ток заметил ниже распиновку по ссылке , я для своих дисплеев примерно  прикидывал по дорожкам в шлейфе и распиновке кристалла , для  ili9488 его пдф 27я стр. Большинство конечно не выведены, зато очередность соблюдается вывода с кристалла в шлейф.

Такто здорово что на http://taobao.com выкладывают инициализации и распиновки, спс, напомнил.

write2sd
Offline
Зарегистрирован: 14.10.2015

Помогите пожалуйста начинающему самоучке как подключить данный дисплей к Arduino Mega 2560