สารบัญ:

TFT - แผงสัมผัส: 3 ขั้นตอน
TFT - แผงสัมผัส: 3 ขั้นตอน

วีดีโอ: TFT - แผงสัมผัส: 3 ขั้นตอน

วีดีโอ: TFT - แผงสัมผัส: 3 ขั้นตอน
วีดีโอ: สอน เขียนโปรแกรม ภาษาซี Wokwi Arduino | Uno R3 LCD TFT ILI9341 SPI แสดงผลข้อความ #ep1 2024, พฤศจิกายน
Anonim
TFT - แผงสัมผัส
TFT - แผงสัมผัส
TFT - แผงสัมผัส
TFT - แผงสัมผัส

วิธีง่ายๆ ในการเรียนรู้บางครั้งด้วยจอแสดงผล TFT

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

ก่อนอื่นเราต้องตรวจสอบว่ามีการสัมผัสหรือไม่ ดังนั้นเราจึงต่อสายไฟทั้งสองของหนึ่งชั้น/เมมเบรนเช่น X ถึงกราวด์ (LOW จากพิน ardiuno ที่ตั้งค่าเป็นเอาต์พุต) และหนึ่งสายจากเลเยอร์ Y ถึงตัวต้านทานแบบดึงขึ้น (ตั้งค่าพิน Arduino ที่สอดคล้องกันเป็น INPUT_PULLUP) การอ่านเส้นที่สองของชั้น Y เราจะได้ HIGH หากไม่มีการสัมผัส (เนื่องจากการดึงขึ้น) และ LOW หากมีการสัมผัส (เนื่องจากการสัมผัสกับชั้น X ที่ต่อสายดิน)

จากนั้นเราต้องอ่านตำแหน่งของการสัมผัส ดังนั้นเราจึงตั้งค่าหนึ่งในสาย X เป็น HIGH (อันใดอันหนึ่งขึ้นอยู่กับด้านของหน้าจอสัมผัสที่เราต้องการอ่านค่าต่ำสุด/สูงสุด ดูตัวแปร A/B ในโค้ด) และเราอ่านค่าแอนะล็อกบน Y ค่าควร อยู่ในช่วง 0-1023 แต่หน้าจอสัมผัสที่ฉันทดสอบจะคืนค่า 110-910 (ดังนั้นจึงจำเป็นต้องปรับเทียบ - เรียกใช้ ILI9341_7.ino) จากนั้นเราใช้ LOW-HIGH บนเลเยอร์ Y และอ่านค่าแอนะล็อกบน X

หน้าจอสัมผัสที่ฉันทดสอบบางครั้งตรวจจับการสัมผัสผิด นอกจุดสัมผัส เพื่อป้องกันสิ่งนี้ ฉันได้เพิ่มการหน่วงเวลาและอ่านค่าอะนาล็อก X และ Y ซ้ำๆ และการสัมผัสจะได้รับการอนุมัติก็ต่อเมื่อค่าไม่ต่างกัน (มาก)

ขั้นตอนที่ 1: รายการวัสดุ (ฮาร์ดแวร์)

รายการวัสดุ (ฮาร์ดแวร์)
รายการวัสดุ (ฮาร์ดแวร์)
รายการวัสดุ (ฮาร์ดแวร์)
รายการวัสดุ (ฮาร์ดแวร์)
รายการวัสดุ (ฮาร์ดแวร์)
รายการวัสดุ (ฮาร์ดแวร์)
รายการวัสดุ (ฮาร์ดแวร์)
รายการวัสดุ (ฮาร์ดแวร์)
  1. Arduino Uno - R3
  2. แผงแสดงผล TFT สำหรับ Arduino (ILI - 9341) (ไม่มี SPI)
  3. แบตเตอรี่ 5 โวลต์
  4. สาย USB

ขั้นตอนที่ 2: ร่าง - การใช้ Arduino 1.8.10 IDE (รวมห้องสมุด Adafruit)

ร่าง - การใช้ Arduino 1.8.10 IDE (รวมห้องสมุด Adafruit)
ร่าง - การใช้ Arduino 1.8.10 IDE (รวมห้องสมุด Adafruit)

การเขียนโปรแกรม "ชิป" ด้วยสเก็ตช์นี้เป็นเพียงการเริ่มต้นสู่ผู้ท้าชิงในอนาคต !!(… การดูภาพจากการ์ด SD, แผงเพื่อระบุลายนิ้วมือ, "เกมอาร์เคด" มากมาย …) มีความเป็นไปได้มากมาย !!!

ชุดนี้ (ILI 9341 - ไม่มี SPI) อำนวยความสะดวกมากมายเนื่องจากไม่จำเป็นต้องใช้ (สายไฟ & และตัวต้านทานแบบดึงลงเพื่อลดแรงดันไฟฟ้า 3, 3 v ที่จำเป็นสำหรับจอแสดงผลประเภทนี้ acc Datasheets) มีตัวควบคุมรวมอยู่ใน และ (Plug & Play config.- สำหรับ Uno R3) แต่คุณสามารถใช้ " Arduinos" อื่น ๆ อีกมากมาย (พร้อมการเพิ่มพิน … ได้อย่างง่ายดาย) การอ้างอิงจะรวมอยู่ใน " Sketch"

ดาวน์โหลด Libraries & ตัวอย่างที่นี่:

home.et.utwente.nl/slootenvanf/div/arduino…

Tks Twente Universiry.nl.

มีตัวอย่างอื่นๆ ใน Libraries ให้ดาวน์โหลด (โอเพ่นซอร์ส)…เครื่องคิดเลข, โปรแกรมดูการ์ด SD, เครื่องสอบเทียบจุดหน้าจอสัมผัสและแผงสัมผัส TFt

1 - มี " Fine Tune " (ตัวเลือกเสริม) อีกอันรวมอยู่ด้วย เพื่อความแม่นยำของแรงกดที่ดีกว่า เราจำเป็นต้องรู้ความต้านทาน // ระหว่าง X+ และ X- (แกน) ในการนี้ คุณจะต้องใช้มัลติมิเตอร์ในการอ่าน !

สำหรับฉันฉันกำลังใช้ 350 โอห์มทั่วแผ่น (X+)& (X -) (คุณจะเห็นใน Sketch) และอาจแตกต่างกันไป (ซอฟต์แวร์) จะทำงานต่อไป !!

2 - หาก " จุดปากกาสัมผัสหน้าจอ " ทำให้ "เงา" (ห่างจากจุดที่สัมผัส) … คุณต้องตั้งค่า (พิกัด) ที่บรรทัด: (ตัวอย่าง)

#define TS_MINX 145

#define TS_MINY 110

#define TS_MAXX 880

#define TS_MAXY 915

… ใจเย็น (ไม่บ่น) บางครั้งคุณจะต้องเปลี่ยนสิ่งนี้ (ตัวเลข) หลาย ๆ …หลายครั้งเพื่อปิดที่ " สมบูรณ์แบบ"

…มีเครื่องมือให้คุณทำ!!!

โชคดี & …สนุกเป็นหลัก !!!

ปลอดภัย !!! ถ้าเป็นไปได้ อยู่บ้าน !!!

แนะนำ: