วันอาทิตย์ที่ 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 เป็นตัวเลื่อนเมนู) โค๊ดตัวอย่าง
วันพฤหัสบดีที่ 4 ตุลาคม พ.ศ. 2555
วิทยุบังคับ 4 ch ควบคุมหุ่นยนต์ inex pop-bot168
(อัพไว้ก่อน กันลืมเดี๋ยวค่อยมาจัดระเบียบใหม่)
กว่าจะทำต้นแบบเสร็จ สามวันผ่านไป โปรเจ็คใหม่สำหรับหุ่นยนต์แบบผสมครับ ใช้ชุดวิทยุเครื่องบินบังคับ 4 ch ควบคุมหุ่นยนต์ inex pop-bot168 สาธิตโดยนักเรียนชั้น ม.1 ยังบังคับไม่เป็นเลย อิอิ ก็อย่างว่าเตรียมไว้ให้ ม.ปลาย
วิดีโอตัวอย่างการบังคับ