Difference between revisions of "Lost&Found"
From RoboWiki
Line 1: | Line 1: | ||
+ | |||
I started with the boe-Bot Workshop, then attended Digital Signal Prossessing. | I started with the boe-Bot Workshop, then attended Digital Signal Prossessing. | ||
+ | |||
When I left my Boe-Bot was moving around with whiskers, when I came back it was gone. LOST! | When I left my Boe-Bot was moving around with whiskers, when I came back it was gone. LOST! | ||
+ | |||
So I looked around and FOUND an abandoned robot, IR Sensores attached, but none working. | So I looked around and FOUND an abandoned robot, IR Sensores attached, but none working. | ||
− | So I fixed the harde ware applied some simple sample code. Now it runs around, avoiding obsticals. Looks like it is a little bit scared. I call him LOST&FOUND! | + | |
+ | So I fixed the harde ware applied some simple sample code. Now it runs around, avoiding obsticals. Looks like it is a little bit | ||
+ | scared. I call him LOST&FOUND! | ||
+ | |||
+ | |||
+ | == Source code: == | ||
− | |||
+ | <source lang="basic"> | ||
' Robotics with the Boe-Bot - FastIrRoaming.bs2 | ' Robotics with the Boe-Bot - FastIrRoaming.bs2 | ||
' Higher performance IR object detection assisted navigation | ' Higher performance IR object detection assisted navigation | ||
' {$STAMP BS2} | ' {$STAMP BS2} | ||
' {$PBASIC 2.5} | ' {$PBASIC 2.5} | ||
− | DEBUG "Program Running!" | + | |
− | irDetectLeft VAR Bit ' Variable Declarations | + | DEBUG "Program Running!" |
− | irDetectRight VAR Bit | + | |
− | pulseLeft VAR Word | + | irDetectLeft VAR Bit ' Variable Declarations |
− | pulseRight VAR Word | + | irDetectRight VAR Bit |
− | FREQOUT 4, 2000, 3000 ' Signal program start/reset. | + | pulseLeft VAR Word |
− | DO ' Main Routine | + | pulseRight VAR Word |
− | FREQOUT 8, 1, 38500 ' Check IR Detectors | + | |
− | irDetectLeft = IN9 | + | FREQOUT 4, 2000, 3000 ' Signal program start/reset. |
− | FREQOUT 2, 1, 38500 | + | |
− | irDetectRight = IN0 | + | DO ' Main Routine |
− | ' Decide how to navigate. | + | |
− | IF (irDetectLeft = 0) AND (irDetectRight = 0) THEN | + | FREQOUT 8, 1, 38500 ' Check IR Detectors |
− | pulseLeft = 650 | + | irDetectLeft = IN9 |
− | pulseRight = 850 | + | |
− | ELSEIF (irDetectLeft = 0) THEN | + | FREQOUT 2, 1, 38500 |
− | pulseLeft = 850 | + | irDetectRight = IN0 |
− | pulseRight = 850 | + | |
− | ELSEIF (irDetectRight = 0) THEN | + | ' Decide how to navigate. |
− | pulseLeft = 650 | + | |
− | pulseRight = 650 | + | IF (irDetectLeft = 0) AND (irDetectRight = 0) THEN |
− | ELSE | + | pulseLeft = 650 |
− | pulseLeft = 850 | + | pulseRight = 850 |
− | pulseRight = 650 | + | ELSEIF (irDetectLeft = 0) THEN |
− | ENDIF | + | pulseLeft = 850 |
− | PULSOUT 13,pulseLeft ' Apply the pulse. | + | pulseRight = 850 |
− | PULSOUT 12,pulseRight | + | ELSEIF (irDetectRight = 0) THEN |
− | PAUSE 15 | + | pulseLeft = 650 |
− | LOOP ' Repeat main routine | + | pulseRight = 650 |
+ | ELSE | ||
+ | pulseLeft = 850 | ||
+ | pulseRight = 650 | ||
+ | ENDIF | ||
+ | |||
+ | PULSOUT 13,pulseLeft ' Apply the pulse. | ||
+ | PULSOUT 12,pulseRight | ||
+ | PAUSE 15 | ||
+ | LOOP ' Repeat main routine | ||
+ | </source> | ||
+ | |||
+ | Go back to the [[Robolution#List_of_projects|List of the projects]] | ||
+ | |||
+ | [[Category:Projects]] |
Revision as of 21:20, 12 July 2008
I started with the boe-Bot Workshop, then attended Digital Signal Prossessing.
When I left my Boe-Bot was moving around with whiskers, when I came back it was gone. LOST!
So I looked around and FOUND an abandoned robot, IR Sensores attached, but none working.
So I fixed the harde ware applied some simple sample code. Now it runs around, avoiding obsticals. Looks like it is a little bit scared. I call him LOST&FOUND!
Source code:
' Robotics with the Boe-Bot - FastIrRoaming.bs2
' Higher performance IR object detection assisted navigation
' {$STAMP BS2}
' {$PBASIC 2.5}
DEBUG "Program Running!"
irDetectLeft VAR Bit ' Variable Declarations
irDetectRight VAR Bit
pulseLeft VAR Word
pulseRight VAR Word
FREQOUT 4, 2000, 3000 ' Signal program start/reset.
DO ' Main Routine
FREQOUT 8, 1, 38500 ' Check IR Detectors
irDetectLeft = IN9
FREQOUT 2, 1, 38500
irDetectRight = IN0
' Decide how to navigate.
IF (irDetectLeft = 0) AND (irDetectRight = 0) THEN
pulseLeft = 650
pulseRight = 850
ELSEIF (irDetectLeft = 0) THEN
pulseLeft = 850
pulseRight = 850
ELSEIF (irDetectRight = 0) THEN
pulseLeft = 650
pulseRight = 650
ELSE
pulseLeft = 850
pulseRight = 650
ENDIF
PULSOUT 13,pulseLeft ' Apply the pulse.
PULSOUT 12,pulseRight
PAUSE 15
LOOP ' Repeat main routine
Go back to the List of the projects