วันพฤหัสบดีที่ 5 กรกฎาคม พ.ศ. 2555

ฝึกการเขียนโปรแกรมควบคุมหุ่นยนต์ ด้วย Robo MIND


  Robo MIND



pictures from http://www.robomind.net

สำหรับเจ้า RoboMind นี้ เป็นโปรแกรมช่วยฝึกการเขียนโปรแกรมแบบ ง่าย ครับเหมาะสำหรับเด็กที่เริ่มฝึกเขียนโปรแกรม ในระดับชั้นปฐมถึงมัธยม นะครับ ก่อนที่เด็กเหล่านี้จะก้าว ไปเขียน programming language อย่างเช่น c หรือ pascal ต่อไป ในระดับที่สูงขึ้น

ลักษณะของโปรแกรมนั้น จะมี Robot ให้เราควบคุมการทำงานมันด้วย การพิมพ์คำสั่ง ทีละคำสั่งต่อเนื่องกันไป เพื่อให้ Robot น้อยเคลื่อนที่ ไปตามทิศทางที่ต้องการ และทำงาน ต่าง ๆ ตามชุดคำสั่งที่มีให้ ครับ นอกจากนี้ยังมี คำสั่ง ให้ทำซ้ำ และทดสอบเงื่อนไข เพื่อการเขียนมีความซับซ้อนเพิ่มขึ้นได้อีก
ผมกล่าวมาแค่นี้ ท่านที่กำลังอ่านอยู่ก็คงจะ Bingo แล้วใช่ไหมครับ มันยอดมากจริง ๆเอาละครับ ลองมาดูรายละเอียดกันหน่อย ครับว่าในบทความนี้จะมีอะไรกันบ้าง
  • เรื่องของ หน้าตา และเครื่องมือสำหรับการใช้งาน (development environments )
  • คำสั่งพื้นฐาน (Basic instructions)
  • โครงสร้างของโปรแกรม (Programming structures)
  • ตัวอย่างโปรแกรม ครับ
หน้าตา และเครื่องมือสำหรับการใช้งาน (development environments )
โปรแกรม RoboMind นั้นสิ่งสำคัญก็คือ การเขียนคำสั่งและ ประมวลผลคำสั่ง ที่จะสั่งการ เจ้าหุ่ยน้อย หรือ เจ้า ROBO หน้าตาโปรแกรมก็ง่ายๆ ครับ



หน้าจอด้านซ้าย จะเป็นหน้าต่างสำหรับการ เขียน code และหน้าจออีกด้านหนึ่งจะแสดงการทำงานของเจ้า ROBO ครับ เมื่อสั่งให้ run โดยการคลิกปุ่ม play โปรแกรมจะตรวจสอบ code ว่าถูกต้องหรือไม่ก่อน แล้วจึงทำงานให้
หน้าจอด้านซ้ายสำหรับการเขียน code นั้นเราเรียกว่า Text Editor สว่นหน้าจอด้านขวาที่ใช้แสดงการทำงานนั้นเราเรียกมันว่า Monitor
Text Editor นั้นมีฟังก็ชั้นการทำงานเพิ่มเติมเช่น
  • แสดง line number
  • แสดง ข้อความ error ที่เกิดขึ้นได้
  • สามารถทำ undo change ได้ไม่จำกัด
  • มี function ในการค้นหาและ แทนที่ได้ (สามารถใช้ regular expressions ได้ด้วย)
  • ในขณะทำงาน จะแสดงหัวลูกสอนที่บรรทัดที่กำลังทำงานอยู่ได้อีกด้วย
Monitor
  • เป็นหน้าจอสำหรับ แสดง การทำงานของเจ้า ROBO และ โลกของมัน
  • สามารถ pan และ zoom ได้ และยังสามารถทำ screen shot เก็บไว้ได้ด้วย
การ Execute โปรแกรม
ไม่ต้องทำอะไร มากครับ สามารถสั่งให้ code ที่ถูกต้องแล้ว ทำงานได้ด้วย คลิกเดียวครับ
เราแค่จัดการให้ code คำสั่ง ถูกต้อง ถูกลำดับการทำงานที่ ออกแบบไว้ หากมี error ใด โปรแกรมจะแจ้งให้ทราบและสามารถแก้ไขให้ถูกต้องก่อน ที่จำทำงานจริงทั้งหมด
คำสั่งพื้นฐาน Basic instructions
ประกอบด้วยคำสั่งดังนี้ แยกตามกลุ่มคำสั่ง
  • คำสั่งเคลื่อนที่ Move
    • forward(n) เคลื่อนที่ไปข้างหน้า n steps
    • backward(n) ถอยหลังไป n steps
    • left() หมุนซ้าย 90 องศา
    • right() หมุนขวา 90 องศา
    • north(n) หันหัวไปด้านบน ของหน้าจอ และ เคลื่อนที่ไปข้างหน้า n steps
    • south(n) หันหัวลงล่าง ของหน้าจอ และ เคลื่อนที่ไปข้างหน้า n steps
    • east(n) หันหัวไปข้างขวา ของหน้าจอและ เคลื่อนที่ไปข้างหน้า n steps
    • west(n) หันหัวไปข้างซ้าย ของหน้าจอ และเคลื่อนที่ไปข้างหน้า n steps
  • คำสั่งระบายสี Paint
    • paintWhite() ลากแปรงสีขาว ไปบนพื้น
    • paintBlack() ลากแปรงสีดำ ไปบนพื้น
    • stopPainting() หยุดลากแปลง และเก็บแปรงสี
  • คำสั่งหยิบ Grab
    • pickUp() หยิบ สิงของที่อยู่ด้านหน้า
    • putDown() วางสิ่งของที่ถือไว้ลง
  • คำสั่งโยนเหรียญ เพื่อเสี่ยงทาย Flop coin
    • coinflip() โดยเหรียญเพื่อ เลือกตัวเลือก
  • คำสั่งตรวจสอบ หรือ ตรวจการ See
    • leftIsObstacle() , frontIsobtacle(), rightIsObstracle()
    • leftIsClear(), frontIsClear(), rightIsClear()
    • leftIsBeacon(), frontIsBeacon(), rightIsBecan()
    • leftIswhite(), frontIsWhite() , rightIsWhite()
    • leftIsBlack(), frontIsBlack(), rightIsBlack()

ที่มา: http://www.kmsecondary21.in.th/?name=innovation&file=readinnovation&id=12


วีดิโอสื่อการสอน