วันพุธที่ 19 กันยายน พ.ศ. 2550

การเขียนโปรแกรมหุ่นยนต์ (19/9/50) เดินตรงไป เมื่อเจอสิ่งกิดขวางจะหยุดโดยไม่ชน

codeที่ได้

' {$STAMP BS2sx}
' {$PBASIC 2.5}
' {$PORT COM1}
ADC VAR Word
R VAR Word
I VAR Byte
X VAR Word
ko VAR Word
PAUSE 1000
HIGH 10
GOSUB forward
GOSUB RD_ADC
IF ( ADC > 75) THEN
DO
GOSUB motor_off
LOOP UNTIL(ko=1)
ENDIF
RD_ADC: LOW 10 : PAUSE 1 : HIGH 10
SEROUT 10,240,[1]
SERIN 10,240,[ADC.BYTE0,adc.BYTE1]
RETURN
Error: DEBUG "Error Reading" , CRRETURN
forward: HIGH 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
backward: HIGH 12 : LOW 13 : HIGH 14 : LOW 15 : RETURN
S_left: HIGH 13 : LOW 12 : HIGH 14 : LOW 15 : RETURN
Motor_off:LOW 13 : LOW 12 : LOW 15 : LOW 14 : RETURN

หลักการทำงาน :เดินตรงไ ป เมื่อเจอสิ่งกิดขวาง หุ่นจะหยุด โดยไม่ชน

ปัญหาที่พบ : เสียบสายพอร์ดผิดที่ ทำให้เซ็นเซอร์ไม่ทำงาน ระยะห่างจากผนังไม่เป็นไปตามต้องการ

วิธีแก้ไข : เปรียบเทียบหุ่นของเพื่อนแล้ว เสียบสายของหุ่นเราให้ถูก

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