Touch screen TFT 2

Acest tip de foi de metal, thrash si hardcore!

Cu acest ecran, fără o jumătate de litru să dau seama imposibil!

Ei bine, mi-am exprimat indignarea mea, puteți trece acum la instrucțiunile pentru a conecta ecranul tactil la Arduino. După cum probabil ați ghicit din titlul articolului - vom conecta Touch Screen TFT de 2,4 inch.

Touch screen TFT 2

Am luat o bibliotecă de-a gata pentru a fi utilizat cu un ecran tactil - Adafruit_TFTLCD și TouchScreen (nu se va răspândi, și atât de multe pe internet), și a încercat să picteze un exemplu din eșantion.

Ca să nu mai spun că am fost surprins când nimic nu este de lucru, dar că am fost un pic supărat.

După aceea, am încercat 5 biblioteci diferite, dar încă în zadar.

Dintr-o dată, am dat peste o bibliotecă scrisă doar pentru acest controler SPFD5408 - arhiva github sau pe site-ul nostru. A încercat să-l înceapă, am fost ușurat când ecranul a apărut inscripția, și a început deja să cânte, dar apoi am fost dezamăgit - touchscreen-ul nu a funcționat. Mai precis a mers, dar numai o singură dată și tyke într-un anumit loc. Am început să păcătuim pe ecran prea, dar a decis să termine totul prin și a mers pentru a compara codurile de biblioteci.

Standard de bibliotecă dispozitiv de selecție Adafruit_TFTLCD vine cu următorul cod:

Din moment ce avem un ILI9341 conducător auto. codul, în teorie, ar trebui să fie 0x9341. Cu siguranță, nu. ID-ul dispozitivului nu vrea să fie definite, și așa tot codul pe care îl schimba la:

Ok, acum hai să încercăm cu un exemplu pentru a afișa o imagine dintr-o unitate USB.

Codul din acest exemplu este prea lung, așa că voi lăsa la PasteBin

Acest cod a fost deja stabilit pentru afișare nostru, astfel încât să puteți crea cu ușurință o imagine în format bmp 320x240 si umple-l cu stick-ul. Am completat în următoarea imagine:

Touch screen TFT 2

Și sa întâmplat că am aici:

Touch screen TFT 2

Ei bine, foarte bine. Culoare clară, și arată-l dreapta. Până în prezent, atât de bine.

Acum, încercăm să verificați touchpad-ul nostru în acțiune.

Acest cod este, de asemenea, a probelor, dar el a refuzat să lucreze cu TouchScreen.h standardul. Așa că am înlocuit cu SPFD5408_TouchScreen.h de bibliotecă SPFD5408

Odată ce coordonatele de pe ecran a fugit clicurile mele, am dat seama că nu este pe ecran, și în bibliotecă.

Touch screen TFT 2

Și am început să sape în biblioteca de cod SPFD5408 și exemple.

Am găsit o grămadă de bug-uri. De exemplu, display-ul nu dă lățimea și înălțimea actului de identitate și o mulțime de date diferite. În plus, X a fost pentru un motiv oarecare y. și vice-versa. Tot ceea ce este posibil, a fost dat peste cap și confuz.

Pe scurt, după câteva ore de cod corectare am totul de lucru, iar eu pot spune cu o conștiință clară de a împărtăși cu voi exemple bazate pe biblioteca SPFD5408

Deoarece toate exemplele am greoaie, din nou, le-au umplut pe Pastebin (mai jos schite funcționează numai cu display de 2.4 „(320x240). Lățimea și înălțimea zahardkozheny acolo.)

Primul lucru pe care o avem este o calibrare de afișare, pentru că atunci când am încercat pe ceva pentru a desena linia a existat un centimetru de mai jos și la stânga decât locul în care am atins un deget, astfel încât primul ecran otkalibruem cu acest cod

În primul rând pentru a atinge 2 puncte în diferite colțuri ale ecranului

Touch screen TFT 2
Touch screen TFT 2

Atunci vom obține datele:

Touch screen TFT 2

Prin urmare, avem nevoie de doar 4 numere. În cazul în care insereaza am explicat mai jos.

După ecranul tactil și verificați în cazul în care vom atinge ecranul, un punct albastru.

Touch screen TFT 2

Dar, în general, și toate. Ne amintim datele noastre, și o mai bună înregistrare, și să se întoarcă la exemplul de vopsea. Codul de rectificat, puteți găsi link-ul, iar singurul lucru pe care nu trebuie să fie schimbat, este datele noastre de calibrare. Toate variabilele pe care le-am obținut cu ajutorul calibrare, introducem în rândurile 15-18

După termen, și vom obține o vopsea de mare;)

Touch screen TFT 2

Verificat ecran, senzorul este defect de gândire.
Peint pictează puncte și oriunde.
Calibrarea - nu a răspuns la ecranul meu este apăsat, până când nu a lovit accidental în partea opusă a ecranului. Se pare că primul punct de încercare în colțul din stânga sus, și apăsați pe colțul din dreapta sus și testul trece.
Inverted X.
Bănuiesc că chinezii au fost incorect sudat (lipit) atingere.

Așa cum este corect de a trata?

@KblCb: Aboneaza-te la problema. Takako exact aceeași problemă, una la o. Cum poate fi corectat acest lucru? Și nu am ajuns acolo în colț - senzorul nu este foarte precisă. Și, desigur, respect a mers prima dată, spre deosebire de Adafruit.

Vă mulțumim! a ajutat adăugat în continuare limba română acum toate incluse!

Când porniți spfd5408_graphicstest văzut pe ecran, care se schimbă, dar strălucește întotdeauna în alb.
Monitorizarea portului, după cum urmează:
TFT LCD de testare
Utilizarea Adafruit 2.8 „TFT Breakout Consiliul de Pinout
Timp Benchmark (microsecunde)
Ecranul de umplere 1785884
Text 306012
linii 1795820
Horiz / Vert Linii 212724
Dreptunghiuri (contur) 157720
Dreptunghiuri (umplut) 4677436
Cercuri (umplute) 2039028
Cercuri (contur) 781 100
Triunghiuri (contur) 569 748
Triunghiurile (umplut) 2512612
rects cilindrat (contur) 353696
rects cilindrat (umplut) 5523208
Gata!