วันศุกร์ที่ 9 พฤศจิกายน พ.ศ. 2550

การเขียนโปรแกรมหุ่นยนต์ ให้หุ่นเดินตามที่เรากำหนดโดยนับจำนวนวงรีที่ล้อที่หุ่นเห็น

' {$STAMP BS2sx}
' {$PBASIC 2.5}
ADC VAR Word
CH VAR Byte
CNT VAR Byte

CNT = 0
PAUSE 1000
GOSUB Forward
DO
CH = 3 : GOSUB RD_ADC
IF (ADC < 100) THEN
DO
CH = 3 : GOSUB RD_ADC
LOOP UNTIL (ADC > 100)
CNT = CNT + 1
DEBUG DEC CNT
ENDIF
LOOP UNTIL (CNT > 19)
GOSUB Motor_OFF
STOP
'+++++ Analog to Digital Converter Procedure ++++++++++
RD_ADC: LOW 10 : PAUSE 2: HIGH 10
SEROUT 10,240, [CH]
SERIN 10,240,25,Error, [ADC.BYTE0,ADC.BYTE1]
RETURN
Error: DEBUG "Error Reading", CR
RETURN
'+++++++++++++++Movement Procedure+++++++++++++++++++++
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
S_Right : HIGH 12 : LOW 13 : HIGH 15 : LOW 14 : RETURN
T_Left : HIGH 12 : LOW 13 : LOW 15 : LOW 14 : RETURN
T_Right: LOW 12: HIGH 13 : HIGH 15 : HIGH 14 : RETURN
Motor_OFF : LOW 13 : LOW 12 : LOW 14 : LOW 15 : RETURN

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