Arduino și-display TFT - microcontrolere programare

Una dintre cele mai interesante module conectate la Arduino pe SPI, putem presupune o varietate de display-uri. Este minunat pentru a obține rezultate vizuale ale Microcontroler noastre. In ciuda lipsei Arduino performanță, funcționează bine cu o grafică, și poate fi folosit nu afișa doar o varietate de date, ci și pentru a procesa elemente grafice simple pentru a afișa imagini și așa mai departe.

Deci, să începem. Așa cum am spus, cele mai multe dintre afișajele conectate la lucrările Arduino pe SPI autobuz. Pentru a înțelege cum funcționează acest lucru, citiți articolul despre SPI, și nu voi locui în autobuz și merge direct la conexiunea de afișare. In exemplul meu, voi lua în considerare 1,44 inch pe bază de TFT-LCD cip Adafruit ST7735. Pentru a porni conexiunea la dezasambla microcontroler bord nostru.

Atunci când se lucrează cu ecrane TFT și utilizează standardul de bibliotecă SPI.h TFT.h. Dacă intenționați să utilizați un hardware SPI, pinii MISO, MOSI, SCLK și SS nu este necesar să se definească. Dacă doriți să utilizați software-ul SPI este necesar pentru a conecta pinii respectivi de afișare la pinii 11 și 13 (PIN MISO atunci când se lucrează cu display-uri care nu sunt utilizate, deoarece acestea nu transmit la microcontroler nici PIN-ul de date CS este definit în biblioteca TFT.h). În plus, vă puteți conecta la orice ecran pinii Arduino, dar atunci ei trebuie să fie declarate în mod explicit în program. Permiteți-mi să vă reamintesc că acest lucru se face în mod convenabil folosind #define. de exemplu:

În plus, programul va operdyalyatsya ace, care sunt utilizate în biblioteca TFT.h. Acesta pins CS (chip select). DC (comanda de date) și RESET (resetare). Deci, declară pinii:

Deci, a declarat pinii necesare în program și pentru a le conecta pinii de afișare relevante. În plus, puterea de pini de conectare (puterea pe ecran meu 3.3, dar sunt display-uri alimentate cu un convertor de tensiune 5B), „sol“ și PIN-ul de alimentare cu LED-uri (pentru a porni lumina de fundal).

Arduino și-display TFT - microcontrolere programare

TFT TFTscreen = TFT (CS, DC, MOSI, SCLK, RESET);

Apoi, du-te la secțiunea a programului void setup (). Inițializare echipa de afișare

Și apoi să analizeze cu ajutorul unor echipe efectuate control de afișare.

Pentru a începe o mică digresiune. Pentru a afișa elementele grafice de pe ecran folosind paleta RGB de opt biți. Astfel, atunci când redarea elementelor grafice din comenzile indică o valoare 0-255, fiecare dintre culorile paletei: roșu, verde, albastru. Cu toate acestea, pe site-ul oficial spune că afișajele nu acceptă culori pe 8 biți. Pentru a afișa culoarea roșu și albastru sunt folosite de 5 biți (32 gradații) și pentru verde 6 (64 gradații). Acest lucru se datorează faptului că transferul de culoare de la IC la afișajul are loc cu ajutorul a doi octeți (16 biți 5 biți = roșu + verde + 6 bit 5 bit albastru). Dar așa, digresiunea liric că ați înțeles cum funcționează.

Considerăm acum comenzile de bază pentru a afișa informații grafice.

fundal (roșu, verde, albastru)

narisovanna șterge toate elementele de pe ecran folosind pixelii parametrilor de culoare. Cu alte cuvinte, aceasta nu umple întregul ecran.

accident vascular cerebral (roșu, verde, albastru)

invocat înainte de redare elemente grafice și stabilește puncte de culoare, linii, figuri limitele.

După apelarea acestei comenzi, toate limitele care au fost desenate formele vor fi șterse.

umple (roșu, verde, albastru)

numit înainte de forme de desen și text și determină culoarea de umplere

După apelarea această comandă, toate umbrirea formele desenate vor fi șterse.

text (text, xPos, yPos)

se bazează pe ecranul de text, textul afișat pe locația punctului cu specificat koordinatami.Obraschayu rețineți că informațiile de redare trebuie să fie de char, adică simboluri. conversie de date la char vom discuta mai jos.

invocat înainte de redare de text și stabilește dimensiunea (la 1 la 5).