2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hogyha sikeresen O/PLED illetve hagyományos alfanumerikus - esetleg tán grafikus kijelzővel gyűlik meg a baja valakinek:)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: Robert »

A sárga színű ILI9341-eset írták meg Mega-ra a library-t.
Itt a 8bites bővítőn 3 port is osztozik:)
Az SPI-t meg szoftveresen emulálják.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: kapu48 »

3 felé osztott adat vonalon és SW SPI-vel?
Nevetségesen lassú lehet az egész rendszer!
Én meg sem próbáltam!

Nekem is ILI9341-esek vannak.
Sikerült megoldani a Touch érzékelést is elégé pontosra. (Volt vele egy kevés munkám!)
Az egész LCD felületen oda teszi a pontot ahol megérintem.
Dvix95
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2015. június 15. hétfő, 20:56

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: Dvix95 »

Üdv!
Ugyan azzal a problémával küzdök mint az előttem lévők azaz Mega + TFTLCD sok könyvtárat próbáltam már mindegyikkel valami hibát hoz illetve csak fehéren világít a kijelző
leginkább kapu48 megoldására lennék kíváncsi,hogy melyik könyvtárat használta,hogy kell módosítani a dolgokat illetve átkötözgetni hogyan kell melyik lábat melyikre.
a cikket vissza olvasva nem találtam meg a megoldást.
A segítséget előre is köszönöm
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: Robert »

Ebből a kijelzőből 3féle chipsetessel találkoztam eddig.. De van többféle is:(
Dvix95
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2015. június 15. hétfő, 20:56

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: Dvix95 »

A problémám az,hogy nem tudom ezen milyen van ,ezért próbálnám ki azt mert 2 napja ezzel küzdök az összes könyvtárat amit találtam a neten kipróbáltam,de csak fehéren világít a kijelző. konkrétan ez van meg nekem: http://www.ebay.com/itm/2-4-inch-TFT-LC ... Sw6btXTQzU
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: Robert »

Dvix95
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2015. június 15. hétfő, 20:56

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: Dvix95 »

Még nem kérdeztem az eladót, az összes könyvtárat kipróbáltam ami volt a linkben 2. hozzászólás azt hiszem ,de vagy csak fehér képernyő van vagy mindenféle hibát hoz a program ezért lennék kíváncsi kapu48 megoldására említi,hogy át kötözget meg valamelyik könyvtárba át írogatott ezt-azt ezért próbálnám meg hátha nekem is segítene.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: kapu48 »

Én csináltam fiahordó kártyát, alul van a Mega középen az illesztő kártya, felül az LCD.
2 raszter sorral eltolva balra, ha felülvan a Mega USB portja és az LCD SD foglalata.
Leszeded a Megának és az Unonak a pin outját, (keresel valami jobban olvashatót)
MegaPinout:
https://www.google.hu/search?q=arduino+ ... 20&bih=970
Kinyomatod őket. készítesz hasonlót az LCDd--ről is!
Az tápfesz lábakat 1 <-> 1 -ben átkötöd.
Az LCD D0 … D7 <-> Mega A0 … A7 pinekre kötöttem.
Az analóg oldalt 1 <-> 1 –ben szintén át köthető, ez részben kel a TOUCH olvasáshoz.
A SPI-t bonyolúltbb, mivel ez egészen máshol van min az UNOn.
Ezért kel az UNO pin outja, azon megkeresed a SPI pineket és az LCD azonos pinjeit kötöd a megán levő ICSP csatlakozó megfelelő pinjeire, ezek vezérlik az SD olvasót.

A legfontosabb lenne megtudni, hogy milyen vezérlő van az LCDn?
Azt úgy lenne legkönnyebb, ha simán rá dugod 1 UNO-ra, mert ahhoz biztosan találsz valami könyvtárat, ami fel ismeri!
Ha ez megvan!? Akkor kell a működő könyvtárban át rendezni az adatvonal bekötését UNOrol, MEGA szerinte!
Mondhatom nem kis feladat lesz ez így együtt mire össze jön! De meg éri mert lesz 1 gyors grafikus LCD alkalmazásod!

Ha esetleg közben megtalálom, a projectet majd jelentkezem vele! (Sajnos már közben volt 2-3 WIN újratelepítés, Vírus hiba miatt!

Ja a Robi shopjában levő libek és pdf-ek a leg jobbak!
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: kapu48 »

Közben meg találtam a projectet!
Ha így kötődbe az LCDt:

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

// For the Arduino Mega, use digital pins 22 through 29
// (on the 2-row header at the end of the board).
//   D0 connects to digital pin 22
//   D1 connects to digital pin 23
//   D2 connects to digital pin 24
//   D3 connects to digital pin 25
//   D4 connects to digital pin 26
//   D5 connects to digital pin 27
//   D6 connects to digital pin 28
//   D7 connects to digital pin 29

#define YP A3  // must be an analog pin, use "An" notation!
#define XM A2  // must be an analog pin, use "An" notation!
#define YM 9   // can be a digital pin
#define XP 8   // can be a digital pin

// 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);

#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);

Tudok hozzá adni teszt programot.
Ami ezeket a Drivereket fel ismeri, és tudja kezelni: (igaz én csak az ILI9341-est teszteltem!)

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

   uint16_t identifier = tft.readID();
  if (identifier = 101) {identifier = 0x9341;}

  if(identifier == 0x9325) {
    Serial.println(F("Found ILI9325 LCD driver"));
  } else if(identifier == 0x9328) {
    Serial.println(F("Found ILI9328 LCD driver"));
  } else if(identifier == 0x7575) {
    Serial.println(F("Found HX8347G LCD driver"));
  } else if(identifier == 0x9341) {
    Serial.println(F("Found ILI9341 LCD driver"));
  } else if(identifier == 0x8357) {
    Serial.println(F("Found HX8357D LCD driver"));
  } else {
    Serial.print(F("Unknown LCD driver chip: "));
    Serial.println(identifier, HEX);
}

De ha nagyon kezdő vagy, és nem érted?
Ne ezzel kezdjél, mert bele törik a bicskád!
8)

This is a library for the Adafruit 2.8" TFT display.
This library works with the Adafruit 2.8" TFT Breakout w/SD card
----> http://www.adafruit.com/products/335
as well as Adafruit TFT Touch Shield
----> http://www.adafruit.com/products/376

Check out the links above for our tutorials and wiring diagrams.
These displays use 8-bit parallel to communicate, 12 or 13 pins are required
to interface (RST is optional).
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!

Written by Limor Fried/Ladyada for Adafruit Industries.
MIT license, all text above must be included in any redistribution

To download. click the DOWNLOADS button in the top right corner, rename the uncompressed folder Adafruit_TFTLCD. Check that the Adafruit_TFTLCD folder contains Adafruit_TFTLCD.cpp and Adafruit_TFTLCD.

Place the Adafruit_TFT library folder your <arduinosketchfolder>/libraries/ folder. You may need to create the libraries subfolder if its your first library. Restart the IDE

Also requires the Adafruit_GFX library for Arduino. https://github.com/adafruit/Adafruit-GFX-Library
Dvix95
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2015. június 15. hétfő, 20:56

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: Dvix95 »

Köszönöm a segítséget,sokat segít amint az időm engedi meg is csinálom annyira nem vagyok kezdő (de profi sem) csak ez a kijelző új nekem ha minden jól megy nemsokára megérkezik az uno azzal kipróbálom ,közbe az eladóval is beszéltem fogalma sincs milyen a vezérlő benne.
Dvix95
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2015. június 15. hétfő, 20:56

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: Dvix95 »

nekem így jön:
3.3<->3.3
5<->5
gnd<->gnd
LCDRD<->A0
lcdwr<->a1
lcdrs<->a2
lcdcs<->a3
lcdrst<->a4
a d2-d7<->d2-d9 ig megy
sd_ss<->d10
sd_Di<->d11
sd_do<->d12
sd_sck<->d13
mikor a shieldet össze dugom a megával így kapcsolódnak össze .
És akkor lényegében amit módosítanom kell LCD D0-D7 <->mega D22-D29 meg az sd kártyákhoz a csapokat megkeresni?
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: kapu48 »

Igen!
Még az: sd_ss <-> D10 is jól van.
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: csabeszq »

Sokáig abban a hiszemben éltem, hogy lehetetlen ezt a shield-et Arduino-val kezelni (pláne Arduino megával).

A képernyőtörlés ideje 0.5s volt, ami igencsak lassú.

Elkezdtem egy oszcilloszkóp projektet és amíg a kisebb felbontású shieldre vártam, szórakoztam egy kicsit a library-vel.

Assembly-ben megfelelően megírt rutinokkal egy képernyőtörlés és menü kirajzolása tizedmásodperc alá került (szöveg, nyomógombok, ...).

A helyzet az lett, hogy hiába rendeltem kisebb felbontásút (160x128), a 320x240-es mégiscsak jobb megfelelő sebességű libekkel.

A jól átgondolt rutinokkal 1 mbyte/s környékén lehet nyomni az adatokat. 320x240x2 byte = 153600 byte egy teljes kép.
Ha 1 MHz-cel zavarom át (minden 16 órajelciklus alatt egyet), akkor 6.5 FPS közelébe érek.

Használható a TFT LCD arduino alatt, ha szétoptimalizálod a LIB-eket.
Megjegyzés: a letölthető Adafruit library a 100k/s-et sem éri el.
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: csabeszq »

Ahhoz, hogy élvezhető legyen, ablakozni kell.

Az ILI9341-ről:

- egy pixel kirajzolásához 13 (11+2) byte átvitele szükséges (meg kell adni a kezdőpontot, méretet, miegymást és a 16 bites színértéket)
- két egymás melletti pixel egyidejű felülírásához 15 (11+4) byte átvitele szükséges

Értelemszerűen 320 pixeles vonal húzásához
- pontonként: 13x320 = 4.16 kb adatátvitel kell
- ablakozva: 11 + 2x320 = 0.651 kb adatátvitel kell

Ablakozással nem csak egyeneseket tudsz húzni. Definiálsz egy ablakot a (100, 100) pontra (8, 8 ) szélességűt és magasságút.

Ezután feltöltesz 8x8x2 byte-ot (128-at) és a komplett ablak frissülni fog. Az ablakos módszert karakterrajzolásra használom.
Nem csak betűket, de képeket is ablakozással kell kirajzolni, véletlenül sem pontonként.

Egy 8x8-as karakter feltöltése
- pontonként: 13x64 = 832 byte
- ablakozva: 11+2x64 = 139 byte

A lényeg, hogy meg kell érteni, milyen brutális költsége van 1 pixel kirajzolásának (13 byte). Át kell gondolni, hogy nem érdemesebb-e ablakozással egyszerre több pixelt is frissíteni pontonkénti bütykölés helyett.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 2.4" TFT LCD (320*240)/SD - Arduino shield: HELP!

Hozzászólás Szerző: Robert »

A mintakódok frissítésre kerültek. A sárga kivezetéses ILI9341 kompatibilis (valójában: SPFD5408 chipset) mintakódok (8 bites busz, Touch kijelzés) már megy UNO mellett MEGA panelen is - nem szükséges a külső kábeles lábkötögetés.
http://shop.tavir.hu/product_info.php/l ... ield-p-233 (alul, dokumentációknál a letöltés)
Válasz küldése