ผู้เขียน หัวข้อ: เรียนรู้ครั้งที่ 9 [การเพิ่มคอนโทรลคอมโพแนนต์ LCD]  (อ่าน 4385 ครั้ง)

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
โปรแกรมที่ใช้ควบคุมฮาร์ดแวร์หากแสดงผลที่สวยงามจะสร้างความสนใจแก่ผู้ใช้งานมากขึ้นเช่นเดียวกับ "เรียนรู้ครั้งที่ 8" ต่างกันตรงที่ในครั้งที่ 8 เป็นการแสดงด้วย LED ที่เป็น 7 Segment ซึ่งจะแสดงได้เฉพาะตัวเลขเพียงอย่างเดียว สำหรับครั้งนี้เป็นการแสดงด้วยคอนโทรลที่เป็น LCD ซึ่งสามารถแสดงเป็นข้อความได้ เนื่องจากโปรแกรม Visual Studio (C#) ไม่มีส่วนที่แสดงผลแบบ LCD มาให้ได้จึงจำเป็นต้องติดตั้งไดร์เวอร์เพิ่มเติม
ผลที่ได้จะมีลักษณะ


มีขั้นตอนดังนี้
1. สร้างโปรเจคงาน


2. ดาวน์โหลดไดร์เวอร์แสดงผล LCD ที่เวปไซต์
https://www.doogal.co.uk/LcdLabel.php


3. ทำการแตกไฟล์ที่ดาวน์โหลดในขั้นตอนที่ผ่านมา ทำการคัดลอกไฟล์ .DLL


4. นำไฟล์ที่คัดลอกวางในโฟลเดอร์โปรเจคในโฟลเดอร์ \bin\Debug


5. เพิ่มแทปใน Toolbox ดังรูป (ตั้งชื่อแทปตามต้องการ)


6. เลือกคอนโทรลคอมโพแนนต์ลงในแทปที่สร้างขึ้น ขั้นตอนดังรูป


7. คลิก Browse... เลือกไฟล์ที่วางในโฟลเดอร์โปรเจคจากขั้นตอนข้อที่ 4


8. จะได้คอนโทรล LCD ทำการวางลงใน Form และกำหนดคุณสมบัติ


9. กำหนดคุณสมบัติให้แสดงผลตามต้องการ หลัก ๆ มีดังนี้
   BackGround                     // สีพื้นหลัง
   NumberOfCharacters =16 //จำนวนตัวอักษรต่อ 1 บรรทัด (จะเปลี่ยนเมื่อมีการปรับขนาดที่ตัวคอนโทรล)
   PixelOff                           // สีของพิกเซลที่ดับ
   PixelOn                           // สีของพิกเซลที่ติด
   PixelShape = Square        // รูปร่างของพิกเซล
   PixelSize = Pix5x5            // ขนาดของพิกเซล
   TextLines=4                     //จำนวนบรรทัด (จะเปลี่ยนเมื่อมีการปรับขนาดที่ตัวคอนโทรล)


ทดสอบการใช้งาน
ให้แสดงเวลาวันเดือนปีและข้อความ โดยให้อัพเดตเวลาทุก ๆ 1 วินาที

10. วางคอนโทรล Timer ลงใน Form และกำหนดค่าใน Properties ดังนี้
   -Enabled-->True   เพื่อให้ไทเมอร์ทำงานทันทีเมื่อรันโปรแกรม
   -Interval--->1000 กำหนดช่วงเวลาการกระตุ้นเป็น 1000 มิลลิวินาที (1 วินาที)


11. ดับเบิลคลิกที่ตัว Timer แล้วเขียนโค้ด
*ข้อความจะตัดขึ้นบรรทัดใหม่เมื่อเต็มบรรทัด

โค้ดโปรแกรม(เฉพาะส่วนในไทเมอร์)
โค๊ด: [Select]
{
string time = DateTime.Now.ToString("HH:mm:ss");
string date = DateTime.Now.ToString("dd-MMM-yyyy",
  new System.Globalization.CultureInfo("en-US"));
string line1 = "    " + time + "    ";
string line2 = "  " + date + "   ";
string line3 = "By KruPraphas   ";
string line4 = "www.praphas.com";
lcdLabel1.Text = line1 + line2 + line3 + line4;
}

12. รันโปรแกรมเพื่อทดสอบการแสดงผล

« แก้ไขครั้งสุดท้าย: กันยายน 20, 2018, 08:04:16 PM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
Re: เรียนรู้ครั้งที่ 9 [การเพิ่มคอนโทรลคอมโพแนนต์ LCD]
« ตอบกลับ #1 เมื่อ: กันยายน 20, 2018, 07:57:47 PM »
...

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
Re: เรียนรู้ครั้งที่ 9 [การเพิ่มคอนโทรลคอมโพแนนต์ LCD]
« ตอบกลับ #2 เมื่อ: กันยายน 20, 2018, 07:57:59 PM »
...