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/ ... lViUkI1Sms
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
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.
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;