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

การใช้ประโยชน์ของ Blog

ที่ผมสร้าง Blog นี้ขึ้นมาเพราะว่าในวิชาการโปรเเกรมหุ่นยนต์นี้เพื่อที่จะบันทึกเหตุการณ์ต่างๆที่เกิดขึ้นในห้องเรียน เช่นการทำงานของหุ่นยนต์ คำสั่งที่เราป้อนให้หุ่นยนต์ ขั้นตอนการป้อนข้อมูลของหุ่นยนต์ โดยเฉพาะข้อผิดพลาดของหุ่นยนต์เเละข้อเเก้ไข้ที่เราทำ

เมื่อจบวิชานี้ผมอยากจะเขียนคำสั่งให้หุ่นยนต์เคลื่อนที่ได้อย่างสมบูรณ์เเบบ

Censor สะท้อนเเสง

' {$STAMP BS2sx}
' {$PBASIC 2.5}

ADC VAR Word
R VAR Word
I VAR Word
X VAR Word

PAUSE 1000
HIGH 10

GOSUB pim
GOSUB RD_ADC
IF (ADC > 50) THEN
GOSUB Motor_OFF
ENDIF



RD_ADC: LOW 10 : PAUSE 2: HIGH 10
SEROUT 10,240, [1]
SERIN 10,240,250,Error, [ADC.BYTE0,ADC.BYTE1]
RETURN
Error: DEBUG "Error Reading",CR
RETURN

pim: 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

นี้คือโค้ดของหัวข้อเราน่ะครับ
เราจะมีการเเข่งกันให้หุ่นยนต์ของพวกเราวิ่งเข้าหากำเเพงเเล้วหยุด ใครใกล้ที่สุดก็เอาไปเรย 100%

Touch Switch เขาวงกต


เราก็ได้มาถึงการใช้ Touch Switch
ด้านบนก็คือเขาวงกตของเรา

เราก็ได้เขียนโค้ดให้หุ่นยนต์ของเราเข้าไปในเขาวงกตเเล้วออกมาอย่างปลอดภัย


' {$STAMP BS2sx}
' {$PBASIC 2.5}

yo VAR Word
yo1 VAR Word
yo2 VAR Word
yo3 VAR Word
PAUSE 1000
main:
yo = 0
yo1 = 0
yo2 = 0
yo3 = 0


DO
GOSUB Forward
IF (IN1 = 0) OR (IN6 = 0) THEN
GOSUB Backward : PAUSE 400
GOSUB T_Right : PAUSE 300
yo = yo + 1
ENDIF
LOOP UNTIL (yo = 2)

DO
GOSUB Forward
IF (IN1 = 0) OR (IN6 = 0) THEN
GOSUB Backward : PAUSE 400
GOSUB T_Left : PAUSE 300
yo1 = yo1 + 1
ENDIF
LOOP UNTIL (yo1 = 1)

DO
GOSUB Forward
IF (IN1 = 0) OR (IN6 = 0) THEN
GOSUB Backward : PAUSE 400
GOSUB T_Right : PAUSE 300
yo2 = yo2 + 1
ENDIF
LOOP UNTIL (yo2 = 1)

DO
GOSUB Forward
IF (IN1 = 0) OR (IN6 = 0) THEN
GOSUB Backward : PAUSE 400
GOSUB T_Right : PAUSE 300
yo3= yo3 + 1
ENDIF
LOOP UNTIL (yo3 = 1)

GOSUB Motor_Off









Forward: HIGH 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
Backward: HIGH 12 : LOW 13 : HIGH 14 : LOW 15 : RETURN
T_right: LOW 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
T_Left : HIGH 13: HIGH 12 : LOW 15 : HIGH 14 : RETURN
Motor_Off: LOW 13 :LOW 12 : LOW 15 :LOW 14


ส่วนนี้ก็คือโค้ดของเราน่ะ