Graphic LCD Shield – Chipset 7783
การใช้งาน Graphic LCD Shield สำหรับ Arduino (UNO)
เพื่อการติดต่อและแสดงผลออกมาบน Graphic LCD Shield เราจำเป็นต้องรู้ก่อนว่า chipset หรือ IC ที่ใช้ในการขับจอนั้นคือ chipset รุ่นไหน เพื่อที่เราจะได้หา driver ที่ทำงานได้ตรงกับรุ่นของ IC นั้นๆได้ โดยปรกติก็จะมีให้ download ได้จากผู้ผลิตเจ้าต่างๆอยู่แล้ว
จากการค้นหาใน Internet พบว่า Graphic LCD driver ที่พบบ่อยๆมักจะอ้างอิงมาจาก Adafruit TFTLCD ซะเป็นส่วนใหญ่
อย่างไรก็ตามมันก็ support แค่ไม่กี่ chipset ซึ่ง chipset 7783 ก็เป็นหนึ่งในตัวที่ไม่รองรับเสียด้วย
จนเจอ website หนึ่งที่สรุป chipset และ driver ที่สามารถรองรับการทำงานได้ ตามตารางข้างล่างนี้ (Arduino Shield – 2.4″ TFT LCD)
Chip ID: | LCD driver: | Bibliotheek |
---|---|---|
0x7575 | HX8347G | ADAfruit “TFTLCD” Samuraijap “TFTLCD-Library” Joao Lopes SPFD5408 |
0x8357 | HX8357D | ADAfruit “TFTLCD” Samuraijap “TFTLCD-Library” Joao Lopes SPFD5408 |
0x9325 | ILI9325 | ADAfruit “TFTLCD” Samuraijap “TFTLCD-Library” Joao Lopes SPFD5408 |
0x9328 | ILI9328 | ADAfruit “TFTLCD” Samuraijap “TFTLCD-Library” Joao Lopes SPFD5408 |
0x9341 | ILI9341 | ADAfruit “TFTLCD” Samuraijap “TFTLCD-Library” Joao Lopes SPFD5408 |
0x4535 | LGDP4535 | Onbekend |
0x0154 | S6D0154 | Samuraijap “TFTLCD-Library” |
0x9327 | ILI9327 | Samuraijap “TFTLCD-Library” |
0x7781 | ST7781 | Smoke and Wires “SWTFT-Library” |
0x7783 | ST7783 | Smoke and Wires “SWTFT-Library” TFTLCD-ST7783 bibliotheek |
จากตาราง พบว่า chipset 7783 นั้นมี driver ที่รองรับ 2 ตัวด้วยกัน
บทความนี้ได้ทดลองเฉพาะ Smoke and Wires “SWTFT-Library” เท่านั้น
โดยผู้ผลิตได้ระบุว่า ได้นำเอา Adafruit “TFTLCD” มาทำการแก้ไขเพิ่มเติมให้สามารถรองรับได้ ซึ่ง driver ตัวนี้มันจะทำงานอยู่บน library อีกตัวจาก Adafruit ด้วย ซึ่งก็คือ Adafruit_GFX
เผื่อที่จะใช้งาน เราจะต้อง download
ทำการ Import Library ทั้งคู่เข้า Arduino IDE
ทดลองโหลดไฟล์ graphictest เพื่อทดสอบ ซึ่งไฟล์นี้จะเรียกใช้งานไฟล์ SWTFT.CPP
อย่างไรก็ตาม พบว่าไฟล์ SWTFT.CPP ยังมีข้อผิดพลาดอยู่นิดหน่อย คือ ยังขาด function swap
เราสามารถเพิ่มเข้าไปเองได้ โดยต้องทำการเพิ่มเข้าไปที่ส่วนบนๆของไฟล์ (ไฟล์ภาษา C++ หรือ .cpp ต้องทำการประกาศ function ก่อนใช้) ตามรูปข้างล่าง
จากนั้นลอง compile ใหม่ แล้ว upload ก็พบว่าใช้งานได้ ไม่มีปัญหา






