วันอังคารที่ 11 ธันวาคม พ.ศ. 2555

การใช้งาน LEGO Mindstorms NXT Controller

          คอนโทรลเลอร์ ( Controller ) เปรียบเสมือนสมองที่ทำหน้าที่ตัดสินใจ โดยนำข้อมูลหรือสัญญาณที่ได้จากเซนเซอร์ ซึ่งเสมือน หู ตาของหุ่นยนต์มาประมวลผลแล้งส่งสัญญาณไปยังมอเตอร์ ในหุ่นยนต์แต่ละประเภทก็จะมีคอนโทรลเลอร์ที่ใช้ในการควบคุมต่างๆ กันไปตามรุ่นที่ผู้ผลิตได้นำมาใช้ในหุ่นยนต์

ภาพแสดงคอนโทรลเลอร์ Lego Mindstorms NXT

รายละเอียดเกี่ยวกับ NXT Brick
NXT Brick เป็นสมองของ LEGO Mindstorms NXT ที่คอยควบคุมการทำงานของหุ่นยนต์

ภาพแสดงการเชื่อมต่อ NXT Brick กับเซนเซอร์

ภาพแสดงการเชื่อมต่อ NXT Brick กับมอเตอร์และหลอดไฟ


คอนโทรลเลอร์ NXT Brick มีคุณสมบัติดังนี้
1. 32-bit ARM7 microprocessor
2. 256 Kbytes FLASH, 64 Kbytes RAM
3. 8-bit microprocessor
4. 4 Kbytes FLASH, 512 Kbyte RAM
5. Bluetooth wireless communication, Bluetooth class II V.2.0 compliant
6. USB 2.0 port
7. Four input ports, six-wire digital platform
8. Three output ports, six-wire digital platform
9. Dot matrix display, 60 x 100 pixels
10. Loudspeaker, 8 KHz sound quality
11. Power source : Rechargeable lithium battery or six AA Battery
12. Plug for power adapter

ภาพแสดงรายละเอียดเครื่องมือและอุปกรณ์ใน NXT Brick

ภาพแสดงรายละเอียดเครื่องมือและอุปกรณ์ใน NXT Brick


รายการเครื่องมือใน NXT Brick



- Settings ใช้สำหรับตั้งค่าต่างๆ เกี่ยวกับหุ่นยนต์ เช่น การปรับความดังของลำโพง Loudspeaker, หรือตั้งเวลาปิด NXT เพื่อประหยัดแบตเตอรี่ และมีเมนูให้ลบโปรแกรมทั้งหมดที่เราเคยดาวน์โหลดใส่หุ่นยนต์ NXT
- Try Me โปรแกรมพื้นฐานต่างๆ ที่มีอยู่ในหุ่น NXT ไว้สำหรับให้เราทดลองเบื้องต้น
- My Files ใช้สำหรับเก็บโปรแกรมทั้งหมด
- NXT Program ใช้สำหรับเขียนโปรแกรมง่ายๆ บน NXT โดยไม่จำเป็นต้องใช้คอมพิวเตอร์
- View ใช้สำหรับตรวจสอบค่าและทดสอบเซ็นเซอร์ต่างๆ บน NXT
- Bluetooth ใช้สำหรับตั้งค่าของ Bluetooth และเชื่อมต่อกับอุปกรณ์อื่นๆ เช่นโทรศัพท์มือถือ คอมพิวเตอร์ หรือหุ่นยนต์ NXT ตัวอื่นๆ

การเชื่อมต่อกับอุปกรณ์อื่น
          NXT Brick สามารถเชื่อมต่อกับอุปกรณ์อื่นได้ โดยจะมีช่องการเชื่อมต่อหรือพอร์ต (port) ทั้งหมด 7 พอร์ต แบ่งเป็นพอร์ตสำหรับการส่งข้อมูลออก (Output Port) 3 พอร์ต มีชื่อเรียกว่า พอร์ต A, พอร์ต B และ พอร์ต C สำหรับใช้กับมอเตอร์และหลอดไฟ



และพอร์ตสำหรับการนำข้อมูลเข้า (Input Port) 4 พอร์ต มีชื่อเรียกว่า พอร์ต 1, พอร์ต 2 , พอร์ต 3 และ พอร์ต 4 สำหรับใช้กับเซนเซอร์




แบตเตอรี่
          แบตเตอรี่ที่ใช้กับ NXT Brick สามารถใช้ได้ 2 แบบ คือ แบตเตอรี่แบบชาร์ตได้ที่มาพร้อมกับหุ่นยนต์กับแบตเตอรี่ขนาด AA/LR6 ที่มีทั่วไป



วิธีการใส่แบตเตอรี่แบบชาร์ตได้ที่มากับหุ่นยนต์มีขั้นตอนดังนี้



ขั้นที่ 1 แกะฝาปิดพลาสติกออก
ขั้นที่ 2 นำเอาแบตเตอรี่แบบชาร์ตได้ที่มากับหุ่นยนต์ ใสเข้าไปแทนที่



สำหรับแบตเตอรี่ขนาด AA/LR6 ที่มีทั่วไป ต้องใช้ 6 ก้อน โดยการใส่แบตเตอรี่จะต้องดูขั้วไฟฟ้าให้ถูกต้อง จากนั้นจึงปิดฝาครอบแบตเตอรี่

การใส่แบตเตอรี่ขนาด AA/LR6 ควรใส่แบตเตอรี่ที่เป็นชนิดเดียวกัน เมื่อไม่ได้ใช้งานควรจะนำแบตเตอรี่ออก แบตเตอรี่เมื่อใช้ไปสักระยะจะมีข้อความเตือน ดังรูปแสดงว่าแบตเตอรี่จะหมด



การแสดงผลทางจอภาพ
          NXT Brick มีจอภาพแบบ Dot matrix ขนาด 60 x 100 pixels สามารถแสดงผลได้ 8 บรรทัด แต่ละบรรทัดแสดงผลได้ 16 ตัวอักษร



ฟังก์ชั่นที่ใช้ในการแสดงผลทางจอภาพ คือ

TextOut (int x,int y,string str,unsigned long=options DRAW_OPT_NORMAL )

พารามิเตอร์
x ตำแหน่งที่จะแสดงผลบนแกน X
y ตำแหน่งที่จะแสดงผลบนแกน Y
str ข้อความที่จะให้แสดงผล
options ตัวเลือกในการการวาดภาพ

นำมาเขียนโปรแกรมได้ดังนี้



หรือ



NumOut (int x,int y,variant value,unsigned long=options DRAW_OPT_NORMAL )

พารามิเตอร์
x ตำแหน่งที่จะแสดงผลบนแกน X
y ตำแหน่งที่จะแสดงผลบนแกน Y
value ตัวเลขที่จะให้แสดงผล
options ตัวเลือกในการการวาดภาพ

นำมาเขียนโปรแกรมได้ดังนี้



หรือ


ข้อเสนอแนะจากประสบการณ์
          ข้าพเจ้ามีแนวคิดในการจัดการเรียนการสอนด้านคอมพิวเตอร์ในสถานศึกษา เราสามารถแบ่งออกเป็น 3 กลุ่มด้วยกัน คือ
          กลุ่มที่ 1 คอมพิวเตอร์เพื่อชีวิตประจำวัน โดยเน้นให้ผู้เรียนมีความรู้และทักษะการใช้คอมพิวเตอร์และสามารถนำความรู้ด้านคอมพิวเตอร์ไปใช้ประโยชน์ในชีวิตประจำวันและเป็นพื้นฐานในการศึกษาขั้นสูงต่อไป เช่น ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์ การทำงานของคอมพิวเตอร์ การเปิด/ปิดเครื่องคอมพิวเตอร์ การดูแลรักษาเครื่องคอมพิวเตอร์ ส่วนทางด้านซอฟต์แวร์ เน้นให้ผู้เรียนสามารถใช้โปรแกรมในการชีวิตประจำวันได้ เช่น โปรแกรมฝึกพิมพ์ตัวอักษร โปรแกรมวาดภาพ โปรแกรมพิมพ์เอกสาร โปรแกรมนำเสนอและโปรแกรมตารางการทำงาน เป็นต้น
          กลุ่มที่ 2 คอมพิวเตอร์เพื่อสนับสนุนการประกอบอาชีพ เน้นให้ผู้เรียนมีความรู้และทักษะเกี่ยวกับโปรแกรมสำเร็จรูปที่สามารถนำไปใช้ในการประกอบอาชีพได้ เช่น การซ่อมบำรุงเครื่องคอมพิวเตอร์ โปรแกรมสำเร็จรูปต่าง ๆ ได้แก่ โปรแกรมสร้างเว็บเพจ โปรแกรมตกแต่งรูปภาพ โปรแกรมตัดต่อวิดีทัศน์และโปรแกรมออกแบบผลิตภัณฑ์ เป็นต้น
          กลุ่มที่ 3 คอมพิวเตอร์เพื่อการเป็นโปรแกรมเมอร์ เน้นให้ผู้เรียนมีความรู้ มีการคิดวิเคราะห์ การสร้างสรรค์ชิ้นงานและทักษะเกี่ยวกับการเขียนโปรแกรมเบื้องต้นจนถึงระดับสูง ซึ่งมีโปรแกรมให้นักเรียนได้ศึกษาและเรียนรู้ที่หลากหลาย เช่น ระดับประถมศึกษามีโปรแกรม MicroWorlds, โปรแกรม Scratch สำหรับสร้างภาพเคลื่อนไหวหรือหุ่นยนต์ เป็นต้น นักเรียนสามารถเรียนรู้พื้นฐานและความคิดรวบยอดในการเขียนโปรแกรม ซึ่งโรงเรียนระดับมัธยมศึกษาก็เช่นเดียวกัน
          เพื่อเป็นแรงจูงใจให้นักเรียนอยากเรียนอยากรู้เกี่ยวกับการเขียนโปรแกรมมากขึ้น ข้าพเจ้าจึงได้นำหุ่นยนต์มาใช้ในการจัดการเรียนการสอน ทำให้นักเรียนมีความสนใจ มีความสนุกสนานและได้เรียนรู้ทักษะการทำงานร่วมกับผู้อื่น เกิดการบูรณาการของการเรียนการสอนวิชาวิทยาศาสตร์และคณิตศาสตร์ เพื่อนำไปสู่การคิดแก้ปัญหาและการสร้างสรรค์นวัตกรรมใหม่ในชีวิตประจำวันและการทำงาน ตามการจัดการเรียนการสอนแบบ STEM (The Science Technology Engineering and Mathematics Education)
         ปัญหาที่ข้าพเจ้าได้พบหลังจากที่จัดการเรียนการสอนหุ่นยนต์ คือ ข้อมูลและเอกสารความรู้ต่างๆ ในด้านหุ่นยนต์สำหรับนักเรียนที่เป็นภาษาไทยค่อนข้างมีน้อย ซึ่งข้าพเจ้าได้แก้ปัญหาดังกล่าวด้วยการค้นคว้าข้อมูลต่างๆ จากเครือข่ายอินเทอร์เน็ตซึ่งเป็นภาษาอังกฤษ ถามผู้รู้ที่ได้ศึกษาทางด้านหุ่นยนต์มาก่อนและประสบการณ์ที่ได้ลงมือปฏิบัติเองจากการสอนนักเรียนและพานักเรียนเข้ากิจกรรมการแข่งขันหุ่นยนต์ตามหน่วยงานต่างได้จัดขึ้น
          นอกจากนั้นสิ่งได้ค้นพบกับตัวนักเรียน คือ นักเรียนมีความคิดรวบยอดในการเขียนโปรแกรมสามารถสร้างสรรค์การเขียนโปรแกรม เกิดการเรียนรู้ การแก้ปัญหาเฉพาะหน้าได้ดี สามารถแบ่งหน้าที่กันทำงาน รู้แพ้ รู้ชนะ รู้อภัยและที่สำคัญที่สุด คือ การได้ค้นพบตัวเอง แล้วเข้าสู่มหาวิทยาลัยตามที่ตนเองได้ฝันไว้

เอกสารอ้างอิง
Daniele Benedettelli. (2007). Programming LEGO NXT Robots using NXC. [n.p.]: [n.p.].
John C. Hansen. (2009). LEGO NXT power programming : robotics in C. 2nd ed. United States: Variant Press.
The LEGO Group. (2006). NXT User Guide. [n.p.]: [n.p.].

App สำหรับ Android บังคับหุ่นยนต์ LEGO NXT Mindstorms

การแข่งหุ่นยนต์ในงานศิลปหัตถกรรมนักเรียนระดับจังหวัด ปีการศึกษา 2557 ทีมกันตรึมโรบอท โรงเรียนสิรินธร จังหวัดสุรินทร์ ได้สร้าง App ใช้ควบคุม ...