22 ตุลาคม 2552

ควบคุม RoboBuilder ด้วย Microsoft Rob...

ควบคุม RoboBuilder ด้วย Microsoft Robotics Developer Studio
รายการดาวน์โหลด
1. อับโหลด Firmware v2.26 ใหม่ กับ [MSRDS] R2 version service download
2. แมนนวล แปลกมาบนเว็บนั้นไม่มี ต้องโหลดที่ robosavvy.com download มีอยู่ 200 กว่าหน้า แต่ข้างบนไม่เกี่ยวอ่านหน้า 163 ได้เลย   
3. MS Robotics Development Studio R2 download

อันนี้ไม่เกี่ยวแต่แสดงภาพรวมได้ดีมาก download PowerPoint

เริ่มแรกเราสร้างโปรแกรมง่ายๆก่อน โดยมีรีโมตคอนโทรล 1 ตัว ควบคุมเดินหน้า ถอยหลัง สไลด์ซ้ายขวา และ สั่งหยุด
1. ในช่อง service ด้านข้าง คลิกเลื่อก Direction Dialog

2.คลิกเลือก Basic Activities If เพื่อกำหนดเงื่อนไขว่าแต่ละปุ่มของ Direction Dialog

3. ที่ Direction Dialog ลาก Notification สัญญาลักษณ์ ปุ่มวงกลมสีแดง
ไปที่ If

4. เลือก 
Form: Button Press
To: Condition

5.ใส่ Condition ดังนี้
เมื่อต้องการใส่เงื่อนไขเพิ่มให้คลิกที่เครื่องหมาย + ด้านล่าง
Name == "Forwards"
Name == "Backwards"
Name == "Stop"
Name == "Left"
Name == "Right"

6. ทีนี้เราต้องการสั่ง RoboBuilder ตามเงื่อนไขในข้อ 5 เราต้องไปอ่านว่า ใน service ของ RoboBuilder ใช้รหัสอะไร
ดูได้จากแมนนวล ในรายการดาวน์โหลดที่ 2 หน้า 163
7. ที่เหลือก็ไม่มีอะไรมากแค่ลากเส้นมาต่อตามนี้

8. เมื่อต่อ Robo Builder กับฺบูลทูธเรียบร้อยให้เช็ตพอร์ต คลิกที่ RoboBuilder Brick
ด้านขวาคลิก Configuration : Set initial configuration
จะมี SerialPort ให้เลือก ในที่นี้ใช้พอร์ต 41

9. คลิก ปุ่ม รัน หรือ F5 ได้เลยครับ





13 ตุลาคม 2552

รีวิว Microsoft PowerShell / PowerShe...

รีวิว Microsoft PowerShell + PowerShell ISE
ได้อ่านข่าวมาหลายอัน ว่าไมโครซอฟท์ จะทำ Shell Script 
แข่งกับระบบปฏิบัติการ Unix/Linux 
เวลาก็ล่วงเลยไปหลายปีก็ยังไม่ได้ลองใช้ซักที วันนี้ปิดเทอมจาก FIBO 
มาลองเลยละกัน

เืกือบลืมบอกไป PowerShell คือ ตัวรัน shell นะครับ 
ส่วน PowerShell ISE คือ IDE ที่จะเอามาช่วยเขียน script PowerShell อีกทีนึง
เอกสารที่แนะนำ
    Microsoft .NET Framework 3.5 Service Pack 1(ถ้ายังไม่มี) download
    Windows PowerShell V2 Community Technology Preview 3 (CTP3) download 
    แล้ว Install ให้เรียบร้อย
2. ลองรัน PowerShell ที่แตกต่างที่สุดจาก cmd.exe ก็คือ พื้นหลังเป็นสีฟ้าครับ
คำสั่งพื้นฐานใน cmd สามารถใช้ได้เหมือนเดิม

3. ลองรัน PowerShell ISE 
แบ่งหน้าจอเป็น 3 ส่วนหลักๆ 
    ส่วนแรก เอาไว้เขียน คำสั่งที่เราต้องการจะ save ไว้ใช้ ถ้าจะรันกด F5
    ส่วนที่สอง เป็น Output เมื่อเรารันคำสั่ง 
    ส่วนที่สาม คือเอาไว้ลองเขียนคำสั่ง เหมือนใน shell เลย พอ enter ก็รันคำสั่งนั้นๆทันที
4. เพื่อเรื่มเขียน PowerShell ได้เร็วขึ้น เรามาดูที่ชีทสรุปดีกว่า download

สรุป งานนี้ไมโครซอฟท์สร้าง shell ออกมาได้ดีสมกับที่รอคอยจริงๆ แต่เท่าที่ใช้ดูแล้วไม่คุ้นเท่าไหร่
แต่จะเห็นได้ว่าชื่อคำสั่งโดยเฉพาะคำสั่งแบบ Comlet ชื่อที่ใช้สื่อความหมายดีมากๆ แต่ก็อย่างว่า มันไม่คุ้นนี่หน่า
แต่ตอนนี้ก็ยังไม่มีโอกาสได้ใช้งานจริงจัง เลยยังไม่ได้ลองจนถึงขีดจำกัดเท่าไหร่
แต่มีอย่างนึงที่คนไทยต้องไม่ชอบมากๆแน่นอนมันมีsystax '`' ซึ่งต้องใช้ปุ่มยึกยือ~ที่ใช้เปลี่ยนระหว่างภาษาไทยกับอังกฤษ
งานนี้อาจจะมีแต่โปรแกรมเมอร์ชาวไทยก็ไ้ด้ที่ต้องปวดหัว


11 ตุลาคม 2552

ชีทสรุปสำหรับโปรแกรมเมอร์และนักเล่นคอมฯ

ชีทสรุปสำหรับโปรแกรมเมอร์และนักเล่นคอมฯ


เป็นเว็บรวม สรุปคำสั่งพื้นฐาน คอนเซ็ป แล้วก็สิ่งที่ใช้บ่อย ที่เค้าเรียกว่า Cheat Sheet คล้ายๆตารางสรุปสรูปเคมี ชีวะ
ที่เคยซื้อมาอ่านตอนม.ปลาย ก่อนสอบเอ็นยังไงอย่างนั้นเลย เึข้าไปเจอเว็บนี้เพราะว่ากำลังอยากศึกษา PowerShell ของ
Microsoft อยู่พอดีเลย ได้มาอ่านไม่ทันไรก็พอเ้ข้าใจบ้างแล้ว
ลองเข้าไปโหลดกันดูได้ที่ http://refcardz.dzone.com/
ต้องลงทะเบียนก่อนถึงจะโหลดได้นะครับ

Multitouch Keyboard and Mouse

Multitouch Keyboard and Mouse
http://docs.google.com/Doc?id=dcntsjcf_294cc65krfs

Microsoft Research shows off 5 craziest Next Gen Multi Touch Mouse Prototypes
http://www.youtube.com/watch?v=bRHFvznyZQM

BMW augmented reality
http://www.youtube.com/watch?v=P9KPJlA5yds

Noah Book Multi-Touch Keyboard in Action 1 (unwirelife.com)
http://www.youtube.com/watch?v=D-3f-q6dZxQ

Noah Book Multi-Touch Keyboard in Action 2 (unwirelife.com)
http://www.youtube.com/watch?v=RO0eqNCbNxM

Noah Book Multi-Touch Keyboard in Action 3 (unwirelife.com)
http://www.youtube.com/watch?v=kOc4VWg1gd4

Noah Book Multi-Touch Keyboard in Action 4 (unwirelife.com)
http://www.youtube.com/watch?v=SSXYWuwT3Gk

DGTS by t2i.se & eta.chalmers.se, Chalmers (cap sensing multi pointer input device and keyboard)
http://www.youtube.com/watch?v=ltNSCOzxbvY

09 ตุลาคม 2552

แนวคิดสร้าง tactile display จาก น้ำตา...

แนวคิดสร้าง tactile display จาก น้ำตาลทราย
แนวคิดสร้าง tactile มี 3 แนวคิด
    1.สร้าง pin แล้วสั่งให้ยกตัวด้วยแรงเหนี่ยวนำแม่เหล็ก
    2.สร้าง อัลตร้าโซนิค แล้วยิงขึ้นมาเป็นช่องๆ
    3.ใช้จุดที่สั่นได้โดยใช้เปียโซ ซึ่งนี่เป็นแนวคิดที่เราจะพูดถึง
สำรวจไปก็พบว่า ปรากฏการณ์เปียโซ คือเมื่อเราให้กระแสไปในผลึก ผลึกบางชนิดจะเกิดการหดตัว
และขยายตัว ซึ่งหนึ่งในผลึกที่เกิดปรากฏการณ์นี้ก็คือน้ำตาลธรรมดานี่เอง
ตอนนี้กำลังคิดว่าจะลองเอาลูกอมมาจ่อขั๋วไฟบวกลบแล้วดูว่ามันจะสั่นได้หรือไม่
อ้างอิงได้จาก
http://en.wikipedia.org/wiki/Electronic_visual_display
http://en.wikipedia.org/wiki/Refreshable_Braille_display
http://en.wikipedia.org/wiki/Piezo_effect

02 ตุลาคม 2552

Graphic User Interface (GUI) For Maze Car

Graphic User Interface (GUI) For Maze Car

              GUI สำหรับควบคุมรถ Solve Maze ประกอบไปด้วย 7 ส่วน ดังภาพ

ส่วนที่ 1 ส่วนจัดการ การเชื่อมต่อ Port



          

ในส่วนนี้ใช้ควบคุมการจัดการ การเชื่อมต่อระหว่าง Bluetoothที่ติดอยู่กับตัวรถและคอมพิวเตอร์หลักโดยผู้ใช้งานสามารถ กำหนด Port ที่ต้องการเชื่อมต่อได้จากช่อง COM Port จากนั้นกด Open Port เมื่อเชื่อมต่อสำเร็จแล้วโปรแกรมจะแสดงผลออกมาในส่วนของ Status (7) โดยจะปรากฏข้อความว่า “Terminator Maze Start” แต่หากทำการเชื่อมต่อไม่สำเร็จจะปรากฏข้อความว่า “Terminator Can’t Start Maze” ส่วนปุ่ม Close Port ใช้เมื่อต้องการยกเลิกการติดต่อและปุ่ม Reset ใช้เมื่อต้องทำการติดต่อกับหุ่นใหม่อีกครั้งหากเกิดปัญหาขัดข้อง

ส่วนที่ 2 ส่วนแสดงแผนที่ของเขาวงกต


          


              ในส่วนนี้จะแสดงแผนที่ของเขาวงกตที่รถได้วิ่งผ่านไปแล้วออกมาเพิ่อนำไปทำการคำนวณหาเส้นทางที่ใกล้ที่สุดออกมาได้ และสามารถเปิดแผนที่ ที่บันทึกไว้แล้วได้ด้วยปุ่ม [:-)]



ส่วนที่ 3 ส่วนกำหนดจุดเริ่ม และจุดสิ้นสุดของแผนที่

 

              ในส่วนนี้จะใช้ในการกำหนดจุดเริ่มโดยสามารถกำหนดได้ที่ Start Point โดยใส่เป็นพิกัด x,y และจุดสิ้นสุดหรือทางออกของแผนที่ สามารถกำหนดได้ที่ End Point โดยกำหนดเป็นพิกัด x,y เช่นเดียวกัน



ส่วนที่ 4 กำหนดทิศของรถที่หันอยู่ขณะเริ่ม

 

              ในส่วนนี้จะใช้กำหนดตำแหน่งของหน้ารถปัจจุบันที่รถหันไปอยุ่โดยแบ่งออกไปเป็น 4 ทิศ คือเหนือ ทิศใต้ ทิศตะวันออก ทิศตะวันตก             



ส่วนที่ 5 ส่วนเลือกรูปแบบการทำงานของรถ

 

              ในส่วนนี้จะใช้กำหนดรูปแบบการเดินรถโดยมีทั้งหมด 2 รูปแบบคือ 1.แบบสำรวจแผนที่ทั้งหมด และ 2.แบบทำการค้นหาเส้นทางออกจากแผนที่ที่มีอยู่แล้วให้เร็วที่สุด

ส่วนที่ 6 ส่วนแก้ไขแผนที่



 

              ในส่วนนี้จะใช้สำหรับแก้ใขแผนที่หากรถทำการส่งค่ากลับมาแล้วผิด ผู้ใช้สามารถแก้ไขในส่วนที่ผิดนั้นได้โดยการกำหนดจุด x,y ที่ผิดจากนั้นใส่ค่าลงไป 0 คือไปได้และ 1 คือไปไม่ได้



ส่วนที่ 7 ส่วนแสดงผลสถานะของโปรแกรม

 

              ในส่วนนี้จะแสดงค่าสถานะต่างๆของโปรแกรมและการติดต่อสื่อสารระหว่าง Bluetooth กับคอมพิวเตอร์หลักทั้งหมดจะแสดงสถานะอยู่ในหน้าต่าง Status

                          

 

 


Enter Post Title Her2(1)

Graphic User Interface (GUI) For Maze Car

              GUI สำหรับควบคุมรถ Solve Maze ประกอบไปด้วย 7 ส่วน ดังภาพ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ส่วนที่ 1 ส่วนจัดการ การเชื่อมต่อ Port



             

 

ในส่วนนี้ใช้ควบคุมการจัดการ การเชื่อมต่อระหว่าง Bluetoothที่ติดอยู่กับตัวรถและคอมพิวเตอร์หลักโดยผู้ใช้งานสามารถ กำหนด Port ที่ต้องการเชื่อมต่อได้จากช่อง COM Port จากนั้นกด Open Port เมื่อเชื่อมต่อสำเร็จแล้วโปรแกรมจะแสดงผลออกมาในส่วนของ Status (7) โดยจะปรากฏข้อความว่า “Terminator Maze Start” แต่หากทำการเชื่อมต่อไม่สำเร็จจะปรากฏข้อความว่า “Terminator Can’t Start Maze” ส่วนปุ่ม Close Port ใช้เมื่อต้องการยกเลิกการติดต่อและปุ่ม Reset ใช้เมื่อต้องทำการติดต่อกับหุ่นใหม่อีกครั้งหากเกิดปัญหาขัดข้อง

ส่วนที่ 2 ส่วนแสดงแผนที่ของเขาวงกต



             

 

 

 

 

 

 

 

 

              ในส่วนนี้จะแสดงแผนที่ของเขาวงกตที่รถได้วิ่งผ่านไปแล้วออกมาเพิ่อนำไปทำการคำนวณหาเส้นทางที่ใกล้ที่สุดออกมาได้ และสามารถเปิดแผนที่ ที่บันทึกไว้แล้วได้ด้วยปุ่ม [:-)]



ส่วนที่ 3 ส่วนกำหนดจุดเริ่ม และจุดสิ้นสุดของแผนที่

 

 

 

 

              ในส่วนนี้จะใช้ในการกำหนดจุดเริ่มโดยสามารถกำหนดได้ที่ Start Point โดยใส่เป็นพิกัด x,y และจุดสิ้นสุดหรือทางออกของแผนที่ สามารถกำหนดได้ที่ End Point โดยกำหนดเป็นพิกัด x,y เช่นเดียวกัน



ส่วนที่ 4 กำหนดทิศของรถที่หันอยู่ขณะเริ่ม

 

 

 

 

              ในส่วนนี้จะใช้กำหนดตำแหน่งของหน้ารถปัจจุบันที่รถหันไปอยุ่โดยแบ่งออกไปเป็น 4 ทิศ คือเหนือ ทิศใต้ ทิศตะวันออก ทิศตะวันตก             



ส่วนที่ 5 ส่วนเลือกรูปแบบการทำงานของรถ

 

 

 

              ในส่วนนี้จะใช้กำหนดรูปแบบการเดินรถโดยมีทั้งหมด 2 รูปแบบคือ 1.แบบสำรวจแผนที่ทั้งหมด และ 2.แบบทำการค้นหาเส้นทางออกจากแผนที่ที่มีอยู่แล้วให้เร็วที่สุด

ส่วนที่ 6 ส่วนแก้ไขแผนที่



 

 

              ในส่วนนี้จะใช้สำหรับแก้ใขแผนที่หากรถทำการส่งค่ากลับมาแล้วผิด ผู้ใช้สามารถแก้ไขในส่วนที่ผิดนั้นได้โดยการกำหนดจุด x,y ที่ผิดจากนั้นใส่ค่าลงไป 0 คือไปได้และ 1 คือไปไม่ได้



ส่วนที่ 7 ส่วนแสดงผลสถานะของโปรแกรม

 

 

 

 

 

              ในส่วนนี้จะแสดงค่าสถานะต่างๆของโปรแกรมและการติดต่อสื่อสารระหว่าง Bluetooth กับคอมพิวเตอร์หลักทั้งหมดจะแสดงสถานะอยู่ในหน้าต่าง Status

                          

 

 


Graphic User Interface (GUI) For Maze Car

Graphic User Interface (GUI) For Maze Car

              GUI สำหรับควบคุมรถ Solve Maze ประกอบไปด้วย 7 ส่วน ดังภาพ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


C:\Users\sAruT\Desktop\Image.jpg
ส่วนที่ 1 ส่วนจัดการ การเชื่อมต่อ Port

             

 

ในส่วนนี้ใช้ควบคุมการจัดการ การเชื่อมต่อระหว่าง Bluetoothที่ติดอยู่กับตัวรถและคอมพิวเตอร์หลักโดยผู้ใช้งานสามารถ กำหนด Port ที่ต้องการเชื่อมต่อได้จากช่อง COM Port จากนั้นกด Open Port เมื่อเชื่อมต่อสำเร็จแล้วโปรแกรมจะแสดงผลออกมาในส่วนของ Status (7) โดยจะปรากฏข้อความว่า “Terminator Maze Start” แต่หากทำการเชื่อมต่อไม่สำเร็จจะปรากฏข้อความว่า “Terminator Can’t Start Maze” ส่วนปุ่ม Close Port ใช้เมื่อต้องการยกเลิกการติดต่อและปุ่ม Reset ใช้เมื่อต้องทำการติดต่อกับหุ่นใหม่อีกครั้งหากเกิดปัญหาขัดข้อง


C:\Users\sAruT\Desktop\Image.jpg
ส่วนที่ 2 ส่วนแสดงแผนที่ของเขาวงกต

             

 

 

 

 

 

 

 

 

              ในส่วนนี้จะแสดงแผนที่ของเขาวงกตที่รถได้วิ่งผ่านไปแล้วออกมาเพิ่อนำไปทำการคำนวณหาเส้นทางที่ใกล้ที่สุดออกมาได้ และสามารถเปิดแผนที่ ที่บันทึกไว้แล้วได้ด้วยปุ่ม [:-)]

ส่วนที่ 3 ส่วนกำหนดจุดเริ่ม และจุดสิ้นสุดของแผนที่


C:\Users\sAruT\Desktop\Image.jpg

 

 

 

              ในส่วนนี้จะใช้ในการกำหนดจุดเริ่มโดยสามารถกำหนดได้ที่ Start Point โดยใส่เป็นพิกัด x,y และจุดสิ้นสุดหรือทางออกของแผนที่ สามารถกำหนดได้ที่ End Point โดยกำหนดเป็นพิกัด x,y เช่นเดียวกัน

ส่วนที่ 4 กำหนดทิศของรถที่หันอยู่ขณะเริ่ม


C:\Users\sAruT\Desktop\Image.jpg

 

 

 

              ในส่วนนี้จะใช้กำหนดตำแหน่งของหน้ารถปัจจุบันที่รถหันไปอยุ่โดยแบ่งออกไปเป็น 4 ทิศ คือเหนือ ทิศใต้ ทิศตะวันออก ทิศตะวันตก             

ส่วนที่ 5 ส่วนเลือกรูปแบบการทำงานของรถ


C:\Users\sAruT\Desktop\Image.jpg

 

 

              ในส่วนนี้จะใช้กำหนดรูปแบบการเดินรถโดยมีทั้งหมด 2 รูปแบบคือ 1.แบบสำรวจแผนที่ทั้งหมด และ 2.แบบทำการค้นหาเส้นทางออกจากแผนที่ที่มีอยู่แล้วให้เร็วที่สุด

ส่วนที่ 6 ส่วนแก้ไขแผนที่


C:\Users\sAruT\Desktop\Image.jpg

 

 

              ในส่วนนี้จะใช้สำหรับแก้ใขแผนที่หากรถทำการส่งค่ากลับมาแล้วผิด ผู้ใช้สามารถแก้ไขในส่วนที่ผิดนั้นได้โดยการกำหนดจุด x,y ที่ผิดจากนั้นใส่ค่าลงไป 0 คือไปได้และ 1 คือไปไม่ได้

ส่วนที่ 7 ส่วนแสดงผลสถานะของโปรแกรม


C:\Users\sAruT\Desktop\Image.jpg

 

 

 

 

              ในส่วนนี้จะแสดงค่าสถานะต่างๆของโปรแกรมและการติดต่อสื่อสารระหว่าง Bluetooth กับคอมพิวเตอร์หลักทั้งหมดจะแสดงสถานะอยู่ในหน้าต่าง Status

                          

 

 


Enter Post Title Her2

Graphic User Interface (GUI) For Maze Car

              GUI สำหรับควบคุมรถ Solve Maze ประกอบไปด้วย 7 ส่วน ดังภาพ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


C:\Users\sAruT\Desktop\Image.jpg
ส่วนที่ 1 ส่วนจัดการ การเชื่อมต่อ Port

             

 

ในส่วนนี้ใช้ควบคุมการจัดการ การเชื่อมต่อระหว่าง Bluetoothที่ติดอยู่กับตัวรถและคอมพิวเตอร์หลักโดยผู้ใช้งานสามารถ กำหนด Port ที่ต้องการเชื่อมต่อได้จากช่อง COM Port จากนั้นกด Open Port เมื่อเชื่อมต่อสำเร็จแล้วโปรแกรมจะแสดงผลออกมาในส่วนของ Status (7) โดยจะปรากฏข้อความว่า “Terminator Maze Start” แต่หากทำการเชื่อมต่อไม่สำเร็จจะปรากฏข้อความว่า “Terminator Can’t Start Maze” ส่วนปุ่ม Close Port ใช้เมื่อต้องการยกเลิกการติดต่อและปุ่ม Reset ใช้เมื่อต้องทำการติดต่อกับหุ่นใหม่อีกครั้งหากเกิดปัญหาขัดข้อง


C:\Users\sAruT\Desktop\Image.jpg
ส่วนที่ 2 ส่วนแสดงแผนที่ของเขาวงกต

             

 

 

 

 

 

 

 

 

              ในส่วนนี้จะแสดงแผนที่ของเขาวงกตที่รถได้วิ่งผ่านไปแล้วออกมาเพิ่อนำไปทำการคำนวณหาเส้นทางที่ใกล้ที่สุดออกมาได้ และสามารถเปิดแผนที่ ที่บันทึกไว้แล้วได้ด้วยปุ่ม [:-)]

ส่วนที่ 3 ส่วนกำหนดจุดเริ่ม และจุดสิ้นสุดของแผนที่


C:\Users\sAruT\Desktop\Image.jpg

 

 

 

              ในส่วนนี้จะใช้ในการกำหนดจุดเริ่มโดยสามารถกำหนดได้ที่ Start Point โดยใส่เป็นพิกัด x,y และจุดสิ้นสุดหรือทางออกของแผนที่ สามารถกำหนดได้ที่ End Point โดยกำหนดเป็นพิกัด x,y เช่นเดียวกัน

ส่วนที่ 4 กำหนดทิศของรถที่หันอยู่ขณะเริ่ม


C:\Users\sAruT\Desktop\Image.jpg

 

 

 

              ในส่วนนี้จะใช้กำหนดตำแหน่งของหน้ารถปัจจุบันที่รถหันไปอยุ่โดยแบ่งออกไปเป็น 4 ทิศ คือเหนือ ทิศใต้ ทิศตะวันออก ทิศตะวันตก             

ส่วนที่ 5 ส่วนเลือกรูปแบบการทำงานของรถ


C:\Users\sAruT\Desktop\Image.jpg

 

 

              ในส่วนนี้จะใช้กำหนดรูปแบบการเดินรถโดยมีทั้งหมด 2 รูปแบบคือ 1.แบบสำรวจแผนที่ทั้งหมด และ 2.แบบทำการค้นหาเส้นทางออกจากแผนที่ที่มีอยู่แล้วให้เร็วที่สุด

ส่วนที่ 6 ส่วนแก้ไขแผนที่


C:\Users\sAruT\Desktop\Image.jpg

 

 

              ในส่วนนี้จะใช้สำหรับแก้ใขแผนที่หากรถทำการส่งค่ากลับมาแล้วผิด ผู้ใช้สามารถแก้ไขในส่วนที่ผิดนั้นได้โดยการกำหนดจุด x,y ที่ผิดจากนั้นใส่ค่าลงไป 0 คือไปได้และ 1 คือไปไม่ได้

ส่วนที่ 7 ส่วนแสดงผลสถานะของโปรแกรม


C:\Users\sAruT\Desktop\Image.jpg

 

 

 

 

              ในส่วนนี้จะแสดงค่าสถานะต่างๆของโปรแกรมและการติดต่อสื่อสารระหว่าง Bluetooth กับคอมพิวเตอร์หลักทั้งหมดจะแสดงสถานะอยู่ในหน้าต่าง Status

                          

 

 


01 ตุลาคม 2552

เอกสารอ้างอิง

เอกสารอ้างอิง
Arduinoกับอุปกรณ์ SPI  เรียนรู้เข้าใจใช้งานไมโครคอนโทรลเลอร์ตระกูล AVR ด้วย Arduino บริษัท อีทีที จำกัด
Interfacing a Serial EEPROM Using SPI,http://www.arduino.cc/en/Tutorial/SPIEEPROM
Controlling a Digital Potentiometer Using SPI, http://www.arduino.cc/en/Tutorial/SPIDigitalPot
Serial Peripheral Interface Bus, http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
"How Do I?" Videos for Native Coding, http://msdn.microsoft.com/th-th/visualc/bb496952(en-us).aspx#gettingstarted
การถดถอยแบบเชิงเส้น (linear regression), http://www.sorakarn-kmutnb.com/subject/LinearRegression.pdf
Cardinal direction, http://en.wikipedia.org/wiki/Cardinal_direction
Relative direction, http://en.wikipedia.org/wiki/Relative_direction
การใช้งาน OpenCV Library เบื้องต้นเพื่อการประมวลผลภาพจากกล้อง (สำหรับ MS Windows), http://fibo.kmutt.ac.th/blog/humanoid/2009/09/23/opencv_tutorial_mswindow/
การทำ SPI Interface http://www.arduino.cc/playground/Code/Spi
Encoder  http://itp.nyu.edu/physcomp/sensors/Reoprts/QRD1114IRSensor
www.es.co.th
www.inex.co.th

ภาพรวมของโปรแกรม





ภาพรวมของโปรแกรม
โปรแกรมแบ่งออกเป็น 2 ส่วนใหญ่ๆคือโปรแกรมบนรถ ที่เขียนด้วยภาษาซีสำหรับบอร์ดอาร์ดูโน(Arduino Board)
ส่วนโปรแกรมอีกส่วนคือโปรแกรมบนคอมพิวเตอร์ที่ใช้สร้างแผนที่(Map Generator)นอกจากนี้ยังหาเส้นทางที่สั้นที่สุดอีกด้วย

ผังงานโปรแกรมบนรถ

เมื่อโปรแกรมเริ่มทำงาน จะทำการตั้งค่าพอร์ตต่างๆด้วยฟังก์ชัน Setup Port และ
โปรโตคอลSPI ด้วยฟังก์ชัน Setup SPI และตัวรถจะรถการส่งการจากคอมพิวเตอร์
ว่าจะเลือกโหมดใดให้รถทำงานแบ่งได้เป็น 2 mode คือ
  1. Explore คือให้รถเดินสำรวจเพื่อสร้างแผนที่ โดยรถจะพยายามเดินให้ทั่วพื้นที่
  2. GetAnswer เมื่ือสร้างแผนที่เสร็จ คอมพิวเตอร์จะประมวลผลเส้นที่ที่สั้นที่สุดในการออกจากเขาวงกต

แผนผังคลาสโปรแกรมบนคอมพิวเตอร์


เนื่องจากโปรแกรมเป็นแบบ Event-Drive จึงไม่เหมาะที่จะแสดงด้วยผังงาน เนื่องจากการทำงานจะไม่ชัดเจน
ขึ้นอยู่กับ เหตุการณ์ที่เกิดขึ้นบนฟอร์ม ดังนั้นจึงแสดงด้วยแผนผังความสัมพันธ์ของคลาส ซึ่งประกอบด้วย 4 คลาสดังนี้
  1. คลาสเขาวงกต(Maze Class) เป็นคลาสหลักของโปรแกรมภายในประกอบด้วยอัลกอริทึม จำนวนมากดังนี้
    1. mapGenerator สร้างแผนที่จากค่าการเดินของตัวรถ
    2. solveMaze หาเส้นทางเดินทุกทางที่เป็นไปได้ในการออกจากเขาวงกตจากแผนที่
    3. solveMaze Shortest Path หาเส้นทางเดินที่สั้นที่สุดจากเส้นทางทั้งหมดที่เป็นไปได้
    4. sendAnswer แปลงคำตอบจาก พิกัดระนาบ เป็นทิศทาง และแปลงอีกครั้งเป็นทิศทางแบบสัมพัทธ์กับตัวหุ่น
    5. sendAnswerToBluetooth ส่งค่าทิศทางแบบสัมพัทธ์ ผ่านบลูทูธ โดยมีการจัดการกับสัญญาณรบกวนที่เกิดขึ้น
  2. คลาส จุด (Point Class) เป็นที่เก็บพิกัด (X,Y) ในระนาบ 2 มิติ
  3. คลาสบลูทูธ จัดการการรับส่ง การเปิดปิดพอร์ต สืบทอดคุณสมบัติมากจากคลาสอนุกรม