วันอาทิตย์ที่ 7 ตุลาคม พ.ศ. 2555
แนวทางการสร้างเมนูอย่างง่ายกับบอร์ด PopXT
สวัสดีครับ หายไปนานจากบทความที่แล้ว เนื่องจากติดภารกิจสอบปลายภาคและตัดเกรดนักเรียน ก็เสร็จสิ้นแล้ว วันนี้เลยนำเอาตัวอย่างการสร้างเมนูอย่างง่าย ๆ สำหรับบอร์ด PopXT มานำเสนอเพื่อเป็นแนวทางในการพัฒนาโปรแกรมต่อยอดต่อไปนะครับ ซึ่งตัวอย่างนี้จะใช้วิธีการกดปุ่ม sw_ok เพียงปุ่มเดียว ในการเลื่อนเมนูและเลือกกดเมนูที่ต้องการ เทคนิคที่ใช้คือ ตรวจสอบการกดปุ่ม โดยการจับเวลาการกดปุ่มถ้ากดนานเกิน 1200 มิลลิวินาทีให้ถือว่าเป็นการกดเพื่อเลือกเมนูนั้น ๆ แต่ถ้ากดปล่อยเวลาน้อยกว่า 1200 มิลลิวินาทีถือว่าเป็นการกดเพื่อเลื่อนเมนู
โดยจะสร้างเงื่อนมาสองเงื่อนไขหลักในการตรวจสอบการกดปุ่ม sw_ok นะครับ คือ
1.ถ้ากดค้าง (pp=1) ก็ตรวจสอบอีกว่าตอนนี้อยู่เมนูที่เท่าไร
โดยใช้เงื่อนไขใน switch(kk) เพื่อให้ทำงานตามฟังก์ชันต่าง ๆ ที่อยู่ใน case
2.ถ้ากดปล่อยธรรมดา (pp=0) ให้เพิ่มค่าให้ตัวแปร kk คือ เมนูที่เท่าไร แล้วทำการวนซ้ำขีดเส้นสี
เพื่อแสดงการถูกเลือกหรือแสดงว่าเมนูอยู่ที่ลำดับเท่าไร
ส่วนของตัวแปรนะครับ สามารถคัดลอก(พิมพ์เอาเองนะครับ จะได้รู้ว่ามันเป็นมาอย่างไร อย่าขี่เกียจมันไม่ได้ช่วยให้เราพัฒนาขึ้นนะครับ)
char title[]="ข้อความส่วนหัวของหน้าจอ"
char m_menu[][20]={ "1.Sound ",
"2.Servo",
"3.Motor",
"4.Port analog",
"5.Calculator",
"6.Exit" };
ตัวแปร m_menu[][20] เป็นตัวแปรแบบ 2 มิติ ตัวเลข [20] คือความกว้างของข้อความนะครับ เท่ากับ 20 ตัวอักขระ สามารถกำหนดมากกว่าหรือน้อยกว่านี้แล้วแต่ขนาดความยาวของข้อความนั้น ๆและรายการที่อยู่ในตัวแปรอาเรย์นี้ก็สามารถเพิ่มเติมได้เลยนะครับ ในบรรทัดที่ 22 จะเป็นการคำนวณหาจำนวนอาเรย์หรือจำนวนเมนูทั้งหมดที่อยู่ในตัวแปรนี้ และเก็บไว้ในตัวแปร count_menu เป็นจำนวนของเมนูทั้งหมด
ส่วนการนำตัวอย่างไปทดสอบ แก้ไขตัวแปร title , m_menu และในเงื่อนไข switch(kk) เพิ่มลบ case ใส่ฟังก์ชันที่ต้องการลงไปก็เสร็จพร้อมใช้งานครับ
เขียนไปเขียนมาเริ่มหาที่จบลงไม่ได้ เอาเป็นว่าดูโค๊ดตัวอย่าง และทำการทดสอบ มีปัญหาตรงไหนโพสผ่านคอมเมนท์มาคุยกันดีกว่า จะได้ทราบปัญหาและวิธีการแก้ปัญหา เรียนรู้ไปด้วยกัน (ไม่รู้จะอธิบายให้ละเอียดยังไงเหมือนกัน)
ตัวอย่างการใช้งาน(อันนี้เป็น UI แบบเก่าครับ อันใหม่ยังไม่ได้ถ่าย)
ตัวอย่างการใช้งาน(อันนี้เป็น UI แบบใหม่ แต่เป็นการใช้ Knob เป็นตัวเลื่อนเมนู) โค๊ดตัวอย่าง
หน้าจะก็อปได้นะครับ ไม่อยากพิมยาวอะครับ
ตอบลบการเรียนรู้ ต้องอาศัยการฝึกฝน ความอดทนและทุ่มเท โค๊ดผมเป็นเพียงโค๊ดเล็ก ๆ สั้น ๆ เป็นเพียงพื้นฐานเท่านั้น ต่อมันคือบรรไดขั้นแรกที่จะก้าวขั้นสู่ระดับ advance ต่อไป แต่ถ้าคุณคิดว่าการขี้เกียจ เอาแต่ copy และก็ past มันก็สำเร็จเหมือนกันอันนี้ผมไม่เถียง แต่ถามกลับไปว่าคุณได้อะไร
ตอบลบอยากขอให้ บอกแนวทางการเขียนโค๊ดหุ่นยนต์เดินตามเส้นหน่อยครับ
ตอบลบThis treadmill is often a excellent financial commitment
ตอบลบwhen you have very a little home.
Also visit my web blog - bowflex adjustable dumbbells
It is demanding to select the most beneficial property gymnasium and tools for your job.
ตอบลบHere is my web blog; bowflex dumbbells 552
It also has a calorie counter, a memory recall,
ตอบลบand to top all of it, it is water-resistant, that is great specially that 1 perspires quite a bit all
through exercise routines.
Feel free to surf to my web blog :: http://www.getfitnstrong.com/adjustable-dumbbells/adjustable-dumbbells/