OK

Při poskytování služeb nám pomáhají soubory cookie. Používáním našich služeb vyjadřujete souhlas s naším používáním souborů cookie. Více informací

Úvodní stránka » Aktuální články » Dotykový LCD display shield 2,4" a problémy s ním

Dotykový LCD display shield 2,4" a problémy s ním

Na základě množicích se dotazů od některých čtenářů jsem se rozhodl publikovat některé zajímavé zkušenosti pana Drdy, který se těmito typy displejů zabývá mnohem intenzivněji než já a během několika měsíců nasbíral velmi cenné zkušenosti, které mohou některým z Vás při vývoji aplikací s těmito typy displejů pomoci.

Bohužel se během několika dodávek objevily tyto shieldy hned se 3 různými typy řadičů a je zcela nemožné od jeiného distribučního kanálu zajistit v dané cenivé relaci spolehlivě ten typ řadiče, se kterým je již dobrá zkušenost a na kterém máme odladěn funkční kód.

text uvádím v nezměněné podobě tak, jak jsem jej od pana Drdy obdržel. Protože tento typ displeje nepovažuji za příliš perspektivní do projektů, nad kterými pracuji, neověřoval jsem ani poznatky nabyté panem Drdou, takže některé věci vím, že fungují již z minulosti, u nových poznatků nechávám na čtenářích, aby si je zkusili ověřit, případně přispěli svými poznatky trochou do mlýna, což jistě rád zveřejním na těchto stránkách.

 

TFTLCD 2.4" - driver SAMSUNG S6D0154

Firma MCUFRIEND dodává 2.4” TFTLCD displeje s různými řadiči. Tento popis je o řadiči SAMSUNG S6D0154.
Poznámka:
Příkaz „uint16_t identifier = tft.readID(); přečte číslo 154.
Příkaz je součástí diagnostiky na příkladech v knihovně TFTLCD.
Oživení displeje – příklady
Níže popsané příklady byly zkoušeny na software ARDUINO 1.0.6. a shieldu ARDUINO Deumilanove (bylo volné na stole)

ARDUINO 1.0.6. - knihovna
Já použil verzi ARDUINO 1.0.6, ale měly by být funkční i verze 1.0.5. Předně je potřeba použít originální knihovnu, kterou lze získat stažením software.
Poznámka:
Nevím, co se děle, ale ty mé pokusy s různými drivery vždy nějak nabouraly knihovnu. Proto dnes raději začínám vždy od nové, nepoužité knihovny
Instalace do knihovny:
(1) Adafruit_TFTLCD
Staženo na https://github.com/samuraijap/TFTLCD-Library. Složku je potřeba rozbalit a překopírovat jednotlivé položky do adresáře „Adafruit_TFTLCD“.
Tuto složku pak překopírujeme do podadresáře ARDUINO – libraries.Pokud je v adresáři složka TFTLCD, pak doporučuji tuto složku smazat, ne přejmenovat.
(2) Adafruit_GFX
Staženo na https://github.com/adafruit/Adafruit-GFX-Library. Zase obdobně je potřeba složku stáhnout, rozbalit a jednotlivé položky překopírovat do složky „Adafruit_GFX“ Tuto složku pak překopírujeme do podadresáře ARDUINO – libraries. Pokud je v adresáři složka GFX, pak doporučuji tuto složku smazat, ne přejmenovat.
Pozor na soubor „Adafruit_GFX.cpp“. Zde je chybně zadán rozměr displeje.Na začátku najděte:
//#define TFTWIDTH 320
//#define TFTHEIGHT 480
#define TFTWIDTH 240
#define TFTHEIGHT 400 – opravit na 320
Jde to udělat v program Note. Je to asi uprostřed na prvním řádku.

Příklady:
A nyní, po úpravě knihovny by měly být as funkční některé příklady z ARDUINO-file-examples-Adafruit_TFTLCD
(1) Graphisctest
Měl by být po nahrání funkční
(2) Rotationtest
Nevím, jak má program správně fungovat. Po nahrání mě zčernal display. Při komunikaci (Tools- Seriál monitor) jsem byl vyzván, abych zadal něco na klávesnici. Zadal jsem vždy písmeno a ENTER a na display se objevila čára, která po dalších zadání měnila pozice. Zda to je OK nevím
(3) TFTbmp
Se správnou knihovnou SD.h jde tento program zkompilovat. Po nahrátí program načítá obrázek „miniwoof.bmp“, avšak nezobrazuje.
(4) TFTbmp-shield
Program nejde zkompilovat.
(5) TFTpaint
Pro tento program byla instalována knihovna „TouchScreen“ z adresy https://github.com/adafruit/Touch-Screen-Library. Po kompilaci na nahrátí se zobrazí na display barevné kostičky na levé straně. Funkce kreslení však nefunguje.
Někde jsem vyčetl ( http://forum.arduino.cc/index.php?topic=286790.15) , že je potřeba částečně upravit tento program následovně:

Code: [Select]

#define YP A3 // must be an analog pin, use „An“ žinen!
#define XM A2 // must be an analog pin, use „An“ žinen!
#define YM 9 // can be a digital pin
#define XP 8 // can be a digital pin

to:
Code: [Select]

#define YP A1 // must be an analog pin, use „An“ žinen!
#define XM A2 // must be an analog pin, use „An“ žinen!
#define YM 7 // can be a digital pin
#define XP 6 // can be a digital pin

Pak to nějak jde, ale dosti těžkopádně.
(6) TFTpaint-shield
Nejde vůbec zkompilovat 

 

TFTLCD 2.4" - driver (SITRONIC) ST 7783

Firma MCUFRIEND dodává 2.4” TFTLCD displeje s různými řadiči. Tento popis je o řadiči (SITRONIC) ST7783.

Poznámka:
Příkaz „uint16_t identifier = tft.readID(); přečte číslo 8377.
Příkaz je součástí diagnostiky na příkladech v knihovně TFTLCD.
Oživení displeje – příklady
Níže popsané příklady byly zkoušeny na software ARDUINO 1.0.6. a shieldu ARDUINO Deumilanove
ARDUINO 1.0.6. - knihovna
Já použil verzi ARDUINO 1.0.6, ale měly by být funkční i verze 1.0.5. Předně je potřeba použít originální knihovnu, kterou lze získat stažením software.
Poznámka:
Nevím, co se děle, ale ty mé pokusy s různými drivery vždy nějak nabouraly knihovnu. Proto dnes raději začínám vždy od nové, nepoužité knihovny
Instalace do knihovny:
(3) Adafruit_TFTLCD
Staženo na https://github.com/Smoke-And-Wires/TFT-Shield-Example-Code/tree/master/SWTFT-Shield Složku je potřeba rozbalit a překopírovat jednotlivé položky do adresáře „Adafruit_TFTLCD“.
Tuto složku pak překopírujeme do podadresáře ARDUINO – libraries. Pokud je v adresáři složka TFTLCD, pak doporučuji tuto složku smazat, ne přejmenovat.
(4) Adafruit_GFX
Staženo na https://github.com/adafruit/Adafruit-GFX-Library. Zase obdobně je potřeba složku stáhnout, rozbalit a jednotlivé položky překopírovat do složky „Adafruit_GFX“ Tuto složku pak překopírujeme do podadresáře ARDUINO – libraries. Pokud je v adresáři složka GFX, pak doporučuji tuto složku smazat, ne přejmenovat.
Pozor na soubor „Adafruit_GFX.cpp“. Zde je chybně zadán rozměr displeje.Na začátku najděte:
//#define TFTWIDTH 320
//#define TFTHEIGHT 480
#define TFTWIDTH 240
#define TFTHEIGHT 400 – opravit na 320
Jde to udělat v program Note. Je to asi uprostřed na prvním řádku.

Příklady:
A nyní, po úpravě knihovny by měly být as funkční některé příklady z ARDUINO-file-examples-SWTFT
(7) Graphisctest
Měl by být po nahrání funkční
(8) Rotationtest
Nevím, jak má program správně fungovat. Po nahrání mě zčernal display. Při komunikaci (Tools- Seriál monitor) jsem byl vyzván, abych zadal něco na klávesnici. Zadal jsem vždy písmeno a ENTER a na display se objevila čára, která po dalších zadání měnila pozice. Zda to je OK nevím
(9) TFTbmp
Se správnou knihovnou SD.h jde tento program zkompilovat. Po nahrátí program načítá obrázek „miniwoof.bmp“, zobrazuje však jen ve dvou směrech.
(10) TFTbmp-shield
Program nejde zkompilovat.
(11) TFTpaint
Pro tento program byla instalována knihovna „TouchScreen“ z adresy https://github.com/adafruit/Touch-Screen-Library. Po kompilaci na nahrátí se zobrazí na display barevné kostičky na levé straně. Funkce kreslení funguje.
(12) TFTpaint-shield
Nejde vůbec zkompilovat


TFTLCD 2.4" - driver ILITEK ILI 9341

Firma MCUFRIEND dodává 2.4” TFTLCD displeje s různými řadiči. Tento popis je o řadiči (ILITEK) ILI9341.

Poznámka:
Příkaz „uint16_t identifier = tft.readID(); přečte číslo 0.
Příkaz je součástí diagnostiky na příkladech v knihovně TFTLCD.
Oživení displeje – příklady
Níže popsané příklady byly zkoušeny na software ARDUINO 1.0.6. a shieldu ARDUINO Deumilanove
ARDUINO 1.0.6. - knihovna
Já použil verzi ARDUINO 1.0.6, ale měly by být funkční i verze 1.0.5. Předně je potřeba použít originální knihovnu, kterou lze získat stažením software.
Poznámka:
Nevím, co se děle, ale ty mé pokusy s různými drivery vždy nějak nabouraly knihovnu. Proto dnes raději začínám vždy od nové, nepoužité knihovny
Instalace do knihovny:
(5) Adafruit_TFTLCD
Staženo na https://github.com/Adafruit/TFTLCD-Library Složku je potřeba rozbalit a překopírovat jednotlivé položky do adresáře „Adafruit_TFTLCD“.
Tuto složku pak překopírujeme do podadresáře ARDUINO – libraries. Pokud je v adresáři složka TFTLCD, pak doporučuji tuto složku smazat, ne přejmenovat.
(6) Adafruit_GFX
Staženo na https://github.com/adafruit/Adafruit-GFX-Library. Zase obdobně je potřeba složku stáhnout, rozbalit a jednotlivé položky překopírovat do složky „Adafruit_GFX“ Tuto složku pak překopírujeme do podadresáře ARDUINO – libraries. Pokud je v adresáři složka GFX, pak doporučuji tuto složku smazat, ne přejmenovat.
Pozor na soubor „Adafruit_GFX.cpp“. Zde je chybně zadán rozměr displeje.Na začátku najděte:
//#define TFTWIDTH 320
//#define TFTHEIGHT 480
#define TFTWIDTH 240
#define TFTHEIGHT 400 – opravit na 320
Jde to udělat v program Note. Je to asi uprostřed na prvním řádku.

Příklady:
A nyní, po úpravě knihovny by měly být as funkční některé příklady z ARDUINO-file-examples-Adafruit_TFTLCD
(13) Graphisctest
Měl by být po nahrání funkční
(14) Rotationtest
Funkční
(15) TFTbmp
Funkční
(16) TFTbmp-shield
??.
(17) TFTpaint
Pro tento program byla instalována knihovna „TouchScreen“ z adresy https://github.com/adafruit/Touch-Screen-Library. Po kompilaci na nahrátí se zobrazí na display barevné kostičky na levé straně. Funkce kreslení funguje.
(18) TFTpaint-shield

Tímto mnohokrát děkuji panu Drdovi za jeho velké úsilí, které vynaložil na zpracování tohoto tématu. Nezbývá, než si přát, aby podobných překvapení bylo co nejméně, nicméně o tomto je život vývojáře :-).


TOP produkty

Kontakt

Ing. Petr Foltýn
Kunčice pod Ondřejníkem 814, 73913
TOPlist