Tehnologija tft tn. TFT tehnologija zaslona. Što je TFT tehnologija

Znamo kako koristiti TFT LCD zaslone s Arduinom, počevši od osnovnih naredbi pa sve do profesionalnog dizajna.

U ovom ćete članku naučiti kako koristiti TFT LCD s Arduino pločama. Pokrit ćemo osnovne naredbe, kao i naučiti o profesionalnom dizajnu i tehnologiji. Iza planova može se pročitati polje statistike:

  • prikazati tekstove, simbole i brojeve u traženom fontu;
  • crtati figure kao što su kolo, trikutnik, kvadrat i tako dalje;
  • prikazati images.bmp na ekranu;
  • mijenjanje parametara zaslona, ​​kao što su prelamanje boja i invertiranje;
  • Prikažite animaciju pomoću Arduina.

Iz Wikipedije: Zaslon s rijetkim kristalima s aktivnom matricom (TFT LCD, engleski Thin-Film Transistor) vrsta je zaslona s rijetkim kristalima u koji je ugrađena aktivna matrica obložena tranzistorima s tankim filmom.

U projektima elektronike važno je stvoriti sučelje između hardvera i sustava. Ovo se sučelje može izraditi na načine za prikaz relevantnih podataka, izbornika i jednostavnog pristupa. Garny dizajn nije manje važan.

A postoji niz komponenti. LED, 7 segmentni moduli, grafički zasloni i višebojni TFT zasloni. Prava komponenta za vaše projekte leži u količini podataka, kao što je interakcija s računalom i kapacitet procesora.

TFT LCD je varijanta zaslona s rijetkim kristalima (LCD) koji koristi tehnologiju tranzistora s tankim vlaknima (TFT) za poboljšanje jasnoće slike, kao što su fokus i kontrast. TFT LCD je aktivni matrični PK zaslon, koji se može zamijeniti za pasivne matrične PK zaslone ili jednostavne PK zaslone s izravnim višesegmentnim pločama.

Arduino projekti imaju nisku frekvenciju procesora. Na ovaj način nemoguće je prikazati složene slike visoke jasnoće i visokokvalitetne grafike. Stoga se TFT zasloni s više boja mogu koristiti za prikaz jednostavnih naredbi i podataka.

Ovaj članak koristi biblioteke i naprednu tehnologiju za prikaz podataka, grafikona, izbornika itd. s profesionalnim dizajnom. Na ovaj način, koji god vaš projekt izgledat će nevjerojatno cool.

Koja veličina? Kakav kontroler?

Veličina zaslona utječe na parametre projekta. Sjajan prikaz nemoj pretjerivati. Ako želite prikazati simbole i slike visoke kvalitete, morate odabrati velika veličina prikazati s više visoka zasebna zgrada. Ovo mijenja fluidnost vašeg feeda, izdvaja više prostora, a također izdvaja više tekućine za lansiranje.

Dakle, prije svega morate provjeriti odvojenost, fluidnost ruke, detalje, boju i veličinu slika, tekstova i brojeva. Predstavljamo popularne veličine Arduino zaslona, ​​kao što su:

  • 3,5" inča 480 × 320,
  • 2,8" inča 400 × 240,
  • 2,4" inča 320 × 240,
  • 1,8" inča 220 × 176.

Nakon što je zavibrirao ispravan zaslon, došlo je vrijeme da vibrirate ispravan kontroler. Ako želite prikazati simbole, tekstove, brojeve i statične slike, a brzina prikaza nije bitna, Atmega328 Arduino je pravi izbor.

Ako je veličina koda velika, UNO može postati nedostatan. Također možete koristiti. I kako želite prikazati slike s visokom razinom razdvajanja i usmjerenja? velika brzina Vi ste odgovorni za korištenje ARM Arduino modula kao što je Arduino DUE.

Vozači i knjižnice

U instalacijama elektronike/računala, upravljački program zaslona naziva se nosač. integrirani krug(ili alternativno možete postaviti krajnji stroj, koji se sastoji od diskretne logike i drugih komponenti), koji pruža funkciju sučelja između mikroprocesora, mikrokontrolera, ASIC-a ili perifernog sučelja zagalnoga značaja i određenu vrstu uređaja za prikaz, na primjer, LCD, LED, OLED, ePaper, CRT, Nixie itd.

Upravljački program zaslona obično prihvaća naredbe i podatke sa standardnih univerzalnih serijskih ili paralelnih sučelja kao što su TTL, CMOS, RS232, SPI, I2C itd. Generira signale s vodljivim naponom, strujom i demultipleksiranjem kako bi prikazao traženi tekst ili sliku na zaslonu.

Programeri PK zaslona koriste različite upravljačke programe za svoje proizvode. Neki od njih su popularni, ali neki su nepoznati. Kako biste jednostavno pokrenuli zaslon, morate koristiti LCD Arduino biblioteke i dodati ih svom kodu. U suprotnom, pokretanje zaslona može biti teže. Postoji mnogo besplatnih knjižnica na Internetu, ali važna točka u knjižnicama je njihova zabuna s PK upravljačkim programom za prikaz. Vaš PK upravljački program za prikaz je kriv zbog vaše biblioteke. Ovaj članak koristi Adafruit GFX biblioteku i MCUFRIEND KBV biblioteku i aplikacijski kod. Možete ih namamiti za daljnje izaslanike.

Raspakirajte MCUFRIEND KBV i otvorite MCUFRIEND_kbv.CPP. Vidjet ćete popis upravljačkih programa koje podržava biblioteka MCUFRIEND.

Otvorite mapu s opušcima (engleski – primjer). Ovdje je popis kodnih aplikacija koje se mogu pokrenuti na Arduinu. Spojite PK zaslon i okrenite kundake.

Popis pribora

Za provedbu mnogih projekata povezanih s TFT LCD-om potreban nam je skup komponenti, kao što smo već spomenuli:

  • 3,5" ElectroPeak TFT zaslon u boji × 1
  • 2,4" TFT zaslon LCD ElectroPeak × 1
  • Arduino UNO R3 × 1
  • Arduino Mega 2560×1
  • Arduino DUE × 1

Sigurnost softvera

Trebamo i Arduino za robote.

Kodirati

Morate dodati biblioteku, a zatim nabaviti kod. Što prvo lansirate? Arduino ploča, ne hvali se. Samo upišite sljedeće:

  • Idite na našu web stranicu ili na web stranicu www.arduino.cc/en/Main/Software i uživajte sigurnosni softver za vaš OS. Prije umetanja instalirajte sigurnosni softver.
  • Okruženje pokretanja Arduino sklopovi, čisto uređivač teksta Zatim kopirajte kod u uređivač teksta.
  • Idite na minijaturu i proširite biblioteke. Kliknite "Dodaj ZIP biblioteku" i dodajte biblioteke.
  • Odaberite ploču u "Alati i ploče", odaberite Arduino ploču.
  • Spojite Arduino na računalo i postavite COM port na "Alati i port".
  • Pritisnite gumb "Enter" (strelica).
  • Sada je sve riješeno!

Nakon nabave koda za kundak, došlo je vrijeme da shvatite kako stvoriti slike na PK zaslonu.

Knjižnica

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h"

Prvi red dobio je glavni grafička biblioteka za prikaze (napisao Adafruit).

Drugi pruža biblioteku koja podržava MCUFRIEND Arduino upravljačke programe zaslona.

#include "TouchScreen.h" // ako želite prikazati zaslon osjetljiv na dodir #include "bitmap_mono.h" // ako želite prikazati slikovni raster iz biblioteke #include "bitmap_RGB.h" // ako želite prikazati rasterske slike iz biblioteke #include "Fonts/FreeSans9pt7b.h" // ako trebate druge fontove #include "Fonts/FreeSans12pt7b.h" // ako trebate druge fontove #include "Fonts/FreeSerif12pt7b.h" // ako trebate druge fontove #include "FreeDefaultFonts.h" // ako trebate druge fontove #include "SPI.h" // sdcard izvor za prikaz bitmap slika # uključi "SD .h"

Ove biblioteke nisu odmah potrebne, ali ih možete dodati.

Osnovne naredbe

Klasa i objekt

//(int CS=A3, int RS=A2, int WR=A1, int RD=A0, int RST=A4) MCUFRIEND_kbv tft(A3, A2, A1, A0, A4);

Ova serija će stvoriti objekt s TFT klasom MCUFRIEND_kbv i omogućit će SPI veze između PK zaslona i Arduina.

Pokretanje RK zaslona

uint16_t ID = tft.readID(); tft.begin(ID);

Funkcija tft.readIDčita ID sa zaslona i postavlja vaš promjenjivi ID. Zatim funkcionirajte tft.početi Uklanja identifikator i PK zaslon je spreman za rad.

Odvojeni prostor na ekranu

tft.width(); // int16_t širina (praznina); tft.visina(); //int16_t visina(void);

Iza ove dvije funkcije možete prepoznati odvojenu prirodu zaslona. Samo ih dodajte kodu i postavite izlazne podatke u promjenu uint16_t. Zatim pročitajte sa serijskog porta Serial.println();. Dodajte još malo Serial.begin(9600); V postaviti().

Obojite zaslon

tft.fillScreen(t); //fillScreen(uint16_t t);

Funkcija fillScreen mijenja boju zaslona u t. Postoji 16-bitna promjena za promjenu boje koda UTFT.

#define BLACK 0x0000 #define DARKGREEN 0x03E0 #define DARKCYAN 0x03EF #define BLUE 0x7800 #define PURPLE 0x780F #define fine DARKGREY 0x7BEF #define BLUE 0x001F #de fino ZELENA 0x07 E0 #definiraj CYAN 0x07FF #definiraj CRVENA 0xF800 #definiraj MAGENTA 0xF81F # definirajte ŽUTO 0xFFE0 #definirajte BIJELO 0xFFFF #definirajte NARANČASTO 0xFD20 #definirajte ZELENOŽUTO 0xAFE5 #definirajte RUŽIČASTO 0xF81F

Ove retke možete dodati kodu i jednostavno promijeniti boju naziva u funkcijama.

Rezervacija pikeliv

tft.drawPixel(x,y,t); //drawPixel(int16_t x, int16_t y, uint16_t t) tft.readPixel(x,y); //uint16_t readPixel(int16_t x, int16_t y)

Funkcija nacrtaj piksel dodjeljuje piksel x i y boji t.

Funkcija readPixel očitava boju piksela u koracima x i y.

Slikarske linije

tft.drawFastVLine(x,y,h,t); //drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t t) tft.drawFastHLine(x,y,w,t); //drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t t) tft.drawLine(xi, yi, xj, yj, t); //drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t t)

Funkcija drawFastVLine boje vertikalna linija, Ono što počinje sjenčanjem x, y, njen dovzhin - h piksela, i boja - t.

Funkcija crtanjeFastHLine boje vodoravna crta, Što počinje sjenčanjem x i y, većinom w piksela i bojom - t.

Funkcija nacrtatiLine crta red koji počinje od xi, yi do xj, yj, boja - t.

Za (uint16_t a=0; a<5; a++) { tft.drawFastVLine(x+a, y, h, t);} for (uint16_t a=0; a<5; a++) { tft.drawFastHLine(x, y+a, w, t);} for (uint16_t a=0; a<5; a++) { tft.drawLine(xi+a, yi, xj+a, yj, t);} for (uint16_t a=0; a<5; a++) { tft.drawLine(xi, yi+a, xj, yj+a, t);}

Ova tri bloka koda nacrtana su linijama sličnim prethodnom kodu širine 5 piksela.

Tft.fillRect(x,y,w,h,t); //fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t t) tft.drawRect(x, y, w, h, t); //drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t t) tft.fillRoundRect(x,y,w,h,r,t); //fillRoundRect (int16_t x, int16_t y, int16_t w, int16_t h, uint8_t R, uint16_t t) tft.drawRoundRect(x,y,w,h,r,t); //drawRoundRect(int16_t x, int16_t y, int16_t w, int16_t h, uint8_t R, uint16_t t)

Funkcija fillRect Iscrtava ispune ortokutaneuma na koordinatama x i y, w – širina, h – visina, t – boja ortokutaneuma.

Funkcija nacrtajRect slika ortokutano stablo na koordinatama x i y širinom w, visinom h i bojom t.

Funkcija fillRoundRect boji ispune rektuma s radijusom r, koordinatama x i y, širinom w i visinom h, bojom t.

Funkcija nacrtajZaokružiPrav slika ortokutan s r radijalno zaobljenim rubovima x i y, širinom w i visinom h i bojom t.

Slikarska kola

tft.drawCircle(x,y,r,t); //drawCircle(int16_t x, int16_t y, int16_t r, uint16_t t) tft.fillCircle(x,y,r,t); //ispuni krug(int16_t x, int16_t y, int16_t r, uint16_t t)

Funkcija nacrtajKrug slika u koordinatama x i y, polumjerom r i bojom t.

Funkcija fillCircle boji puni krug koordinata x i y, polumjera r i boje t.

Za (int p = 0; str< 4000; p++) { j = 120 * (sin(PI * p / 2000)); i = 120 * (cos(PI * p / 2000)); j2 = 60 * (sin(PI * p / 2000)); i2 = 60 * (cos(PI * p / 2000)); tft.drawLine(i2 + 160, j2 + 160, i + 160, j + 160, col[n]); }

Ovaj kod je zlatni luk. Možete promijeniti vrijednost "za" između 0 i 4000.

Oslikavanje tricutnika

tft.drawTriangle(x1,y1,x2,y2,x3,y3,t); //drawTriangle(int16_t x1, int16_t y1, int16_t x2, int16_t y2, int16_t x3, int16_t y3, // uint16_t t) tft.fillTriangle(x1,y1,x2,y2,x3,y //fillTriangle(int16_t x1, int16_t) y1, int16_t x2, int16_t y2, int16_t x3, int16_t y3, // uint16_t t)

Funkcija nacrtajtrokut boji tricutnik s tri kutne koordinate x, y i z i t bojama.

Funkcija fillTriangle boji tri dijela trikutikula s koordinatama x, y, z i t bojom.

Zastupljenost teksta

tft.setCursor(x,y); //setCursor(int16_t x, int16_t y)

Ovaj kod postavlja položaj kursora na x i y.

Tft.setTextColor(t); //setTextColor(uint16_t t) tft.setTextColor(t,b); //setTextColor(uint16_t t, uint16_t b)

Prvi red postavlja boju teksta. Vodeći red postavlja boju za tekst i pozadinu.

Tft.setTextSize(s); //setTextSize(uint8_t s)

Ovaj kod postavlja veličinu teksta natpisa s. Sam broj s Promjene u rasponu od 1 do 5.

Tft.write(c); //zapiši(uint8_t c)

Ovaj kod predstavlja simbol.

Tft.println("www.Electropeak.com"); tft.print("www.Electropeak.com");

Prva funkcija prikazuje red i pomiče kursor u sljedeći red.

Druga funkcija jednostavno prikazuje redak.

ShowmsgXY(x,y,sz,&FreeSans9pt7b,"www.Electropeak.com"); //void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) y1, uint16_t wid ,ht; tft.set

Ova funkcija mijenja tekst u font. Morate dodati ovu funkciju i biblioteku fontova.

Za (int j = 0; j< 20; j++) { tft.setCursor(145, 290); int color = tft.color565(r -= 12, g -= 12, b -= 12); tft.setTextColor(color); tft.print("www.Electropeak.com"); delay(30); }

Ova funkcija može zamutiti tekst koji poznajete. Ovo morate dodati svom kodu.

Omotač zaslona

tft.setRotation(r); //setRotation(uint8_t r)

Ovaj kod rotira zaslon. 0 = 0°, 1 = 90°, 2 = 180°, 3 = 270°.

Invertiranje boja ekrana

tft.invertDisplay(i); //invertDisplay(boolean i)

Ovaj kod invertira boje na ekranu.

Tft.boja565(r,g,b); //uint16_t boja565(uint8_t r, uint8_t g, uint8_t b)

Ovaj kod prenosi RGB kod i prima UTFT kod boje.

Pomičite se po ekranu

za (uint16_t i = 0; i< maxscroll; i++) { tft.vertScroll(0, maxscroll, i); delay(10);}

Ovaj kod će pomicati zaslon. Maxroll – maksimalna visina pomicanja.

Skidannya

tft.reset();

Ovaj kod uklanja ekran.

Prikaz jednobojnih slika

static const uint8_t name PROGMEM = ( // Dodajte kod slike ovdje. ) tft.drawBitmap(x, y, name, sx, sy, 0x0000);

Od sada ste vi odgovorni za pretvaranje svoje slike u heksadecimalni kod. Zavantazhte program nezabechennya posilannya niže. Ako ne želite promijeniti postavke softvera, morate obrnuti boju slike, prikazati sliku vodoravno (zrcaljeno) i zakrenuti je za 90 stupnjeva u odnosu na strelicu godine.

Sada ga dodajte softveru i promijenite. Otvorite izvezenu datoteku i kopirajte heksadecimalni kod iz Arduino IDE. xі g- Roztashuvannya slika. sxі sy- Veličina slike. Možete promijeniti boju slike u preostalu ulazni.

RGB prikaz slike u boji

const uint16_t name PROGMEM = ( // Dodajte kod slike ovdje. ) tft.drawRGBBitmap(x, y, name, sx, sy);

Vaša je odgovornost pretvoriti svoju sliku u kod. Vikorista tse poslannya za preoblikovanje slike:

Unesite sliku i preuzmite transformacijsku datoteku koju mogu koristiti UTFT biblioteke. Sada kopirajte heksadecimalni kod u Arduino IDE. x i y - renderiranje slike. sx i sy - veličina slike.

Za prikaz heksadecimalnog koda možete koristiti program pretvarača u nastavku:

Prednji sklopivi elementi

U ovaj predložak jednostavno smo dodali red od 8 zamjenskih boja kako bismo im redom promijenili boje. Za slikanje udjela oko statične točke, možete koristiti sin(); ta cos(); funkcije. Morate postaviti vrijednost PI. Za promjenu boje, možete promijeniti funkciju boja565(); Zatim zamijenite svoj RGB kod.

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; #include "Fonts/FreeSans9pt7b.h" #include "Fonts/FreeSans12pt7b.h" #include "Fonts/FreeSerif12pt7b.h" #include "FreeDefaultFonts.h" #define PI 3.1415926535897932384626433832795 int col; void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) ( int16_t x1, y1; uint16_t wid, ht; tft.setFont(f); tft.setCursor(x, y); tft .setTextColor(0x0000);tft.setTextSize(sz); tft.print(msg); ) void setup() (tft.reset(); Serial.begin(9600); begin(ID);tft.setRotation(1) ; tft.invertDisplay(true); col = tft.color565(170, 30, 80); boja 565 (230, 120, 170); petlja() ( for (int i = 8; i > 0; i--) ( tft.fillCircle(240 + 40 * (cos(-i * PI / 4))), 120 + 40 * (sin(-i) * PI / 4)), 10, stupac); odgoda (15); + 1) * PI / 4)), 10, stupac); kašnjenje(15); (-(i + 2)*PI / 4)), 10, stupac); kašnjenje(15); tft.fillCircle(240 + 40 * (cos(-(i + 3)*PI / 4)), 120 + 40 * (sin(-(i + 3)*PI / 4)), 10, stupac); kašnjenje(15); tft.fillCircle(240 + 40 * (cos(-(i + 4)*PI / 4)), 120 + 40 * (sin(-(i + 4)*PI / 4)), 10, stupac); kašnjenje(15); tft.fillCircle(240 + 40 * (cos(-(i + 5)*PI / 4)), 120 + 40 * (sin(-(i + 5)*PI / 4)), 10, stupac); kašnjenje(15); tft.fillCircle(240 + 40 * (cos(-(i + 6)*PI / 4)), 120 + 40 * (sin(-(i + 6)*PI / 4)), 10, stupac); kašnjenje(15); tft.fillCircle(240 + 40 * (cos(-(i + 7)*PI / 4)), 120 + 40 * (sin(-(i + 7)*PI / 4)), 10, stupac); kašnjenje(15); )

Klasičan tekst

Za ovaj predložak odabrali smo klasični font i dodali funkciju za izbljeđivanje teksta.

#include "Adafruit_GFX.h" // Osnovna grafička biblioteka #include "MCUFRIEND_kbv.h" // Biblioteka specifična za hardver MCUFRIEND_kbv tft; #include "Fonts/FreeSans9pt7b.h" #include "Fonts/FreeSans12pt7b.h" #include "Fonts/FreeSerif12pt7b.h" #include "FreeDefaultFonts.h" void showmsgXY(int x, int y, int s , const char *msg ) ( int16_t x1, y1; uint16_t wid, ht; tft.setFont(f); tft.setCursor(x, y); tft.setTextSize(sz); tft.println(msg); ) uint8_t r = 255, g = 255, b = 255; uint16_t boja; void setup() ( Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setRotation(1); ) void loop(void) ( tft .invertDisplay(true); tft.fillScreen(WHITE),"); delay(40); tft.println("tko može prikupiti snagu iz nevolje,"); delay(40); savjest odobrava njihovo ponašanje,"); kašnjenje(40); = 0;< 20; j++) { tft.setCursor(145, 290); color = tft.color565(r -= 12, g -= 12, b -= 12); tft.setTextColor(color); tft.print(" ---- Da Vinci ----"); delay(30); } while (1); }

počast/prezentacija loga

Čiji predložak smo prepravili datoteku a.jpg y datoteka .c I dodao to kodu, napisao red i iskoristio kod. Zatim smo iskoristili kod za pomicanje za pomicanje zaslona lijevom rukom. Pretvarajte datoteku .h I dodajte ga u Arduino mapu skica.

#include "Adafruit_GFX.h" // Osnovna grafička biblioteka #include "MCUFRIEND_kbv.h" // Biblioteka specifična za hardver MCUFRIEND_kbv tft; #include "Ard_Logo.h" #define BLACK 0x0000 #define GREEN 0x07E0 #define WHITE 0xFFFF #define GREY 0x8410 #include "Fonts/FreeSans9pt7b" "Fonts/ FreeSerif12pt7b.h" #include "FreeDefaultFon ts.h" void showmsgXY (int x, int y, int sz, const GFXfont *f, const char *msg) ( int16_t x1, y1; uint16_t wid, ht; tft. ; tft.setCursor(x, y); tft.setTextSize(sz); uint16_t color; void setup() ( Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setRotation(1); ) void loop(void) ) ( tft .invertDisplay(true);tft.fillScreen(WHITE);< 20; j++) { color = tft.color565(r -= 12, g -= 12, b -= 12); tft.setTextColor(color); showmsgXY(95, 280, 1, &FreeSans12pt7b, "ELECTROPEAK PRESENTS"); delay(20); } delay(1000); for (int i = 0; i < 480; i++) { tft.vertScroll(0, 480, i); tft.drawFastVLine(i, 0, 320, 0xffff); // vertical line delay(5);} while (1); }

Točkasti dijagram

U ovom predlošku koristili smo linije slikanja, popunjavanje udjela i funkcije prikaza redova.

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; uint16_t ox=0,oy=0; int ave = 0, avec = 0, avet = 0; /////////////////////////////////////////////// // ////////////// void aveg(void) (int z=0; Serial.println(ave); Serial.println(avec); avet=ave/avec; Serial. println(avet ) );avet=avet*32;<24; i++){ for (uint16_t a=0; a<3; a++){ tft.drawLine(avet+a, z, avet+a, z+10, 0xFB21);} // thick for (uint16_t a=0; a<2; a++){ tft.drawLine(avet-a, z, avet-a, z+10, 0xFB21);} delay(100); z=z+20; } } ////////////////////////////////////////////////////////////////// void dchart_10x10(uint16_t nx,uint16_t ny) { ave+=nx; avec++; nx=nx*32; ny=ny*48; tft.drawCircle(nx, ny, 10, 0x0517); tft.drawCircle(nx, ny, 9, 0x0517); tft.fillCircle(nx, ny, 7, 0x0517); delay (100); ox=nx; oy=ny; } /////////////////////////////////////////////////////////////////////// void dotchart_10x10(uint16_t nx,uint16_t ny) { ave+=nx; avec++; nx=nx*32; ny=ny*48; int plus=0; float fplus=0; int sign=0; int y=0,x=0; y=oy; x=ox; float xmines, ymines; xmines=nx-ox; ymines=ny-oy; if (ox>nx) (xmines = ox-nx; znak = 1;) inače znak = 0; za (int a=0; a<(ny-oy); a++) { fplus+=xmines/ymines; plus=fplus; if (sign==1) tft.drawFastHLine(0, y, x-plus, 0xBFDF); else tft.drawFastHLine(0, y, x+plus, 0xBFDF); y++; delay(5);} for (uint16_t a=0; a<2; a++){ tft.drawLine(ox+a, oy, nx+a, ny, 0x01E8);} // thick for (uint16_t a=0; a<2; a++){ tft.drawLine(ox, oy+a, nx, ny+a, 0x01E8);} ox=nx; oy=ny; } //////////////////////////////////////////////////////////////////// void setup() { tft.reset(); Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); } void loop() { tft.invertDisplay(true); tft.fillScreen(0xffff); dotchart_10x10(3, 0); dotchart_10x10(2, 1); dotchart_10x10(4, 2); dotchart_10x10(4, 3); dotchart_10x10(5, 4); dotchart_10x10(3, 5); dotchart_10x10(6, 6); dotchart_10x10(7, 7); dotchart_10x10(9, 8); dotchart_10x10(8, 9); dotchart_10x10(10, 10); dchart_10x10(3, 0); dchart_10x10(2, 1); dchart_10x10(4, 2); dchart_10x10(4, 3); dchart_10x10(5, 4); dchart_10x10(3, 5); dchart_10x10(6, 6); dchart_10x10(7, 7); dchart_10x10(9, 8); dchart_10x10(8, 9); dchart_10x10(10, 10); tft.setRotation(1); tft.setTextSize(2); tft.setTextColor(0x01E8); tft.setCursor(20, 20); tft.print("Average"); int dl=20; for (int i=0;i<6;i++){ for (uint16_t a=0; a<3; a++){ tft.drawLine(dl, 40+a, dl+10, 40+a, 0xFB21);} dl+=16;} tft.setRotation(0); aveg(); while(1); }

Temperatura

Koji smo predložak vikorizirali? grijeh();і cos(); funkcije za crtanje lukova s ​​velikim brojem i broj koji se prikazuje iza dodatne funkcije tekstualnog prijatelja. Zatim smo slike pretvorili u heksadecimalni kod i dodali ga kodu te prikazali slike pomoću dodatne funkcije rasterske slike. Zatim smo upotrijebili funkciju Line Painting za promjenu stila slike. Odaberite datoteku.h i dodajte je u mapu Arduino.

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h" #include "Math.h" MCUFRIEND_kbv tft; #include "Temperature.h" #define PI 3.1415926535897932384626433832795 int a=1000,b=3500; int n, f; int j, j2, lj; int i, i2 ,li; int pct = 0; int d = (20, 20, 20, 20, 20); uint16_t stupac = (0x7006, 0xF986, 0x6905, 0x7FF7, 0x024D); void setup() ( tft.reset(); Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setTextSize(2); ) void loop() ( // stavite svoj glavni kod ovdje, da se ponavlja: tft.fillScreen(0xffff); tft.setRotation(1); tft.drawBitmap(350, 70, Temp, 70, 180, 0x0000); tft.fillCir (385,213,25,tft.color565(255, 0, 0));< 4000; p++) { j = 120 * (sin(PI * p / 2000)); i = 120 * (cos(PI * p / 2000)); j2 = 110 * (sin(PI * p / 2000)); i2 = 110 * (cos(PI * p / 2000)); tft.drawLine(i2 + 160, j2 + 160, i + 160, j + 160, tft.color565(100, 100, 100)); } ///////////////////////////////////////////////////////////////////// if (b>a) (dok (a Kružni graf

U ovom predlošku stvorili smo funkciju koja prihvaća brojeve kao unos i prikazuje ih kao tortni grafikon. Mi jednostavno vikoristovuyu slikanje luka i obnavljanje funkcija udjela.

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h" #include "Math.h" MCUFRIEND_kbv tft; #define PI 3.1415926535897932384626433832795 int n, f; int j, j2; int i, i2; int pct = 0; int d = (10, 60, 16, 9, 10); uint16_t stupac = (0x7006, 0xF986, 0x6905, 0x7FF7, 0x024D); void setup() ( tft.reset(); Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setTextSize(2); ) void loop() ( // stavite svoj glavni kod ovdje, da se ponavlja: tft.fillScreen(0x0042); tft.setRotation(1); for (int p = 0; p< 4000; p++) { j = 120 * (sin(PI * p / 2000)); i = 120 * (cos(PI * p / 2000)); j2 = 60 * (sin(PI * p / 2000)); i2 = 60 * (cos(PI * p / 2000)); tft.drawLine(i2 + 160, j2 + 160, i + 160, j + 160, col[n]); } n = 0; for (int a = 0; a < 5; a++) { pct += d[n] * 40; f = 4000 - pct; for (int b = 0; b < f; b++) { j = 120 * (sin(PI * b / 2000)); i = 120 * (cos(PI * b / 2000)); j2 = 60 * (sin(PI * b / 2000)); i2 = 60 * (cos(PI * b / 2000)); tft.drawLine(i2 + 160, j2 + 160, i + 160, j + 160, col); } tft.fillCircle(380, 100 + (30 * n), 10, col[n]); tft.setTextColor(0xffff); tft.setCursor(400, 94 + (30 * n)); tft.print(d[n]); tft.print("%"); n++; } while (1); }

glazba, muzika

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; #include "Volume.h" #define BLACK 0x0000 int a = 0,b = 4000,c = 1000,d = 3000; int s = 2000; int j, j2; int i, i2; int Bijelo; void setup() ( Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setRotation(1); ) void loop(void) ( tft .invertDisplay(true), tft.fillScreen(BLACK);< s) { j = 14 * (sin(PI * a / 2000)); i = 14 * (cos(PI * a / 2000)); j2 = 1 * (sin(PI * a / 2000)); i2 = 1 * (cos(PI * a / 2000)); tft.drawLine(i2 + 62, j2 + 240, i + 62, j + 240, White); j = 14 * (sin(PI * (a-300) / 2000)); i = 14 * (cos(PI * (a-300) / 2000)); j2 = 1 * (sin(PI * (a-300) / 2000)); i2 = 1 * (cos(PI * (a-300) / 2000)); tft.drawLine(i2 + 62, j2 + 240, i + 62, j + 240, 0x0000); tft.fillRect(50, 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(50, 285); tft.print(a / 40); tft.print("%"); a++; } if (b < s) { j = 14 * (sin(PI * b / 2000)); i = 14 * (cos(PI * b / 2000)); j2 = 1 * (sin(PI * b / 2000)); i2 = 1 * (cos(PI * b / 2000)); tft.drawLine(i2 + 180, j2 + 240, i + 180, j + 240, White); j = 14 * (sin(PI * (b-300) / 2000)); i = 14 * (cos(PI * (b-300) / 2000)); j2 = 1 * (sin(PI * (b-300) / 2000)); i2 = 1 * (cos(PI * (b-300) / 2000)); tft.drawLine(i2 + 180, j2 + 240, i + 180, j + 240, 0x0000); tft.fillRect(168, 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(168, 285); tft.print(b / 40); tft.print("%"); b++;} if (c < s) { j = 14 * (sin(PI * c / 2000)); i = 14 * (cos(PI * c / 2000)); j2 = 1 * (sin(PI * c / 2000)); i2 = 1 * (cos(PI * c / 2000)); tft.drawLine(i2 + 297, j2 + 240, i + 297, j + 240, White); j = 14 * (sin(PI * (c-300) / 2000)); i = 14 * (cos(PI * (c-300) / 2000)); j2 = 1 * (sin(PI * (c-300) / 2000)); i2 = 1 * (cos(PI * (c-300) / 2000)); tft.drawLine(i2 + 297, j2 + 240, i + 297, j + 240, 0x0000); tft.fillRect(286, 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(286, 285); tft.print(c / 40); tft.print("%"); c++;} if (d < s) { j = 14 * (sin(PI * d / 2000)); i = 14 * (cos(PI * d / 2000)); j2 = 1 * (sin(PI * d / 2000)); i2 = 1 * (cos(PI * d / 2000)); tft.drawLine(i2 + 414, j2 + 240, i + 414, j + 240, White); j = 14 * (sin(PI * (d-300) / 2000)); i = 14 * (cos(PI * (d-300) / 2000)); j2 = 1 * (sin(PI * (d-300) / 2000)); i2 = 1 * (cos(PI * (d-300) / 2000)); tft.drawLine(i2 + 414, j2 + 240, i + 414, j + 240, 0x0000); tft.fillRect(402, 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(402, 285); tft.print(d / 40); tft.print("%"); d++;} if (a >s) (j = 14 * (sin (PI * a / 2000)); i = 14 * (cos (PI * a / 2000)); j2 = 1 * (sin (PI * a / 2000)); i2 = 1 * (cos (PI * a / 2000));i = 14 * (cos (PI * (a + 300) / 2000)); PI * (a+300) / 2000)); tft.setTextSize(2); tft.setTextColor(0xffff); s) (j = 14 * (sin(PI * b / 2000)); i = 14 * (cos (PI * b / 2000)); j2 = 1 * (sin (PI * b / 2000)); i2 = 1 * (cos (PI * b / 2000)); i = 14 * (cos (PI * (b + 300) / 2000)); PI * (b + 300) / 2000)); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(168, 285); tft.print(b/40); tft.print("%"); b--;) if (c > s) (j = 14 * (sin(PI * c / 2000)); i = 14 * (cos(PI * c / 2000)); j2 = 1 * (sin(PI * c / 2000));i2 = 1 * (cos (PI * c / 2000)); sin(PI*(c+300)/2000)); i=14* (cos(PI*(c+300)/2000)); ), i2 = 1 * (cos (PI * (c + 300) / 2000)); 285, 30, 30, 0x0000); tft.setTextSize(2); c--;) if (d > s) (j = 14 * (sin(PI * d / 2000)); i = 14 * (cos(PI * d / 2000)); j2 = 1 * (sin(PI * d / 2000));i2 = 1 * (cos (PI * d / 2000)); sin(PI*(d+300)/2000)); i = 14* );i2 = 1 * (cos (PI * (d +300) / 2000)); 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(402, 285); tft.print(d/40); tft.print("%"); d--;)))

Brzinomjer

#include "Adafruit_GFX.h" // Osnovna grafička biblioteka #include "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; #define BLACK 0x0000 #include "Gauge.h" #include "Fonts/FreeSans9pt7b.h" #include "Fonts/FreeSans12pt7b.h" #include "Fonts/FreeSerif12pt7b.h" #include "FreeDefault0 int b = 4000; int j, j2; int i, i2; void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) ( int16_t wid, ht; tft.setFont(f); tft.setCursor (x, y); tft.println(msg); void setup() ( Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft. invertDisplay(true); .setRotation(void) (tft.invertDisplay(true); tft.drawRGBBitmap(0, 0, test, 480, 320);< b) { while (a < b) { Serial.println(a); j = 80 * (sin(PI * a / 2000)); i = 80 * (cos(PI * a / 2000)); j2 = 50 * (sin(PI * a / 2000)); i2 = 50 * (cos(PI * a / 2000)); tft.drawLine(i2 + 235, j2 + 169, i + 235, j + 169, tft.color565(0, 255, 255)); tft.fillRect(200, 153, 75, 33, 0x0000); tft.setTextSize(3); tft.setTextColor(0xffff); if ((a/20)>99) tft.setCursor(208, 160); else tft.setCursor(217, 160); tft.print(a/20); a++; ) b = 1000; ) //////////////////////////////////////////////// / / ////////////////// dok (b< a) { j = 80 * (sin(PI * a / 2000)); i = 80 * (cos(PI * a / 2000)); j2 = 50 * (sin(PI * a / 2000)); i2 = 50 * (cos(PI * a / 2000)); tft.drawLine(i2 + 235, j2 + 169, i + 235, j + 169, tft.color565(0, 0, 0)); tft.fillRect(200, 153, 75, 33, 0x0000); tft.setTextSize(3); tft.setTextColor(0xffff); if ((a/20)>99) tft.setCursor(208, 160); else tft.setCursor(217, 160); tft.print(a/20); a--; ) dok (1); )

Veseli čovječuljak

U ovom predlošku mogu se prikazati jednostavne slike, čak i uz dodatnu funkciju rasterske slike. Na taj način možete poboljšati svoju animaciju pomoću ovog trika. Odaberite datoteku.h i dodajte je u mapu Arduino.

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; #include "image.h" #include "Fonts/FreeSans9pt7b.h" #include "Fonts/FreeSans12pt7b.h" #include "Fonts/FreeSerif12pt7b.h" #include "FreeDefaultFonts.h" #define BLUE 0x0 define RED 0xF800 #define ZELENO 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF #define GREY 0x8410 #define OX z, const GFXfont *f, const char *msg) ( int16_t x1, y1; uint16_t wid , ht; setFont (f); tft.setTextSize(sz); tft.print(msg) ( Serial.begin(9600); uint16_t ID(); tft. setRotation(1); tft.fillScreen(tft. color565(0,20,0));delay(60); 258, 128, BIJELO); kašnjenje(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line3, 258, 128, WHITE);odgoda(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line4, 258, 128, WHITE);odgoda(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line5, 258, 128, WHITE);odgoda(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line6, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line7, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line8, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line9, 258, 128, WHITE);odgoda(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line10, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line11, 258, 128, WHITE);odgoda(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line12, 258, 128, WHITE);odgoda(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line13, 258, 128, WHITE);odgoda(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line14, 258, 128, WHITE);odgoda(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line15, 258, 128, WHITE);odgoda(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line16, 258, 128, WHITE);odgoda(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line17, 258, 128, WHITE);odgoda(60); tft.fillRect(20, 180, 258, 128,tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line18, 258, 128, WHITE);odgoda(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line19, 258, 128, WHITE);odgoda(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line20, 258, 128, WHITE);odgoda(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line21, 258, 128, WHITE);odgoda(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line22, 258, 128, WHITE);odgoda(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line23, 258, 128, WHITE);odgoda(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line24, 258, 128, WHITE);odgoda(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line25, 258, 128, WHITE);odgoda(60); tft.fillRect(20, 180, 258, 128,tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line26, 258, 128, WHITE);odgoda(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line27, 258, 128, WHITE);odgoda(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); )

Slika

U kojem predlošku jednostavno prikazujemo radnje slike za dodatnu funkciju RGBbitmapі bitmapa. Samo izradite kod za zaslon osjetljiv na dodir i iskoristite predložak. Odaberite datoteku.h i dodajte je u mapu Arduino.

#include "Adafruit_GFX.h" // Osnovna grafička biblioteka #include "MCUFRIEND_kbv.h" // Biblioteka specifična za hardver MCUFRIEND_kbv tft; #define BLACK 0x0000 #define RED 0xF800 #define GREEN 0x07E0 #define WHITE 0xFFFF #define GRAY 0x8410 #include "images.h" #include "Fonts/FreeSans9pt7b.h" #2 nts/ FreeSerif12pt7b.h" #include "FreeDefaultFon ts.h " int a = 3000; int b = 4000; int j, j2; int i, i2; void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) ( int16_t x1, y1; uint16_t wid, ht; // tft.drawFastHLine(0, y, tft.width()); tft.setCursor(x, y); tft.fillScreen(BLACK); .drawRGBBitmap(0, 0, test, 480, 320); // wifi tft.drawBitmap (125, 25, Line3, 45, 45, 0xffff); //instagram tft.drawBitmap(245, 25, Line6, 45, 45) , 0xffff);//power tft.drawBitmap(20, 260, Line5, 45, 45, 0xffff);//twitter tft.drawBitmap(4 , Line7, 45, 0xffff);//rain tft.setTextSize(6); tft.setTextColor(0xffff); 280, 1, FreeSans12pt7b, showmsgXY(300, 305, 1, FreeSans12pt7b, 6. lipnja 2018.); dok(1); )

torbica

Osiguravanje arhiva datotekama .h niži:

  • Brzina stvaranja svih GIF datoteka je redigirana i one su više ili više sastavljene radi bržeg razumijevanja. Fluidnost tekućine ovisi o fluidnosti vašeg procesora i vrsti koda, kao i veličini i broju elemenata u kodu.
  • Kôd slike možete dodati na naslovnu stranicu, inače će ispuniti cijelu stranicu. Na taj način možete stvoriti datoteku Ah I dodajte skicu u mapu.
  • U ovom smo članku pažljivo analizirali prikaz elemenata na RK zaslonu. Pratite nadolazeće lekcije kako biste naučili kako koristiti zaslone osjetljive na dodir i SD kartice.
  • Ako imate problema s uključenim bibliotekama, promijenite nožni znak "" u<>.

Dakle, to je to za sada. Podijelite ovaj TFT LCD za Arduino sa svojim prijateljima i kolegama.

Trenutačni uređaji opremljeni su zaslonima različitih konfiguracija. Glavni su trenutačno zasloni na bazi, no za njih se mogu koristiti razne tehnologije, posebice TFT i IPS, koji variraju od cijelog niza niskih parametara, iako se temelje na jednom ulaznom ulazu.

Ne postoje pojmovi koji označavaju tehnologije koje idu pod kratice. Na primjer, iako su mnogi ljudi malo čitali o IPS-u i TFT-u, malo ljudi razumije koja je stvarna razlika između njih. To je zbog nedostatka informacija u katalozima elektronike. Važno je razumjeti ove koncepte i odlučiti se između TFT-a i IPS-a – što je bolje?

Terminologija

Da bi se utvrdilo što će biti kraće ili deblje u teksturi kože, potrebno je otkriti koje funkcije ima IPS koža u odnosu na činjenicu TFT-a, točnije, različite vrste, pri pripremi svakog vikorista Nova tehnologija je ažurirano - TN-TFT. Slijedi pregled izvješća i tehnologija.

Vídminnosti

TFT (TN) je jedna od metoda za stvaranje matrice ekrana na tranzistorima od tankih vlakana, u kojoj su elementi raspoređeni u spiralu između para ploča. Čim se napon dovede, rogovi će se rotirati jedan prema jedan ispod ravne linije vodoravne ravnine. Maksimalni napon uzrokuje rotaciju kristala tako da svjetlost koja prolazi kroz njih uzrokuje pojavu crnih piksela, a ako nema napona pojavljuju se bijeli pikseli.

Ako pogledate IPS ili TFT, razlika između prvog i drugog leži u činjenici da je matrica pripremljena na prethodno opisanoj osnovi, jer kristali u njoj nisu raspoređeni spiralno, već paralelno s istom površinom zaslona. . U TFT modu, kristali se nikada ne okreću zbog naprezanja.

Yak mi tse bachimo?

Gledate li IPS ili vizualno, razlika između njih leži u kontrastu koji osigurava savršen prikaz crne boje. Na prvom ekranu slike će biti jasnije. A os prijenosa boje u različitoj TN-TFT matrici ne može se nazvati harmoničnom. Ova vrsta kože ima vlažnu nijansu, različitu od ostalih. Ova boja izaziva mnogo zabune. Međutim, ova matrica ima prednost: odlikuje se najvećom fluidnošću među svim ostalim materijalima u ovom trenutku. Za IPS zaslon potrebno je dosta vremena, tijekom kojeg se svi paralelni kristali povlače da naprave novi zavoj. Međutim, ljudsko oko praktički ne primjećuje razliku u satima pijenja.

Važni detalji

Riječ je o onima koji su lakši za korištenje: IPS ili TFT, što znači da su prvi energetski intenzivniji. To znači da je za okretanje kristala bila potrebna energija. Štoviše, budući da je odašiljač suočen sa zadatkom da svoj uređaj učini energetski učinkovitim, potrebno je koristiti TN-TFT matricu.

Bilo da odaberete TFT ili IPS ekran, to znači širi pogled na drugi, i to 178 stupnjeva u obje veličine, što je čak i zgodno za korisnika fotoaparata. Ispostavilo se da drugi nisu bili dostupni da to osiguraju. A još jedna prednost razlike između ove dvije tehnologije je sposobnost virusa temeljenih na njima. TFT matrice su trenutno najjeftinija rješenja, koja se nalaze u većini proračunskih modela, a IPS je podignut na višu razinu, ali nije top-end.

IPS Chi TFT zaslon vibrira?

Prvorazredna tehnologija omogućuje vam da dobijete najjasnije i najoštrije moguće slike, ali potrebno je više od sat vremena da se kristali okrenu za stvrdnjavanje. Ovo dodaje snagu i druge parametre za sat vremena, dok se povećava fluidnost baterije koja se prazni. Boja TN-matrice je vrlo niska, a za to vrijeme je minimalna. Kristali su ovdje raspoređeni u spiralu.

Naime, moguće je lako detektirati stalni prekid ekrana koji rade na temelju dvije tehnologije. Puno se diže oko toga. TN tehnologija je izgubljena na tržištu, uključujući i cijenu, i ne može se zaštititi od pružanja jasne slike.

IPS je daljnji razvoj TFT zaslona. Visoka razina kontrasta i odličan vizualni učinak dodatne su prednosti ove tehnologije. Na primjer, na monitorima baziranim na TN-u, sama crna boja mijenja svoju nijansu. Međutim, visoka potrošnja energije uređaja koji rade na temelju IPS-a obeshrabruje mnoge proizvođače da pribjegnu alternativnim tehnologijama ili smanje njihovu učinkovitost. Najčešće se matrice ove vrste koriste u žičanim monitorima koji se napajaju baterijom, što sprječava nestabilnost radne površine. Međutim, razvoj u ovom galusu je u stalnom tijeku.

TFT i IPS matrice: karakteristike, prednosti i nedostaci

U današnjem svijetu redovito dolazimo u kontakt sa zaslonima telefona, tableta, PC monitora i TV-a. Tehnologije za proizvodnju rijetkih kristalnih matrica ne miruju, zbog čega mnogi ljudi imaju problema s hranom, što je bolje odabrati TFT ili IPS?

Da biste dobili potpunu sliku napajanja, potrebno je pažljivo razmotriti funkcije obje matrice, vidjeti njihove značajke, prednosti i nedostatke. Poznavajući sve suptilnosti, lako možete odabrati uređaj čiji je zaslon u potpunosti kompatibilan s vašim potrebama. Kako vam naš članak može pomoći?

TFT matrice

Thin Film Transistor (TFT) je sustav za generiranje zaslona s rijetkim kristalima koji se temelji na aktivnoj matrici tranzistora s tankim vlaknima. Kada se na takvu matricu stavi napon, kristali se okreću jedan prema jedan, što dovodi do stvaranja crne boje. Spajanje struje daje isti rezultat - kristali proizvode bijelu boju. Promjena napona koji se isporučuje omogućuje vam stvaranje bilo koje boje na koži odabranog piksela.

Glavna prednost TFT zaslona je izuzetno niska proizvodna cijena, koja je u rangu s trenutnim analozima. Osim toga, takve matrice oslobađaju izuzetnu svjetlinu i povremenu žestinu. Iz nekog razloga ne nedostaje vremena za gledanje dinamičnih scena. Zasloni izrađeni pomoću TFT tehnologije najčešće se koriste na proračunskim televizorima i monitorima.

Nekoliko TFT zaslona:

    • nizak prijenos boje. Tehnologija ima 6 bita po kanalu;
    • Spiralni raspored kristala negativno utječe na kontrast slike;
    • Svjetlina slike primjetno se smanjuje dok je gledate;
    • visoka učestalost "slomljenih" piksela;
    • niska potrošnja energije.

Najvažniji dio TFT matrice je označen kada radite s crnom bojom. Možete ići sve do sive, inače mora biti kontrastna.

IPS matrice

IPS matrica je vrlo napredan zaslon temeljen na TFT tehnologiji. Glavna razlika između ovih matrica je u tome što su TFT kristali rijetko raspoređeni u spiralu, dok kod IPS kristali leže u istoj ravnini, međusobno paralelni. Osim toga, zbog odsutnosti struje, miris se ne okreće, što se pozitivno odražava u crnoj shemi boja.

Prednosti IPS matrice:

  • Pogledat ću oko sebe, ali svjetlina slike se ne smanjuje, povećava se na 178 stupnjeva;
  • obojen je prijenos boja. Količina podataka koja se prenosi preko kožnog kanala povećana je na 8 bita;
  • Kontrast je poboljšan;
  • smanjena potrošnja energije;
  • mala vjerojatnost pojave "slomljenih" ili izgorjelih piksela.

Slike na IPS matrici izgledaju živopisnije i življe, ali to ne znači da je ova tehnologija malo reducirana. U slučaju IPS-a s prednjom pločom, svjetlina slike je značajno smanjena. Također, nakon promjene elektroda koje se kontroliraju, nakon što su pretrpjele takav učinak, kao što je vrijeme za oživljavanje matrice. Posljednji, ali ne i najmanje važan nedostatak je relativno visoka cijena za uređaje koji koriste IPS zaslone. U pravilu su 10-20% skuplji od sličnih s TFT matricom.

Što vibrira: TFT chi IPS?

Jasno je da TFT i IPS matrice, bez obzira na inherentnu važnost slike, imaju vrlo slične tehnologije. Mirisi su kreirani na bazi aktivnih matrica i vikorističkih struktura rijetkih kristala. Mnogi trenutni proizvođači svoju prednost daju IPS matricama. Sjajna vijest je da smradovi mogu dovesti do veće konkurencije s plazma matricama i mogu imati mnogo izgleda u budućnosti. Prote TFT matrice također se razvijaju. Na tržište se mogu staviti i TFT-TN i TFT-HD zasloni. Oni praktički ne žrtvuju slike IPS matricama, ali to omogućuje veću kvalitetu slike. Međutim, nema toliko uređaja s takvim monitorima.

Ako vam je važna kvaliteta slike i spremni ste malo više platiti, onda je uređaj s IPS zaslonom najbolji izbor.

Za definiranje karakteristika i specifičnosti moraju se koristiti kratice. Kad god se IPS i TFT zasloni oštete, rezultat je da je IPS tehnologija (matrica) drugačija vrsta TFT matrice i panela. Nemoguće je međusobno usporediti ove dvije tehnologije.

PIVO! TN-TFT tehnologija – os između njega i IPS-a se može odabrati i prilagoditi. Dakle, ako govorimo o tome koji je zaslon bolji: IPS ili TFT, u svakom slučaju uzimamo u obzir TFT zaslone, ali proizvedene na temelju različitih tehnologija: TN i IPS.

Ukratko o TN-TFT i IPS

TN-TFT je tehnologija koja se temelji na rijetkoj kristalnoj matrici zaslona. Ovdje kristali, ako se njihovim odborima ne dovede napon, stoje sami na 90 stupnjeva. Mirisi se kreću duž spirale, a kada se na njih dovede napon, mirisi se okreću tako da stvaraju željenu boju.

IPS - ova tehnologija je izvanredna po tome što su kristali raspoređeni paralelno jedni s drugima u istom području zaslona (u prvom slučaju, spiralno). Sve je to komplicirano... u praksi, razlika između zaslona baziranih na TN i IPS matrici leži u činjenici da IPS idealno prikazuje crnu boju, zbog čega slika izgleda jasnije i živopisnije.

Iako ne postoji TN-TFT, sposobnost prijenosa boja ove matrice ne ulijeva povjerenje. Ovdje piksel kože može nositi vlastitu dlakavu nijansu, pa su boje zbunjene. IPS matrice puno ljepše prikazuju sliku, a i lakše su za rukovanje. IPS također omogućuje praćenje onoga što se prikazuje na ekranu, pod velikim utjecajem. Ako pogledate TN-TFT zaslon ispod istog okvira, boje će biti na pločama, što otežava gledanje slike.

Prednosti TN

Međutim, TN-TFT matrice imaju svoje prednosti. Glavni razlog za to je manja fluidnost piksela. IPS-u je potrebno više od sat vremena da se cijeli niz paralelnih kristala okrene pod traženim kutom. Stoga, kada je u pitanju izbor monitora za igranje ili za prikaz dinamičnih scena, ako je bitna jasnoća sjenčanja, onda je najbolje izabrati sam ekran baziran na TN-TFT tehnologiji.

S druge strane, kod početnog rada s računala nemoguće je uočiti razliku u satima piksela. To možete vidjeti tek nakon sat vremena gledanja dinamičnih scena, što se često događa u akcijskim filmovima i video igrama.

Još jedan plus je niska potrošnja energije. IPS matrice su energetski učinkovite, jer Za okretanje niza kristala potreban im je veliki napon. Također, zasloni temeljeni na TFT-u najprikladniji su za mobilne gadgete, koji zahtijevaju veliku potrošnju energije i štede energiju baterije.

I također – TN-TFT matrice su jeftinije. Danas ne možete pronaći monitore (bilo jeftine rabljene ili EPT modele) koji su jeftiniji od modela temeljenog na TN tehnologiji. Svaki proračunski elektronički uređaj sa zaslonom zahtijeva TN-TFT matricu.

Pa, koji je ekran ljepši:TFT iliIPS:

  1. IPS manje smisla za više sati reprodukcije (loše za igranje i akcijske scene);
  2. IPS jamči gotovo savršenu reprodukciju boja i kontrast;
  3. IPS je najvažnija stvar koju treba pogledati;
  4. IPS troši više energije od struje;
  5. Oni su i skuplji, dok je TN-TFT jeftiniji.

Os je, u principu, sva razlika između ovih matrica. Ako uzmete u obzir sve prednosti i nedostatke, onda je, naravno, lako doći do konkretnog zaključka: IPS zasloni su puno ljepši.


Budite ljubazni, ocijenite članak:

Svjetlina monitora (ekrana) vrlo je važna za očuvanje očiju korisnika osobnih računala. Dugogodišnji intenzivni rad za monitorom ima još veće zahtjeve za vaš vid. Jasnoća slike uvelike ovisi o veličini fosfornih točaka na ekranu. Srednji razmak između točaka naziva se zrno. Za druge monitore, ovaj parametar se kreće od 0,21 do 0,31. Važni parametri su frekvencija okvira (vertikalnog) okidanja i malog (horizontalnog) okidanja te količina prijenosa video signala. Što je veći broj sličica u sekundi, to je slika stabilnija i potrebno je manje vremena za gledanje (za jasne monitore, broj slika je 70-80 Hz). Frekvencija redaka u kilohercima određuje se množenjem broja redaka koji se prikazuju u jednom okviru s brzinom sličica. Raspon prijenosnih frekvencija za video signal (modificirani MHz) određuje se kao zbrajanje broja točaka u nizu i frekvencije malog uzorka. Ispod su glavne karakteristike TFT LCD zaslona:

1. Otvor za ventilaciju.

Ažuriranje otvora blende (gornja rupa) ê ravna slika, ili područje efektivnog otvora blende, podzemnoj matrici RC zaslon. Što je viša cijena, to je zaslon svjetliji , površina koju zauzimaju boje će se povećati. Također će se povećati kontrast . Prednji otvor je važan pokazatelj PK zaslona, ​​koji se koristi za procjenu njegove svjetline.

2. Dopustite mi da malo pogledam.

Kontrast slike PK monitora mijenja se ovisno o mjestu, pod kojim se vodi računa. Kut zoru karakterizira ovu promjenu. Može doći do izražaja kroz promjenu kontrasta pri pomicanju gore/dolje i desnom/lijevom rukom. Kapacitet rijetkog kristala leži u velikom svijetu ispod ruba padajuće svjetlosti. . Dakle, promjene kontrasta određene su koeficijentom prijenosa na ulazu i izlazu.

Obavezno naznačite značenje granice, na primjer, 170/170°. Pogledat ću malo boljeє Spremni omjer kontrasta nije niži od 10:1. U ovom slučaju, apsolutno je potrebno prenijeti boje u ovom položaju, tako da će boje biti invertirane (boje su prikazane u središtu matrice, a na bojama su, naravno, vidljive ispod boje).

3. Smetnje.

Smetnje se pojavljuju u negativan Interakcija piksela , ako aktivacije napeto piksel teče u pasiv plovila . Ovo je karakteristično važno za jednostavne ploče tip STN, međutim, u pločama s aktivnim matricama postoji blagi priljev smetnji.
4. Yaskravist.

Za podešavanje svjetline PK zaslona koriste se sljedeće vrijednosti: NIT, Foot Lambert kandela po kvadratnom metru – cd/m (cd/m).

Svjetlina zaslona pojavljuje se Iskren sam stražnje osvjetljenjeі kontrola pristupa ploče.

Protok rijetkog kristala nizak da za povećanje svjetline slike pobjeda vrata s otvorom od velikih zračnih vrata , polarizacijske ploče i filtre u boji s velikom propusnošću ili prizmom.

5. Skaliranje slike tijekom višenačinskog rada.

Za TFT monitore preporučuju se zasebni XGA (1024x768) i SXGA (1280x1024) formati, osim toga, ovi monitori će podržavati modove proširenja preko cijelog zaslona SVGA i VGA. Međutim, s odvojenim slikama, kao što su SVGA i manji modovi, znakovi na slici mogu djelovati grubo i nestabilno. Razlog je što osnovni broj piksela za 14" i 15" TFT paneli Bulo vibrano za način XGA. Stoga, za stvaranje slike u SVGA ili VGA modovima krivac će biti obrnut.

Glavni problem leži u području konkurentnosti poduzeća u ovoj tržišnoj situaciji. Kompanije ne plaćaju posebne posjete prije nego što osigurate jasnu sliku s bagator modom robota monitor. Isporučeno i implementirano funkcija naprednog skaliranja slike (Image Enhancement Function), yaka, vikorystyuchi metoda nelinearna interpolacija Kako biste poboljšali sliku, omogućuje vam jasan pregled kreacije u zasebnom izdanju, odvojenom od osnovnog.

6. Vrijeme je za pjevanje.

Ovaj indikator označava minimalni sat tijekom kojeg rijetka kristalna ploča mijenja boju. Postoje dva načina za podešavanje fluidnosti matrice: crno u crno (crno-bijelo-crno),і sivo u sivo(između stupnjeva sive), Štoviše, značaj ovih metoda procjene uvelike varira. Pri promjeni položaja između krajnjih položaja (crno-bijelo), kristal se dovodi do maksimalnog napona, a pin se okreće maksimalnom brzinom (ova karakteristika treba biti navedena u karakteristikama trenutnih monitora). : 8, 6 inoda i 4 ms. S pomaknutim kristalima između gradacija sive podnesena reklami znatno manje napon, jer ih je potrebno precizno pozicionirati kako bi se skinuo potreban navoj, a za što se troši mnogo više (od 14 ms do 28 ms). Nedavno smo uspjeli pronaći ugodan način za rješavanje ovog problema. Maksimalni napon se dovodi na sklopku (ili se smanjuje na nulu), au željenom trenutku položaj kristala se odmah podešava na potreban položaj. Uz sve prednosti ove metode, značajno se povećava složenost precizne kontrole napona. s frekvencijom koja premašuje frekvenciju sirene. Osim toga, impuls jezgre mora biti usklađen s položajem rebra kristala (Samsung je već predstavio modele s tehnologijom digitalne kompenzacije kapaciteta, koji će zapravo pružiti performanse za 8-6 ms za PVA matricu).

7. Kontrast slike.

Vrijednost kontrasta određuje se na temelju svjetline matrice u "crnom" i "bijelom" stanju (što je crna boja manje svjetla, a bijela svjetlija, to je veći kontrast). Ovaj prikaz je važan za jasan prikaz video slike i za dobra slika kakva god slika(na primjer, za S-IPS Prosječna vrijednost - 400:1 , i za PVA – do 1000:1). Ono što je navedeno u karakteristikama monitora su: izmjereno za matrice, ne za monitor, a na posebnom stalku, ako se na matricu dovodi vrlo standardni napon, osvjetljenje se napaja strogo standardnim naponom itd.).

8. Prijenos boja.

Ova emisija neće biti točna. Belshistova matrica, djevica iza kolapsa tehnologije, do 24-bitnog prijenosa na Koloro (vicicacituces ê Adetori Montory PVA VID Samsung- Niyako sustavi u instalaciji 18-abed PVA samsung neće biti istaknuti).

Windows 7