วันอังคารที่ 18 ธันวาคม พ.ศ. 2550

B12-1.bsx

'{$STAMP BS2sx}
'{$PBASIC 2.5}
CH VAR Nib
ADC VAR Word
CNT VAR Nib
i VAR Nib
GOSUB Beep
Main: DO : LOOP UNTIL (IN1=0 ) ' Press key for start program
GOSUB Forward ' Motor on
CNT = 0
DO
CH = 1 : GOSUB RD_ADC ' Read data from left sensor
IF (ADC < 400) THEN ' Check the black line
GOSUB Beep
CNT = CNT + 1 ' Count 1 time at 1 line
DO
CH = 1 : GOSUB RD_ADC ' Wait until sensor exit line
LOOP UNTIL (ADC > 600)
ENDIF
LOOP UNTIL ( CNT = 4 ) ' Pass 4 line ?
GOSUB Motor_OFF ' Stop motor after exit loop
FOR i = 1 TO 4 ' Beep 4 time to finish
GOSUB Beep
PAUSE 200
NEXT
GOTO Main ' Again
'+++++ Analog to Digital Converter Procedure ++++++++++
RD_ADC: LOW 10: PAUSE 2: HIGH 10 ' Send acknowledge
SEROUT 10,240,[CH] ' Send aelect chip
SERIN 10,240,250,Error,[ADC.BYTE0,ADC.BYTE1] ' Read ADC
RETURN
Error: DEBUG "Error Reading",CR
RETURN
Beep: FREQOUT 11,200,800 ' Sound Routine
RETURN
'+++++ Movement Procedure +++++++++++++++++++++++++++++
Forward: HIGH 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
Motor_OFF: LOW 13 : LOW 12 : LOW 15 : LOW 14 : RETURN
'++++++++++++++++++++++++++++++++++++++++++++++++++++++

B9-1.bsx

'{$STAMP BS2sx}
'{$PBASIC 2.5}
CH VAR Nib
ADC VAR Word
DO
CH = 1 ' Select Channel 1 For Analog1
GOSUB RD_ADC ' Read Data From Left Sensor
DEBUG 2,5,5, "LEFT SENSOR VALUE = ",DEC ADC
IF (ADC < 400) THEN ' Robot Lift From White Board ?
FREQOUT 11,500,800 ' Beep
ENDIF
LOOP
'+++++ Analog to Digital Converter Procedure ++++++++++
RD_ADC: LOW 10: PAUSE 2: HIGH 10 ' Send Acknowledge
SEROUT 10,240,[CH] ' Send Select Chip
SERIN 10,240,250,Error,[ADC.BYTE0,ADC.BYTE1] ' Read ADC
RETURN
Error: DEBUG "Error Reading",CR
RETURN

B8-1.bsx-Module3 read

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

DO
CH = 1 ' Select Channel 1 For Analog1
GOSUB RD_ADC ' Read Data From Left Sensor
DEBUG 2,5,5, "LEFT SENSOR VALUE = ",DEC ADC
CH = 3 ' Select Channel 3 For Analog3
GOSUB RD_ADC ' Read Data From Mid Sensor
DEBUG 2,5,6, "MID SENSOR VALUE = ",DEC ADC
CH = 5 ' Select Channel 5 For Analog5
GOSUB RD_ADC ' Read Data From Right Sensor
DEBUG 2,5,7, "RIGHT SENSOR VALUE = ",DEC ADC
PAUSE 200
LOOP

'+++++ Analog to Digital Converter Procedure ++++++++++
RD_ADC: LOW 10: PAUSE 2: HIGH 10 ' Send Acknowledge
SEROUT 10,240,[CH] ' Send Select Chip
SERIN 10,240,250,Error,[ADC.BYTE0,ADC.BYTE1] ' Read ADC
RETURN
Error: DEBUG "Error Reading",CR
RETURN

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

code หุ่นยนต์ อ่านค่าที่ล้อ

' {$STAMP BS2sx}'
{$PBASIC 2.5}
ADC VAR Word
CH VAR Byte
CNT VAR Byte
CNT = 0
PAUSE 1000
HIGH 15 : LOW 14 : HIGH 13 : LOW 12
DO
CH = 3 : GOSUB RD_ADC
IF ADC < ch =" 3"> 100)
CNT = CNT + 1
ENDIF
CH = 5
PAUSE 300
GOSUB One_block
CNT=0
GOSUB One_nt
CNT=0
GOSUB One_block
CNT=0
GOSUB One_nt
CNT=0
GOSUB One_nt
CNT=0
GOSUB One_block
CNT=0 GOSUB One_ntrv
CNT=0
GOSUB One_block
END
RD_ADC: LOW 10 : PAUSE 2 : HIGH 10
SEROUT 10,240,[CH]
SERIN 10,240,250,Error,[ADC.BYTE0,ADC.BYTE1]
RETURN
Error: DEBUG "Error reading", CR
RETURN
One_block:DO LOOP UNTIL(CNT > 11)
LOW 15 : HIGH 14 : LOW 13 : HIGH 12
PAUSE 100
LOW 15 : LOW 14 : LOW 13 : LOW 12
STOP :RETURN
One_nt:DO LOOP UNTIL(CNT > 3)
LOW 15 : LOW 14 : LOW 13 : HIGH 12
PAUSE 100
..
LOW 15 : LOW 14 : LOW 13 : LOW 12
STOP :RETURN
One_ntrv:DO LOOP UNTIL(CNT > 3)
LOW 15 : HIGH 14 : LOW 13 : LOW 12
PAUSE 100
LOW 15 : LOW 14 : LOW 13 : LOW 12
STOP :RETURN

วันอังคารที่ 23 ตุลาคม พ.ศ. 2550

code ที่ใช้ในการแข่งขัน

' {$STAMP BS2sx}
' {$PBASIC 2.5}
PAUSE 1000
main : GOSUB forward :PAUSE 1500
GOSUB t_left :PAUSE 500
GOSUB forward : PAUSE 500
GOSUB t_right : PAUSE 500
GOSUB forward : PAUSE 1000
GOSUB t_right : PAUSE 500
GOSUB forward : PAUSE 1000
GOSUB t_left : PAUSE 500
GOSUB forward : PAUSE 1000
GOSUB t_left : PAUSE 500
GOSUB forward : PAUSE 1000
GOSUB t_right :PAUSE 500
GOSUB forward : PAUSE 500
GOSUB t_right : PAUSE 550
GOSUB forward :PAUSE 2000
GOSUB t_right :PAUSE 500
GOSUB forward :PAUSE 500
GOSUB t_right :PAUSE 700
GOSUB forward : PAUSE 4000
GOSUB s_right : PAUSE 350
GOSUB forward : PAUSE 150
GOSUB motor_off : PAUSE 10000
forward : HIGH 15: LOW 14 : HIGH 13 : LOW 12 : RETURN
t_left :LOW 15 : LOW 14 : HIGH 13 :LOW 12 : RETURN
t_right :HIGH 15 : LOW 14 :LOW 13 :LOW 12 :RETURN
s_right : HIGH 15 : LOW 14 : LOW 13 : HIGH 12 : RETURN
motor_off :LOW 15 :LOW 14:LOW 13:LOW 12 :RETURN

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

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

โจทย์ข้อที่ 2: การเดินเป็นรูปสามเหลี่ยม

{$STAMP BS2sx}'
{$PBASIC 2.5}'
{$PORT COM2}
PAUSE 1000
Main: GOSUB left : PAUSE 670
GOSUB go : PAUSE 1000
GOSUB left : PAUSE 660
GOSUB go : PAUSE 1000
GOSUB left :PAUSE 670
GOSUB go :PAUSE 1000
GOSUB off : PAUSE 7000
GOTO Main
left:HIGH 13:LOW 12:LOW 15:LOW 14:RETURN
go:HIGH 13:LOW 12:HIGH 15:LOW 14:RETURN
off:LOW 13:LOW 12:LOW15: LOW 14:RETURN

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

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

ประโยชน์ของการสร้างบล็อค


ประโยชน์ของการสร้างบล็อค

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

2.ได้ฝึกการสื่อความของเราให้พัฒนายิ่งขึ้น
3.ได้ฝึกการจัดเว็บให้สร้างสรรค์

4.เพิ่มพูนความรู้ให้กับเรา เนื่องจากเราต้องค้นหาสิ่งต่างๆ เพื่อมา post
5.ได้เพิ่มทักษะในการจัดเว็บเพื่อดึงดูดความสนใจชองผู้อื่น

โจทย์ข้อที่1: การเดินไปเดินกลับ

ต้องพิมพ์รหัสดังนี้
PAUSE 1000
Main: GOSUB Forward : PAUSE 1200
GOSUB S_right : PAUSE 1000
GOSUB Forward : PAUSE 1200
GOSUB S_right : PAUSE 800
GOSUB Motor_off : PAUSE 10000
Forward : HIGH 13 : LOW 12 : HIGH 15 : LOW 14 : RETURN
S_right : HIGH 15 : LOW 14 : LOW 13 : HIGH 12
Motor_off : LOW 13 : LOW 12 : LOW 15 : LOW 14 : RETURN