c/c++ robot simulator เรียนรู้การเขียนโปรแกรมควบคุมหุ่นยนต์ด้วยภาษา c/c++ สำหรับเด็กนักเรียนระดับประถมศึกษา , มัธยมต้น-ปลาย  
introduction
Readme
      #โปรแกรม c/c++ robot simulator จัดทำขึ้นเพื่อมุ่งหวังให้นักเรียนของผมเองได้เรียนรู้ การเขียนโปรแกรมภาษาซีเพื่อควบคุมหุ่นยนต์ ซึ่งสามารถพัฒนาทักษะด้านการเขียนโปรแกรมภาษาซีได้เป็นอย่างดี (เท่าที่ได้ทดลองใช้)
      #นักเรียนได้มีส่วนช่วยในการออกแบบ,แนวคิดการทำงาน,ช่วยในการทดสอบโปรแกรม
      #RoboMind + Scratch + Logo = c/c++ robot simulator
      #การออกแบบเน้นโครงสร้างภาษาซีแบบ Arduino ซึ่งนิยมใช้กับไมโครคอนโทรลเลอร์ที่ใช้กับหุ่นยนต์
      #Library&Function ต่าง ๆ อ้างอิงจากหุ่นยนต์ของบริษัท iNex (ไม่ได้มีส่วนได้ส่วนเสียกับเขานะครับ เพียงแต่มีหุ่นของเขาเลยต้องออกแบบให้เหมือนกัน เพื่อง่ายต่อการเขียนกับหุ่นยนต์จริงๆ ) ซึ่ง Source Code ที่เขียนจากโปรแกรมนี้ สามารถนำไปประยุกต์ใช้กับหุ่นยนต์ของ iNex (pop-bot,pop-xt) ได้
      #โปรแกรมนี้เป็นเวอร์ชันแรก อาจจะมีข้อผิดพลาดหรือบกพร่องบางประการ ต้องขออภัยด้วยครับ ถ้าพอเจอข้อผิดพลาดสามารถแนะนำ เพิ่มเติม รายงานข้อผิดพลาดที่เกิดขึ้นดังกล่าวจากการทำงานของโปรแกรมจะขอขอบคุณเป็นอย่างสูง และจะนำเอาข้อบกพร่อง ข้อผิดพลาดต่าง ๆ ไปปรับปรุงแก้ไขพัฒนาให้สมบูรณ์ยิ่งขึ้นไปครับ
      #ส่วนบทเรียนจะทยอยอัพข้อมูลเพิ่มเติม ต่อไปครับ
      #สำหรับบทเรียนและตัวอย่าง การใช้งาน ยังไม่ได้จัดหมวด สามารถหาข้อมูลเพิ่มเติมจาก เมนูรายการบทความด้านซ้ายมือนะครับ
      #เหตุผลที่ออกเวอร์ชั่น DEMO เพราะต้องการทราบผลการทำงานของโปรแกรมในสภาพแวดล้อมอื่น ๆ (ทรัพยากรใน รร.มีจำกัด) และเก็บรวบรวมข้อมูลจากปัญหา Error ต่าง ๆ , ความต้องการของผู้ใช้งาน ฯลฯ เมื่อได้ข้อมูลจนเป็นที่หน้าพอใจแล้ว จึงจะปล่อยฉบับเต็ม Full version ต่อไปครับ
      #สำหรับข้อคอมเมนท์หรือการสอบถามต่าง ๆ อาจจะตอบช้าบ้างนะครับ เพราะอาชีพครูของผม สอนทั้งวัน ดูแลนักเรียนแต่เช้ายันเย็น งานนอกเหนือจากการสอน,คำสั่งนั่นนี่ อีกมากมาย อาจจะใช้เวลานานซักหน่อยต้องขออภัยด้วยนะครับ
 
/* ขอขอบคุณทุกท่านที่ให้ความสนใจ */
ครูมนตรี อกอุ่น
ครูโรงเรียนมัธยมทับทิมสยาม04
สพม.สุรินทร์ เขต 33







บันทึกเพิ่มเติม
-เป็นโปรแกรมที่จำลองการเขียนโปรแกรมควบคุมหุ่นยนต์
-เป็นโปรแกรมช่วยฝึกการเขียนโปรแกรมแบบง่าย - ยาก
-เหมาะสำหรับเด็กที่เริ่มต้นฝึกเขียนโปรแกรม ในระดับชั้นประถมศึกษา,มัธยมศึกษาตอนต้น-ปลาย
-โปรแกรมมีลักษณะคล้ายเกมที่ให้ผู้เรียนได้ลองเขียนคำสั่งควบคุมหุ่นยนต์ โดยใช้ภาษาซีในการสั่งงาน
-สามารถสร้างสถานการณ์ต่างๆได้โดยการสร้างแผนที่และวางสิ่งกีดขวาง ต่างๆให้ผู้เรียนได้แก้ปัญหาต่างๆ โดยใช้ภาษาคอมพิวเตอร์ (ภาษาซี) ในการแก้ปัญหา
-สามารถเขียนโค๊ดภาษาซีมาตรฐาน GCC และมาตรฐาน Arduino ได้
-เรียนรู้ภาษาซีได้อย่างสนุกและเข้าใจง่าย
-ไม่จำเป็นต้องมีหุ่นยนต์จริง ๆ ก็สามารถเรียนรู้เรื่องหุ่นยนต์ได้
-
news
16กค56-> ยกเลิกระบบการใช้ KEY เพื่อเผยแพร่ให้สามารถใช้งานโดยทั่วไปได้อย่างไม่จำกัด โดยได้รับการสนับสนุนจาก INEX บริษัท อินโนเวตีฟ เอ็กเพอริเมนต์ จำกัด ขอขอบคุณ คุณชัยวัฒน์ ลิ้มพรจิตรวิไล มา ณ ที่นี้ด้วย ที่ทำให้ซอฟต์แวร์ไทยได้เปิดตัวเข้าสู่วงการหุ่นยนต์ไทย และเปิดกว้างสู่โลกแห่งการเรียนรู้อย่างแท้จริง ขอขอบคุณครับ
11กค56-> งดการแจกKEYเพียงเท่านี้...
11กค56-> ฟังก์ชันการทำงานบางประเภท ที่เป็นการอำนวยความสะดวกและที่เป็นอัตโนมัติ ในโปรแกรมตัวเต็ม จะขอยังไม่เปิดเผย เนื่องจากสนามและกติกา สพฐ.ครั้งที่ 63 นี้ไม่ได้แตกต่างจากปีที่แล้วมากนัก จึงไม่ขอเปิดเผยเพราะจะไม่ทำให้เกิดการพัฒนาตัวเอง ในกระบวนการแก้ปัญหาต่าง ๆ และเพื่อให้เกิดการเรียนรู้ด้วยตนเอง การทดลอง การลองผิดลองถูก จะได้มีความคิดที่หลากหลาย เทคนิค อัลกอริทึล แต่ละคนจะไม่เหมือนกันอยู่แล้ว เหมือนบางคนกินข้าวมือซ้ายบางคนมือขวา กินข้าวก่อนกินน้ำหรือกินน้ำก่อนกินข้าว สุดท้ายแล้วก็อิ่มเหมือนกัน การเรียนการสอนหุ่นยนต์สำหรับนักเรียนอย่าพยายามบอกวิธีการเด็ก พยายามให้เด็กได้แก้ด้วยตนเองก่อน บางเทคนิควิธีเด็กทำได้ดีกว่าครูซะอีก ฝากไว้คิดนะครับ
11กค56-> เพิ่มเติมคำสั่ง keep_up(); สำหรับเก็บกระป๋อง keep_down(); สำหรับวางกระป๋อง ในเวอร์ขั่น 1.0.130708 ได้เพิ่มไว้แล้วแต่ลืมเขียนในคู่มือ Library & Function
10กค56-> เปิดให้ดาวน์โหลดภารกิจสนามการแข่งขันหุ่ยนต์อัตโนมัติ งานศิลปหัตถกรรม ครั้งที่ 63 ซึ่งจริง ๆ แล้วเป็นสนามเก่าเมื่อปีที่แล้วปรับเปลี่ยนนิดหน่อย เพิ่งออกประกาศกติกาอย่างเป็นทางการเมื่อวันที 9 กค 56 จึงได้จัดทำสนามเพื่อฝึกซ้อมให้แก้ปัญหาจากการจำลองก่อนลงมือจริง จะได้ฝึกออกแบบเส้นทางการเดินของหุ่นยนต์และกระบวนการอื่น ๆ
08กค56-> หายไปนานเลย จนลืม 55 ติดภาระกิจเรื่องโรงเรียนและเรื่องเรียนต่อ ป.โท ช่วงนี้เริ่มจะซาเรื่องงานลงหน่อย ได้ออกตัวเต็มเวอร์ชั่น 1.0.130708 สามารถใช้งานได้อย่างเต็มที่ทุกออฟชั่นเลย และช่วงนี้กำลังปรับปรุงให้มีความสามารถมากขึ้นกว่าเดิม สำหรับท่านใดที่มีความสนใจเวอร์ชั่นเต็มติดต่อผ่าน E-mail : c2robot4sim@gmail.com ได้เลย
28มค56-> ช่วงนี้ขอหยุดการอัพเดตข้อมูลจนกว่าการแข่งขันงานศิลปหัตถกรรมฯ ระดับชาติ ผ่านพ้นไปก่อน เพราะต้องเตรียมความพร้อมให้นักเรียนก่อนไปแข่งซะหน่อย
27มค56-> เพิ่มฟังก์ชัน analog(8); สำหรับอ่านสีของวัตถุด้านหน้าหุ่นยนต์หรือเมื่อถูกชน

วันอาทิตย์ที่ 20 มกราคม พ.ศ. 2556

การสร้าง map / สนาม / ภารกิจด้วยตัวเอง


การสร้าง map / สนาม / ภารกิจด้วยตัวเอง
                 ในบทนี้จะกล่าวถึงวิธีการสร้าง map / สนาม / ภารกิจด้วยตัวเอง จากโปรแกรมวาดรูปทั่วไป ตัวอย่างนี้จะยกตัวอย่างการสร้างสนามจากโปรแกรม Microsoft Paint มาเริ่มกันเลยนะครับ
1. เปิดโปรแกรม Microsoft Paint ขึ้นมาจากนั้นกำหนดความกว้างความสูงตามต้องการ โดยเลือกเมนู Paint -> Properties ดังรูปด้านล่างนี้

ในตัวอย่างนี้จะขอกำหนดความกว้าง 800 pixels ความสูง 500 pixels

เลือกดินสอ Pencil -> Brushes แบบที่ 1 -> Size เลือกขนาดความหนาที่ต้องการ -> เลือกสีดำ (สำหรับสร้างเส้นสีดำ)

ลงมือวาดสนามตามแต่จินตนาการ

ต่อไปเป็นขั้นตอนการบันทึก เลือกคำสั่ง Save as -> PNG picture

ตั้งชื่อสนามที่ต้องการแล้วคลิกที่ปุ่ม Save

กลับมาที่โปรแกรม c/c++ robot simulator เลือกคำสั่ง Load map as...

เลือก map ที่สร้างแล้วคลิกปุ่ม Open

จากได้ดังรูปด้านล่าง แล้วทำการหยับ จับ วาง หุ่นยนต์ วัตถุ ได้ตามต้องการ

ต่อไปทำการบันทึกการจัดวางตำแหน่งของหุ่นยนต์ จากเมนู Save Position in map ...

การตั้งชื่อให้ตั้งชื่อเดียวกันกับชื่อของสนามนั้น ๆ และเติม .pos ลงไปด้วย เช่น map01.pos คลิกปุ่ม Save
การนำไปกับเครื่องอื่น ๆ ให้ทำการ copy ทั้งโฟล์เดอร์ไป ซึ่งในนั้นจะประกอบด้วย ไฟล์รูปภาพ .png และไฟล์เก็บตำแหน่งของวัตถุในสนาม .pos

5 ความคิดเห็น:

  1. ผมมี หุ่นpopxt ครับ ผมลองเขียนผนวก libery #include ใส่ลงไปในโปรเเกรม Robot Simulator
    เเล้ว มัน compile ไม่ผ่านครับผม เเล้ว full vision จะมี bobxt ไหมครับ ช่วยตอบที ครับขอบคุณครับ

    ตอบลบ
  2. ไม่ต้องเขียนผนวก library #include ในโปรแกรม c robot simฯ ครับ แต่หุ่นยนต์จริง ๆ ต้อง #include เสมอ
    ดูรายละเอียดคำสั่งในเมนู library & function -> http://krumonrobot.blogspot.com/2013/01/library-function.html

    คำสั่งที่ใช้ได้โปรแกรม c robot simฯ มีเท่าที่เขียนไว้ใน library & function ครับ

    ตอบลบ
  3. พอจะยกตัวอย่างคำัสั่งที่เรียกใช้ไม่ได้ จาก popxt ให้ดูหน่อยได้ไหมครับ
    เผื่อจะมีวิธีแก้ปัญหา และก็อย่าลืมว่านี่คือตัวจำลองนะครับ ไม่ใช่ฮาร์ดแวร์จริง ฉะนั้นบางคำสั่งไม่สามารถใช้งานได้ และจุดประสงค์หลัก ๆ ของโปรแกรมคือเน้นการเขียนซี ไม่ลงลึกถึงฮาร์ดแวร์อื่น ๆ ครับ

    ตอบลบ
  4. เมพขิงๆครับ ขอบคุณมากๆครับ

    ตอบลบ
  5. ไม่ระบุชื่อ19 กุมภาพันธ์ 2556 22:35

    สวัสดีครับ ผมอาจารย์ชาญชัย จากมหาลัยศรีปทุม เห็นแล้วเยี่ยมมากครับ ผมจะไปขอความรู้และความร่วมมือภายหลัง เพราะช่วงนี้ผมงานยุ่งมากครับ

    ผศ.ชาญชัย
    ศูนย์นวัตกรรมสมองกลฝังตัวศรีปทุม

    ตอบลบ

...