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

pin13
Offline
Зарегистрирован: 13.11.2014

To PhOSTU:

Полезная информация, спасибо. Покупал здесь http://www.ebay.com/itm/2-4-Inch-2-4-TFT-LCD-Shield-Touch-Panel-Module-TF-Micro-SD-For-Arduino-UNO-R3-/121416820943?pt=LH_DefaultDomain_0&hash=item1c4501a8cf. Я у этого продавца уже покупал другие штуки, все было норм. Но в этот раз приехало не совсем то. А на том, что приехало белым по красному было написано название шилда, производитель и модель контроллера. Но уже и эта информация вызывает сомнения... Судя по всему, творческий подход к продаже тачскринов - добрая китайская традиция.

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

Почистил библиотеку от лишних условий. Скорость работы значительно возрасла, а занимаемая память снизилась на пару-тройку кб! Раньше пример UTFT_Demo_400x240 отрабатывался за 49413мс, теперь за 44229. Для зеленого uno шилда 3,5 + только arduino uno (могу выложить версию для меги, скрещивать мне лень - перешел полностью на мегу). Компилировал в иде 1.5.8. В 1.0.5 возможно заругается на _delay_ms, в таком случае заменить на просто delay. Добавлен русский шрифт с просторов инета. Строка инициализации:

UTFT myGLCD(31,A2,A1,A3,A4);

https://yadi.sk/d/ikLBsmpFcz9Yv

Правленная библиотека для работы с тачскрином находится в предыдущих сообщениях.

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

Спасибо PhOSTU. Вот так теперь и приходится выкладывать библиотеки целиком.  И указывать под какой IDE они запускались.

31 можно обозначать NIC35WS или  ILI9327_8 . В разных версиях библиотек нумерация может меняться, а названия оставаться теми же. 

Henning Karlsen доработал свою библиотеку с v2.77b на v2.79 типа под 1.5.8 IDE , но от туда стёр ILI9320, ILI9327_8,.... , так понял что производители шилдов не захотели делиться денежкой. На его сайте старых библиотек не нашёл. Так что народ сохраняйте работоспособные конфигурации - старые библиотеки и IDE!

Самая пока приглядная для этого дисплея, действительно библиотека v2.77b  (в v2.77 небыло 31 дисплея, в 2.79 убран и заменен на совершенно другой). 

Кто-то здесь спрашивал про распиновку дисплея FPC-XT035-059-A , вот разбираюсь ради интереса http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov , в надежде замены на похожий и дешёвый

Как оказалось , к примеру 8K1465 даже с одинаковыми названиями на шлейфах TFT8K1465FPC-A1-E, попались немного разные шлейфы по разводке (благо со схожей распиновкой) , и с разными контроллерами. 

avton
avton аватар
Offline
Зарегистрирован: 11.05.2014

Делал шилд под себя может кому пригодииться

номерация сверху вниз  правая гребенка на фото 

 

в более читаемом виде )  : https://yadi.sk/i/r8Nem_kdd22Nn

AlexBel
AlexBel аватар
Offline
Зарегистрирован: 14.10.2014

http://arduino.ru/forum/apparatnye-voprosy/tft-35-i-arduino?page=1#comme...

Бублик,

у меня дисплейный модуль, выглядящий точно так же, только надпись на нём 3.5" aitendo ili9327 (был прислан вместо заявленного http://www.aliexpress.com/snapshot/6285068449.html?orderId=64132337377223). Работает с библиотекой, большое спасибо!

Может быть, информация для кого-нибудь будет полезна.

Тач не проверял.

StrangerM
Offline
Зарегистрирован: 02.11.2013

Жду вот такой. Попробую запустить. http://www.aliexpress.com/item/3-5-Inch-TFT-LCD-400x240-Spi-Interface-il...

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

PhOSTU пишет:

Почистил библиотеку от лишних условий. Скорость работы значительно возрасла, а занимаемая память снизилась на пару-тройку кб! Раньше пример UTFT_Demo_400x240 отрабатывался за 49413мс, теперь за 44229. Для зеленого uno шилда 3,5 + только arduino uno (могу выложить версию для меги, скрещивать мне лень - перешел полностью на мегу). Компилировал в иде 1.5.8. В 1.0.5 возможно заругается на _delay_ms, в таком случае заменить на просто delay. Добавлен русский шрифт с просторов инета. Строка инициализации:

UTFT myGLCD(31,A2,A1,A3,A4);

https://yadi.sk/d/ikLBsmpFcz9Yv

Правленная библиотека для работы с тачскрином находится в предыдущих сообщениях.

Если кого напрягает перевёрнутый экран в зелёном шилде, можно сделать так (чтобы разъёмы питания и USB были привычно слева от ардуино уно):

в папке .....\UTFT\tft_drivers\ili9327_8  поправить

1. initlcd.h 

LCD_Write_COM(0x36);   // регистр положения дисплея по даташиту ILI9327
LCD_Write_DATA(0x48);  заменить на  LCD_Write_DATA(0x88);   - это перевернёт зкран на 180гр
 
2. setxy.h
первой строчкой написать  y1=y1+32; y2=y2+32; - это сместит картинку в нормальное положение (т.к. видеопамять ILI9327 432пикс по нашей горизонтали, а у нас матрица дисплея 400пикс.
 
это сработало. на время выполнения теста не повлияло как было 44сек, так и осталось.
 
Пробовал  при инициализации сменить адресацию в регистре 2B от 0000 до 018F на  от 0020 до 01AF - не помогло - да и не должно , это же не маска. Всякие там сдвиги. скрулы и маски не исследовал.  
slider
Offline
Зарегистрирован: 17.06.2014

PhOSTU пишет:

Почистил библиотеку от лишних условий. Скорость работы значительно возрасла, а занимаемая память снизилась на пару-тройку кб! Раньше пример UTFT_Demo_400x240 отрабатывался за 49413мс, теперь за 44229. Для зеленого uno шилда 3,5 + только arduino uno (могу выложить версию для меги, скрещивать мне лень - перешел полностью на мегу). Компилировал в иде 1.5.8. В 1.0.5 возможно заругается на _delay_ms, в таком случае заменить на просто delay. Добавлен русский шрифт с просторов инета. Строка инициализации:

UTFT myGLCD(31,A2,A1,A3,A4);

https://yadi.sk/d/ikLBsmpFcz9Yv

Правленная библиотека для работы с тачскрином находится в предыдущих сообщениях.

Чтобы зелёный уновский дисплей заработал на ардуине меге (ибо у него шина данных 8 бит приходится не на 0-7 цифровые пины как регламентировано для УНОвских шилдов в UTFT, а на 2-10 цифровые пины) , то надо в 

....\UTFT\hardware\avr

в файле HW_ATmega1280.h , всё стереть, и записать 

void UTFT::_hw_special_init()
{
}

void UTFT::LCD_Writ_Bus(char VL)
{   
		PORTH &= ~0x78;
		PORTH |= ((VL & 0x03)<<5)+((VL & 0xC0)>>3);
                PORTG &= ~0x20;
		PORTG |= (VL & 0x10)<<1;
		PORTE &= ~0x38;
		PORTE |=((VL & 0x20)>>2)+ ((VL& 0x0C)<<2);
                pulse_low(P_WR, B_WR);
}

void UTFT::_set_direction_registers(byte mode)
{
	for(int p=2;p<10;p++)  {   pinMode(p,OUTPUT);  } 
       pinMode(A0, OUTPUT);  digitalWrite(A0, 1); // подать на вывод RD дисплея, лог.1    
}

void UTFT::_fast_fill_16(int ch, int cl, long pix)
{
}

void UTFT::_fast_fill_8(int ch, long pix)
{
	long blocks;
		PORTH &= ~0x78;
		PORTH |= ((ch & 0x03)<<5)+((ch & 0xC0)>>3);
                PORTG &= ~0x20;
		PORTG |= (ch & 0x10)<<1;
		PORTE &= ~0x38;
		PORTE |=((ch & 0x20)>>2)+ ((ch & 0x0C)<<2);
                pulse_low(P_WR, B_WR);

	blocks = pix/16;
	for (int i=0; i<blocks; i++)
	{

		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
	}
	if ((pix % 16) != 0)
		for (int i=0; i<(pix % 16)+1; i++)
		{
			pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		}
}

Тест на меге проходит за 53сек, против 44сек на уно, из-за того что 8 проводов шины данных дисплея приходят на много разных портов (G, H, E) меги , и  уходит время на раскидывание данных по ним, чем на уно (порты B, D).  

Строка инициализации зелёного УНОвского шилда в меге, та же - UTFT myGLCD(31,A2,A1,A3,A4);

gneil90
Offline
Зарегистрирован: 18.12.2014

Бублик, 
а вы пытались сд карту завести на 3,5'' китайском дисплее для меги?

vitalikost
Offline
Зарегистрирован: 28.11.2014

На Меге дисплей запустить удалось, а вот с miniSD так и не у далось.

Интерфейс SPI: выводы 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) - так, что думаю без паялника ни как . 

serge73
serge73 аватар
Offline
Зарегистрирован: 08.10.2014

на меге 3,5 я запускал. только пришлось делители доделать.

Все описано с картинками в этой ветке в моих постах.  Возможно вам подойдет.

gneil90
Offline
Зарегистрирован: 18.12.2014

Бублик,
В вашем UTFT.cpp 
отсутствует метод LCD_Write_DATA(char VL, char VH), а хотя в методе drawBitmap вызывается. 

Чтобы не ругался компилятор, копирнул с нынешних версий - но рисует что то картинки вообще не так

gneil90
Offline
Зарегистрирован: 18.12.2014

У меня заработало в итоге с этой библиотекой СД карта, только SPI_Speed минимальную указал. Надеюсь, тоже кому поможет
https://github.com/greiman/SdFat-beta

gneil90
Offline
Зарегистрирован: 18.12.2014

@serge73, @vitalikost,

картинку отрисовывать не пытались?
силуэт вроде виден, а остальное вообще не похоже:
Вот я копирнул строки:

void UTFT::LCD_Write_DATA(char VH,char VL)
{
	if (display_transfer_mode!=1)
		{
		sbi(P_RS, B_RS);
		LCD_Writ_Bus(VH,VL,display_transfer_mode);
		}
	else
		{
		LCD_Writ_Bus(0x01,VH,display_transfer_mode);
		LCD_Writ_Bus(0x01,VL,display_transfer_mode);
		}
}
Вот где собственно они используют  
void UTFT::drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int scale)
{
  unsigned int col;
  int tx, ty, tc, tsx, tsy;

  byte r, g, b;
  if (scale==1) {
   if (orient==PORTRAIT) {
    cbi(P_CS, B_CS);
    setXY(x, y, x+sx-1, y+sy-1);
    for (tc=0; tc<(sx*sy); tc++) {
    col=pgm_read_word(&data[tc]);
    LCD_Write_DATA(col>>8,col & 0xff);

...

}

 

Попробовал адаптировать скетч http://arduinodev.com/arduino-sd-card-image-viewer-with-tft-shield/

Оригинал:

SergKT
Offline
Зарегистрирован: 04.08.2014

Такое впечатление, что размер картинки не совпадает с размерами окна в которое оно выводится :)

Да и "выход" текста за пределы отведенного для него "места", тоже настораживает - чет с размерами и координатами...

Ivanoff.iv
Offline
Зарегистрирован: 21.12.2014

serge73,

у меня дисплей 3,5 дюйма на меге 2560 также мигал,

набор из http://ru.aliexpress.com/item/-/1989078374.html?isOrig=true#extend

я сделал в скетче UTFT_Demo_400x240 (он один всего в этой библиотеке) строку инициализации: 

UTFT myGLCD(ITDB32WC,40,39,38,41);

пошел мусор по экрану, но иногда проскакивала уменьшенная картинка из теста, тогда я загрузил скетч UTFT_Demo_480x320 из стандартной Карлсеновской библиотеки с инициализацией: 

UTFT myGLCD(CTE32HR,38,39,40,41);

или

UTFT myGLCD(CTE40,38,39,40,41);

и дисплей заработал... правда с инверсией цвета.

Обращаюсь к вам, т.к. считаю, что нам попались одинаковые дисплеи, с просьбой помочь разобраться с цветами.

также не заработал тачскрин - чувствует нажатия, но не может определить координаты - подозреваю что оборван шлейф, завтра на работе проверю

AlexBel
AlexBel аватар
Offline
Зарегистрирован: 14.10.2014

Заказывал Arduino Mega 2560 с дисплеем здесь: http://ru.aliexpress.com/item/Mega-2560-R3-Development-Board-3-5-inch-TFT-LCD-Touch-Screen-Display-Module-Compatible-For/1769845784.html?recommendVersion=1

Комплект пришёл быстро, но дисплей оказался битым. Продавец на связь не выходил (я отправлял 3 сообщения: одно - на емейл, два - через сайт). Открыл спор, затребовал возврат суммы почти 100%, продавец так и не отреагировал, спор был закрыт в мою пользу. Это так, на всякий случай, для тех, кто хочет купить что-то у этого продавца...

В дополнение - деньги от Али получил :)

moct05
Offline
Зарегистрирован: 26.12.2014

Вот и я себе взял красный дисплей с 8 битным управлением и подключаю его к МЕГЕ 2560. Получается у меня такой же как у Бублика, т.к. его файлы заработали, и дисплей ожил, правда прорисовка очень медленная и клочками. Запустил тест тача с цифрами, при нажатии на соответствующую цифру нажимается другая. Флешку пока не пробовал. Проблемы с тачем и скоростью прорисовки попробую порешать позднее, благо на форуме все описано. Еще раз спасибо всем, кто решал эти проблемы.

Пытался собрать бутерброт из Меги+Прото шилд для Меги+Экран. Столкнулся с тем что на протошилде контакты "мама" идут со смещением относитльно контактов Меги, и экран на протошилд не садится. Садиться только на прямую на Мегу. Это так информация для информации, чтобы кто-то не попался как я. Можно самому спаять протошилд, используя макетку и проходные разъемы для подлючения к Меге с длинными штырями "папа", но мне попались длинноватые, и придется их продрезать.

А теперь мои размышления. Я правильно понимаю, что все эти проблемы вылезли потому, что распиновка разъемов на китайском экране, не совпадает со стандартными разъемами? Или там еще есть какой-то подводный камень? Хочу попробовать подключить экран шлейфами к стандартным пинам, и запустить стандартные библиотеки. Как думаете получится? Если все получится, то шлейф заменю проводами и припаяю это все к протошилду. По результатам отпишусь.

Жду ответы на вопросы. Спасибо всем еще раз.

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

moct05 пишет:

А теперь мои размышления. Я правильно понимаю, что все эти проблемы вылезли потому, что распиновка разъемов на китайском экране, не совпадает со стандартными разъемами? Или там еще есть какой-то подводный камень?

К тому же может другой контроллер стоять, а это и инициализация немного иная и установка X Y точек и окон. Даже хоть на шлейфах дисплеев напишут тоже назание.

moct05
Offline
Зарегистрирован: 26.12.2014

Итак, сегодня подключил экран к Меги через шлейфы, согласно картинки приведенной ниже.

Sergiy_83 пишет:

 При 8ми битном подключении младшие разряды DB0-DB7 не используются.

Запустил код от Бублика, для проверки, все работает.

Получается отличае от стандартной распиновки никакой, только перепутаны разъемы SCK и IN на флешке. Стандартный разьемы таковы:

наименование выводов экрана - пин в стандартной распиновке - пин нашего экрана (Пины даны когда подключим к ардуино):

GND - GND - GND (JP 3)

VCC - 5V - 5V (JP 3)

LCD_RS - 38 - 38 (JP 1)

LCD_WR - 39 - 39 (JP 1)

LCD_RD (LED_A) - 3V3 - 3,3V (JP 3)

LCD_DB8 - 22 - 22 (JP 1)

LCD_DB9 - 23 - 23 (JP 1)

LCD_DB10 - 24 - 24 (JP 1)

LCD_DB11 - 25 - 25 (JP 1)

LCD_DB12 - 26 - 26 (JP 1)

LCD_DB13 - 27 - 27 (JP 1)

LCD_DB14 - 28 - 28 (JP 1)

LCD_DB15 - 29 - 29 (JP 1)

LCD_CS - 40 - 40 (JP 1)

LCD_RESET - 41 - 41 (JP 1)

LCD_DB0 - 37 - не используется  (JP 1)

LCD_DB1 - 36 - не используется (JP 1)

LCD_DB2 - 35 - не используется (JP 1)

LCD_DB3 - 34 - не используется (JP 1)

LCD_DB4 - 35 - не используется (JP 1)

LCD_DB5 - 34 - не используется (JP 1)

LCD_DB6- 33 - не используется (JP 1)

LCD_DB7 - 32 - не используется (JP 1)

TouchP_CLK - 6 - 6 (JP 2)

TouchP_CS - 5 - 5 (JP 2)

TouchP_DIN - 4 - 4 (JP 2)

TouchP_BUSY - не используется - 7 (JP 2)

TouchP_OUT - 3 - 3 (JP 2)

TouchP_Penirq (IRQ) - 2 - 2 (JP 2)

SD_OUT - 50 - 50 (JP 1)

SD_SCK (CLK) - 51 - 52 (JP 1)

SD_DIN - 52 - 51 (JP 1)

SD_CS - 53 - 53 (JP 1)

 

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

Теперь в размышлениях. Куда копать дальше....

В общем штука такая, есть у меня проект, который написан под нормальный экран, но не знаю чего там нужно подправить, чтобы скеч заработал. Размышления такие....в этом скече со стнадратными библиотеками (есть у меня такой архив) меняю библиотеки на те что скинуты на этом форуме, а дальше в скече нужно поменять строки со стандартного экрана на подделку. Вот какие строки нужно менять? Тут встал в тупик. Я еще не совсем разобрался с программированием, поэтому тяжело.

Правильный ход мыслей? Помогите плиз.

moct05
Offline
Зарегистрирован: 26.12.2014

И еще вопрос.

Я хочу использовать шлейф от жесткого диска для подсоединения экрана. Хочу сделать так...средний разъем мама посадить на 36 пиновый разъем экрана, а кототкий остаток, предварительно распушив, подключить к JP2 и JP3. Получается от этих разъемов пойдет транзитом через разъем JP1 по не используемым пинам. Возникает вопрос, а ничего там не коротнет? Длинный конец от среднего разъема на шлейфе, так же распушив, хочу подпоять к протошилду, чтобы одев протошилд получить рабочий экран и ничего не подлключать специальным шлейфом для макетных плат и ардуино. Возможно ли такое подключение?

URkA
Offline
Зарегистрирован: 21.03.2014

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

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

Привет всем.

:) прибыло в полку вопрошающих...

Прикупил вот эту штуку:

http://ru.aliexpress.com/item/Mega-2560-R3-Development-Board-3-5-inch-TFT-LCD-Touch-Screen-Display-Module-Compatible-For/1769845784.html?recommendVersion=1

Продавец в описании очень краток - Контроллер      9327

Поправил стандартный UTFT вот так -  myGLCD(ILI9327,38,39,40,41); и все заработало.

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

http://habrahabr.ru/post/196864/

Библиотеку Utouch установил, ошибок компилятора нет. Но и тач не работает.

Там же, Хабре, читаю вот это:

========

Теперь подгружаем дополнение и создаем объект – сенсорный экран с именем myTouch. В качестве параметров команде инициализации передаются номера пинов, к которым подключены сигналы TCLK, TCS, TDIN, TDOUT и IRQ.

========

И стандартно предлагается указать вот это - UTouch  myTouch( 6, 5, 4, 3, 2);

Получается, что должны быть указаны другие пины. Только какие? Смотрел несколько распиновок - нигде не увидел этих TCLK, TCS, TDIN, TDOUT и IRQ.

Может они как то по другому на схемах обозначаются?

Прошу помочь с решением этой проблемки...если оно есть конечно.

ЗЫЫЫЫ

Сайт производителя не доступен, различные вариации (из стандартных) пробовал - ну не выходит.

Отрисовывается все отлично, а вот тач не работает...зараза!

Блин, вот сейчас подумал - а если тач на этом экране вовсе не предусмотрен?...

 

 

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

MadG пишет:

Блин, вот сейчас подумал - а если тач на этом экране вовсе не предусмотрен?...

 

Вот сейчас смотрю на Али - название товара (есть слово Тач=сенсорный)

Mega 2560 R3 Development Board + 3.5 inch TFT LCD Touch Screen Display

А ниже в описании нет уже про тач и сенсор...блиииин

Mega 2560 R3 Development Board + 3.5 inch TFT LCD Display Module Compatible

 

Mega 2560 R3 Development Board + 3.5 inch TFT LCD Touch Screen Display
isurin
Offline
Зарегистрирован: 18.11.2014

Ivanoff.iv пишет:

serge73,

у меня дисплей 3,5 дюйма на меге 2560 также мигал,

набор из http://ru.aliexpress.com/item/-/1989078374.html?isOrig=true#extend

я сделал в скетче UTFT_Demo_400x240 (он один всего в этой библиотеке) строку инициализации: 

UTFT myGLCD(ITDB32WC,40,39,38,41);

пошел мусор по экрану, но иногда проскакивала уменьшенная картинка из теста, тогда я загрузил скетч UTFT_Demo_480x320 из стандартной Карлсеновской библиотеки с инициализацией: 

UTFT myGLCD(CTE32HR,38,39,40,41);

или

UTFT myGLCD(CTE40,38,39,40,41);

и дисплей заработал... правда с инверсией цвета.

У меня такой же купленный  в

http://ru.aliexpress.com/item/Free-shipping-3-5-inch-TFT-LCD-screen-modu...

заработал по 16-ти битной шине с параметром:

1UTFT myGLCD(1,38,39,40,41);

Все пляски с 8 битами ни к чему не привели

 

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

Ivanoff.iv пишет:

и дисплей заработал... правда с инверсией цвета.

Если инверсия цвета на дисплее (синус теста UTFT рисуется на белом фоне, а не на чёрном), то решить можно поискав другие инициализации на этот контроллер, либо посмотреть даташит на контроллер (к примеру на контроллер HX8352A это бит INVON в 0x01 регистре, менял этот бит в инициализации UTFT , и цвета инвертировались в правильные).  Думаю что это связано с поворотом поляризационной плёнки на заводе, при изготовленнии матрицы для дисплея.

Если просто немного другие цвета на дисплее , то это также может быть из-за инициализации (полагаю другая гамма коррекция для другого питающего напряжения на дисплее ).  либо режим цветности 65К вместо 262К ( для определённых контроллеров может устанавливаться пинами im0....im3,im4, если они выведены, либо полагаю также возможно  дело в инициализации )

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

isurin пишет:

У меня такой же купленный  в

http://ru.aliexpress.com/item/Free-shipping-3-5-inch-TFT-LCD-screen-modu...

заработал по 16-ти битной шине с параметром:

1UTFT myGLCD(1,38,39,40,41);

Все пляски с 8 битами ни к чему не привели

 

Если не тяжко - вложи библиотеку?

Китайцы они такие падла китайцы! Ну что можно перепутать отправляя набор? Оказывается можно что угодно перепутать.

Дисплей мне пришел не 3,5'' а 3,6. На все вопросы продаван молчит. У них тоже праздники?

Дисплейчик нормально все показывает на вот такой строке, стандартного UTFT:

UTFT        myGLCD(ILI9327, 38,39,40,41);

А вот тач не заводится, пробовал разные варианты, бестолку.

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

Хотя на стандартном UTouch_ButtonTest если нажать на Энтер тача появляется рамочка на цифре 4. Знаит тач живой?

Прицепил фоту, расписал где какие контакты цепляются к Ардуино Мега 2560.

Есть у кого нибудть соображения как изменить строку  UTouch?

А то уже думаю кнопки отдельно прикручивать...каменный век :)

 

 
isurin
Offline
Зарегистрирован: 18.11.2014

MadG пишет:

Если не тяжко - вложи библиотеку?

Китайцы они такие падла китайцы! Ну что можно перепутать отправляя набор? Оказывается можно что угодно перепутать.

Дисплей мне пришел не 3,5'' а 3,6. На все вопросы продаван молчит. У них тоже праздники?

Дисплейчик нормально все показывает на вот такой строке, стандартного UTFT:

UTFT        myGLCD(ILI9327, 38,39,40,41);

А вот тач не заводится, пробовал разные варианты, бестолку.

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

Хотя на стандартном UTouch_ButtonTest если нажать на Энтер тача появляется рамочка на цифре 4. Знаит тач живой?

Прицепил фоту, расписал где какие контакты цепляются к Ардуино Мега 2560.

Есть у кого нибудть соображения как изменить строку  UTouch?

А то уже думаю кнопки отдельно прикручивать...каменный век :)

 

 

Да, у меня такой же точь в точь - в нем используется ili9327 в 16ти битном режиме (ноги 22- 38) инициализация либо

UTFT        myGLCD(ILI9327, 38,39,40,41); либо UTFT        myGLCD(1, 38,39,40,41);

Что одно и тоже тк в библиотеке определено ILI9327=1

Библиотеку взял последнюю с сайта http://henningkarlsen.com/electronics/library.php?id=52 ничего в ней не менял (кроме типа контроллера) там же лежит и utouch

для тача прописал правильно

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

но прежде чем использовать тач его надо откалибровать - там в примерах к UTouch есть Utouch Calibration запускаешь ее, калибруешь и получаешь на дисплее 3 числа, которые прописываешь в UtouchCD.h после этого тач работает нормально.

В TouchCalibration определил #define TOUCH_ORIENTATION  LANDSCAPE 

Правда проблема с шлейфом присутствовала и у меня - пришлось прогреть паяльником на 300 градусах подложив бумагу между паяльником и пленкой.

 

PS!!! 22 нога указана неверно - две верхние это 5 вольт, а 22 находится ниже (под той что указана на рисунке)

isurin
Offline
Зарегистрирован: 18.11.2014

А кто нибудь анализировал как там включена подсветка? Есть ли токоограничивающие резисторы или светодиоды включены напрямую и через часов 100 непрерывной работы яркость упадет? Как ей управлять? Отключая 5 вольт идущие на 1117 или есть более удобный метод?

 

Sergiy_83
Offline
Зарегистрирован: 06.07.2014

isurin пишет:

А кто нибудь анализировал как там включена подсветка? Есть ли токоограничивающие резисторы или светодиоды включены напрямую и через часов 100 непрерывной работы яркость упадет? Как ей управлять? Отключая 5 вольт идущие на 1117 или есть более удобный метод?

Про подсветку писал выше (на прямую на 3.3V) Я пошел более неудобным способом  развел свою плату и поставил последовтельно резак на подсветку. PWM в контроллере вроде есть но он не выведен на шлейф LCD FPC-XT035-059A так что управление яркостью только вручную.  Кстати если припаян FPC-XT035-059A то ни о каком настоящем 16 битном режиме можете и не мечтать, там только 8 bit на шлейфе остальные 8 висят в воздухе.

isurin
Offline
Зарегистрирован: 18.11.2014

Sergiy_83 пишет:

isurin пишет:

А кто нибудь анализировал как там включена подсветка? Есть ли токоограничивающие резисторы или светодиоды включены напрямую и через часов 100 непрерывной работы яркость упадет? Как ей управлять? Отключая 5 вольт идущие на 1117 или есть более удобный метод?

Про подсветку писал выше (на прямую на 3.3V) Я пошел более неудобным способом  развел свою плату и поставил последовтельно резак на подсветку. PWM в контроллере вроде есть но он не выведен на шлейф LCD FPC-XT035-059A так что управление яркостью только вручную.  Кстати если припаян FPC-XT035-059A то ни о каком настоящем 16 битном режиме можете и не мечтать, там только 8 bit на шлейфе остальные 8 висят в воздухе.

Насчет FPC-XT035-059A - как выяснить? На нем ничего такого не написано, если надо отдирать сам экран, то заморачиваться не буду. Пробовал я вывешивать на проводах только 8 бит - заставить работать в таком режиме я его не смог, только когда все 16 подключаешь он работает. А мне как раз актуальнее 8 бит чтобы меньше проводов тянуть и больше свободных ног у меги осталось. А такой вопрос - от 1117 питается только подсветка или еще что то? Если я ее отрежу и последовательно резюк повешу..

 

Sergiy_83
Offline
Зарегистрирован: 06.07.2014

Да, надо отодрать чтобы прочитать. Маркировка дисплея пишут на шлейфе и или на самом дисплее.

Сам дисплей питается тоже от 3.3V поэтому резак надо садить в цепь светодиодов. На счет 16/8 режима. я в предлагаемой библиотеке только инициализацию контроллера ili9327 подсмотрел и как пинами управления дергать. так что что она там делает я не знаю. а вообще там может быть припаяно 2 видов дисплея так что кто знает может у вас 16 битный вариант LCD  

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

isurin пишет:

Да, у меня такой же точь в точь - в нем используется ili9327 в 16ти битном режиме (ноги 22- 38) инициализация либо

UTFT        myGLCD(ILI9327, 38,39,40,41); либо UTFT        myGLCD(1, 38,39,40,41);

В 16 битном режи режиме эта же сторока? (myGLCD(ILI9327, 38,39,40,41);) или другая?

Ты вроде пишешь, что ноги используются 22-38, значит должна быть другая?

Сейчас еще раз попробовал со строками:

myGLCD(ILI9327, 38,39,40,41)
UTouch      myTouch(6,5,4,3,2);

Только первый экран появляется. И все! тач так и не хочет работать.

 

Если не трудно - выложи библиотеку и пример калибровки тача - может у меня руки совсем кривые?...

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

isurin пишет:
Правда проблема с шлейфом присутствовала и у меня - пришлось прогреть паяльником на 300 градусах подложив бумагу между паяльником и пленкой.

Может и у меня такая проблема? Можешь показать на фото в каком месте прогревал? Сам то ниразу этого не делал - лучше не рисковать, сделать так, как уже испробовано.

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

isurin пишет:
Библиотеку взял последнюю с сайта http://henningkarlsen.com/electronics/library.php?id=52

Эта ссылка ведет на УТФТ для

chipKit Uno32
chipKit uC32
chipKit Max32

так и должно быть?

А то я скачиваю вот отсюда:

http://henningkarlsen.com/electronics/library.php?id=51

 

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

только что скачал и установил УТФТ и Утач по твоей ссылке - результат тот же - калибровка тача не идет дальше первой страницы...

isurin
Offline
Зарегистрирован: 18.11.2014

Sergiy_83 пишет:

Да, надо отодрать чтобы прочитать. Маркировка дисплея пишут на шлейфе и или на самом дисплее.

Сам дисплей питается тоже от 3.3V поэтому резак надо садить в цепь светодиодов. На счет 16/8 режима. я в предлагаемой библиотеке только инициализацию контроллера ili9327 подсмотрел и как пинами управления дергать. так что что она там делает я не знаю. а вообще там может быть припаяно 2 видов дисплея так что кто знает может у вас 16 битный вариант LCD  

Только что оторвал дорогу от 1117, подсветка пропала, сам дисплей работает - так что у меня от него только подсветка работает, сам контроллер питается от 3.3 с меги (соседний вывод). Воткнул в разрыв 33 ома - светит, но мне кажется слабовато. Интересно какой номинальный ток подсветки ему нужен?  Если не секрет то сколько у Вас стоит ом?

isurin
Offline
Зарегистрирован: 18.11.2014

MadG пишет:

В 16 битном режи режиме эта же сторока? (myGLCD(ILI9327, 38,39,40,41);) или другая?

Ты вроде пишешь, что ноги используются 22-38, значит должна быть другая?

Сейчас еще раз попробовал со строками:

myGLCD(ILI9327, 38,39,40,41)
UTouch      myTouch(6,5,4,3,2);

Только первый экран появляется. И все! тач так и не хочет работать.

 

Если не трудно - выложи библиотеку и пример калибровки тача - может у меня руки совсем кривые?...

в 16ти битном точно такая строка (myGLCD(ILI9327, 38,39,40,41);) тк ILI9327 это в utft.cpp соответствует 16ти битному контроллеру. 22-38 это шина данных, а 38-41 управляющие сигналы - они соответствуют тем что заданы в строке. И собсно если он показывает нормально, то UTFT ,больше не трогай - лучше не станет ))) Проблема сейчас с Utouch там строка инициализации

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

если с ней не работает, то скорее всего либо проблема со шлейфом, можно попробовать нажать пальцем на место где шлейф  прикреплен к экрану, либо калибровочные константы очень смещены, либо забыл его переключить в landscape

константы у меня такие:

#define CAL_X 0x00264F1DUL
#define CAL_Y 0x0072CD4AUL
#define CAL_S 0x8018F0EFUL

что бы переключить в landscape надо  в utouch_calibration.ino заменить

#define TOUCH_ORIENTATION  PORTRAIT

на #define TOUCH_ORIENTATION  LANDSCAPE

И фотка где и как прогревать паяльником:

 

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

Блин, свет отрубили...попробую как включат.
Isurin, если не трудно-скинь библиотеку Uotuch, фиг знает, может я кривую юзаю...

Sergiy_83
Offline
Зарегистрирован: 06.07.2014

isurin пишет:

Воткнул в разрыв 33 ома - светит, но мне кажется слабовато. Интересно какой номинальный ток подсветки ему нужен?  Если не секрет то сколько у Вас стоит ом?

15 Ом.  В моем 6 светодиодов, я подбирал чтобы ток был 18 - 20 мА на брата.  На прямую ток был 180 мА тоесть 30мА на каждого. Но в моем случае можно было на каждый поставить по резаку, но  я чето решил что сойдет и так. Просто когда светодиоды в паралель это не значит что через них протекает одинаковый ток, так как характеристики у них разные.  Да и разницы в яркости особо не видно что 20 что 30мА. 

Кстати контроллер дисплея может работат и на пониженном напряжении вопрост только на сколько стабильно. Смотрите внимательно может все таки не от меги он запитан.

isurin
Offline
Зарегистрирован: 18.11.2014

MadG пишет:
Блин, свет отрубили...попробую как включат. Isurin, если не трудно-скинь библиотеку Uotuch, фиг знает, может я кривую юзаю...

Лови,  https://yadi.sk/d/aQXWwEe9drHgT

соответственно не забудь #define TOUCH_ORIENTATION заменить

isurin
Offline
Зарегистрирован: 18.11.2014

Sergiy_83 пишет:

[

15 Ом.  В моем 6 светодиодов, я подбирал чтобы ток был 18 - 20 мА на брата.  На прямую ток был 180 мА тоесть 30мА на каждого. Но в моем случае можно было на каждый поставить по резаку, но  я чето решил что сойдет и так. Просто когда светодиоды в паралель это не значит что через них протекает одинаковый ток, так как характеристики у них разные.  Да и разницы в яркости особо не видно что 20 что 30мА. 

Кстати контроллер дисплея может работат и на пониженном напряжении вопрост только на сколько стабильно. Смотрите внимательно может все таки не от меги он запитан.

Спасибо за информацию сейчас попробую впаять 15-20 ом, контроллер питается по пину где 3.3 тк отключаешь его, подсветка остается, а изображение пропадает.

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

Не выходит блин ничего.

#define TOUCH_ORIENTATION изменил. Координаты в файле (UTouchCD.h) пробовал и стандартные и от isurin.

Контакты, как на фото выше прогревал - до легкого пожелтения бумаги.

Калибровочный тест не запускается. Попробовал запустить кнопочный тест, результат тот же - загружается экран с кнопками. Когда первый раз нажимаешь на экран вокруг кнопки "Clear" появляется красненькая рамочка. И все. Больше тач ни на что не реагирует. На фото видна эта рамочка.

Это все? Тач мертвый? Думаю, если так, то открывать спор с продаваном...

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

MadG пишет:

Не выходит блин ничего.

 

MadG, ну возьми мультиметр и проверь сопротивление тача, и изменение , в инете описана проверка. За одно проследишь куда дальше он идёт.

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

slider пишет:

MadG, ну возьми мультиметр и проверь сопротивление тача, и изменение , в инете описана проверка. За одно проследишь куда дальше он идёт.

Не знал, что в такие шлейфы можно с мультиметром... Во общем тестировщик из меня еще тот :)

Сам экранчик отодрал от липучки, померил сопротивление по дорожкам шлейфа (на картинке указал где 1, а где 4):

1-4 658
1-3 206
1-2 555


2-4 106
2-3 505

3-4 685

Как подсказывает интернет, то нормальные значения.

Попробовал прозвонить на ножки - а вот тут засада. Толком не знаю что и где искать. Попробовал звонить первую дорожку - сопротивление показывает только на ножках +5 и (по моему) земля. И то сопротивление показывает около 950Ом. Так что бы прямой выход на ногу - не нашел. Думаю просто не знаю как искать.

 

На какой ноге мне поискать первую дорожку? Каким, примерно, должно быть сопротивление?

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

Сейчас еще раз проверил - к шлейфу тача подключил крокодил, между дорожкой и крокодилом на 0 получилась 3 дорожка.

Попробовал тупо по всем контактам пройти - 800-900 Ом только получил на ножках +5 и земля.

В каом месте можно шлейф еще проверить?

isurin
Offline
Зарегистрирован: 18.11.2014

MadG пишет:

Сейчас еще раз проверил - к шлейфу тача подключил крокодил, между дорожкой и крокодилом на 0 получилась 3 дорожка.

Попробовал тупо по всем контактам пройти - 800-900 Ом только получил на ножках +5 и земля.

В каом месте можно шлейф еще проверить?

Шлейф на разъем не выводится, он подключен к 2046 http://www.ti.com/lit/ds/symlink/tsc2046.pdf

а она уже выведена на разъем (2-6) через две сборки, посмотри внимательно, может 2046 криво впаяна или непропаяна.

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

Сейчас померял сопротивление между 2 и 3 ногой 2046 (x+ y+ ) без нажатия там больше 200 килоом, при нажатии 500-800 ом

между 4 и 5 ногой (x- y-) так же - без нажатия больше чем 200к, при нажатии сотни ом. Если у тебя так же - смотри что бы 2046 была запаяна ровно, без сопель, китайцы это любят. и проверь соединения с 2046 через резисторные сборки на разъем - у меня выведено так:

2 пин на разъеме (там где цифра 2) меги 2560 это irq

3 - DOut

4 - DIn

5 - CS

6 - Dclk

и прозвони саму резисторную сборку

 

SergKT
Offline
Зарегистрирован: 04.08.2014

MadG пишет:

Сейчас еще раз проверил - к шлейфу тача подключил крокодил, между дорожкой и крокодилом на 0 получилась 3 дорожка.

Попробовал тупо по всем контактам пройти - 800-900 Ом только получил на ножках +5 и земля.

В каом месте можно шлейф еще проверить?

А сопротивление меняется, если по тачу пальцем водить туды-сюды ?

На моём сопротивление меняется, от максимума (около 850) почти до нуля, правда на моём контроллера нет.

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

Отсоединил дисплей от Меги, попробовал мерять сопротивление - меняется.

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

isurin пишет:

Сейчас померял сопротивление между 2 и 3 ногой 2046 (x+ y+ ) без нажатия там больше 200 килоом, при нажатии 500-800 ом

В моем случае, на дисплее, отсоединенном от Меги, между 2 и 3 без нажатия 688Ом, если нажать 357Ом.

Именно Ом, не килоОм...херня какая то у меня а не тач...

 

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

 

isurin
Offline
Зарегистрирован: 18.11.2014

MadG пишет:

 

В моем случае, на дисплее, отсоединенном от Меги, между 2 и 3 без нажатия 688Ом, если нажать 357Ом.

Именно Ом, не килоОм...херня какая то у меня а не тач...

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

Только мерять надо так что бы ничего не прикасалось к экрану, если он лежит на столе то показания могут быть не точными. Но если в свободном положении там 600 с лишним ом - то видимо он где то нажат (возможно криво приклеен или еще какая то хрень)

Сейчас залил калибровку и попробовал  включить экран предварительно нажав на него. Получилась картина как у тебя на тач не реагирует. Но если отпустить то все ок. Скорее всего криво приклеен тач и где то замкнут.