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); สำหรับอ่านสีของวัตถุด้านหน้าหุ่นยนต์หรือเมื่อถูกชน

วันอาทิตย์ที่ 29 กรกฎาคม พ.ศ. 2555

บทที่ 3 การตรวจสอบการกดปุ่ม sw1-sw3


      สวัสดีครับนักเรียนทุกคน  ในวิดีโอตอนนี้ ครูจะพูดถึงเรื่องการใช้คำสั่ง sw1 , sw2 ,sw3  ซึ่ง
คำสั่งนี้เป็นฟังก์ชัน ๆ หนึ่งที่ครูจัดทำไว้ใน Library ของโปรแกรมแล้วสามารถเรียกใช้งานได้
เลย  ซึ่งฟังก์ชันนี้จะคือค่าออกมาเป็นตัวเลข 2 ค่า  คือ  0 กับ 1
      0  หมายความว่าสวิตซ์นั่นถูกกด
      1  หมายความว่าสวิตซ์นั่นไม่ถูกกด
ไปดูวิดีการใช้งานเอาเองดีกว่านะ ไม่ค่อยถนัดอธิบายด้วยการพิมพ์เท่าไร (ขี้เกียจนิด ๆ)

บทที่ 2 การใช้งาน SW1 – 3 สวิตซ์กดปุ่ม


     สวัสดีครับ วิดีโอตอนนี้จะมาสอนและเรียนรู้ไปด้วยกันในตอน "รอให้กดปุ่มก่อนฉันถึงจะทำงาน"
พูดเป็นการ์ตูนไปได้นะ   ดูจากวิดีโอเลยแล้วกันครับ

บทที่ 1 คำสั่ง lcd เพื่อแสดงผลออกทางหน้าจอ lcd ของหุ่นยนต์


              บทเรียนนี้จะอธิบายการเขียนคำสั่งเพื่อแสดงผลข้อความออกทางหน้าจอแอลซีดี
ของหุ่นยนต์ 

ฟังก์ชั่น
        lcd : แสดงข้อความที่โมดูล LCD แบบ 16 ตัวอักขระ 2 บรรทัด

รูปแบบ
void lcd(string text);
      พารามิเตอร์   text ใช้กำหนดข้อความการแสดงผลที่โมดูล LCD โดยสามารถกำหนด
รูปแบบการแทรกสัญลักษณ์พิเศษเพื่อร่วมแสดงผลค่าข้อมูลตัวเลขชนิดต่างๆได้

เช่น

Lcd (“ Hello Robot ”);     จะแสดงข้อความว่า  Hello Robot  ที่หน้าจอแอลซีดี


 วิดีโอตัวอย่างการใช้งาน

คู่มือการใช้โปรแกรม C/C++ Robot Simulatior


รูปส่วนประกอบของโปรแกรม C/C++ Robot Simulatior 

                   1.ส่วนการจำลองหุ่นยนต์
                   2.เมนูต่าง ๆ
                   3.หน้าต่างสำหรับเขียนโค๊ดคำสั่งภาษาซี
                  4.หน้าต่างแสดงการคอมไพล์ Compile และ เออเร่อ Error
                  5.ส่วนของสนาม และการทำภารกิจ




1.ส่วนการจำลองหุ่นยนต์

1.1 หน้าจอ LCD แสดงผล
1.2 sw1-3 ปุ่มกดปุ่มที่ 1 , 2 , 3
1.3 reset ปุ่มกดสำหรับรีเซ็ตโปรแกรมหุ่นยนต์ หรือเริ่มการทำงานใหม่อีกครั้ง
1.4 M1-2 แสดงสถานะไฟที่สั่งไปยังมอเตอร์ที่ 1 – 2  
M1  มอเตอร์ 1  คือมอเตอร์ที่อยู่ทางซ้ายของหุ่นยนต์
M2  มอเตอร์ 2  คือมอเตอร์ที่อยู่ทางขวาของหุ่นยนต์



2. .เมนูต่าง ๆ
 
2.1  สร้างเอกสารโค๊ดใหม่  เอกสารเปล่า
2.2  เปิดซอสโค๊ดที่บันทึกไว้
2.3  บันทึกซอสโค๊ด
2.4  Cut ตัดคำในเอกสารซอสโค๊ด
2.5  Copy คัดลอกคำในเอกสารซอสโค๊ด
2.4  Past วางคำในเอกสารซอสโค๊ด
2.5  Undo  ย้อน/เลิกการกระทำ 1 ขั้น
2.6  Redo  ทำซ้ำการกระทำ 1 ขั้น
2.7  ค้นหาคำต่าง ๆ ที่ต้องการในซอสโค๊ด
2.8 Compile คอมไพล์ซอสโค๊ดคำสั่ง
2.9 Run เริ่มเล่น / เริ่มการทำงานของหุ่นยนต์
2.10 Stop หยุดการทำงานของหุ่นยนต์
2.11 เลือกแบบหุ่นยนต์ แบบต่าง ๆ ที่โปรแกรมเตรียมไว้