Difference between revisions of "Lost&Found"

From RoboWiki
Jump to: navigation, search
 
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:
 
  
 +
<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 22: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