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

การเขียนโปรแกรมหุ่นยนต์ (4/7/50)หมุนตัว เดินเป็นรูปสามเหลี่ยม แล้วหมุนตัวกลับทางเดิม(ก่อนออก)

CODEที่ได้

' {$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


หลักการทำงาน : หมุนตัว 30 องศา เดินเป็นรูปสามเหลี่ยมระยะทาง 1 บล็อก แล้วหมุนตัวกลับทางเดิม(ก่อนออก)


ปัญหาที่พบ : ผมไม่ทราบว่า30 และ6o องศาจะใช้CODEเท่าใด และหุ่นเดินไม่ตรง ทำให้CODEไม่ตรงตามที่คู่มือบอกไว้ และพื้นไม่ตรง

วิธีการแก้ไข : ลองหาตัวเลขที่เริ่มให้ใกล้ความเป็นจริง เริ่มปรับหลักร้อยแล้วสิบแล้วหน่วยจนตรง และต้องออกไปทดลองนอกห้อง

ไม่มีความคิดเห็น: