Archive
ฝึกการเขียนโปรแกรม ด้วย Robo MIND ภาค #2
ครับต่อไปก็ไม่ต้องพล่ามกันแล้วครับ เราจะลองมา เขียนโปแกรมกับเจ้า RoboMind กันดูนะครับ หากใครยังไม่ทราบว่า บทความนี้เป็นอย่างไรมาอย่างไร ก็ขอให้ กลับไปดู ฝึกการเขียนโปรแกรม ด้วย Robo MIND ซึ่งเป็นตอนแรกของบทความนี้นะครับ สำหรับในส่วนนี้เราจะทำอะไรบ้าง ตามนี้นะครับ
- Load and install RoboMind
- Example progam
Load and install RoboMind
ครับเราก็จะload เจ้า RoboMind มาติดตั้งบนเครื่องของเราเสียก่อนนะครับก่อนที่เราจะสามารถเขียน code กัน ให้ไปตาม link นี้นะครับ http://www.robomind.net/en/download.html ให้เลือก
นะครับเพราะเราใช้ windows กันเป็นส่วนใหญ่ หากท่าน ใด ใช้ operating system ตัวอื่นก็เลือกเอาเลยครับ ตามที่เราใช้
หลักจาก load ลงเครื่องเราแล้ว ก็ double click บน file ที่เรา load มาได้แล้วนะครับ [ น่าจะชื่อ ว่า RobomindSetup2.x.exe อะไรประมาณนี้ ครับ แล้ว ] แล้วก็รอจนกว่ามันจะดำเนินการเสร็จ ก็จะได้โปรแกรม ลงบนเครื่องเราแล้ว ครั้งแรกมันอาจจะ run ขึ้นมาเลย หลังจาก ลงเสร็จแล้ว พร้อมกับโปรแกรม ตัวอย่างสั้น ๆ
เราลองมาพจารณาการใช้งานพร้อมกับ ดูตัวอย่างไปด้วยกันเลยนะครับ
Example progam
Example โปรแกรม ที่แสดงขึ้นมาพร้อมกับการ แสดงหน้าจอ RoboMind นั้นจะอยู่ช่องด้านซ้ายมือ ส่วนขวามือจะเป็นที่แสดง การทำงานของ เจ้า ROBO และโลกของ มันนะครับน่าจะได้ตามรูป นี้
และมี code ดังนี้ครับ
<pre># Draw a square paintWhite() repeat(4) { forward(2) right() } stopPainting()
ส่วนข้อความที่อยู่หลัง เครื่องหมาย ‘#’ เราไม่ต้องสนใจก็ได้นะครับ เพราะมันไม่ถูก นำไปหประมวลผลแต่อย่างได้ นอกจากเป็นการเขียน comment ไว้เป้นคำอธิบาย ครับ
ช่องด้านซ้ายจะเป็นที่สำหรับเราเอาไว้เขียน code ตามความต้องการของเรา ต่อไปนะครับ ตอนนี้เราลองมาดูกันว่า code ชุดนี้เราจะสั่งให้มันทำงานอย่างไร จากเครื่องมือที่โปรแกรมมีให้เราสังเกตุหน้าจอในส่วน ที่สองหรือด้านล่างนะครับเราจะเห็น ดังรูป
เป็นเครื่องมือที่ช่วยให้เรา สั่งให้ code ที่เราเขียนทำงาน ครับ เพียงแค่คลิกที่ปุ่มที่ มี icon สีเขียว หากโปรแกรมไม่มีข้อผิดพลาดอะไร เจ้า ROBO มันจะทำงานตามคำสั่ง ทีละคำสั่งจากบนลงล่างครับ ถ้าเรา พิจารณาจาก code ด้านซ้ายมือนะครับ จะเป็นการสั่งให้เจ้า ROBO มันระบายสีเป็น สี่เหลี่ยม แล้วหยุด โดยที่ เคลื่อนที่ เป็น loop 4 รอบ แต่ละรอบ จะเเคลื่อนไปข้างหน้า 2 step แล้วหัน ขวา ทำให้เกิดเป็น สี่เหลี่ยมเกิดขึ้น ลอง run ดูแล้ว พิจาณาว่าได้ตมที่ผมพูดไหว้หรือป่าว ฮิ ฮิ เดี๊ยวจะหาว่าโม้ เพราะผม run ดูแล้ว
สุดท้านมันก็จะมาหยุดตามรูป ครับ
สังเกตุจากเครื่องมือ นอกจากมันจะสั่ง run ได้แล้ว มันก็ยังสามารถที่ สั่งหยุดระหว่างการทำงานได้ หรือหยุดชั่วคราวแล้ว runต่อก็ได้ สุดหท้ายก็สามารถที่จะ เร่งหรือลด speed ของการทำงานได้ด้วย แหม เจ๋งเป๋งเลยว่ามะ
เราสามารถดูตัวอย่างอื่น ๆที่เขามีมาให้ด้วย ก็ไป คลิกที่ icon ตามรูปอยู่ด้านบนซ้ายนะครับ
แล้วจะได้หน้าต่างสำหรับการเลือก เปิดไฟล์ขึ้นมาครับ ลองเปิดและ run ดูนะครับ แล้วก็ลองดู code มันว่าพอเข้าใจใหม่นะครับ ในตอนสองนี้ผมยังคงไม่พูดถึงเรื่องการเขียน นะครับ แค่ดูว่า โปรแกรมมันทำอะไรได้บ้างอย่างไร ระหว่าง ที่เรา run โปรแกรมตัวอย่างเราก็ ลองดู function อื่น ดูนะครับว่ามีอะไรบ้างคราว ๆ
บนเมนู ด้านบนจะมีกลุ่มของ เมนูหลัก สำคัญอยู่ 2 กลุ่มคือ Edit และ View
– Edit ใช้สำหรับการจัดการกับ code ตามรูปนะครับ ความสารถก็เหมือน Text Editor ทั่วไป copy past select ค้นหาและ วางแทน อะไรพวกเนี๊ยะก็พอมีให้สามารถแก้ไข code ได้ง่ายครับ
– View ให้สำหรับจัดการกับ หาจอแสดงผลครับ ก็ zoom in , zoom out กำหนดการแสดง grid การแสดง radar หรือให้ capture screen ก็ OK นะ
มาดูเพิ่มเติมอีกนิดนะครับ ในหน้า Editor มันจะมี line number ใหัเอาให้อ่าน code ง่าย และยังสามารถแสดง error ที่เกิดขึ้นที่ บรรทัดนั้น ๆ ครับ และแสดงได้ด้วยว่ามันมี error อะไร
ก็น่าจะเป็น ภาพทั้งหมดของเจ้า โปรแกรม RoboMind นะครับ เรื่องการเขียนไว้ต่อกันคราวหน้านะครับ เพราะมันยาวเกินไปแล้ว หากต้องการอ่านล่วงหน้าหรือดูการเขียน ก็เชิญท่านไปสัมผัสกับ ตัวอย่างที่เข้าเตรียมไว้ให้เลยนะครับ ตาม linke นี้เลย
– ส่วน เรื่อง คำสั่งต่าง ๆ หากต้องการอ่านเพิ่มเตอมก็เชิญตาม link นี้เลยครับ http://www.robomind.net/en/docProgrammingStructures.htm
ก็ได้แต่หวังว่าบทความนี้จะเป็นประโยชน์ต่อ ครูอาจารย์และเด็ก ๆ ที่ต้องการ จะเรียนรู้เรื่องการเขียนโปรแกรม ไม่มากก็น้อยหล่ะครับ หากมีอะไร อยากให้เพิ่มเติมก็ ติและชมมาได้นะครับ ถือว่าเป็นการแรกเปลี่ยนความรู้ กันครับ
s_teerapong2000@yahoo.com
teerapong Sontayaman
ฝึกการเขียนโปรแกรม ด้วย Robo MIND
สำหรับผู้ที่อยู่ในแวดวงการศึกษา บรรดาครูอาจารย์ทั้งหลาย ผู้ที่ต้องสอนการเขียนโปรแกรมให้กับ เด็ก ๆ ในระดับชั้นปฐม ถึง มัธยม หากต้องการหาเครื่องมือดี ๆ สำหรับช่วยสอนและสร้าง วิธีคิดในการเขียนโปรแกรม ลองมาดูโปรแกรมช่วยฝึกหัดวิธีการคิด และพัฒนาทักษะในการเขียนโปรแกรมที่ชื่อ 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()
โอโห้ น่าสนใจเป็นอย่างยิ่ง คงจะไม่สามารถ อดใจที่จะลงมือเขียน กันแล้วใช่ใหม่หล่ะเด็ก ๆ ทั้งหลาย เอาเป็น ต่อภาคสองก็แล้วกันนะครับ เพราะมันยาวเกินไปแล้วครับ สำหรับ ภาคดแรกนี้ ไปดู คลิป กระตุ้น อีกนิดนะครับ ไปตาม link นี้เลยครับ
http://www.robomind.net/en/demo.html
ตอนต่อไป เราจะไป load โปรแกรมแล้วลองมาเขียนเล่นกันนะครับ
s_teerapong2000@yahoo.com