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

Zapojenie

Zdravím,

kúpil som si Arduino Mega a 3.2 LCD (240x400). Zapojil som ho podla tohto clanku (nepozival som 10K rezistory, ktore doporucuju na inych strankach pre pripojenie datovych vodicov). Po nahrati programu sa na chvilku objavi pozadovana grafika s takym ciernym pasom na boku. Po sekunde zmizne. Neviete kde by mohol byt problem ? Dakujem.

Datum
Vložil
Titulek

Float

Nevíte někdo, jak na TFT zobrazit floatovou hodnotu? pomocí sprintf tam mám zobrazen otazník

Datum
Vložil
Titulek

Re: Float

Su lama, už jsem na to přišel

Datum
Vložil
Titulek

čip 7783

Ahoj, jak bych měl do programu dotlačit knihovnu abych mohl ovládat displej s čipem 7783 a kde takovou knihovnu sehnat?

Datum
Vložil
Titulek

Vodiče/káble

Dobrý deň, chcem sa spýtať že kde na internete zoženiem tie vodiče ktoré ste dávali na vývodi tft displeja. Hľadám ich na internete ale nedarí sa mi. Za každú pomoc veľmi pekne dakujem :)

Datum
Vložil
Titulek

Re: Vodiče/káble

http://www.aliexpress.com/item/120pcs-20cm-male-to-male-female-to-male-and-female-to-female-jumper-wire-connector-Dupont/1746697391.html

NAPR NIECO PODOBNE

Datum
Vložil
Titulek

pomoc

Prosím vás, mám displej 2.4 tft a chcem ho zapojit na arduino UNO, neviete prosím vás ako sa to robí? neviem ako to mám poprepájat, som z toho jelen. Za každú pomoc velmi pekne dakujem.

Datum
Vložil
Titulek

velikost fontu

Ahoj!
Jde prosímtě nastavit kromě Smallfontu a Bigfontu vlastní
definovaná velikost fontu.Protože i ten Bigfont se mi zdá pořád malý pro mé potřeby.
Ale jinak chválím pěkné a rozumně vysvětlované tutoriály.Rád je pročítám.Jen tak dál
děkuji

Datum
Vložil
Titulek

Problém s TFT_320QVT

Na displeji se mi zobrazují artefakty při změně obrazu. Použil jsem návod z vašich stránek na oživení, ale displej nefunguje správně. Prosím o radu. Přikládám video jako důkaz. Knihovny požívám standardní a program je nahraný demo z těchto knihoven. Nenapadá vás něco?

https://www.youtube.com/watch?v=w3YaW7pN5BM

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í.

1 | 2 >>

Vyhledávání

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