Oldal: 1 / 3

LCD 240x400/SD Touch Screen

Elküldve: 2017. február 23. csütörtök, 10:46
Szerző: zsenipocok
Sziasztok!

Az alábbi problémával állok szemben és ennek a megoldásában kérném a segítségeteket.
Vásároltam egy 240x400 Touch Screen-t ILI9327 driverrel innen.

Elméletileg használható MEGA 2560-hoz is, ami nekem eddig nem sikerült. Lehetséges, nem látom a fától az erdőt!
A lábkiosztása az alábbi:
LCD_RD: A0
LCD_WS: A1
LCD_RS: A2
LCD_CS: A3

Én így készítem elő a használatát (tesztelési időszakhoz):

Kód: Egész kijelölése

#include <UTFT.h>
UTFT myGLCD(ILI9327, A2,A1,A3,A4);
stb....


Az alap UTFT myGLCD(ILI9327,38,39,40,41); beállítás ebben az esetben nem járható út.
Nos, a fehér kijelzőn kívűl semmi nem jelenik meg rajt.

Véleményetek szerint, mit rontottam el, illetve hogyan orvosolható a probléma?

Segítségeteket előre is köszönöm!

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 23. csütörtök, 17:29
Szerző: kapu48
Mert nem jó a megadott láb kiosztás!
Az eredeti ez:

Kód: Egész kijelölése

//----------------------------------------|
// TFT Breakout  -- Arduino UNO / Mega2560 / OPEN-SMART UNO Black
// GND              -- GND
// 3V3               -- 3.3V
// CS                 -- A3
// RS                 -- A2
// WR                -- A1
// RD                 -- A0
// RST                -- RESET
// LED                -- GND
// DB0                -- 8
// DB1                -- 9
// DB2                -- 10
// DB3                -- 11
// DB4                -- 4
// DB5                -- 13
// DB6                -- 6
// DB7                -- 7


És mért nem használod a hozzá igazított demót?
Amit itt tölthetsz le:
https://drive.google.com/drive/folders/0B6uNNXJ2z4CxYktCQlViUkI1Sms

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 23. csütörtök, 21:07
Szerző: zsenipocok
Mert a hozzáadott demó nem megy fel a MEGA2560-ra, állandó hibaüzenet van. 1000x próbáltam.
A másik az, hogy ez az 5V-ra csatlakozik, nincs RST pin, de nem ez a gondja.

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 23. csütörtök, 21:23
Szerző: Robert
Melyik Arduino keretrendszert használod?
A "nem megy fel" - igen informatív volt :) :cry:

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 23. csütörtök, 21:31
Szerző: zsenipocok
Igaz, 1.8.1 verziót használom.

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 23. csütörtök, 21:33
Szerző: Robert
Legújabb, Béta egyéb összegyúrt programokat NEM használunk. :evil:
Vagy úgy hívnak minket hogy tesztelő...


1.0.5 vagy 1.6.5 rendszert próbáld meg...

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 24. péntek, 2:33
Szerző: kapu48
Érdekes? Nekem lefordultak a linkelt demók! Arduino 1.6.10
Bár LCD nélkül nem tudtam tesztelni.

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 24. péntek, 4:59
Szerző: Robert
1.8.1 és 1.8.0 viselkedik nagyon érdekesenb mostanában. Illetve az 1.6.11 is korábban érdekes eredményeket adott a korábbi jó kódokkal...

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 24. péntek, 9:15
Szerző: zsenipocok
Robert: Köszönöm az észrevételt! Az 1.6.5-l nem ment fel a kód, de 1.0.6 verzióval igen. Bár, így sem jutottam előre, mert nem tudok rájönni arra, hogy mi a helyes beállítás.

kapu48: A kódot nekem is sikerült lefordírtani 1.65-el is, de abban a pillanatban, hogy MEGA2560 érzékelt, hibák tömkelegével megállt.

Először tudományos úton próbáltam megközelíteni dolgot és különböző leírások alapján életre kelteni, nem jött össze. Sikertelenségem után, vettem a józan paraszti eszemet és ez alapján életre kelteni, így sem jött össze. Megjegyzem, hogy használtam már TFT Arduinoval, ezért nem újdonság a számomra, igaz, azoknak a MEGA2560 alap lábkiosztása volt (38,39,40,41).

Azt gondoltam, ez sem jelent akadályt, ha a lábkiosztás (pin) más kimentere állítom be, de aztán rájöttem igen.

Szóval, tanácstalan vagyok.

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 24. péntek, 16:16
Szerző: kapu48
Próbáld meg, hogy kiveszed megjegyzésből!
Az „mcufriend_special.h -> 6. vagy 7. sorában szereplő részt!”
//#define USE_MEGA_8BIT_PROTOSHIELD
//#define USE_MEGA_8BIT_SHIELD
Ezek a sorok valamelyike választja ki a LCD-d helyes lábkiosztásának a kezelését, fordítás során!

ez után neked már nem kel a pinek beállításával foglalkoznod.

És a 1. sort pedig rakjad megjegyzésbe:
//#define SSD1289_JUMPERS 2 //Uno Shield with VERY different pin-out to Mcufriend

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 25. szombat, 13:43
Szerző: zsenipocok
Sajnos, ez sem hozott megoldást. Annyit már láttam, illetve látok, hogy a fehér kijelző a kód feltöltése után nagyon picit vibrál, de semmi nem jelenik meg rajt.

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 25. szombat, 15:01
Szerző: kapu48
És mit ír ki a terminálra? Reset után.
Ennek kellene megjelenni: Found ILI9327 LCD driver ?

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 25. szombat, 15:29
Szerző: zsenipocok
Nem ezt írja ki, readID = 0x9302 talál.

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 25. szombat, 17:01
Szerző: kapu48
Hoppá!
Akkor fogalmam sincs milyen lib-et használsz?

Mert az általam feljebb linkelt „graphicstest.ino” alkalmazásban nem találok ilyen ki írató utasítást: Serial.print("readID = ");
És nem is találom az: ID = 0x9302 azonosítását ebben a lib-ben.

Ezek szerint azt sem tudjuk milyen vezérlő van a panelodon?
Ha ilyen szűkmarkúan osztod az infót, én nem tudok segíteni!

Re: LCD 240x400/SD Touch Screen

Elküldve: 2017. február 25. szombat, 17:17
Szerző: kapu48
Illetve amit találtam az MCUFRIEND_kbv.cpp 1848. sorától azonosítást.
Ez ILI9329 vezérlőnek felel meg.
Idézet:

Kód: Egész kijelölése

   case 0x9302:
        _lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS;
      goto common_9329;
    case 0x9338:
        _lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS | READ_24BITS;
      goto common_9329;
    case 0x9329:
        _lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS | INVERT_SS | REV_SCREEN;
     common_9329:
        static const uint8_t ILI9329_regValues[] PROGMEM = {
            0x01, 0,            //Soft Reset
            TFTLCD_DELAY8, 50,  // .kbv will power up with ONLY reset, sleep out, display on
            0x28, 0,            //Display Off
//            0xF6, 3, 0x01, 0x01, 0x00,  //Interface Control needs EXTC=1 MX_EOR=1, TM=0, RIM=0
//            0xB6, 3, 0x0A, 0x82, 0x27,  //Display Function [0A 82 27]
//            0xB7, 1, 0x06,      //Entry Mode Set [06]
         0x11, 0,            //Sleep Out
            TFTLCD_DELAY8, 150,
            0x29, 0,            //Display On
            0x3A, 1, 0x55,      //Pixel read=565, write=565
        };
        init_table(ILI9329_regValues, sizeof(ILI9329_regValues));
        break;