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