3,2 TFT LCD + TouchScreen?
- Войдите на сайт для отправки комментариев
Пт, 27/03/2015 - 10:03
"Пришел" дисплей от наших луноликих братьев:

Так вот вопрос: есть на нем тачскрин или нет?
"Пришел" дисплей от наших луноликих братьев:

Так вот вопрос: есть на нем тачскрин или нет?
А название можно увидеть?
Судя по источнику в библиотеках есть примеры с кнопками, на тач там подключается к неподключенным пинам:
PIN48 и PIN49 на дисплее не подключены. В другом примере тач подключен так:
PIN45 приходится на FLASH_CS дисплея, но кнопки все-равно не работают. Так есть ли TouchScreen или нет?
так что за дисплей-то????
ну или хоть фото с обратной стороны выложи
Все как на фото у продавца:
Похоже на обычный, без TouchScreen
Ещё мнения есть?
Ещё мнения есть?
ссылку на товар у производителя... тач не с "обратной" стороны платы, а под экраном и если даже он есть - на фото его не видно, а такого экранчика я не держал в руках
Попросили фото с обратной стороны, я и выложил... А с лицевой фото есть в источнике.
Сори похоже что тач, но в описании ни слова о том что он тач,
С тачем чем отличается?
судя по картинке "пример 4" у них все работает и тач там есть. Подождите, может кто еще юзил этот девайс...
Вот этот вроде как с тачем.Но модели разные
http://ru.aliexpress.com/store/product/3-2-Inch-240x320-TFT-Graphic-Touch-LCD-Display-Module-Screen-Panel-For-Arduino-3V/1686390_32265421976.html
С тачем чем отличается?
однозначно не ответишь, зависит от исполнения... у меня тач - тоненькая подложка на гибком кабеле подключена между экраном и платой, но если это моноблок сразу не разберешь
Вот вроде он
http://www.youtube.com/watch?v=O7X6yrikN3s
На ощупь есть переход с 0,5 мм на экран, как защитная пленка наклеена, подозреваю, что это и есть тач.
Кстати слева на экране шлейф идет очень похоже, что именно на тач
Кстати слева на экране шлейф идет очень похоже, что именно на тач
абсолютно согласен - если это не подсветка :) , вероятность 99%
Но в распиновке дисплея пинов на тач не видать...
Но в распиновке дисплея пинов на тач не видать...
SPI - только для карты? может тач там-же?
Может быть, но в библиотеке 5 пинов подключаются. С MOSI MISO CS и CLK вроде понятно, а пятый пин? Есть FLASH_CS, пробовал и его, не выходит "каменная чаша".
судя по обратной стороне и пустому месту с подписью FLASH её там нет. А что на микрухах на обороте написано-то?
HC245
3A9Y501
UXD335E
HC245
3A9Y501
UXD335E
Octal 3 - State Noninverting Bus Transceiver, это не контроллер, контроллер между экраном и платой, его не видно (если вообще есть)
Контроллер HX8357B
В другом примере тач подключен так:
PIN45 приходится на FLASH_CS дисплея, но кнопки все-равно не работают. Так есть ли TouchScreen или нет?
1) Выложите, пожалуйста, этот код примера.
2) откуда взяли распиновку из первого поста?
судя по даташиту контроллер с тачем не контачат, остается SPI - попробуйте "посмотреть" что приходит по SPI при нажатии на экран - там координаты должны быть.
Код примера (от луноликих братьев):
Распиновка не помню с какого сайта, дисплей с тем-же контроллером что и у меня. Прошерстил даташит на дисплей - о таче ни слова не нашел.
TouchScreen точно есть, как вычислить пины? Через сериал монитор? Помогите с кодом...
Вот вам ссыль на точно такой же дисп.
Тача нет, как следует из описания на сайте
Да, облом. Такой классный дисплей с хорошим разрешением 480х320 и без тача. Но это не беда. Тач можно заказать отдельно, но опять-же, с контроллером он будет или без?. И снова "танцы с бубном". Лучше сразу брать нормальный с тачем.
Теперь другой вопрос. Есть дисплей 3,5'' с тачскрином на контроллере ILI9327(распиновка под UNO). После опять же "танцев" и чтения многочисленных страниц форума, запустил его на mega2560 с библиотекой UTFT(переделанной под этот контроллер). Все прекрасно, графическая демка работает, просто "летает"(в смысле скорости рисования). Вот только с тачем - снова облом. Он подключен к тем же пинам что задействуют дисплей ( YP - 38 нога меги, LCD_RS; XM - 39 нога, LCD_WR; YM - 28, LCD_D7; XP - 29, LCD_D6). Соответственно, с библой UTouch от Карлсена, работать отказывается. Есть решение данной проблемы?
тут ветка целая в том числе и про этот дисплей - все запускалось (по крайней мере на уне).
Я конечно может ошибаюсь, но тач к дисплею не имеет никакого отношения - в смысле, что с контроллером дисплея он не связан никоим образом и в даташитах на контроллер упоминаться не может. Его установка распиновка и тп зависит только от решения луноликих производителей конкретного девайса
На ощупь есть переход с 0,5 мм на экран, как защитная пленка наклеена, подозреваю, что это и есть тач.
Блин, народ, вы что? наберите в гугле Тачскрин и узнаете и увидите его! и не гадайте. Нет тут тача. Если емкостный как в смартах, его тож видать по второму широкому шлейфу.
Тач есть в магазах деталей от сотовых , стоит около 30-40 руб (2,2"-7" одинаково ). К примеру http://www.la-bora.ru/categories/272 . Для подключения потребуется 2 цифровых и 2 аналоговых пинах.
На ощупь есть переход с 0,5 мм на экран, как защитная пленка наклеена, подозреваю, что это и есть тач.
Блин, народ, вы что? наберите в гугле Тачскрин и узнаете и увидите его! и не гадайте. Нет тут тача. Если емкостный как в смартах, его тож видать по второму широкому шлейфу.
Тач есть в магазах деталей от сотовых , стоит около 30-40 руб (2,2"-7" одинаково ). К примеру http://www.la-bora.ru/categories/272 . Для подключения потребуется 2 цифровых и 2 аналоговых пинах.
а что за шлейф левее широкого на картинке???? подрисовывать стрелочку не стал.... для подсветки много вато... около 6 дорожек, отдельным шлейфом?
ЗЫ как раз у производителя, в одном из примеров тач работает. и несколько вариантов риспиновки приведены - в этом и вопрос.
Это как раз и есть подсветка
На ощупь есть переход с 0,5 мм на экран, как защитная пленка наклеена, подозреваю, что это и есть тач.
Блин, народ, вы что? наберите в гугле Тачскрин и узнаете и увидите его! и не гадайте. Нет тут тача. Если емкостный как в смартах, его тож видать по второму широкому шлейфу.
Тач есть в магазах деталей от сотовых , стоит около 30-40 руб (2,2"-7" одинаково ). К примеру http://www.la-bora.ru/categories/272 . Для подключения потребуется 2 цифровых и 2 аналоговых пинах.
Вопрос по этому дисплею уже снят с повестки. Лучше подскажите, как быть с дисплеем из поста #29? Как его запустить с библиотекой UTouch?
Да, облом. Такой классный дисплей с хорошим разрешением 480х320 и без тача. Но это не беда. Тач можно заказать отдельно, но опять-же, с контроллером он будет или без?. И снова "танцы с бубном". Лучше сразу брать нормальный с тачем.
Теперь другой вопрос. Есть дисплей 3,5'' с тачскрином на контроллере ILI9327(распиновка под UNO). После опять же "танцев" и чтения многочисленных страниц форума, запустил его на mega2560 с библиотекой UTFT(переделанной под этот контроллер). Все прекрасно, графическая демка работает, просто "летает"(в смысле скорости рисования). Вот только с тачем - снова облом. Он подключен к тем же пинам что задействуют дисплей ( YP - 38 нога меги, LCD_RS; XM - 39 нога, LCD_WR; YM - 28, LCD_D7; XP - 29, LCD_D6). Соответственно, с библой UTouch от Карлсена, работать отказывается. Есть решение данной проблемы?
Имеется ввиду ILI9327 контроллер дисплея.
http://arduino.ru/forum/apparatnye-voprosy/tft-35-i-arduino?page=4#comment-76055
Специально проверил на Меге - всё работает.
Как раз это читаю... Много раз начинал читать эту ветку, но уж столько воды здесь налито - не дочитывал. Сейчас - спдобился, осиливаю.
там страниц 5 первых толковых, как раз по моей ссылке пост #214 с рабочей библиотекой.
Только надо ее немного перебить чтоб запустилось на меге. Там где то чуть дальше вроде бы
Прочитал всю ветку по ссылке из 36 поста :
Базара нет, на UNO все работает, и графика и тач. На этом можно было бы и успокоиться, только вот ног у UNO практически не остается свободных. Поэтому mega2560 предпочтительней. Графика на ней работает , но тач запустить не получается. Ну не дорос я еще умом библиотеки ковырять...
Загружаю в мегу2560 этот тестовый код ( на UNO он работает ) .На пинах меги 38 и 39 напряжение изменяется, т.е тачскрин работает, но в библу эти данные не передает...
// Тест совместной работы UTFT и тача TFTLCD // Arduino Uno R3 3.5 inch TFTLCD 8bit // Правка в файле TouchScreen.cpp: ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // This program is a quick demo of how create and use buttons. // // This program requires the UTFT library. // // It is assumed that the display module is connected to an // appropriate shield or that you know how to change the pin // numbers in the setup. // #include <UTFT.h> #include <stdint.h> #include "TouchScreen.h" bool Debug = false; //режим отладки // These are the pins for the shield! #define YP 38 #define XM 39 #define YM 28 #define XP 29 #define MINPRESSURE 10 #define MAXPRESSURE 1000 #define TS_MAXX 92 #define TS_MINX 936 #define TS_MAXY 135 #define TS_MINY 900 // For better pressure precision, we need to know the resistance // between X+ and X- Use any multimeter to read it // For the one we're using, its 300 ohms across the X plate TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); // Declare which fonts we will be using extern uint8_t BigFont[]; // Uncomment the next two lines for the Arduino 2009/UNO //UTFT myGLCD(ITDB24D,19,18,17,16); // Remember to change the model parameter to suit your display module! //UTouch myTouch(15,10,14,9,8); // Uncomment the next two lines for the Arduino Mega //UTFT myGLCD(ITDB32S, 38,39,40,41); // Remember to change the model parameter to suit your display module! UTFT myGLCD(NIC35WS,38,39,40,41); #define TOUCH_ORIENTATION PORTRAIT int x, y; char stCurrent[20]=""; int stCurrentLen=0; char stLast[20]=""; /************************* ** Custom functions ** *************************/ void drawButtons() { // Draw the upper row of buttons for (x=0; x<5; x++) { myGLCD.setColor(0, 0, 255); myGLCD.fillRoundRect (10+(x*60), 10, 60+(x*60), 60); myGLCD.setColor(255, 255, 255); myGLCD.drawRoundRect (10+(x*60), 10, 60+(x*60), 60); myGLCD.printNumI(x+1, 27+(x*60), 27); } // Draw the center row of buttons for (x=0; x<5; x++) { myGLCD.setColor(0, 0, 255); myGLCD.fillRoundRect (10+(x*60), 70, 60+(x*60), 120); myGLCD.setColor(255, 255, 255); myGLCD.drawRoundRect (10+(x*60), 70, 60+(x*60), 120); if (x<4) myGLCD.printNumI(x+6, 27+(x*60), 87); } myGLCD.print("0", 267, 87); // Draw the lower row of buttons myGLCD.setColor(0, 0, 255); myGLCD.fillRoundRect (10, 130, 150, 180); myGLCD.setColor(255, 255, 255); myGLCD.drawRoundRect (10, 130, 150, 180); myGLCD.print("Clear", 40, 147); myGLCD.setColor(0, 0, 255); myGLCD.fillRoundRect (160, 130, 300, 180); myGLCD.setColor(255, 255, 255); myGLCD.drawRoundRect (160, 130, 300, 180); myGLCD.print("Enter", 190, 147); myGLCD.setBackColor (0, 0, 0); } void updateStr(int val) { if (stCurrentLen<20) { stCurrent[stCurrentLen]=val; stCurrent[stCurrentLen+1]='\0'; stCurrentLen++; myGLCD.setColor(0, 255, 0); myGLCD.print(stCurrent, LEFT, 224); } else { myGLCD.setColor(255, 0, 0); myGLCD.print("BUFFER FULL!", CENTER, 192); delay(500); myGLCD.print(" ", CENTER, 192); delay(500); myGLCD.print("BUFFER FULL!", CENTER, 192); delay(500); myGLCD.print(" ", CENTER, 192); myGLCD.setColor(0, 255, 0); } } // Draw a red frame while a button is touched void waitForIt(int x1, int y1, int x2, int y2) { if(Debug) { Serial.print("\tx1:"); Serial.print(x1); Serial.print("\ty1");Serial.print(y1); Serial.print("\tx2");Serial.print(x2); Serial.print("\ty2");Serial.println(y2);} myGLCD.setColor(255, 255, 0); myGLCD.drawRoundRect (x1, y1, x2, y2); delay(500); TSPoint p = ts.getPoint(); while (p.z > MINPRESSURE && p.z < MAXPRESSURE) TSPoint p = ts.getPoint(); myGLCD.setColor(255, 0, 0); myGLCD.drawRoundRect (x1, y1, x2, y2); } /************************* ** Required functions ** *************************/ void setup() { if (Debug) { Serial.begin(9600);} // Initial setup myGLCD.InitLCD(); myGLCD.clrScr(); // myTouch.InitTouch(); // myTouch.setPrecision(PREC_MEDIUM); myGLCD.setFont(BigFont); myGLCD.setBackColor(0, 0, 255); drawButtons(); } void loop() { while (true) { // a point object holds x y and z coordinates TSPoint p = ts.getPoint(); if (p.z > MINPRESSURE && p.z < MAXPRESSURE) // if (myTouch.dataAvailable()) { /* myTouch.read(); x=myTouch.getX(); y=myTouch.getY(); */ x = map(p.x, TS_MAXX, TS_MINX, 399, 0); y = map(p.y, TS_MAXY, TS_MINY, 239, 0); // x=(927-p.x)>>1; if (Debug) { Serial.print("p,x:");Serial.print(x);} // y=int((p.y-150)/3); // подгоняем if (Debug) { Serial.print("\ty:");Serial.println(y);} if ((y>=10) && (y<=60)) // Upper row { if ((x>=10) && (x<=60)) // Button: 1 { waitForIt(10, 10, 60, 60); updateStr('1'); } if ((x>=70) && (x<=120)) // Button: 2 { waitForIt(70, 10, 120, 60); updateStr('2'); } if ((x>=130) && (x<=180)) // Button: 3 { waitForIt(130, 10, 180, 60); updateStr('3'); } if ((x>=190) && (x<=240)) // Button: 4 { waitForIt(190, 10, 240, 60); updateStr('4'); } if ((x>=250) && (x<=300)) // Button: 5 { waitForIt(250, 10, 300, 60); updateStr('5'); } } if ((y>=70) && (y<=120)) // Center row { if ((x>=10) && (x<=60)) // Button: 6 { waitForIt(10, 70, 60, 120); updateStr('6'); } if ((x>=70) && (x<=120)) // Button: 7 { waitForIt(70, 70, 120, 120); updateStr('7'); } if ((x>=130) && (x<=180)) // Button: 8 { waitForIt(130, 70, 180, 120); updateStr('8'); } if ((x>=190) && (x<=240)) // Button: 9 { waitForIt(190, 70, 240, 120); updateStr('9'); } if ((x>=250) && (x<=300)) // Button: 0 { waitForIt(250, 70, 300, 120); updateStr('0'); } } if ((y>=130) && (y<=180)) // Upper row { if ((x>=10) && (x<=150)) // Button: Clear { waitForIt(10, 130, 150, 180); stCurrent[0]='\0'; stCurrentLen=0; myGLCD.setColor(0, 0, 0); myGLCD.fillRect(0, 224, 319, 239); } if ((x>=160) && (x<=300)) // Button: Enter { waitForIt(160, 130, 300, 180); if (stCurrentLen>0) { for (x=0; x<stCurrentLen+1; x++) { stLast[x]=stCurrent[x]; } stCurrent[0]='\0'; stCurrentLen=0; myGLCD.setColor(0, 0, 0); myGLCD.fillRect(0, 208, 319, 239); myGLCD.setColor(0, 255, 0); myGLCD.print(stLast, LEFT, 208); } else { myGLCD.setColor(255, 0, 0); myGLCD.print("BUFFER EMPTY", CENTER, 192); delay(500); myGLCD.print(" ", CENTER, 192); delay(500); myGLCD.print("BUFFER EMPTY", CENTER, 192); delay(500); myGLCD.print(" ", CENTER, 192); myGLCD.setColor(0, 255, 0); } } } } } }Так давайте ка уточним - речь идет про вот такой шилд??? http://ru.aliexpress.com/item/3-5-inch-TFT-Touch-LCD-Screen-Display-Module-For-Arduino-UNO-R3-HIGH-QUALITY-Free/1786048346.html?isOrig=true#extend . Зеленая плата ставится на Уно. Я по крайней мере про него.
Запускал я его библиотекой из поста 214 той темы - и дисплей и тач работали. но инициализировал дисплей строкой UTFT myGLCD(ILI9327, A2,A1,A3,A4);. Тач заработал после танцев с бубном (ориентация не та и граничные значения пришлось вручную искать). Кстати этот пример изначально ориентацию тача неверную считывал - х и у путал. В связи с граниченностью пинов пробовал соединять две Уны по сериал порту чтоб одна считывала датчики а вторая работала с экраном. В итоге спалил обе платы и заказал Мегу.
Для того чтобы заработала Мега воспользовался указаниями из поста 308:
http://arduino.ru/forum/apparatnye-voprosy/tft-35-i-arduino?page=6#comment-90708
Все заработало на Меге без каких либо других изменений в коде. Единственно как я понимаю СД карта была разведена в порты Уны SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). А так на меге они другие то карта в пролете.
В принципе, если не считать что у моего шилда цвет красный, это тот-же шилд для UNO. Сейчас все проделал согдасно всем рекомендациям, как-то :
1. Удалил все библиотеки для работы с TFT( Adafruit_TFT, TFT, UTFT).
2.Установил библиотеку с 214 поста. С UNO все прекрасно работает, и графика и тач.
3.Воспользовался указаниями с поста 308: IDE ругнулось на файл UTFT.h, пришлось внести изменения в файл HW_ATmega1280.h в 5 строке:
было
исправил на
все скомпелировалось и залилось. Тач не работает. Включил отладку, заменив
boolDebug =falseна true.В мониторе вижу координаты нажатий на тачскрин. Вроде как они адекватные, т.е. типа такого:
p,x:221 y:105
Мало того, пример PAINT из скачанной библиотеки - рисует. Только поменял местами max и min
ну если пример Паинт рисует - значит тач работает. Тогда пример с кнопками видимо в коде какие-то неполадки имеет
Кстати про изменения в HW_ATmega1280.h - тоже такое делал, потом если память не изменяет где то между 214 и 308 постом скидывали обновленную бибилотеку скидывали, в которой уже
LCD_Writ_Bus(charVL)было. Вроде как отрисовка тестового примера шла быстрее на пару секунд, но на практике думаю не особо важно.Надеюсь, дальше разберусь сам. Раз нажатие в Paint правильное, "подсуну" что-нибудь в кнопки, чтоб и они заработали. Хотя это, уже вроде и не важно.
нету там тача, видно же, хотя бы по настоящему черному цвету экрана ) с тачем сразу цвета портятся. Вот как он с тачем выглядит http://www.aliexpress.com/item/Free-shipping-3-2-inch-TFT-LCD-screen-module-Ultra-HD-320X480-for-MEGA-2560-R3/32332326978.html
С дисплеем и тачем давно разобрались, были и другие проблемы...
Полностью согласен... ИМЕННО ЭТОТ ДИСПЛЕЙ БЕЗ ТАЧА... ШЛЕЙФ С ЛЕВО.. ИДЁТ НА ПОДСВЕТКУ МАКСИМУМ 7 ДОРОЖЕК... 6 ШТУК -gnd И 1 ДОРОЖКА + ПЛЮСОВОЙ...... ___________ Блин, народ, вы что? наберите в гугле Тачскрин и узнаете и увидите его! и не гадайте. Нет тут тача.