Lekce 28 - Arduino a TFT dotykový displej TFT_320QVT - část I.

03.03.2014 15:59

Translate to English

Dnes si k Arduinu připojíme dotykový TFT displej. Já jsem pro tento účel vybral cenově přijatelný modul s displejem s obchodním označením TFT_320QVT. Na modulu se nachází z druhé strany slot na SD kartu, ale tomu věnovat dnes nebudeme. Někdo se může zaleknout 40 pinového konektoru, ketrý na modulu je, ale zapojení není bůhvíjak složité. 5 pinů z toho je nezapojených a označených NC (not connected), 4 piny pro SD slot a zbytek tedy bude pro TFT displej (když nebudete chtít využít dotykové funkce, ale pouze displej pro zobrazení tak dalších 5 pinů odpadne). Nicméně pro zapojení vybereme Arduino MEGA, abychom měli dostatek volných pinů i pro nějaké čidlo apod. 

Já jsem nejprve pro zapojení přemýšlel o upravě kabelu pro IDE připojení starších HDD nebo optických mechanik. Tak jsem našel nejdříve problém v tom, že tento kabel má (myslím, že všechny) zaslepený jeden pin na konektoru, a to ten, který je zrovna připojen jako datový k displeji. Takže i po provrtání dírky v konektoru jsem v mém případě zjistil, že není vůbec zapojen. Další problém také v tom, že můj typ kabelu má poněkud více žil. Nepočítal jsem to, ale pouze odhadem jich bude 60-70, co by představovalo další problém v hledáním jednotlivých žil a zkoumání, ke kterému pinu jsou připojeny. Tyto pokusy jsem tedy zanechal a toto, jak jsem si myslel, elegantní řešení jsem zavrhnul. Použije nějaké standardní propojovací vodiče, které doma nalezneme.

     Pro práci s displejem jsem si na internetu nalezl knihovnu UTFT,k která by měla s displejem spolupracovat. Pro stažení knihovny, klikněte zde a přidejte ji do prostředí Arduino IDE tak jak jsme zvyklí. Po rozbalení archivu, nalezneme soubor UTFT.pdf, který obsahuje kompletní manuál a jsou tam popsané veškeré funkce. My musíme vzít v potaz, že knihovna ač tedy podporuje tento displej, zná ho zřejmě jenom na nějakém shieldu, z tohoto důvodu budeme muset při zapojení dodržovat určitá pravidla. Já si v manuálu našel tabulku jak displej připojit:

Pin na modulu TFT Pin na Arduinu MEGA
DB0 D37
DB1 D36
DB2 D35
DB3 D34
DB4 D33
DB5 D32
DB6 D31
DB7 D30
DB8 D22
DB9 D23
DB10 D24
DB11 D25
DB12 D26
DB13 D27
DB14 D28
DB15 D29
RS je to jedno, můžeme v programu nastavit (D38)
WR je to jedno, můžeme v programu nastavit (D39)
RD +5V
CS je to jedno, můžeme v programu nastavit (D40)
REST je to jedno, můžeme v programu nastavit (D41)

    Seznam podporovaných displejů knihovnou UTFT je ke stažení v pdf zde.

     Jako první jsem si zapojil DB0 až DB15. Poté RS, WR, RD, CS a REST. Nakonec napájení 5V a GND, nesmíme zapomenout také na podsvětlení displeje u pinu LED_A na +3,3V (s 5V by hrozilo poškození podsvícení)!!. Zapojeno by jsme měli mí bez problému. K samotné funkci displeje je tedy zapotřebí 23 propojovacích vodičů male - female. 

     Teď k samotnému programu. Já jsem program co nejvíce zjednodušil a trošku popsal co která funkce dělá. Více vysvětlení najdete v samotném manuálu. Program je zde:

   Komu se po nahrání programu zobrazilo toto, tak Vám gratuluji :-). Za zmínku ještě stojí, že při inicializaci displeje je ve funkci myGLCD(ITDB32S,38,39,40,41); jako první parametr uveden ITDB32S - to je je náš typ displeje, pokud podle návodu vyberete jiný, tak funkčnost nezaručuji. 

Ještě si tedy vyzkoušíme, aby se nám na displeji zobrazovalo něco užitečného. K Arduinu jsem tedy připojil na sběrnici I2C (U Arduina MEGA pin 20 a 21) hodinový modul (lekce 11) a také levné čidlo pro teplotu a vlhkost DHT11 na digitální pin 2 (viz lekce 6 s čidlem). Program si trošku upravíme. Graficky to není zdařilé, ale k posouzení funkčnosti to bude stačit. Tak tedy zde je zdrojový kód:

Zde výsledek:

Příště si připojíme a zpovozníme funkci dotykové obrazovky. :-)

Zpět

Diskusní téma: Lekce 28 - Arduino a TFT dotykový displej - část I.

Datum
Vložil
Titulek

Re: Problém s TFT_320QVT

Myslím, že by se mělo jednat o přehřívání displeje. Když je studený nemělo by se to objevovat. Já už ani nevím jak jsem to vyřešil, ale zkus snížit napájecí napětí podsvícení.

Datum
Vložil
Titulek

Re: Problém s TFT_320QVT

Zdravím všechny příznivce Arduina a autorovi děkuji za tvorbu a údržbu těchto stránek ;-)
A nyní již k samotnému dotazu.
TFT_320QVT má I/O piny na 3,3V a neměly by být připojeny na 5V - mohlo by tak dojít i k poškozen displeje. U displejů umístěných na "schieldech" jsou napěťové úrovně již přizpůsobeny.
Můžete zkusit připojit jednotlivé piny displeje k Arduinu přes rezistory 10K (případně i vyšší) a pin RD pak přímo na 3,3V místo na 5V. Toto by mělo nežádoucí artefakty alespoň do značné míry omezit.
Jako typ displeje nastavte SSD1289.

Datum
Vložil
Titulek

Re: Re: Problém s TFT_320QVT

Můj problém vyřešil nakonec tento modul zakoupený na ebay. Možná byl jen špatný kontakt na vodičích, sám nevím.

https://www.elecfreaks.com/store/lcd-tft01-arduino-mega-shield-v20-shd10-p-214.html

Datum
Vložil
Titulek

Driver?

Jaký to má driver pro řízení displeje? Nikde jsem to u těchto typů nesehnal.

Datum
Vložil
Titulek

Re: Driver?

Mylím, že to je ILI9325, ale nejsem si na 100% jistý.

Datum
Vložil
Titulek

Re: Driver?

Protože knihovní UTFT podporuje celou řadu displejů, přikládám seznam v pdf a je ke stažení zde na https://files.arduino8.webnode.cz/200000576-970549ab34/UTFT_Supported_display_modules_-_controllers.pdf

Datum
Vložil
Titulek

Re: Driver?

Tak jsem zapátral a měl by to být SSD1289. Driver ILI9325 se používá do 2,8" displeje (většinou).

Datum
Vložil
Titulek

Možnost sehnání

Zdárek chtěl bych se zeptat kde se dá display sehnat dík

Datum
Vložil
Titulek

Re: Možnost sehnání

Zadej do vyhledavače nebo na ebay
3.2 TFT LCD Module Display

<< 1 | 2

Vyhledávání

arduino8.cz © 2015 Všechna práva vyhrazena.