จอแสดงผล TFT มัลติฟังก์ชั่น ความแตกต่างระหว่างหน้าจอ TFT และ IPS ประเภทของจอแสดงผล TFT ข้อดีและข้อเสีย

ในบทช่วยสอนนี้ เราจะแสดงวิธีใช้จอแสดงผล TFT LCD กับ Arduino ตั้งแต่คำสั่งพื้นฐานไปจนถึงการออกแบบระดับมืออาชีพ

ในบทความนี้ คุณจะได้เรียนรู้วิธีใช้ TFT LCD กับบอร์ด Arduino เราจะพยายามครอบคลุมคำสั่งพื้นฐาน และพูดคุยเกี่ยวกับการออกแบบและเทคนิคระดับมืออาชีพ ตามแผนของสาขาบทความ คุณสามารถเรียนรู้:

  • แสดงข้อความ สัญลักษณ์ และตัวเลขในแบบอักษรที่ต้องการ
  • วาดรูปทรงต่างๆ เช่น วงกลม สามเหลี่ยม สี่เหลี่ยม ฯลฯ
  • แสดง images.bmp บนหน้าจอ
  • เปลี่ยนการตั้งค่าหน้าจอ เช่น การหมุนและการกลับสี
  • การแสดงภาพเคลื่อนไหวด้วย Arduino

จากวิกิพีเดีย: จอแสดงผลคริสตัลเหลวแบบแอกทีฟแมทริกซ์ (TFT LCD, ทรานซิสเตอร์ฟิล์มบางภาษาอังกฤษ) เป็นจอแสดงผลคริสตัลเหลวประเภทหนึ่งที่ใช้แอกทีฟแมทริกซ์ที่ควบคุมโดยทรานซิสเตอร์ฟิล์มบาง

ในโครงการอิเล็กทรอนิกส์ การสร้างส่วนต่อประสานระหว่างผู้ใช้และระบบเป็นสิ่งสำคัญมาก อินเทอร์เฟซนี้สามารถสร้างได้โดยการแสดงข้อมูล เมนู และความสะดวกในการเข้าถึง การออกแบบที่สวยงามก็มีความสำคัญไม่น้อย

มีองค์ประกอบหลายอย่างในเรื่องนี้ LED, โมดูล 7 ส่วน, จอแสดงผลกราฟิก และจอแสดงผล TFT สีเต็มรูปแบบ ส่วนประกอบที่เหมาะสมสำหรับโปรเจ็กต์ของคุณขึ้นอยู่กับปริมาณข้อมูลที่แสดง ประเภทการโต้ตอบของผู้ใช้ และความจุของโปรเซสเซอร์

TFT LCD คือจอแสดงผลคริสตัลเหลว (LCD) รุ่นหนึ่งที่ใช้เทคโนโลยีทรานซิสเตอร์ฟิล์มบาง (TFT) เพื่อปรับปรุงคุณภาพของภาพ เช่น ความสามารถในการระบุตำแหน่งและคอนทราสต์ TFT LCD เป็นจอ LCD แบบแอกทีฟเมทริกซ์ ซึ่งต่างจากจอ LCD แบบพาสซีฟเมทริกซ์หรือ LCD แบบควบคุมโดยตรงหลายส่วนแบบธรรมดา

ในโครงการ Arduino ความถี่ของโปรเซสเซอร์ต่ำ ดังนั้นจึงเป็นไปไม่ได้ที่จะแสดงภาพที่มีความคมชัดสูงและการเคลื่อนไหวด้วยความเร็วสูงที่ซับซ้อน ดังนั้น จอแสดงผล TFT แบบเต็มสีจึงสามารถใช้เพื่อแสดงข้อมูลและคำสั่งง่ายๆ เท่านั้น

ในบทความนี้ เราได้ใช้ไลบรารีและเทคนิคขั้นสูงในการแสดงข้อมูล กราฟ เมนู ฯลฯ ด้วยการออกแบบอย่างมืออาชีพ ด้วยวิธีนี้ โปรเจ็กต์ของคุณจะดูเจ๋งอย่างไม่น่าเชื่อ

ขนาดไหน? ตัวควบคุมอะไร?

ขนาดของหน้าจอส่งผลต่อพารามิเตอร์ของโครงการของคุณ จอแสดงผลที่ใหญ่กว่าไม่ได้ดีกว่าเสมอไป หากคุณต้องการแสดงตัวอักษรและรูปภาพที่มีความละเอียดสูง คุณควรเลือกขนาดจอแสดงผลขนาดใหญ่ที่มีความละเอียดสูงกว่า แต่สิ่งนี้จะลดความเร็วในการประมวลผลของคุณ ต้องการพื้นที่เพิ่มขึ้น และยังต้องใช้กระแสไฟในการทำงานมากขึ้นด้วย

ดังนั้น ประการแรก คุณควรตรวจสอบรายละเอียดความละเอียด ความเร็วการเคลื่อนไหว สีและขนาดของรูปภาพ ข้อความ และตัวเลข เรามีขนาดจอแสดงผล Arduino ยอดนิยม เช่น:

  • 3.5" นิ้ว 480 × 320,
  • 2.8" นิ้ว 400 × 240,
  • 2.4" นิ้ว 320 × 240,
  • 1.8" นิ้ว 220 × 176.

เมื่อคุณเลือกจอแสดงผลที่ถูกต้องแล้ว ก็ถึงเวลาเลือกคอนโทรลเลอร์ที่เหมาะสม หากคุณต้องการแสดงตัวอักษร ข้อความ ตัวเลข และภาพนิ่ง โดยที่ความเร็วในการแสดงผลนั้นไม่สำคัญ บอร์ด Atmega328 Arduino (เช่น ) เป็นตัวเลือกที่เหมาะสม

หากรหัสของคุณมีขนาดใหญ่ UNO อาจไม่เพียงพอ คุณสามารถใช้ได้ . และหากคุณต้องการแสดงภาพที่มีความละเอียดสูงและการเคลื่อนไหวด้วยความเร็วสูง คุณควรใช้โมดูล Arduino ARM เช่น Arduino DUE

ไดรเวอร์และไลบรารี

ในอุปกรณ์อิเล็กทรอนิกส์/ฮาร์ดแวร์คอมพิวเตอร์ โดยทั่วไปไดรเวอร์การแสดงผลจะเป็นวงจรรวมเซมิคอนดักเตอร์ (แต่อาจมีเครื่องสถานะที่ประกอบด้วยตรรกะแบบแยกและส่วนประกอบอื่นๆ) ที่ให้ฟังก์ชันอินเทอร์เฟซระหว่างไมโครโปรเซสเซอร์ ไมโครคอนโทรลเลอร์ ASIC หรืออินเทอร์เฟซอุปกรณ์ต่อพ่วงสำหรับวัตถุประสงค์ทั่วไปและ อุปกรณ์แสดงผลประเภทเฉพาะ เช่น LCD, LED, OLED, ePaper, CRT, Nixie เป็นต้น

โดยทั่วไปไดรเวอร์การแสดงผลจะยอมรับคำสั่งและข้อมูลโดยใช้อินเทอร์เฟซแบบอนุกรมหรือแบบขนานมาตรฐานทั่วไป เช่น TTL, CMOS, RS232, SPI, I2C เป็นต้น และสร้างสัญญาณที่มีแรงดันไฟฟ้า กระแส เวลา และดีมัลติเพล็กซ์ที่เหมาะสม เพื่อให้ได้ข้อความหรือรูปภาพที่ต้องการ

ผู้ผลิต LCD ใช้ไดรเวอร์ที่แตกต่างกันในผลิตภัณฑ์ของตน บางส่วนได้รับความนิยมมากกว่าและบางส่วนไม่เป็นที่รู้จัก เพื่อให้เรียกใช้หน้าจอของคุณได้อย่างง่ายดาย คุณควรใช้ไลบรารี Arduino LCD และเพิ่มลงในโค้ดของคุณ มิฉะนั้นการเริ่มต้นการแสดงผลอาจทำได้ยากมาก มีห้องสมุดฟรีมากมายบนอินเทอร์เน็ต แต่ประเด็นสำคัญเกี่ยวกับห้องสมุดคือสามารถใช้งานร่วมกับไดรเวอร์ LCD ได้ ห้องสมุดของคุณต้องรู้จักไดรเวอร์ LCD ของคุณ ในบทความนี้ เราใช้ไลบรารี Adafruit GFX และไลบรารี MCUFRIEND KBV และตัวอย่างโค้ด คุณสามารถดาวน์โหลดได้จากลิงค์ที่แนบมา

แตกไฟล์ MCUFRIEND KBV และเปิด MCUFRIEND_kbv.CPP คุณจะเห็นรายการไดรเวอร์ที่ไลบรารี MCUFRIEND รองรับ

เปิดโฟลเดอร์พร้อมตัวอย่าง (อังกฤษ - ตัวอย่าง) มีตัวอย่างโค้ดหลายตัวอย่างที่คุณสามารถเรียกใช้บน Arduino ได้ เชื่อมต่อ LCD ของคุณและตรวจสอบตัวอย่าง

รายการส่วนประกอบ

ในการดำเนินโครงการต่างๆ ที่เกี่ยวข้องกับ TFT LCD เราจำเป็นต้องมีชุดส่วนประกอบบางอย่างที่เราได้กล่าวถึงข้างต้นแล้ว:

  • จอแสดงผลสี TFT ElectroPeak ขนาด 3.5 นิ้ว × 1
  • 2.4" TFT LCD อิเล็กโทรพีค × 1
  • อาร์ดูโน่ UNO R3 × 1
  • อาร์ดูโน่ เมก้า 2560×1
  • Arduino เนื่องจาก × 1

ซอฟต์แวร์

นอกจากนี้ในการทำงานกับ Arduino เรามักจะต้องใช้ไฟล์.

รหัส

คุณต้องเพิ่มไลบรารีแล้วอัปโหลดโค้ด หากนี่เป็นครั้งแรกที่คุณใช้งานบอร์ด Arduino ไม่ต้องกังวล เพียงทำตามขั้นตอนเหล่านี้:

  • ไปที่เว็บไซต์ของเราหรือ www.arduino.cc/en/Main/Software และดาวน์โหลดซอฟต์แวร์สำหรับระบบปฏิบัติการของคุณ ติดตั้งซอฟต์แวร์ตามคำแนะนำ
  • เปิด Arduino IDE ล้างโปรแกรมแก้ไขข้อความของคุณ และคัดลอกโค้ดลงในโปรแกรมแก้ไขข้อความ
  • ไปที่ภาพร่างและเปิดใช้งานไลบรารี คลิก "เพิ่มไลบรารี ZIP" และเพิ่มไลบรารี
  • เลือกบอร์ดใน "เครื่องมือและบอร์ด" เลือกบอร์ด Arduino ของคุณ
  • เชื่อมต่อ Arduino เข้ากับคอมพิวเตอร์ของคุณและตั้งค่าพอร์ต COM เป็น "เครื่องมือและพอร์ต"
  • คลิกปุ่มโหลด (ลูกศร)
  • ตอนนี้ทุกอย่างเรียบร้อยแล้ว!

หลังจากดาวน์โหลดโค้ดตัวอย่างแล้ว ก็ถึงเวลาเรียนรู้วิธีสร้างภาพบน LCD

ห้องสมุด

#รวม "Adafruit_GFX.h" #รวม "MCUFRIEND_kbv.h"

บรรทัดแรกเพิ่มไลบรารีกราฟิกหลักสำหรับจอแสดงผล (เขียนโดย Adafruit)

ส่วนที่สองเพิ่มไลบรารีที่รองรับไดรเวอร์การแสดงผล MCUFRIEND Arduino

#include "TouchScreen.h" // เฉพาะในกรณีที่คุณต้องการใช้หน้าจอสัมผัส #include "bitmap_mono.h" // เมื่อคุณต้องการแสดงบิตแมปจากไลบรารี #include "bitmap_RGB.h" // เมื่อคุณต้องการ แสดงบิตแมปจากไลบรารี #include "Fonts/FreeSans9pt7b.h" // เมื่อคุณต้องการฟอนต์อื่น #include "Fonts/FreeSans12pt7b.h" // เมื่อคุณต้องการฟอนต์อื่น #include "Fonts/FreeSerif12pt7b.h" // เมื่อ คุณต้องใช้แบบอักษรอื่น #include "FreeDefaultFonts.h" // เมื่อคุณต้องการแบบอักษรอื่น #include "SPI.h" // ใช้ sdcard เพื่อแสดงบิตแมป #include "SD.h"

ขณะนี้ไม่จำเป็นต้องใช้ไลบรารีเหล่านี้ แต่คุณสามารถเพิ่มได้

คำสั่งพื้นฐาน

คลาสและวัตถุ

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

บรรทัดนี้สร้างวัตถุชื่อ TFT จากคลาส MCUFRIEND_kbv และให้การสื่อสาร SPI ระหว่าง LCD และ Arduino

การเปิดตัว LCD

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

การทำงาน tft.readIDอ่าน ID จากจอแสดงผลและวางลงในตัวแปร ID แล้วฟังก์ชัน tft.เริ่มต้นได้รับ ID และจอ LCD พร้อมใช้งาน

ความละเอียดหน้าจอ

tft.width(); //int16_t width(โมฆะ); tft.height(); //int16_t ความสูง (เป็นโมฆะ);

จากฟังก์ชันทั้งสองนี้ คุณสามารถค้นหาความละเอียดในการแสดงผลได้ เพียงเพิ่มลงในโค้ดของคุณและใส่เอาต์พุตลงในตัวแปร uint16_t. จากนั้นอ่านจากพอร์ตอนุกรม อนุกรม.println();. เพิ่มก่อน อนุกรมเริ่มต้น(9600);วี ติดตั้ง().

สีของหน้าจอ

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

การทำงาน เติมหน้าจอเปลี่ยนสีหน้าจอเป็นสี ที. นี่ควรเป็นตัวแปร 16 บิตที่มีรหัสสี UTFT.

#กำหนด BLACK 0x0000 #กำหนด NAVY 0x000F #กำหนด DARKGREEN 0x03E0 #กำหนด DARKCYAN 0x03EF #กำหนด MAROON 0x7800 #กำหนดสีม่วง 0x780F #กำหนด OLIVE 0x7BE0 #กำหนด LIGHTGREY 0xC618 #กำหนด DARKGREY 0x7BEF #กำหนดสีน้ำเงิน 0 x001F #กำหนด สีเขียว 0x07E0 #กำหนด CYAN 0x07FF #กำหนด RED 0xF800 #กำหนด MAGENTA 0xF81F #กำหนดสีเหลือง 0xFFE0 #กำหนดสีขาว 0xFFFF #กำหนดสีส้ม 0xFD20 #กำหนด GREENYELLOW 0xAFE5 #กำหนดสีชมพู 0xF81F

คุณสามารถเพิ่มบรรทัดเหล่านี้ที่จุดเริ่มต้นของโค้ดของคุณ และใช้ชื่อสีในฟังก์ชันต่างๆ

เติมพิกเซล

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)

การทำงาน วาดพิกเซลเติมพิกเซลที่ x และ y ตามสี t

การทำงาน อ่านพิกเซลอ่านสีของพิกเซลที่ตำแหน่ง x และ y

การวาดเส้น

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)

การทำงาน DrawFastVLineวาดเส้นแนวตั้งที่เริ่มต้นที่ตำแหน่ง x, y ความยาวคือ h พิกเซล และสีของมันคือ t

การทำงาน DrawFastHLineลากเส้นแนวนอนโดยเริ่มต้นที่ตำแหน่ง x และ y ความยาวคือ w พิกเซล และสีคือ t

การทำงาน วาดเส้นลากเส้นที่เริ่มต้นด้วย xi, yi และลงท้ายด้วย xj, yj, color - t

สำหรับ (uint16_t a=0;<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);}

โค้ดทั้งสามบล็อกนี้วาดเส้นคล้ายกับโค้ดก่อนหน้าที่มีความหนา 5 พิกเซล

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)

การทำงาน เติมRectวาดรูปสี่เหลี่ยมที่เติมสีในพิกัด x และ y, w คือความกว้าง, h คือความสูง, t คือสีของสี่เหลี่ยม

การทำงาน วาดRectวาดรูปสี่เหลี่ยมผืนผ้าที่พิกัด x และ y โดยมีความกว้าง w ความสูง h และสี t

การทำงาน กรอกรอบRectวาดรูปสี่เหลี่ยมผืนผ้าที่เต็มไปด้วยรัศมีมุม r ในพิกัด x และ y ความกว้าง w และความสูง h สี t

การทำงาน วาดรอบRectวาดรูปสี่เหลี่ยมผืนผ้าโดยมีมุมโค้งมน r ในหน่วย x และ y โดยมีความกว้าง w และความสูง h และสี t

การวาดวงกลม

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); //fillCircle(int16_t x, int16_t y, int16_t r, uint16_t t)

การทำงาน วาดวงกลมวาดวงกลมที่พิกัด x และ y โดยมีรัศมี r และสี t

การทำงาน เติมวงกลมวาดวงกลมที่เต็มไปด้วยพิกัด x และ y, รัศมี r และสี t

สำหรับ (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]); }

รหัสนี้ดึงส่วนโค้ง คุณสามารถเปลี่ยนค่าใน "for" ได้ระหว่าง 0 ถึง 4000

วาดรูปสามเหลี่ยม

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,y3,t); //fillTriangle(int16_t x1, int16_t y1, int16_t x2, int16_t y2, int16_t x3, int16_t y3, // uint16_t t)

การทำงาน วาดสามเหลี่ยมวาดรูปสามเหลี่ยมด้วยพิกัดเชิงมุมสามสี x, y และ z และ t

การทำงาน เติมสามเหลี่ยมวาดรูปสามเหลี่ยมที่เต็มไปด้วยพิกัดเชิงมุมสามสีคือ x, y, z และ t

การแสดงข้อความ

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

รหัสนี้กำหนดตำแหน่งเคอร์เซอร์เป็น x และ y

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

บรรทัดแรกกำหนดสีข้อความ บรรทัดถัดไปจะกำหนดสีของข้อความและพื้นหลัง

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

รหัสนี้กำหนดขนาดตัวอักษรเป็น . เบอร์นั้นเอง แตกต่างกันไปในช่วงตั้งแต่ 1 ถึง 5

Tft.write(c); // เขียน (uint8_t c)

รหัสนี้แสดงสัญลักษณ์

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

ฟังก์ชันแรกจะแสดงบรรทัดและเลื่อนเคอร์เซอร์ไปที่บรรทัดถัดไป

ฟังก์ชั่นที่สองเพียงแสดงสตริง

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) ( uint16_t x1, y1; uint16_t wid, ht; tft.setFont(f); tft.setCursor(x, y); tft.setTextColor(0x0000); tft.setTextSize(sz); tft.print(msg); )

ฟังก์ชันนี้จะเปลี่ยนแบบอักษรของข้อความ คุณควรเพิ่มคุณลักษณะนี้และไลบรารีแบบอักษร

สำหรับ (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); }

คุณสมบัตินี้สามารถทำให้ข้อความหายไปได้ คุณควรเพิ่มลงในรหัสของคุณ

การหมุนหน้าจอ

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

รหัสนี้จะหมุนหน้าจอ 0 = 0°, 1 = 90°, 2 = 180°, 3 = 270°

การกลับสีหน้าจอ

tft.invertDisplay(i); //invertDisplay(บูลีน i)

รหัสนี้จะเปลี่ยนสีของหน้าจอ

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

รหัสนี้ส่งผ่านรหัส RGB และรับรหัสสี UTFT

การเลื่อนหน้าจอ

สำหรับ (uint16_t i = 0; i< maxscroll; i++) { tft.vertScroll(0, maxscroll, i); delay(10);}

รหัสนี้จะเลื่อนหน้าจอของคุณ Maxroll - ความสูงการเลื่อนสูงสุด

รีเซ็ต

tft.รีเซ็ต();

รหัสนี้จะรีเซ็ตหน้าจอ

การแสดงภาพขาวดำ

static const uint8_t name PROGMEM = ( //เพิ่มโค้ดรูปภาพที่นี่ ) tft.drawBitmap(x, y, name, sx, sy, 0x0000);

ก่อนอื่นคุณต้องแปลงรูปภาพของคุณเป็นรหัสฐานสิบหก ดาวน์โหลดซอฟต์แวร์จากลิงค์ด้านล่าง หากคุณไม่ต้องการเปลี่ยนการตั้งค่าซอฟต์แวร์ คุณต้องกลับสีของภาพ พลิกภาพในแนวนอน (สะท้อนภาพ) แล้วหมุน 90 องศาทวนเข็มนาฬิกา

ตอนนี้เพิ่มลงในซอฟต์แวร์แล้วแปลง เปิดไฟล์ที่ส่งออกและคัดลอกรหัสฐานสิบหกลงใน Arduino IDE xและ - ตำแหน่งของภาพ sxและ ใช่- ขนาดภาพ คุณสามารถเปลี่ยนสีของภาพในภาพสุดท้ายได้ ป้อนข้อมูล.

การแสดงภาพสี RGB

const uint16_t ชื่อ PROGMEM = ( //เพิ่มโค้ดรูปภาพที่นี่ ) tft.drawRGBBitmap(x, y, name, sx, sy);

ก่อนอื่นคุณต้องแปลงรูปภาพของคุณเป็นโค้ด ใช้ลิงค์นี้เพื่อแปลงรูปภาพ:

อัปโหลดรูปภาพและดาวน์โหลดไฟล์ที่แปลงแล้วซึ่งไลบรารี UTFT สามารถใช้งานได้ ตอนนี้คัดลอกรหัสฐานสิบหกลงใน Arduino IDE x และ y คือตำแหน่งของภาพ sx และ sy - ขนาดภาพ

คุณสามารถดาวน์โหลดรูปภาพเป็นโปรแกรมแปลง hex ด้านล่าง:

องค์ประกอบที่สร้างไว้ล่วงหน้า

ในเทมเพลตนี้ เราใช้เส้นและวงกลมเติมสี 8 วงที่เปลี่ยนสีตามลำดับ หากต้องการวาดวงกลมรอบจุดคงที่ คุณสามารถใช้ sin(); และคอส(); ฟังก์ชั่น. คุณต้องตั้งค่า PI หากต้องการเปลี่ยนสีคุณสามารถใช้ฟังก์ชันนี้ได้ สี565();และแทนที่รหัส RGB ของคุณ

#รวม "Adafruit_GFX.h" #รวม "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; ถือเป็นโมฆะ 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); ) การตั้งค่าเป็นโมฆะ() ( tft.reset(); Serial.begin(9600); uint16_t ID = tft.readID(); tft. เริ่มต้น (ID); tft.setRotation (1); tft.invertDisplay (จริง); tft.fillScreen (0xffff); showmsgXY (170, 250, 2, & FreeSans9pt7b, "กำลังโหลด ... "); col = tft.color565 ( 155, 0, 50); col = tft.color565(170, 30, 80); col = tft.color565(195, 60, 110); col = tft.color565(215, 90, 140); col = tft. color565(230, 120, 170); col = tft.color565(250, 150, 200); col = tft.color565(255, 180, 220); col = tft.color565(255, 210, 240); ) เป็นโมฆะ วนซ้ำ() ( สำหรับ (int i = 8; i > 0; i--) ( tft.fillCircle(240 + 40 * (cos(-i * PI / 4)), 120 + 40 * (sin(-i * PI / 4)), 10, col); ล่าช้า (15); tft.fillCircle(240 + 40 * (cos(-(i + 1)*PI / 4)), 120 + 40 * (บาป(-(i + 1)*PI / 4)), 10, col); ล่าช้า (15); tft.fillCircle(240 + 40 * (cos(-(i + 2)*PI / 4)), 120 + 40 * (บาป (-(i + 2)*PI / 4)), 10, คอลัม); ล่าช้า(15); tft.fillCircle(240 + 40 * (cos(-(i + 3)*PI / 4)), 120 + 40 * (บาป(-(i + 3)*PI / 4)), 10, col); ล่าช้า(15); tft.fillCircle(240 + 40 * (cos(-(i + 4)*PI / 4)), 120 + 40 * (บาป(-(i + 4)*PI / 4)), 10, col); ล่าช้า(15); tft.fillCircle(240 + 40 * (cos(-(i + 5)*PI / 4)), 120 + 40 * (บาป(-(i + 5)*PI / 4)), 10, col); ล่าช้า(15); tft.fillCircle(240 + 40 * (cos(-(i + 6)*PI / 4)), 120 + 40 * (บาป(-(i + 6)*PI / 4)), 10, col); ล่าช้า(15); tft.fillCircle(240 + 40 * (cos(-(i + 7)*PI / 4)), 120 + 40 * (บาป(-(i + 7)*PI / 4)), 10, col); ล่าช้า(15); ) )

ข้อความคลาสสิก

ในเทมเพลตนี้ เราเลือกแบบอักษรคลาสสิกและใช้คุณสมบัติการทำให้ข้อความจางลง

#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" ถือเป็นโมฆะ 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.setTextSize(sz); tft.println(msg); ) uint8_t r = 255, ก. = 255, ข = 255; สี uint16_t; การตั้งค่าเป็นโมฆะ() ( 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); color = tft.color565(40, 40, 40); tft.setTextColor(color); showmsgXY(50, 40, 1, &FreeSerif12pt7b, " ฉันชอบคนที่ยิ้มได้ มีปัญหา"); ล่าช้า (40); tft.println ("ผู้รวบรวมความแข็งแกร่งจากความทุกข์"); ล่าช้า (40); tft.println (" และเติบโตอย่างกล้าหาญด้วยการไตร่ตรอง"); ล่าช้า (40); tft.println(" "ธุรกิจของคนตัวเล็กที่ต้องหดตัว"); ล่าช้า (40); tft.println (" แต่ผู้ที่มีหัวใจมั่นคง"); ล่าช้า (40); tft.println (" และผู้มีมโนธรรม อนุมัติความประพฤติของพวกเขา"); ล่าช้า (40); tft.println (" จะดำเนินตามหลักการของพวกเขาไปสู่ความตาย"); ล่าช้า (40); tft.println (" "); ล่าช้า (700); for (int j = 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); }

แนะนำ/นำเสนอโลโก้

ในเทมเพลตนี้ เราได้แปลงไฟล์แล้ว ก.jpgเพื่อยื่น .คแล้วเพิ่มลงในโค้ด เขียนบรรทัด และใช้โค้ดเฟดที่แสดง จากนั้นเราก็ใช้โค้ดเลื่อนเพื่อเลื่อนหน้าจอไปทางซ้าย อัพโหลดไฟล์ .ชมและเพิ่มลงในโฟลเดอร์สเก็ตช์ Arduino

#include "Adafruit_GFX.h" // ไลบรารีกราฟิกหลัก #include "MCUFRIEND_kbv.h" // ไลบรารีเฉพาะฮาร์ดแวร์ MCUFRIEND_kbv tft; #include "Ard_Logo.h" #define BLACK 0x0000 #define RED 0xF800 #define GREEN 0x07E0 #define WHITE 0xFFFF #define GRAY 0x8410 #include "Fonts/FreeSans9pt7b.h" #include "Fonts/FreeSans12pt7b.h" #include "Fonts/ FreeSerif12pt7b.h" #include "FreeDefaultFonts.h" เป็นโมฆะ 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.setTextSize(sz); tft.println(msg); ) uint8_t r = 255, g = 255, b = 255; สี uint16_t; การตั้งค่าเป็นโมฆะ() ( Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setRotation(1); ) void loop(void) ( tft .invertDisplay(จริง); tft.fillScreen(WHITE); tft.drawRGBBitmap (100, 50, โลโก้, 350, 200); ล่าช้า (1,000); tft.setTextSize(2); for (int j = 0; j< 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); }

พล็อตกระจาย

ในเทมเพลตนี้ เราได้ใช้ฟังก์ชันการวาดเส้น วงกลมที่เติมสี และการแสดงเส้น

#รวม "Adafruit_GFX.h" #รวม "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; uint16_t อ็อกซ์=0,oy=0; int ave=0, avec=0, avet=0; //////////////////////////////////////////////// // //////////// เป็นโมฆะ aveg(void) (int z=0; Serial.println(ave); Serial.println(avec); avet=ave/avec; Serial.println(avet ); avet=avet*32; สำหรับ (int i=0; i<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; sign=1;) อย่างอื่น sign=0; สำหรับ (int a=0;<(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); }

อุณหภูมิ

ในเทมเพลตนี้เราใช้ บาป();และ คอส();ฟังก์ชั่นการวาดส่วนโค้งด้วยความหนาและตัวเลขที่ต้องการซึ่งแสดงโดยใช้ฟังก์ชั่นพิมพ์ข้อความ จากนั้นเราแปลงรูปภาพเป็นโค้ด hex และเพิ่มลงในโค้ดและแสดงรูปภาพโดยใช้ฟังก์ชันบิตแมป จากนั้นเราใช้ฟีเจอร์การวาดเส้นเพื่อเปลี่ยนสไตล์ของรูปภาพ ดาวน์โหลดไฟล์ .h และเพิ่มลงในโฟลเดอร์สเก็ตช์ Arduino ของคุณ

#รวม "Adafruit_GFX.h" #รวม "MCUFRIEND_kbv.h" #รวม "Math.h" MCUFRIEND_kbv tft; #รวม "Temperature.h" #กำหนด PI 3.1415926535897932384626433832795 int a=1000,b=3500; int n, f; int เจ, j2 ,lj; int ฉัน, i2 ,li; จำนวนเปอร์เซ็นต์ = 0; int d = (20, 20, 20, 20, 20); uint16_t คอลัม = (0x7006, 0xF986, 0x6905, 0x7FF7, 0x024D); การตั้งค่าเป็นโมฆะ() ( tft.reset(); Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setTextSize(2); ) เป็นโมฆะ loop() ( // ใส่โค้ดหลักของคุณที่นี่เพื่อรันซ้ำ: tft.fillScreen(0xffff); tft.setRotation(1); tft.drawBitmap(350, 70, Temp, 70, 180, 0x0000); tft.fillCircle (385,213,25,tft.color565(255, 0, 0)); สำหรับ (int p = 0; p< 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>ก)(ในขณะที่(ก แผนภูมิวงกลม

ในเทมเพลตนี้ เราได้สร้างฟังก์ชันที่ใช้ตัวเลขเป็นอินพุตและแสดงเป็นแผนภูมิวงกลม เราเพียงแค่ใช้ฟังก์ชันส่วนโค้งของการวาดและวงกลมที่เต็มไป

#รวม "Adafruit_GFX.h" #รวม "MCUFRIEND_kbv.h" #รวม "Math.h" MCUFRIEND_kbv tft; #define PI 3.1415926535897932384626433832795 int n, f; อินท์เจ, เจ2; อินท์ฉัน, i2; จำนวนเปอร์เซ็นต์ = 0; int d = (10, 60, 16, 9, 10); uint16_t คอลัม = (0x7006, 0xF986, 0x6905, 0x7FF7, 0x024D); การตั้งค่าเป็นโมฆะ() ( tft.reset(); Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setTextSize(2); ) เป็นโมฆะ loop() ( // ใส่โค้ดหลักของคุณที่นี่เพื่อรันซ้ำ: 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); }

ดนตรี

#รวม "Adafruit_GFX.h" #รวม "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; #รวม "Volume.h" #define BLACK 0x0000 int a = 0,b = 4000,c = 1,000,d = 3000; ints=2000; อินท์เจ, เจ2; อินท์ฉัน, i2; อินท์ไวท์; การตั้งค่าเป็นโมฆะ() ( 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); tft.drawRGBBitmap(0, 0, test, 480, 320); White = tft.color565(255, 255, 255); while(1)( 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)); 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 * (บาป(PI * a / 2000)); i = 14 * (cos(PI * a / 2000)); j2 = 1 * (บาป(PI * a / 2000)); i2 = 1 * (cos(PI * a / 2000)); tft.drawLine(i2 + 62, j2 + 240, i + 62, j + 240, สีขาว); j = 14 * (บาป (PI * (a+300) / 2000)); i = 14 * (cos(PI * (a+300) / 2000)); j2 = 1 * (บาป(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--;) ถ้า (b > s) ( j = 14 * (บาป(PI * b / 2000)); i = 14 * (cos(PI * b / 2000)); j2 = 1 * (บาป(PI * b / 2000)); i2 = 1 * (cos(PI * b / 2000)); tft.drawLine(i2 + 180, j2 + 240, i + 180, j + 240, สีขาว); j = 14 * (บาป (PI * (b+300) / 2000)); i = 14 * (cos(PI * (b+300) / 2000)); j2 = 1 * (บาป(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.พิมพ์(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, สีขาว); j = 14 * ( บาป(PI * (c+300) / 2000)); i = 14 * (cos(PI * (c+300) / 2000)); j2 = 1 * (บาป(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 * (บาป(PI * d / 2000)); i2 = 1 * (cos(PI * d / 2000)); tft.drawLine(i2 + 414, j2 + 240, i + 414, j + 240, สีขาว); j = 14 * ( บาป(PI * (d+300) / 2000)); i = 14 * (cos(PI * (d+300) / 2000)); j2 = 1 * (บาป(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.พิมพ์(d / 40); tft.print("%"); ง--;) ) )

มาตรวัดความเร็ว

#include "Adafruit_GFX.h" // ไลบรารีกราฟิกหลัก #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 "FreeDefaultFonts.h" int a = 1,000; int ข = 4000; อินท์เจ, เจ2; อินท์ฉัน, i2; ถือเป็นโมฆะ 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 .setTextSize(sz); tft.println(msg); ) การตั้งค่าเป็นโมฆะ() ( 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); tft.drawRGBBitmap(0, 0, ทดสอบ, 480, 320); if (a< 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); อย่างอื่น tft.setCursor (217, 160); tft.print(a/20); ก++; ) ข = 1,000; ) //////////////////////////////////////////////// / /////////////// ในขณะที่ (ข< 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); อย่างอื่น tft.setCursor (217, 160); tft.print(a/20); ก--; ) ในขณะที่ (1); )

ผู้ชายที่ร่าเริง

ในเทมเพลตนี้ เราจะแสดงรูปภาพง่ายๆ ทีละภาพอย่างรวดเร็วโดยใช้ฟังก์ชันบิตแมป ดังนั้นคุณจึงสามารถสร้างแอนิเมชั่นได้ด้วยเคล็ดลับนี้ ดาวน์โหลดไฟล์ .h และเพิ่มลงในโฟลเดอร์สเก็ตช์ Arduino ของคุณ

#รวม "Adafruit_GFX.h" #รวม "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; #รวม "image.h" #รวม "แบบอักษร/FreeSans9pt7b.h" #รวม "แบบอักษร/FreeSans12pt7b.h" #รวม "แบบอักษร/FreeSerif12pt7b.h" #รวม "FreeDefaultFonts.h" #กำหนดสีดำ 0x0000 #กำหนดสีน้ำเงิน 0x001F # กำหนด RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF #define GRAY 0x8410 #define ORANGE 0xE880 void showmsgXY(int x, int y, int sz, const GFXfont *f, ถ่าน const *msg) ( int16_t x1, y1; uint16_t wid, ht; tft.setFont(f); tft.setCursor(x, y); tft.setTextColor(WHITE); tft.setTextSize(sz); tft.print(msg) ; ) การตั้งค่าเป็นโมฆะ() ( Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.setRotation(1); tft.invertDisplay(true); tft.fillScreen(tft. color565(0,20,0)); showmsgXY(20, 40, 2, &FreeSans9pt7b, "La Linea"); tft.setRotation(0); ) void loop())( ในขณะที่(1)( tft.drawBitmap(20) , 180, Line1, 258, 128, WHITE);ล่าช้า(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line2 , 258, 128, สีขาว); ความล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line3, 258, 128, สีขาว); ล่าช้า (60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line4, 258, 128, WHITE); ล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line5, 258, 128, WHITE); ล่าช้า (60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line6, 258, 128, WHITE); ล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line7, 258, 128, WHITE); ล่าช้า (60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line8, 258, 128, WHITE); ล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line9, 258, 128, WHITE); ล่าช้า (60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line10, 258, 128, WHITE); ล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line11, 258, 128, WHITE); ล่าช้า (60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line12, 258, 128, WHITE); ล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line13, 258, 128, WHITE); ล่าช้า (60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line14, 258, 128, WHITE); ล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line15, 258, 128, WHITE); ล่าช้า (60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line16, 258, 128, WHITE); ล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line17, 258, 128, WHITE); ล่าช้า (60); tft.fillRect(20, 180, 258, 128,tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line18, 258, 128, WHITE); ล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line19, 258, 128, WHITE); ล่าช้า (60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line20, 258, 128, WHITE); ล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line21, 258, 128, WHITE); ล่าช้า (60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line22, 258, 128, WHITE); ล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line23, 258, 128, WHITE); ล่าช้า (60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line24, 258, 128, WHITE); ล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line25, 258, 128, WHITE); ล่าช้า (60); tft.fillRect(20, 180, 258, 128,tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line26, 258, 128, WHITE); ล่าช้า (40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap (20, 180, Line27, 258, 128, WHITE); ล่าช้า (60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); ) )

ภาพ

ในเทมเพลตนี้ เราจะแสดงรูปภาพบางส่วนโดยใช้ฟังก์ชันต่างๆ RGBบิตแมปและ บิตแมป. เพียงสร้างโค้ดหน้าจอสัมผัสของคุณแล้วใช้เทมเพลตนี้ ดาวน์โหลดไฟล์ .h และเพิ่มลงในโฟลเดอร์สเก็ตช์ Arduino ของคุณ

#include "Adafruit_GFX.h" // ไลบรารีกราฟิกหลัก #include "MCUFRIEND_kbv.h" // ไลบรารีเฉพาะฮาร์ดแวร์ 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" #include "Fonts/FreeSans12pt7b.h" #include "Fonts/ FreeSerif12pt7b.h" #include "FreeDefaultFonts.h" int a = 3000; int ข = 4000; อินท์เจ, เจ2; อินท์ฉัน, i2; ถือเป็นโมฆะ 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(), 0xffff ); tft.setFont(f); tft.setCursor(x, y); tft.setTextColor(WHITE); tft.setTextSize(sz); tft.print(msg); ล่าช้า (1000); ) การตั้งค่าเป็นโมฆะ() ( Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setRotation(1); ) โมฆะวนซ้ำ(โมฆะ) ( tft.invertDisplay(จริง) ; tft.fillScreen(BLACK); tft.drawRGBBitmap (0, 0, ทดสอบ, 480, 320); tft.drawBitmap (20, 20, Line1, 45, 45, 0xffff); // แบตเตอรี่ tft.drawBitmap (65, 20 , Line2, 45, 45, 0xffff);//wifi tft.drawBitmap(125, 25, Line3, 45, 45, 0xffff);//mail tft.drawBitmap(185, 25, Line4, 45, 45, 0xffff); //instagram tft.drawBitmap (245, 25, Line6, 45, 45, 0xffff);//power tft.drawBitmap (20, 260, Line5, 45, 45, 0xffff);//twitter tft.drawBitmap (410, 140 , Line7, 45, 45, 0xffff);//rain tft.setTextSize(6); tft.setTextColor(0xffff); tft.setCursor(280, 210); tft.print("20:45"); tft.setTextSize(2); tft.setTextColor(0xffff); showmsgXY(330, 280, 1, &FreeSans12pt7b, "วันเสาร์"); showmsgXY(300, 305, 1, &FreeSans12pt7b, "6 ตุลาคม 2561"); ในขณะที่(1); )

บรรทัดล่าง

ดาวน์โหลดไฟล์เก็บถาวรพร้อมไฟล์ .ชมด้านล่าง:

  • ความเร็วในการเล่นไฟล์ GIF ทั้งหมดได้รับการแก้ไขเพื่อให้เร็วขึ้นหรือช้าลงเพื่อความเข้าใจที่ดีขึ้น ความเร็วของการเคลื่อนไหวขึ้นอยู่กับความเร็วของตัวประมวลผลหรือประเภทโค้ดของคุณ เช่นเดียวกับขนาดและความหนาขององค์ประกอบในโค้ด
  • คุณสามารถเพิ่มโค้ดรูปภาพในหน้าหลักได้ แต่จะเต็มทั้งหน้า ดังนั้นคุณสามารถสร้างไฟล์ อาและเพิ่มลงในโฟลเดอร์สเก็ตช์
  • ในบทความนี้ เราเพียงแต่ดูที่การแสดงองค์ประกอบต่างๆ บนจอ LCD โปรดติดตามบทช่วยสอนถัดไปเพื่อเรียนรู้วิธีการใช้งานหน้าจอสัมผัสและการ์ด SD
  • หากคุณประสบปัญหารวมถึงไลบรารี ให้เปลี่ยนเครื่องหมายคำพูด "" เป็น<>.

นั่นคือทั้งหมดที่สำหรับตอนนี้. แบ่งปันบทช่วยสอน Arduino TFT LCD นี้กับเพื่อนและเพื่อนร่วมงานของคุณ

อุปกรณ์สมัยใหม่มีหน้าจอที่มีการกำหนดค่าต่างๆ สิ่งที่สำคัญที่สุดในขณะนี้ขึ้นอยู่กับจอแสดงผล แต่สามารถใช้เทคโนโลยีที่แตกต่างกันได้โดยเฉพาะเรากำลังพูดถึง TFT และ IPS ซึ่งมีพารามิเตอร์ที่แตกต่างกันจำนวนหนึ่งแม้ว่าจะเป็นผู้สืบทอดของสิ่งประดิษฐ์เดียวกันก็ตาม

ปัจจุบันมีคำศัพท์จำนวนมากที่แสดงถึงเทคโนโลยีบางอย่างที่ซ่อนอยู่ภายใต้ตัวย่อ ตัวอย่างเช่น หลายคนอาจเคยได้ยินหรืออ่านเกี่ยวกับ IPS หรือ TFT แต่มีน้อยคนที่เข้าใจว่าความแตกต่างที่แท้จริงระหว่างสิ่งเหล่านี้คืออะไร นี่เป็นเพราะขาดข้อมูลในแค็ตตาล็อกอิเล็กทรอนิกส์ ด้วยเหตุนี้จึงควรทำความเข้าใจแนวคิดเหล่านี้และตัดสินใจว่า TFT หรือ IPS ดีกว่าหรือไม่

คำศัพท์เฉพาะทาง

ในการพิจารณาว่าอะไรจะดีขึ้นหรือแย่ลงในแต่ละกรณีคุณต้องค้นหาว่าฟังก์ชั่นและงานใดที่ IPS แต่ละอันรับผิดชอบ อันที่จริงมันเป็น TFT หรือที่แม่นยำกว่านั้นคือความหลากหลายในการผลิต ใช้เทคโนโลยีบางอย่าง - TN-TFT เทคโนโลยีเหล่านี้ควรได้รับการพิจารณาอย่างละเอียดมากขึ้น

ความแตกต่าง

TFT (TN) เป็นหนึ่งในวิธีการผลิตเมทริกซ์ กล่าวคือ หน้าจอทรานซิสเตอร์แบบฟิล์มบาง ซึ่งองค์ประกอบต่างๆ ถูกจัดเรียงเป็นเกลียวระหว่างแผ่นคู่หนึ่ง ในกรณีที่ไม่มีแหล่งจ่ายแรงดันไฟฟ้าพวกเขาจะหันไปหากันในมุมฉากในระนาบแนวนอน แรงดันไฟฟ้าสูงสุดทำให้คริสตัลหมุนเพื่อให้แสงที่ส่องผ่านทำให้เกิดพิกเซลสีดำ และพิกเซลสีขาวในกรณีที่ไม่มีแรงดันไฟฟ้า

หากเราพิจารณา IPS หรือ TFT ความแตกต่างระหว่างอันแรกและอันที่สองคือเมทริกซ์ถูกสร้างขึ้นบนพื้นฐานที่อธิบายไว้ก่อนหน้านี้อย่างไรก็ตามคริสตัลในนั้นจะไม่ได้จัดเรียงเป็นเกลียว แต่ขนานกับระนาบเดียวของ หน้าจอและต่อกัน ต่างจาก TFT ตรงที่คริสตัลในกรณีนี้จะไม่หมุนภายใต้สภาวะที่ไม่มีแรงดันไฟฟ้า

เราจะเห็นสิ่งนี้ได้อย่างไร?

หากคุณดูที่ IPS หรือมองเห็นความแตกต่างระหว่างสิ่งเหล่านี้คือคอนทราสต์ซึ่งรับประกันได้ด้วยการสร้างสีดำที่เกือบจะสมบูรณ์แบบ ภาพจะปรากฏชัดเจนขึ้นในหน้าจอแรก แต่คุณภาพของการแสดงสีเมื่อใช้เมทริกซ์ TN-TFT ไม่สามารถเรียกได้ว่าดี ในกรณีนี้ แต่ละพิกเซลจะมีเฉดสีของตัวเอง แตกต่างจากพิกเซลอื่นๆ ด้วยเหตุนี้สีจึงบิดเบี้ยวอย่างมาก อย่างไรก็ตาม เมทริกซ์ดังกล่าวก็มีข้อดีเช่นกัน นั่นคือโดดเด่นด้วยความเร็วในการตอบสนองสูงสุดในบรรดาเมทริกซ์ที่มีอยู่ในปัจจุบันทั้งหมด หน้าจอ IPS ต้องใช้เวลาพอสมควรในระหว่างที่คริสตัลคู่ขนานทั้งหมดจะหมุนจนสุด อย่างไรก็ตาม สายตามนุษย์แทบจะตรวจไม่พบความแตกต่างของเวลาตอบสนอง

คุณสมบัติที่สำคัญ

หากเราพูดถึงสิ่งที่ดีกว่าในการทำงาน: IPS หรือ TFT ก็น่าสังเกตว่าอย่างแรกนั้นใช้พลังงานมากกว่า เนื่องจากการเปลี่ยนคริสตัลต้องใช้พลังงานเป็นจำนวนมาก ด้วยเหตุนี้ หากผู้ผลิตต้องเผชิญกับงานในการทำให้อุปกรณ์ของตนประหยัดพลังงาน ก็มักจะใช้เมทริกซ์ TN-TFT

หากคุณเลือกหน้าจอ TFT หรือ IPS ควรสังเกตว่ามุมมองภาพวินาทีที่กว้างกว่าคือ 178 องศาในทั้งสองระนาบซึ่งสะดวกมากสำหรับผู้ใช้ คนอื่น ๆ ได้พิสูจน์แล้วว่าไม่สามารถให้ได้เช่นเดียวกัน และความแตกต่างที่สำคัญอีกประการหนึ่งระหว่างเทคโนโลยีทั้งสองนี้คือต้นทุนของผลิตภัณฑ์ตามเทคโนโลยีเหล่านั้น ปัจจุบันเมทริกซ์ TFT เป็นโซลูชันที่ถูกที่สุด ซึ่งใช้ในโมเดลราคาประหยัดส่วนใหญ่ และ IPS ก็อยู่ในระดับที่สูงกว่า แต่ก็ไม่ใช่ระดับบนสุดเช่นกัน

มีจอ IPS หรือ TFT ให้เลือก?

เทคโนโลยีแรกช่วยให้คุณได้ภาพคุณภาพสูงสุดและชัดเจนที่สุด แต่ต้องใช้เวลาในการหมุนคริสตัลที่ใช้มากขึ้น สิ่งนี้ส่งผลต่อเวลาตอบสนองและพารามิเตอร์อื่นๆ โดยเฉพาะอัตราการคายประจุแบตเตอรี่ ระดับการเรนเดอร์สีของเมทริกซ์ TN นั้นต่ำกว่ามาก แต่เวลาตอบสนองนั้นน้อยมาก คริสตัลที่นี่เรียงกันเป็นเกลียว

ในความเป็นจริงเราสามารถสังเกตช่องว่างที่น่าทึ่งในคุณภาพของหน้าจอที่ใช้เทคโนโลยีทั้งสองนี้ได้อย่างง่ายดาย นอกจากนี้ยังใช้กับต้นทุนด้วย เทคโนโลยี TN ยังคงอยู่ในตลาดเพียงเพราะราคา แต่ไม่สามารถให้ภาพที่สดใสและสมบูรณ์ได้

IPS เป็นความต่อเนื่องที่ประสบความสำเร็จอย่างมากในการพัฒนาจอแสดงผล TFT คอนทราสต์ในระดับสูงและมุมมองภาพที่ค่อนข้างใหญ่เป็นข้อดีเพิ่มเติมของเทคโนโลยีนี้ ตัวอย่างเช่น บนจอภาพที่ใช้ TN บางครั้งสีดำเองก็เปลี่ยนสีไป อย่างไรก็ตาม การใช้พลังงานที่สูงของอุปกรณ์ที่ใช้ IPS ทำให้ผู้ผลิตหลายรายหันไปใช้เทคโนโลยีทางเลือกหรือลดตัวเลขนี้ลง โดยส่วนใหญ่ เมทริกซ์ประเภทนี้จะพบได้ในจอภาพแบบมีสายที่ไม่ทำงานโดยใช้แบตเตอรี่ ซึ่งช่วยให้อุปกรณ์ไม่ต้องพึ่งพาพลังงานมากนัก อย่างไรก็ตามการพัฒนาในพื้นที่นี้ยังคงดำเนินอยู่อย่างต่อเนื่อง

คำย่อมักใช้เพื่อระบุลักษณะหรือข้อมูลเฉพาะ ในกรณีนี้ มีความสับสนอย่างมากเกี่ยวกับการเปรียบเทียบหน้าจอ IPS และ TFT เนื่องจากเทคโนโลยี IPS (เมทริกซ์) เป็นเมทริกซ์ TFT ประเภทหนึ่งและไม่มีอะไรเพิ่มเติม ไม่สามารถเปรียบเทียบ 2 เทคโนโลยีนี้ด้วยกันได้

แต่! มีเทคโนโลยี TN-TFT - คุณสามารถเลือกและเปรียบเทียบระหว่างมันกับ IPS ดังนั้นเมื่อเราพูดถึงหน้าจอไหนดีกว่า: IPS หรือ TFT เราหมายถึงหน้าจอ TFT ไม่ว่าในกรณีใด แต่สร้างขึ้นบนพื้นฐานของเทคโนโลยีที่แตกต่างกัน: TN และ IPS

สั้น ๆ เกี่ยวกับ TN-TFT และ IPS

TN-TFT เป็นเทคโนโลยีที่ใช้สร้างเมทริกซ์หน้าจอ LCD ในกรณีนี้ คริสตัลจะ “มอง” กันที่มุม 90 องศา เมื่อไม่มีแรงดันไฟฟ้าจ่ายไปที่เซลล์ พวกมันถูกจัดเรียงเป็นเกลียวและเมื่อมีการจ่ายแรงดันไฟฟ้าพวกมันจะหมุนในลักษณะที่ได้สีที่ต้องการ

IPS – เทคโนโลยีนี้แตกต่างตรงที่คริสตัลถูกจัดเรียงขนานกันในระนาบเดียวของหน้าจอ (ในกรณีแรกเป็นแบบเกลียว) ทั้งหมดนี้ซับซ้อน... ในทางปฏิบัติ ความแตกต่างระหว่างหน้าจอ TN และ IPS ก็คือ IPS จะแสดงสีดำได้อย่างสมบูรณ์แบบ ส่งผลให้ภาพที่คมชัดและสมบูรณ์ยิ่งขึ้น

สำหรับ TN-TFT คุณภาพการแสดงสีของเมทริกซ์นี้ไม่ได้สร้างแรงบันดาลใจให้เกิดความมั่นใจ ที่นี่ แต่ละพิกเซลสามารถมีเฉดสีของตัวเองได้ ดังนั้นสีจึงบิดเบี้ยว เมทริกซ์ IPS แสดงภาพได้ดีกว่ามากและยังจัดการสีได้ละเอียดยิ่งขึ้นอีกด้วย IPS ยังช่วยให้คุณสังเกตสิ่งที่เกิดขึ้นบนหน้าจอได้จากมุมกว้าง หากคุณมองหน้าจอ TN-TFT จากมุมเดียวกัน สีจะบิดเบี้ยวมากจนยากต่อการแยกแยะภาพ

ข้อดีของทีเอ็น

อย่างไรก็ตาม เมทริกซ์ TN-TFT ก็มีข้อดีในตัวเอง สิ่งสำคัญคือความเร็วในการตอบสนองของพิกเซลที่ต่ำกว่า IPS ต้องใช้เวลามากขึ้นในการหมุนอาร์เรย์คริสตัลคู่ขนานทั้งหมดให้เป็นมุมที่ต้องการ ดังนั้นหากเรากำลังพูดถึงการเลือกจอภาพสำหรับเกมหรือสำหรับการแสดงฉากไดนามิก เมื่อความเร็วในการวาดเป็นสิ่งสำคัญมาก วิธีที่ดีที่สุดคือเลือกหน้าจอที่ใช้เทคโนโลยี TN-TFT

ในทางกลับกัน ในระหว่างการทำงานปกติกับพีซี จะไม่สามารถสังเกตเห็นความแตกต่างของเวลาตอบสนองของพิกเซลได้ มองเห็นได้เฉพาะเมื่อรับชมฉากไดนามิก ซึ่งมักเกิดขึ้นในภาพยนตร์แอคชั่นและวิดีโอเกม

ข้อดีอีกอย่างคือการใช้พลังงานต่ำ เมทริกซ์ IPS นั้นใช้พลังงานมากเพราะว่า พวกเขาต้องการแรงดันไฟฟ้าจำนวนมากเพื่อหมุนอาเรย์คริสตัล ดังนั้นหน้าจอแบบ TFT จึงเหมาะกับอุปกรณ์พกพามากกว่าซึ่งปัญหาเรื่องการประหยัดพลังงานแบตเตอรี่เป็นปัญหาเร่งด่วน

และอีกอย่างหนึ่ง - เมทริกซ์ TN-TFT มีราคาถูก ทุกวันนี้คุณไม่สามารถหาจอภาพ (ไม่นับรุ่นที่ใช้หรือ CRT) ที่ราคาถูกกว่ารุ่นที่ใช้เทคโนโลยี TN อุปกรณ์อิเล็กทรอนิกส์ราคาประหยัดที่มีหน้าจอจะใช้เมทริกซ์ TN-TFT แน่นอน

ดังนั้นหน้าจอไหนดีกว่า:ทีเอฟหรือไอพีเอส:

  1. IPS ตอบสนองน้อยลงเนื่องจากเวลาตอบสนองนานขึ้น (ไม่ดีสำหรับเกมและฉากแอ็คชั่น)
  2. IPS รับประกันการสร้างสีและความเปรียบต่างที่เกือบจะสมบูรณ์แบบ
  3. IPS มีมุมมองภาพที่กว้างขึ้น
  4. IPS ใช้พลังงานมากและกินไฟมากขึ้น
  5. พวกเขายังมีราคาแพงกว่าในขณะที่ TN-TFT มีราคาถูก

โดยหลักการแล้ว นั่นคือความแตกต่างทั้งหมดระหว่างเมทริกซ์เหล่านี้ หากคุณคำนึงถึงข้อดีและข้อเสียทั้งหมดแน่นอนว่ามันง่ายที่จะได้ข้อสรุปที่เฉพาะเจาะจง: หน้าจอ IPS ดีกว่ามาก


กรุณาให้คะแนนบทความ:

เทคโนโลยีไม่หยุดนิ่งและการผลิตหน้าจอคริสตัลเหลวก็ไม่มีข้อยกเว้น อย่างไรก็ตามเนื่องจากการพัฒนาและการเปิดตัวเทคโนโลยีใหม่ ๆ ในการผลิตหน้าจออย่างต่อเนื่องตลอดจนเนื่องจากแนวทางการตลาดพิเศษในการโฆษณาผู้ซื้อจำนวนมากเมื่อเลือกจอภาพหรือทีวีอาจมีคำถามว่าหน้าจอ IPS หรือ TFT ไหนดีกว่ากัน

เพื่อตอบคำถามนี้ คุณต้องเข้าใจว่าเทคโนโลยี IPS คืออะไร และหน้าจอ TFT คืออะไร เพียงรู้สิ่งนี้คุณก็สามารถเข้าใจความแตกต่างระหว่างเทคโนโลยีเหล่านี้ได้ ซึ่งจะช่วยให้คุณตัดสินใจเลือกหน้าจอที่เหมาะสมที่จะตอบสนองความต้องการของคุณได้อย่างเต็มที่

1. จอแสดงผล TFT คืออะไร?

ดังที่คุณอาจเดาได้ TFT เป็นชื่อย่อของเทคโนโลยี มีลักษณะเช่นนี้โดยสมบูรณ์ - ทรานซิสเตอร์ฟิล์มบางซึ่งแปลเป็นภาษารัสเซียหมายถึงทรานซิสเตอร์แบบฟิล์มบาง โดยพื้นฐานแล้ว จอแสดงผล TFT คือหน้าจอผลึกเหลวประเภทหนึ่งที่ใช้เมทริกซ์แบบแอกทีฟ กล่าวอีกนัยหนึ่งนี่คือหน้าจอ LCD แบบแอคทีฟเมทริกซ์ปกติ นั่นคือโมเลกุลของผลึกเหลวถูกควบคุมโดยใช้ทรานซิสเตอร์แบบฟิล์มบางพิเศษ

2. เทคโนโลยี IPS คืออะไร

IPS ย่อมาจาก In-Plane Switching นี่คือจอแสดงผล LCD แบบแอคทีฟแมทริกซ์ประเภทหนึ่ง ซึ่งหมายความว่าคำถามที่ว่า TFT หรือ IPS ดีกว่านั้นผิดพลาดเนื่องจากโดยพื้นฐานแล้วเป็นสิ่งเดียวกัน แม่นยำยิ่งขึ้น IPS เป็นเมทริกซ์การแสดงผลประเภท FTF

เทคโนโลยี IPS ได้รับชื่อเนื่องจากการจัดเรียงอิเล็กโทรดที่เป็นเอกลักษณ์ซึ่งอยู่บนระนาบเดียวกันกับโมเลกุลคริสตัลเหลว ในทางกลับกัน ผลึกเหลวจะอยู่ขนานกับระนาบตะแกรง โซลูชันนี้ทำให้สามารถเพิ่มมุมมองในการรับชมได้อย่างมาก รวมถึงเพิ่มความสว่างและคอนทราสต์ของภาพด้วย

ปัจจุบันมีจอแสดงผล Active Matrix TFT สามประเภทที่พบบ่อยที่สุด:

  • เทนเนสซี+ฟิล์ม;
  • พีวีเอ/เอ็มวีเอ

ดังนั้นจึงเห็นได้ชัดว่าความแตกต่างระหว่าง TFT และ IPS มีเพียง TFT ที่เป็นหน้าจอ LCD ชนิดหนึ่งที่มีแอคทีฟเมทริกซ์ และ IPS นั้นเป็นแอคทีฟเมทริกซ์เดียวกันในจอแสดงผล TFT หรือเป็นเมทริกซ์ประเภทหนึ่ง เป็นที่น่าสังเกตว่าเมทริกซ์นี้เป็นเรื่องธรรมดาที่สุดในหมู่ผู้ใช้ทั่วโลก

3. อะไรคือความแตกต่างระหว่างจอแสดงผล TFT และ IPS: วิดีโอ

ความเข้าใจผิดที่พบบ่อยว่ามีความแตกต่างระหว่าง TFT และ IPS เกิดขึ้นเนื่องจากลูกเล่นทางการตลาดของผู้จัดการฝ่ายขาย ในความพยายามที่จะดึงดูดลูกค้าใหม่ นักการตลาดจะไม่เผยแพร่ข้อมูลที่ครบถ้วนเกี่ยวกับเทคโนโลยี ซึ่งช่วยให้พวกเขาสร้างภาพลวงตาว่าการพัฒนาใหม่ทั้งหมดกำลังเข้าสู่โลก แน่นอนว่า IPS เป็นการพัฒนาที่ใหม่กว่า TN แต่คุณไม่สามารถเลือกได้ว่าจอแสดงผล TFT หรือ IPS ใดดีกว่าด้วยเหตุผลที่ระบุไว้ข้างต้น

เมื่อเลือกจอภาพ ผู้ใช้หลายคนต้องเผชิญกับคำถาม: PLS หรือ IPS ไหนดีกว่ากัน

เทคโนโลยีทั้งสองนี้มีมานานแล้วและทั้งสองก็แสดงให้เห็นได้ค่อนข้างดี

หากคุณดูบทความต่าง ๆ บนอินเทอร์เน็ตพวกเขาอาจเขียนว่าทุกคนต้องตัดสินใจด้วยตัวเองว่าอะไรดีกว่าหรือไม่ให้คำตอบสำหรับคำถามที่ตั้งไว้เลย

จริงๆ แล้วบทความเหล่านี้ไม่สมเหตุสมผลเลย ท้ายที่สุดแล้วพวกเขาไม่ได้ช่วยเหลือผู้ใช้แต่อย่างใด

ดังนั้นเราจะวิเคราะห์ว่าในกรณีใดควรเลือก PLS หรือ IPS และให้คำแนะนำที่จะช่วยให้คุณตัดสินใจได้ถูกต้อง เริ่มจากทฤษฎีกันก่อน

ไอพีเอสคืออะไร

เป็นเรื่องที่ควรบอกทันทีว่าในขณะนี้ผู้นำในตลาดเทคโนโลยีกำลังพิจารณาสองตัวเลือกนี้

และไม่ใช่ผู้เชี่ยวชาญทุกคนจะสามารถบอกได้ว่าเทคโนโลยีใดดีกว่าและมีข้อดีอะไรบ้าง

ดังนั้น คำว่า IPS เองจึงย่อมาจาก In-Plane-Switching (แปลว่า "การสลับในไซต์")

ตัวย่อนี้ยังย่อมาจาก Super Fine TFT (“super Thin TFT”) TFT ย่อมาจาก Thin Film Transistor

พูดง่ายๆ ก็คือ TFT เป็นเทคโนโลยีสำหรับการแสดงภาพบนคอมพิวเตอร์ซึ่งใช้เมทริกซ์แบบแอกทีฟ

ยากพอ

ไม่มีอะไร. มาคิดกันตอนนี้!

ดังนั้นในเทคโนโลยี TFT โมเลกุลของผลึกเหลวจึงถูกควบคุมโดยใช้ทรานซิสเตอร์แบบฟิล์มบาง ซึ่งหมายถึง "แอกทีฟเมทริกซ์"

IPS นั้นเหมือนกันทุกประการ มีเพียงอิเล็กโทรดในจอภาพที่มีเทคโนโลยีนี้เท่านั้นที่อยู่ในระนาบเดียวกันกับโมเลกุลคริสตัลเหลวซึ่งขนานกับระนาบ

ทั้งหมดนี้สามารถเห็นได้ชัดเจนในรูปที่ 1 ที่จริงแล้วมีการแสดงจอแสดงผลที่มีทั้งสองเทคโนโลยี

ขั้นแรกจะมีตัวกรองแนวตั้งจากนั้นอิเล็กโทรดโปร่งใสหลังจากนั้นโมเลกุลคริสตัลเหลว (แท่งสีน้ำเงินที่เราสนใจมากที่สุด) จากนั้นตัวกรองแนวนอนตัวกรองสีและตัวหน้าจอเอง

ข้าว. ลำดับที่ 1. หน้าจอ TFT และ IPS

ข้อแตกต่างเพียงอย่างเดียวระหว่างเทคโนโลยีเหล่านี้ก็คือ โมเลกุล LC ใน TFT ไม่ได้วางขนานกัน แต่ใน IPS จะขนานกัน

ด้วยเหตุนี้พวกเขาจึงสามารถเปลี่ยนมุมมองได้อย่างรวดเร็ว (โดยเฉพาะที่นี่คือ 178 องศา) และให้ภาพที่ดีขึ้น (ใน IPS)

และด้วยโซลูชันนี้ ความสว่างและคอนทราสต์ของภาพบนหน้าจอจึงเพิ่มขึ้นอย่างมาก

ตอนนี้ชัดเจนแล้ว?

ถ้าไม่เขียนคำถามของคุณในความคิดเห็น เราจะตอบพวกเขาอย่างแน่นอน

เทคโนโลยี IPS ถูกสร้างขึ้นในปี 1996 ในบรรดาข้อดีของมันเป็นสิ่งที่น่าสังเกตว่าไม่มีสิ่งที่เรียกว่า "ความตื่นเต้น" นั่นคือปฏิกิริยาที่ไม่ถูกต้องในการสัมผัส

นอกจากนี้ยังมีการแสดงสีที่ยอดเยี่ยม มีบริษัทจำนวนมากที่ผลิตจอภาพโดยใช้เทคโนโลยีนี้ รวมถึง NEC, Dell, Chimei และแม้แต่

PLS คืออะไร

เป็นเวลานานมากที่ผู้ผลิตไม่ได้พูดอะไรเกี่ยวกับผลิตผลของมันเลย และผู้เชี่ยวชาญหลายคนหยิบยกข้อสันนิษฐานต่าง ๆ เกี่ยวกับลักษณะของ PLS

ที่จริงแล้วแม้ตอนนี้เทคโนโลยีนี้จะถูกปกคลุมไปด้วยความลับมากมาย แต่เราก็ยังจะพบความจริง!

PLS เปิดตัวในปี 2010 เป็นทางเลือกแทน IPS ที่กล่าวมาข้างต้น

ตัวย่อนี้ย่อมาจาก Plane To Line Switching (นั่นคือ "การสลับระหว่างบรรทัด")

ให้เราจำไว้ว่า IPS คือ In-Plane-Switching ซึ่งก็คือ "การสลับระหว่างบรรทัด" นี่หมายถึงการเปลี่ยนเครื่องบิน

และเหนือสิ่งอื่นใด เราได้กล่าวไปแล้วว่าในเทคโนโลยีนี้ โมเลกุลของผลึกเหลวจะแบนอย่างรวดเร็ว ด้วยเหตุนี้ จึงทำให้ได้รับมุมมองที่ดีขึ้นและคุณลักษณะอื่นๆ

ดังนั้นใน PLS ทุกอย่างจะเกิดขึ้นเหมือนกันทุกประการ แต่เร็วกว่า รูปที่ 2 แสดงทั้งหมดนี้อย่างชัดเจน

ข้าว. ลำดับที่ 2. PLS และ IPS ทำงาน

ในรูปนี้ ที่ด้านบนสุดจะมีหน้าจอ จากนั้นก็เป็นคริสตัล นั่นคือโมเลกุลคริสตัลเหลวแบบเดียวกับที่ระบุด้วยแท่งสีน้ำเงินในรูปที่ 1

อิเล็กโทรดแสดงอยู่ด้านล่าง ในทั้งสองกรณี ตำแหน่งจะแสดงทางด้านซ้ายในสถานะปิด (เมื่อคริสตัลไม่เคลื่อนที่) และทางด้านขวา - เมื่อคริสตัลเปิดอยู่

หลักการทำงานเหมือนกัน - เมื่อคริสตัลเริ่มทำงานพวกมันจะเริ่มเคลื่อนที่ในขณะที่ในตอนแรกพวกมันจะขนานกัน

แต่ดังที่เราเห็นในรูปที่ 2 ผลึกเหล่านี้จะได้รูปร่างที่ต้องการอย่างรวดเร็วซึ่งเป็นรูปร่างที่จำเป็นสำหรับสูงสุด

ในช่วงระยะเวลาหนึ่ง โมเลกุลในจอภาพ IPS จะไม่ตั้งฉาก แต่ใน PLS พวกมันตั้งฉากกัน

นั่นคือในเทคโนโลยีทั้งสองทุกอย่างเหมือนกัน แต่ใน PLS ทุกอย่างเกิดขึ้นเร็วขึ้น

ดังนั้นข้อสรุประดับกลาง - PLS ทำงานเร็วกว่า และตามทฤษฎีแล้ว เทคโนโลยีเฉพาะนี้อาจถือว่าดีที่สุดในการเปรียบเทียบของเรา

แต่ยังเร็วเกินไปที่จะสรุปขั้นสุดท้าย

สิ่งที่น่าสนใจ: Samsung ยื่นฟ้อง LG เมื่อหลายปีก่อน โดยอ้างว่าเทคโนโลยี AH-IPS ที่ LG ใช้เป็นการดัดแปลงเทคโนโลยี PLS จากนี้เราสามารถสรุปได้ว่า PLS เป็น IPS ประเภทหนึ่งและผู้พัฒนาเองก็ยอมรับสิ่งนี้ อันที่จริงสิ่งนี้ได้รับการยืนยันแล้วและเราสูงกว่าเล็กน้อย

PLS หรือ IPS อันไหนดีกว่ากัน? วิธีเลือกหน้าจอที่ดี - คำแนะนำ

ถ้าฉันไม่เข้าใจอะไรเลยล่ะ?

ในกรณีนี้ วิดีโอท้ายบทความนี้จะช่วยคุณได้ แสดงภาพตัดขวางของจอภาพ TFT และ IPS อย่างชัดเจน

คุณจะสามารถดูวิธีการทำงานทั้งหมดและเข้าใจว่าใน PLS ทุกอย่างเกิดขึ้นเหมือนกันทุกประการ แต่เร็วกว่าใน IPS

ตอนนี้เราสามารถไปสู่การเปรียบเทียบเทคโนโลยีเพิ่มเติมได้

ความคิดเห็นของผู้เชี่ยวชาญ

ในบางไซต์คุณสามารถค้นหาข้อมูลเกี่ยวกับการศึกษาอิสระของ PLS และ IPS

ผู้เชี่ยวชาญเปรียบเทียบเทคโนโลยีเหล่านี้ภายใต้กล้องจุลทรรศน์ มีเขียนไว้ว่าสุดท้ายแล้วพวกเขาก็ไม่พบความแตกต่างใดๆ

ผู้เชี่ยวชาญคนอื่นๆ เขียนว่าการซื้อ PLS ยังดีกว่า แต่ไม่ได้อธิบายว่าทำไมจริงๆ

ในบรรดาคำกล่าวของผู้เชี่ยวชาญทั้งหมด มีประเด็นหลักหลายประการที่สามารถสังเกตได้จากความคิดเห็นเกือบทั้งหมด

จุดเหล่านี้มีดังนี้:

  • จอภาพที่มีเมทริกซ์ PLS มีราคาแพงที่สุดในตลาด ตัวเลือกที่ถูกที่สุดคือ TN แต่จอภาพดังกล่าวด้อยกว่าทั้ง IPS และ PLS ทุกประการ ดังนั้น ผู้เชี่ยวชาญส่วนใหญ่เห็นพ้องกันว่านี่เป็นสิ่งที่สมเหตุสมผล เนื่องจากรูปภาพจะแสดงได้ดีกว่าบน PLS
  • จอภาพที่มีเมทริกซ์ PLS เหมาะที่สุดสำหรับงานออกแบบและวิศวกรรมทุกประเภท เทคนิคนี้ยังเหมาะกับงานของช่างภาพมืออาชีพอีกด้วย จากนี้เราสามารถสรุปได้ว่า PLS ทำงานได้ดีกว่าในการแสดงสีและให้ความคมชัดของภาพที่เพียงพอ
  • ตามที่ผู้เชี่ยวชาญระบุ จอภาพ PLS แทบไม่มีปัญหาต่างๆ เช่น แสงจ้าและการสั่นไหว พวกเขาได้ข้อสรุปนี้ระหว่างการทดสอบ
  • จักษุแพทย์กล่าวว่า PLS จะถูกรับรู้ด้วยตาได้ดีขึ้นมาก นอกจากนี้ ดวงตาของคุณจะพบว่าการมอง PLS ตลอดทั้งวันง่ายกว่า IPS มาก

โดยทั่วไปจากทั้งหมดนี้เราได้ข้อสรุปแบบเดียวกับที่เราทำไว้ก่อนหน้านี้อีกครั้ง PLS ดีกว่า IPS เล็กน้อย และความคิดเห็นนี้ได้รับการยืนยันจากผู้เชี่ยวชาญส่วนใหญ่

PLS หรือ IPS อันไหนดีกว่ากัน? วิธีเลือกหน้าจอที่ดี - คำแนะนำ

PLS หรือ IPS อันไหนดีกว่ากัน? วิธีเลือกหน้าจอที่ดี - คำแนะนำ

การเปรียบเทียบของเรา

ตอนนี้เรามาดูการเปรียบเทียบขั้นสุดท้ายกัน ซึ่งจะตอบคำถามที่ถูกตั้งไว้ตอนเริ่มต้น

ผู้เชี่ยวชาญคนเดียวกันระบุคุณลักษณะหลายประการที่ต้องนำมาเปรียบเทียบกัน

เรากำลังพูดถึงตัวบ่งชี้ต่างๆ เช่น ความไวแสง ความเร็วตอบสนอง (หมายถึงการเปลี่ยนจากสีเทาเป็นสีเทา) คุณภาพ (ความหนาแน่นของพิกเซลโดยไม่สูญเสียคุณลักษณะอื่นๆ) และความอิ่มตัวของสี

เราจะใช้สิ่งเหล่านี้เพื่อประเมินเทคโนโลยีทั้งสอง

ตารางที่ 1. การเปรียบเทียบ IPS และ PLS ตามคุณลักษณะบางประการ

ลักษณะอื่นๆ รวมถึงความร่ำรวยและคุณภาพ เป็นเรื่องส่วนตัวและแตกต่างกันไปในแต่ละคน

แต่จากตัวชี้วัดข้างต้น เห็นได้ชัดว่า PLS มีลักษณะที่สูงกว่าเล็กน้อย

ดังนั้นเราจึงยืนยันข้อสรุปอีกครั้งว่าเทคโนโลยีนี้ทำงานได้ดีกว่า IPS

ข้าว. ลำดับที่ 3. การเปรียบเทียบครั้งแรกของจอภาพที่มีเมทริกซ์ IPS และ PLS

มีเกณฑ์ "ยอดนิยม" เกณฑ์เดียวที่ช่วยให้คุณระบุได้อย่างแม่นยำว่าเกณฑ์ใดดีกว่า - PLS หรือ IPS

เกณฑ์นี้เรียกว่า "ด้วยตา" ในทางปฏิบัติหมายความว่าคุณเพียงแค่ต้องมองจอภาพสองจอที่อยู่ติดกันและมองเห็นว่าภาพไหนดีกว่ากัน

ดังนั้นเราจะนำเสนอภาพที่คล้ายกันหลายภาพและทุกคนจะสามารถเห็นได้ด้วยตนเองว่าภาพจะดูดีขึ้นในที่ใด

ข้าว. ลำดับที่ 4. การเปรียบเทียบจอภาพครั้งที่สองด้วยเมทริกซ์ IPS และ PLS

ข้าว. ลำดับที่ 5. การเปรียบเทียบจอภาพครั้งที่สามด้วยเมทริกซ์ IPS และ PLS

ข้าว. ลำดับที่ 6. การเปรียบเทียบจอภาพครั้งที่สี่ที่มีเมทริกซ์ IPS และ PLS

ข้าว. ลำดับที่ 7 การเปรียบเทียบจอภาพครั้งที่ห้าที่มีเมทริกซ์ IPS (ซ้าย) และ PLS (ขวา)

เห็นได้ชัดว่าในภาพตัวอย่าง PLS ทั้งหมดนั้นดูดีขึ้นมาก อิ่มตัวมากขึ้น สว่างขึ้น และอื่นๆ

เราได้กล่าวไปแล้วข้างต้นว่า TN เป็นเทคโนโลยีที่มีราคาถูกที่สุดในปัจจุบัน และการตรวจสอบที่ใช้งานจึงมีราคาถูกกว่าเทคโนโลยีอื่นๆ เช่นกัน

หลังจากนั้นในราคาก็มา IPS แล้วก็ PLS แต่อย่างที่เราเห็นทั้งหมดนี้ไม่น่าแปลกใจเลยเพราะภาพดูดีขึ้นมาก

ลักษณะอื่นๆ ในกรณีนี้ก็สูงกว่าเช่นกัน ผู้เชี่ยวชาญหลายคนแนะนำให้ซื้อเมทริกซ์ PLS และความละเอียด Full HD

แล้วภาพจะดูดีจริงๆ!

เป็นไปไม่ได้ที่จะพูดได้อย่างแน่นอนว่าชุดค่าผสมนี้ดีที่สุดในตลาดปัจจุบันหรือไม่ แต่เป็นหนึ่งในชุดที่ดีที่สุดอย่างแน่นอน

โดยวิธีการเปรียบเทียบคุณสามารถดูว่า IPS และ TN มีลักษณะอย่างไรจากมุมมองที่เฉียบแหลม

ข้าว. ลำดับที่ 8. การเปรียบเทียบจอภาพที่มีเมทริกซ์ IPS (ซ้าย) และ TN (ขวา)

เป็นเรื่องที่ควรค่าแก่การกล่าวว่า Samsung ได้สร้างเทคโนโลยีสองอย่างพร้อมกันซึ่งใช้ในจอภาพและใน / และสามารถทำได้ดีกว่า IPS อย่างมาก

เรากำลังพูดถึงหน้าจอ Super AMOLED ที่พบในอุปกรณ์มือถือของบริษัทนี้

ที่น่าสนใจคือความละเอียด Super AMOLED มักจะต่ำกว่า IPS แต่ภาพจะมีความอิ่มตัวและสว่างมากกว่า

แต่ในกรณีของ PLS ข้างต้น ทำได้เกือบทุกอย่างรวมทั้งความละเอียดด้วย

สรุปโดยทั่วไปได้ว่า PLS ดีกว่า IPS

เหนือสิ่งอื่นใด PLS มีข้อดีดังต่อไปนี้:

  • ความสามารถในการถ่ายทอดเฉดสีที่หลากหลายมาก (นอกเหนือจากสีหลัก)
  • ความสามารถในการรองรับช่วง sRGB ทั้งหมด
  • ลดการใช้พลังงาน
  • มุมมองช่วยให้หลายคนเห็นภาพได้อย่างสะดวกสบายในคราวเดียว
  • การบิดเบือนทุกประเภทได้รับการยกเว้นอย่างแน่นอน

โดยทั่วไป จอภาพ IPS เหมาะสำหรับการแก้ปัญหางานบ้านทั่วไป เช่น การชมภาพยนตร์และการทำงานในโปรแกรมสำนักงาน

แต่ถ้าคุณต้องการเห็นภาพที่สมบูรณ์และมีคุณภาพสูงจริงๆ ให้ซื้ออุปกรณ์กับ PLS

โดยเฉพาะอย่างยิ่งเมื่อคุณต้องการทำงานกับโปรแกรมการออกแบบ/การออกแบบ

แน่นอนว่าราคาจะสูงกว่านี้ แต่ก็คุ้มค่า!

PLS หรือ IPS อันไหนดีกว่ากัน? วิธีเลือกหน้าจอที่ดี - คำแนะนำ

Amoled, Super Amoled, Lcd, Tft, Tft ips คืออะไร คุณไม่รู้หรอ? ดู!

กำลังโหลด...กำลังโหลด...