วันพุธที่ 22 สิงหาคม พ.ศ. 2550

โปรแกรมที่ใช้ในการสอบ

' {$STAMP BS2sx}
' {$PBASIC 2.5}
ko1 VAR Word
ko2 VAR Word
ko3 VAR Word
ko4 VAR Word
ko5 VAR Word
PAUSE 1000main: GOSUB forward : PAUSE 1000
ko1 = 0
ko2 = 0
ko3 = 0
ko5 = 0
GOSUB ul_turn : PAUSE 140
DO
GOSUB forward : PAUSE 12
GOSUB r_turn : PAUSE 13
ko1 = ko1 + 1
LOOP UNTIL(ko1 = 50)
DO
GOSUB forward : PAUSE 12
GOSUB l_turn : PAUSE 15
ko2 = ko2 + 1
LOOP UNTIL(ko2 = 55)
DO
GOSUB forward : PAUSE 12
GOSUB r_turn : PAUSE 15
ko3 = ko3 +1
LOOP UNTIL(ko3 = 65)
GOSUB forward : PAUSE 1500
DO
GOSUB forward : PAUSE 12
GOSUB r_turn : PAUSE 12
ko4 = ko4 + 1
LOOP UNTIL(ko4 = 100)
GOSUB forward : PAUSE 2000
GOSUB u_turn : PAUSE 228
DO
GOSUB motor_off: PAUSE 10000
LOOP UNTIL(ko5 = 1)
GOTO main
forward: HIGH 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
r_turn: LOW 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
l_turn: HIGH 13 : LOW 12 : LOW 14 : LOW 15 : RETURN
u_turn: LOW 13 : HIGH 12 : HIGH 15 : LOW 14 : RETUR
Nul_turn: HIGH 13 : LOW 12 : LOW 15 : HIGH 14 : RETURN
motor_off: LOW 13 : LOW 12 : LOW 15 : LOW 14 : RETURN

วันพุธที่ 8 สิงหาคม พ.ศ. 2550

สนามสอบ

นี่คือแผนที่ ที่ผมจะต้องใช้ในการสอบวิชาโปรแกรมหุ่นยนต์
โดยโปรแกรมให้หุ้นยนต์เดินตามลูกศรอ้อมหลักแต่ละหลักโดยแต่ละหลักห่างกัน50cmดังรูปข้างต้น

วันพุธที่ 1 สิงหาคม พ.ศ. 2550

การโปรแกรมหุ่นยนต์6

จากที่กระผมได้เรียนวิชาโปรแกรมหุ่นยนต์
ทำให้ผมได้รู้ว่าการที่เราต้องการให้หุ่นยนต์เดินตรงไปจากนั้นU TURN(เป็นเส้นโค้ง)
โดยใช้คำสั่งแบบย่อ(loop)จะต้องเขียนคำสั่งดังนี้
' {$STAMP BS2sx}
' {$PBASIC 2.5}
' {$PORT COM2}
ko VAR Word
PAUSE 1000
main:GOSUB forward : PAUSE 800
ko = 0
DO
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
ko = ko + 1
LOOP UNTIL ( ko = 86 )
GOSUB forward : PAUSE 800
GOSUB motor_stop : PAUSE 10000
GOTO main
forward : HIGH 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
r_turn : LOW 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
motor_stop : LOW 13 : LOW 12 : LOW 15 : LOW 14 : RETURN

การโปรแกรมหุ่นยนต์5

จากที่กระผมได้เรียนวิชาโปรแกรมหุ่นยนต์
ทำให้ผมได้รู้ว่าการที่เราต้องการให้หุ่นยนต์เดินตรงไปจากนั้นU TURN(เป็นเส้นโค้ง)จะต้องเขียนคำสั่งดังนี้
' {$STAMP BS2sx}
' {$PBASIC 2.5}
' {$PORT COM2}
PAUSE 1000
main:GOSUB forward : PAUSE 800
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 10
GOSUB r_turn : PAUSE 12
GOSUB forward : PAUSE 800
GOSUB motor_stop : PAUSE 10000
GOTO main
forward : HIGH 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
r_turn : LOW 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
motor_stop : LOW 13 : LOW 12 : LOW 15 : LOW 14 : RETURN

การที่ผมต้องเขียนคำสั่งให้หุ่นย์ทำทีละสั้นๆ แถมยังต้องเขียนยาวเหยียดขนาดนี้เพราะ
ถ้าเขียนโปรแกรมให้หุ่นยนต์ทำนานๆ ถึงจะไม่ต้องเขียนยาวแต่เวลาหุ่นยนต์โค้งจะมีการกระตุก
จึงทำให้ผมต้องเขียนยาวๆขนาดนี้

การโปรแกรมหุ่นยนต์4

' {$STAMP BS2sx}
' {$PBASIC 2.5}
' {$PORT COM1}
PAUSE 1000
main: GOSUB u_turn : PAUSE 100
GOSUB forward : PAUSE 750
GOSUB u_turn : PAUSE 220
GOSUB forward : PAUSE 750
GOSUB u_turn : PAUSE 220
GOSUB forward : PAUSE 750
GOSUB u_turn : PAUSE 200
GOSUB motor_stop : PAUSE 10000
GOTO main
u_turn : LOW 13 : HIGH 12 : HIGH 15 : LOW 14 : RETURN
forward : HIGH 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
motor_stop : LOW 13 : LOW 12 : LOW 15 : LOW 14 : RETURN

การโปรแกรมหุ่นยนต์3

จากที่ผมได้โปรแกรมหุ่นยนต์ ทำให้ผมได้รู้ว่าการที่เราอยากให้หุ่นยนต์เดินไปข้างหน้าจากนั้นหมุนตัวแล้วเดินกับมา
' {$STAMP BS2sx}
' {$PBASIC 2.5}
' {$PORT COM1}
PAUSE 1000
main: GOSUB forward : PAUSE 1000
GOSUB U_turn : PAUSE 298
GOSUB forward : PAUSE 1000
GOSUB U_turn : PAUSE 265
GOSUB motor_stop : PAUSE 10000
GOTO main
forward: HIGH 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
U_turn : LOW 13 : HIGH 12 : HIGH 15 : LOW 14 : RETURN
motor_stop : LOW 13 : LOW 12 : LOW 15 : LOW 14 : RETURN

การโปรแกรมหุ่นยนต์2

จากที่ผมได้โปรแกรมหุ่นยนต์ ทำให้ผมได้รู้ว่าการที่เราอยากให้หุ่นยนต์เดินไปข้างหน้าจากนั้นเดินถอยหลังกลับมาต้องพิมพิ์ว่า
' {$STAMP BS2sx}
' {$PBASIC 2.5}
PAUSE 1000
MAIN : GOSUB FORWARD : PAUSE 950
GOSUB BACKWARD : PAUSE 950
GOSUB MOTOR_OFF : PAUSE 10000
GOTO Main
Forward: HIGH 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
Backward: HIGH 12 : LOW 13 : HIGH 14 : LOW 15 : RETURN
motor_off:LOW 13 : LOW 12 : LOW 15 : LOW 14 : RETURN

การโปรแกรมหุ่นยนต์

จากที่ผมได้โปรแกรมหุ่นยนต์
ทำให้ผมได้รู้ว่าการที่เราอยากให้หุ่นยนต์เดินไปข้างหน้าจากนั้นหยุดนิ่งต้องพิมพิ์ว่า
' {$STAMP BS2sx}
' {$PBASIC 2.5}
' {$PORT COM1}
PAUSE 1000
main: GOSUB forward : PAUSE 1000
GOSUB motor_stop : PAUSE 10000
GOTO main
forward: HIGH 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
motor_stop : LOW 13 : LOW 12 : LOW 15 : LOW 14 : RETURN